'use strict';var a6_0x36115b=a6_0x238e;function a6_0x238e(_0x320af2,_0x66babe){var _0x5a271d=a6_0x5a27();return a6_0x238e=function(_0x238ed8,_0x436314){_0x238ed8=_0x238ed8-0xd2;var _0xd5a8e8=_0x5a271d[_0x238ed8];return _0xd5a8e8;},a6_0x238e(_0x320af2,_0x66babe);}(function(_0x2604a1,_0x227a09){var _0x3ed3c6=a6_0x238e,_0x3b25a1=_0x2604a1();while(!![]){try{var _0x42d5bc=-parseInt(_0x3ed3c6(0x6be))/0x1+-parseInt(_0x3ed3c6(0xbb9))/0x2*(-parseInt(_0x3ed3c6(0x975))/0x3)+parseInt(_0x3ed3c6(0x84e))/0x4+parseInt(_0x3ed3c6(0x5de))/0x5*(-parseInt(_0x3ed3c6(0xb92))/0x6)+parseInt(_0x3ed3c6(0x613))/0x7*(parseInt(_0x3ed3c6(0x7ca))/0x8)+-parseInt(_0x3ed3c6(0x2b9))/0x9+parseInt(_0x3ed3c6(0xb27))/0xa;if(_0x42d5bc===_0x227a09)break;else _0x3b25a1['push'](_0x3b25a1['shift']());}catch(_0xf13952){_0x3b25a1['push'](_0x3b25a1['shift']());}}}(a6_0x5a27,0x2c33d));function a6_0x5a27(){var _0x3e1f3e=['releaseMSAARenderBuffers','addUniform','attribute\x20vec3\x20position;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<clipPlaneVertexDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0avarying\x20vec4\x20vPosition;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vUVDiffuse;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#endif\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vUVOpacity;\x0auniform\x20mat4\x20opacityMatrix;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avarying\x20vec2\x20vUVEmissive;\x0auniform\x20mat4\x20emissiveMatrix;\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0aattribute\x20vec4\x20color;\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#ifdef\x20CUBEMAP\x0avPosition=worldPos;\x0agl_Position=viewProjection*finalWorld*vec4(position,1.0);\x0a#else\x0avPosition=viewProjection*worldPos;\x0agl_Position=vPosition;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0a#ifdef\x20DIFFUSEUV1\x0avUVDiffuse=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20DIFFUSEUV2\x0avUVDiffuse=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20OPACITY\x0a#ifdef\x20OPACITYUV1\x0avUVOpacity=vec2(opacityMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20OPACITYUV2\x0avUVOpacity=vec2(opacityMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20EMISSIVE\x0a#ifdef\x20EMISSIVEUV1\x0avUVEmissive=vec2(emissiveMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20EMISSIVEUV2\x0avUVEmissive=vec2(emissiveMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0avColor=color;\x0a#endif\x0a#include<clipPlaneVertex>\x0a}','layer','precision\x20highp\x20float;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20float\x20curvature_ridge;\x0auniform\x20float\x20curvature_valley;\x0a#ifndef\x20CURVATURE_OFFSET\x0a#define\x20CURVATURE_OFFSET\x201\x0a#endif\x0afloat\x20curvature_soft_clamp(float\x20curvature,float\x20control)\x0a{\x0aif\x20(curvature<0.5/control)\x0areturn\x20curvature*(1.0-curvature*control);\x0areturn\x200.25/control;\x0a}\x0afloat\x20calculate_curvature(ivec2\x20texel,float\x20ridge,float\x20valley)\x0a{\x0avec2\x20normal_up\x20=texelFetch(normalSampler,texel+ivec2(0,\x20CURVATURE_OFFSET),0).rb;\x0avec2\x20normal_down\x20=texelFetch(normalSampler,texel+ivec2(0,-CURVATURE_OFFSET),0).rb;\x0avec2\x20normal_left\x20=texelFetch(normalSampler,texel+ivec2(-CURVATURE_OFFSET,0),0).rb;\x0avec2\x20normal_right=texelFetch(normalSampler,texel+ivec2(\x20CURVATURE_OFFSET,0),0).rb;\x0afloat\x20normal_diff=((normal_up.g-normal_down.g)+(normal_right.r-normal_left.r));\x0aif\x20(normal_diff<0.0)\x0areturn\x20-2.0*curvature_soft_clamp(-normal_diff,valley);\x0areturn\x202.0*curvature_soft_clamp(normal_diff,ridge);\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0aivec2\x20texel=ivec2(gl_FragCoord.xy);\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0afloat\x20curvature=calculate_curvature(texel,curvature_ridge,curvature_valley);\x0abaseColor.rgb*=curvature+1.0;\x0agl_FragColor=baseColor;\x0a}','_vertexData','ONE_MINUS_SRC_ALPHA','equals','ALPHA_PREMULTIPLIED','skipPointerUpPicking','EnableFor','previousMatrixBuffer','_useInstancing','Fragment','postProcess','_emitFunction','ALPHA_SRC_DSTONEMINUSSRCALPHA','fluidRenderingParticleThicknessPixelShader','startDirectionFunction','fogEnd','setInt4','_internalTextureDirty','ALPHA_MAXIMIZED','is32Bits','availableTextures','MATERIAL_LineStripDrawMode','volumetricLightScatteringPassPixelShader','_createDepthStencilCubeTexture','TEXTUREFORMAT_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT','_addCameraPointerObserver','pickedMesh','_isRenderingStateCompiled','fragmentCompilationError','Unable\x20to\x20create\x20uniform\x20buffer','main','spritesPixelShader','abs','onPrePointerObservable','_fillEffectInformation','textureLod(','\x0a#define\x20BILLBOARD\x0a','ShadersInclude/','attribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<clipPlaneVertexDeclaration>\x0auniform\x20float\x20offset;\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20ALPHATEST\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#include<logDepthDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0avec3\x20normalUpdated=normal;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0avec3\x20offsetPosition=positionUpdated+(normalUpdated*offset);\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(offsetPosition,1.0);\x0agl_Position=viewProjection*worldPos;\x0a#ifdef\x20ALPHATEST\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<logDepthVertex>\x0a}\x0a','platformName','BYTES_PER_ELEMENT','NAME_PHYSICSENGINE','You\x20already\x20reached\x20the\x20maximum\x20number\x20of\x20diffusion\x20profiles.','ASTC5x4Unorm','tonemapPixelShader','updateFlag','_isFrontFaceDirty','RGB\x20format\x20not\x20supported\x20in\x20WebGPU','markAllMaterialsAsDirty','beginOcclusionQuery','depthRTWrapper','onInputChangedObservable','setMatrix','BC2RGBAUnorm','useRightHandedSystem','_debugInsertMarker','#version\x20300\x20es','_SimplifiedKnownBindings','setInt3','TEXTUREFORMAT_COMPRESSED_RGBA_BPTC_UNORM','ETC2RGB8A1UnormSRGB','attributeKeywordName','RG16Sint','Store','_onBeforeCameraRenderObserver','Unable\x20to\x20create\x20dynamic\x20uniform\x20buffer','_previousPickResult','onLoadedObservable','Raw3D','_vertexSourceCode','setColorFormat',',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}','BGRA8Unorm','matricesWeightsExtra','logDepthDeclaration','RandomRange','imageProcessingDeclaration','_isCullDirty','includesShadersStore','formats','createStorageBuffer','drawBuffers','setUIntArray4','faceId','#if\x20defined(BUMP)\x20||\x20!defined(NORMAL)\x20||\x20defined(FORCENORMALFORWARD)\x20||\x20defined(SPECULARAA)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#endif\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#extension\x20GL_EXT_shader_texture_lod\x20:\x20enable\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEGIN\x0a#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0a#include<prePassDeclaration>[SCENE_MRT_COUNT]\x0aprecision\x20highp\x20float;\x0a#include<oitDeclaration>\x0a#ifndef\x20FROMLINEARSPACE\x0a#define\x20FROMLINEARSPACE\x0a#endif\x0a#include<__decl__pbrFragment>\x0a#include<pbrFragmentExtraDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<pbrFragmentSamplersDeclaration>\x0a#include<imageProcessingDeclaration>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#include<helperFunctions>\x0a#include<subSurfaceScatteringFunctions>\x0a#include<importanceSampling>\x0a#include<pbrHelperFunctions>\x0a#include<imageProcessingFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<harmonicsFunctions>\x0a#include<pbrDirectLightingSetupFunctions>\x0a#include<pbrDirectLightingFalloffFunctions>\x0a#include<pbrBRDFFunctions>\x0a#include<hdrFilteringFunctions>\x0a#include<pbrDirectLightingFunctions>\x0a#include<pbrIBLFunctions>\x0a#include<bumpFragmentMainFunctions>\x0a#include<bumpFragmentFunctions>\x0a#ifdef\x20REFLECTION\x0a#include<reflectionFunction>\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0a#include<pbrBlockAlbedoOpacity>\x0a#include<pbrBlockReflectivity>\x0a#include<pbrBlockAmbientOcclusion>\x0a#include<pbrBlockAlphaFresnel>\x0a#include<pbrBlockAnisotropic>\x0a#include<pbrBlockReflection>\x0a#include<pbrBlockSheen>\x0a#include<pbrBlockClearcoat>\x0a#include<pbrBlockIridescence>\x0a#include<pbrBlockSubSurface>\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0a#include<pbrBlockNormalGeometric>\x0a#include<bumpFragment>\x0a#include<pbrBlockNormalFinal>\x0aalbedoOpacityOutParams\x20albedoOpacityOut;\x0a#ifdef\x20ALBEDO\x0avec4\x20albedoTexture=texture2D(albedoSampler,vAlbedoUV+uvOffset);\x0a#endif\x0a#ifdef\x20OPACITY\x0avec4\x20opacityMap=texture2D(opacitySampler,vOpacityUV+uvOffset);\x0a#endif\x0a#ifdef\x20DECAL\x0avec4\x20decalColor=texture2D(decalSampler,vDecalUV+uvOffset);\x0a#endif\x0aalbedoOpacityBlock(\x0avAlbedoColor,\x0a#ifdef\x20ALBEDO\x0aalbedoTexture,\x0avAlbedoInfos,\x0a#endif\x0a#ifdef\x20OPACITY\x0aopacityMap,\x0avOpacityInfos,\x0a#endif\x0a#ifdef\x20DETAIL\x0adetailColor,\x0avDetailInfos,\x0a#endif\x0a#ifdef\x20DECAL\x0adecalColor,\x0avDecalInfos,\x0a#endif\x0aalbedoOpacityOut\x0a);\x0avec3\x20surfaceAlbedo=albedoOpacityOut.surfaceAlbedo;\x0afloat\x20alpha=albedoOpacityOut.alpha;\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_ALPHA\x0a#include<depthPrePass>\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_LIGHTS\x0aambientOcclusionOutParams\x20aoOut;\x0a#ifdef\x20AMBIENT\x0avec3\x20ambientOcclusionColorMap=texture2D(ambientSampler,vAmbientUV+uvOffset).rgb;\x0a#endif\x0aambientOcclusionBlock(\x0a#ifdef\x20AMBIENT\x0aambientOcclusionColorMap,\x0avAmbientInfos,\x0a#endif\x0aaoOut\x0a);\x0a#include<pbrBlockLightmapInit>\x0a#ifdef\x20UNLIT\x0avec3\x20diffuseBase=vec3(1.,1.,1.);\x0a#else\x0avec3\x20baseColor=surfaceAlbedo;\x0areflectivityOutParams\x20reflectivityOut;\x0a#if\x20defined(REFLECTIVITY)\x0avec4\x20surfaceMetallicOrReflectivityColorMap=texture2D(reflectivitySampler,vReflectivityUV+uvOffset);\x0avec4\x20baseReflectivity=surfaceMetallicOrReflectivityColorMap;\x0a#ifndef\x20METALLICWORKFLOW\x0a#ifdef\x20REFLECTIVITY_GAMMA\x0asurfaceMetallicOrReflectivityColorMap=toLinearSpace(surfaceMetallicOrReflectivityColorMap);\x0a#endif\x0asurfaceMetallicOrReflectivityColorMap.rgb*=vReflectivityInfos.y;\x0a#endif\x0a#endif\x0a#if\x20defined(MICROSURFACEMAP)\x0avec4\x20microSurfaceTexel=texture2D(microSurfaceSampler,vMicroSurfaceSamplerUV+uvOffset)*vMicroSurfaceSamplerInfos.y;\x0a#endif\x0a#ifdef\x20METALLICWORKFLOW\x0avec4\x20metallicReflectanceFactors=vMetallicReflectanceFactors;\x0a#ifdef\x20REFLECTANCE\x0avec4\x20reflectanceFactorsMap=texture2D(reflectanceSampler,vReflectanceUV+uvOffset);\x0a#ifdef\x20REFLECTANCE_GAMMA\x0areflectanceFactorsMap=toLinearSpace(reflectanceFactorsMap);\x0a#endif\x0ametallicReflectanceFactors.rgb*=reflectanceFactorsMap.rgb;\x0a#endif\x0a#ifdef\x20METALLIC_REFLECTANCE\x0avec4\x20metallicReflectanceFactorsMap=texture2D(metallicReflectanceSampler,vMetallicReflectanceUV+uvOffset);\x0a#ifdef\x20METALLIC_REFLECTANCE_GAMMA\x0ametallicReflectanceFactorsMap=toLinearSpace(metallicReflectanceFactorsMap);\x0a#endif\x0a#ifndef\x20METALLIC_REFLECTANCE_USE_ALPHA_ONLY\x0ametallicReflectanceFactors.rgb*=metallicReflectanceFactorsMap.rgb;\x0a#endif\x0ametallicReflectanceFactors*=metallicReflectanceFactorsMap.a;\x0a#endif\x0a#endif\x0areflectivityBlock(\x0avReflectivityColor,\x0a#ifdef\x20METALLICWORKFLOW\x0asurfaceAlbedo,\x0ametallicReflectanceFactors,\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0avReflectivityInfos,\x0asurfaceMetallicOrReflectivityColorMap,\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0aaoOut.ambientOcclusionColor,\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0amicroSurfaceTexel,\x0a#endif\x0a#ifdef\x20DETAIL\x0adetailColor,\x0avDetailInfos,\x0a#endif\x0areflectivityOut\x0a);\x0afloat\x20microSurface=reflectivityOut.microSurface;\x0afloat\x20roughness=reflectivityOut.roughness;\x0a#ifdef\x20METALLICWORKFLOW\x0asurfaceAlbedo=reflectivityOut.surfaceAlbedo;\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0aaoOut.ambientOcclusionColor=reflectivityOut.ambientOcclusionColor;\x0a#endif\x0a#ifdef\x20ALPHAFRESNEL\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(ALPHABLEND)\x0aalphaFresnelOutParams\x20alphaFresnelOut;\x0aalphaFresnelBlock(\x0anormalW,\x0aviewDirectionW,\x0aalpha,\x0amicroSurface,\x0aalphaFresnelOut\x0a);\x0aalpha=alphaFresnelOut.alpha;\x0a#endif\x0a#endif\x0a#include<pbrBlockGeometryInfo>\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOutParams\x20anisotropicOut;\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0avec3\x20anisotropyMapData=texture2D(anisotropySampler,vAnisotropyUV+uvOffset).rgb*vAnisotropyInfos.y;\x0a#endif\x0aanisotropicBlock(\x0avAnisotropy,\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0aanisotropyMapData,\x0a#endif\x0aTBN,\x0anormalW,\x0aviewDirectionW,\x0aanisotropicOut\x0a);\x0a#endif\x0a#ifdef\x20REFLECTION\x0areflectionOutParams\x20reflectionOut;\x0a#ifndef\x20USE_CUSTOM_REFLECTION\x0areflectionBlock(\x0avPositionW,\x0anormalW,\x0aalphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOut,\x0a#endif\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0aroughness,\x0a#endif\x0areflectionSampler,\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avEnvironmentIrradiance,\x0a#endif\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0areflectionMatrix,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0airradianceSampler,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0areflectionOut\x0a);\x0a#else\x0a#define\x20CUSTOM_REFLECTION\x0a#endif\x0a#endif\x0a#include<pbrBlockReflectance0>\x0a#ifdef\x20SHEEN\x0asheenOutParams\x20sheenOut;\x0a#ifdef\x20SHEEN_TEXTURE\x0avec4\x20sheenMapData=texture2D(sheenSampler,vSheenUV+uvOffset);\x0a#endif\x0a#if\x20defined(SHEEN_ROUGHNESS)\x20&&\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0avec4\x20sheenMapRoughnessData=texture2D(sheenRoughnessSampler,vSheenRoughnessUV+uvOffset)*vSheenInfos.w;\x0a#endif\x0asheenBlock(\x0avSheenColor,\x0a#ifdef\x20SHEEN_ROUGHNESS\x0avSheenRoughness,\x0a#if\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0asheenMapRoughnessData,\x0a#endif\x0a#endif\x0aroughness,\x0a#ifdef\x20SHEEN_TEXTURE\x0asheenMapData,\x0avSheenInfos.y,\x0a#endif\x0areflectance,\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0abaseColor,\x0asurfaceAlbedo,\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0aNdotV,\x0aenvironmentBrdf,\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0aAARoughnessFactors,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0avLightingIntensity,\x0areflectionSampler,\x0areflectionOut.reflectionCoords,\x0aNdotVUnclamped,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(RADIANCEOCCLUSION)\x0aseo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(HORIZONOCCLUSION)\x20&&\x20defined(BUMP)\x20&&\x20defined(REFLECTIONMAP_3D)\x0aeho,\x0a#endif\x0a#endif\x0asheenOut\x0a);\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0asurfaceAlbedo=sheenOut.surfaceAlbedo;\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0avec2\x20clearCoatMapData=texture2D(clearCoatSampler,vClearCoatUV+uvOffset).rg*vClearCoatInfos.y;\x0a#endif\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0airidescenceOutParams\x20iridescenceOut;\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0avec2\x20iridescenceMapData=texture2D(iridescenceSampler,vIridescenceUV+uvOffset).rg*vIridescenceInfos.y;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0avec2\x20iridescenceThicknessMapData=texture2D(iridescenceThicknessSampler,vIridescenceThicknessUV+uvOffset).rg*vIridescenceInfos.w;\x0a#endif\x0airidescenceBlock(\x0avIridescenceParams,\x0aNdotV,\x0aspecularEnvironmentR0,\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0airidescenceMapData,\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0airidescenceThicknessMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aNdotVUnclamped,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatMapData,\x0a#endif\x0a#endif\x0airidescenceOut\x0a);\x0afloat\x20iridescenceIntensity=iridescenceOut.iridescenceIntensity;\x0aspecularEnvironmentR0=iridescenceOut.specularEnvironmentR0;\x0a#endif\x0aclearcoatOutParams\x20clearcoatOut;\x0a#ifdef\x20CLEARCOAT\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0avec4\x20clearCoatMapRoughnessData=texture2D(clearCoatRoughnessSampler,vClearCoatRoughnessUV+uvOffset)*vClearCoatInfos.w;\x0a#endif\x0a#if\x20defined(CLEARCOAT_TINT)\x20&&\x20defined(CLEARCOAT_TINT_TEXTURE)\x0avec4\x20clearCoatTintMapData=texture2D(clearCoatTintSampler,vClearCoatTintUV+uvOffset);\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0avec4\x20clearCoatBumpMapData=texture2D(clearCoatBumpSampler,vClearCoatBumpUV+uvOffset);\x0a#endif\x0aclearcoatBlock(\x0avPositionW,\x0ageometricNormalW,\x0aviewDirectionW,\x0avClearCoatParams,\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0aclearCoatMapRoughnessData,\x0a#endif\x0aspecularEnvironmentR0,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0avClearCoatTintParams,\x0aclearCoatColorAtDistance,\x0avClearCoatRefractionParams,\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0aclearCoatTintMapData,\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0avClearCoatBumpInfos,\x0aclearCoatBumpMapData,\x0avClearCoatBumpUV,\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0avTBN,\x0a#else\x0avClearCoatTangentSpaceParams,\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0anormalMatrix,\x0a#endif\x0a#endif\x0a#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0afaceNormal,\x0a#endif\x0a#ifdef\x20REFLECTION\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0avLightingIntensity,\x0areflectionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0a#ifdef\x20RADIANCEOCCLUSION\x0aambientMonochrome,\x0a#endif\x0a#endif\x0a#if\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(TWOSIDEDLIGHTING)\x0a(gl_FrontFacing\x20?\x201.\x20:\x20-1.),\x0a#endif\x0aclearcoatOut\x0a);\x0a#else\x0aclearcoatOut.specularEnvironmentR0=specularEnvironmentR0;\x0a#endif\x0a#include<pbrBlockReflectance>\x0asubSurfaceOutParams\x20subSurfaceOut;\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0avec4\x20thicknessMap=texture2D(thicknessSampler,vThicknessUV+uvOffset);\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0avec4\x20refractionIntensityMap=texture2D(refractionIntensitySampler,vRefractionIntensityUV+uvOffset);\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0avec4\x20translucencyIntensityMap=texture2D(translucencyIntensitySampler,vTranslucencyIntensityUV+uvOffset);\x0a#endif\x0asubSurfaceBlock(\x0avSubSurfaceIntensity,\x0avThicknessParam,\x0avTintColor,\x0anormalW,\x0aspecularEnvironmentReflectance,\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0athicknessMap,\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0arefractionIntensityMap,\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0atranslucencyIntensityMap,\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20SS_TRANSLUCENCY\x0areflectionMatrix,\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0areflectionOut.irradianceVector,\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x0areflectionSampler,\x0avReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0airradianceSampler,\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x20||\x20defined(SS_TRANSLUCENCY)\x0asurfaceAlbedo,\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0avPositionW,\x0aviewDirectionW,\x0aview,\x0avRefractionInfos,\x0arefractionMatrix,\x0avRefractionMicrosurfaceInfos,\x0avLightingIntensity,\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0aalpha,\x0a#endif\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20SS_LINEARSPECULARREFRACTION\x0aroughness,\x0a#endif\x0aalphaG,\x0arefractionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0arefractionSamplerLow,\x0arefractionSamplerHigh,\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOut,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avRefractionFilteringInfo,\x0a#endif\x0a#ifdef\x20SS_USE_LOCAL_REFRACTIONMAP_CUBIC\x0avRefractionPosition,\x0avRefractionSize,\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0avDiffusionDistance,\x0a#endif\x0asubSurfaceOut\x0a);\x0a#ifdef\x20SS_REFRACTION\x0asurfaceAlbedo=subSurfaceOut.surfaceAlbedo;\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0aalpha=subSurfaceOut.alpha;\x0a#endif\x0a#endif\x0a#else\x0asubSurfaceOut.specularEnvironmentReflectance=specularEnvironmentReflectance;\x0a#endif\x0a#include<pbrBlockDirectLighting>\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#include<pbrBlockFinalLitComponents>\x0a#endif\x20\x0a#include<pbrBlockFinalUnlitComponents>\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FINALCOLORCOMPOSITION\x0a#include<pbrBlockFinalColorComposition>\x0a#include<logDepthFragment>\x0a#include<fogFragment>(color,finalColor)\x0a#include<pbrBlockImageProcessing>\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR\x0a#ifdef\x20PREPASS\x0afloat\x20writeGeometryInfo=finalColor.a>0.4\x20?\x201.0\x20:\x200.0;\x0a#ifdef\x20PREPASS_POSITION\x0agl_FragData[PREPASS_POSITION_INDEX]=vec4(vPositionW,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0avec2\x20a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\x0avec2\x20b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\x0avec2\x20velocity=abs(a-b);\x0avelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\x0agl_FragData[PREPASS_VELOCITY_INDEX]=vec4(velocity,0.0,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_ALBEDO_SQRT\x0avec3\x20sqAlbedo=sqrt(surfaceAlbedo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_IRRADIANCE\x0avec3\x20irradiance=finalDiffuse;\x0a#ifndef\x20UNLIT\x0a#ifdef\x20REFLECTION\x0airradiance+=finalIrradiance;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_SCATTERING\x0agl_FragData[0]=vec4(finalColor.rgb-irradiance,finalColor.a);\x20\x0airradiance/=sqAlbedo;\x0a#else\x0agl_FragData[0]=finalColor;\x20\x0afloat\x20scatteringDiffusionProfile=255.;\x0a#endif\x0agl_FragData[PREPASS_IRRADIANCE_INDEX]=vec4(clamp(irradiance,vec3(0.),vec3(1.)),writeGeometryInfo*scatteringDiffusionProfile/255.);\x20\x0a#else\x0agl_FragData[0]=vec4(finalColor.rgb,finalColor.a);\x0a#endif\x0a#ifdef\x20PREPASS_DEPTH\x0agl_FragData[PREPASS_DEPTH_INDEX]=vec4(vViewPos.z,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_NORMAL\x0agl_FragData[PREPASS_NORMAL_INDEX]=vec4(normalize((view*vec4(normalW,0.0)).rgb),writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_ALBEDO_SQRT\x0agl_FragData[PREPASS_ALBEDO_SQRT_INDEX]=vec4(sqAlbedo,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_REFLECTIVITY\x0a#ifndef\x20UNLIT\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(specularEnvironmentR0,microSurface)*writeGeometryInfo;\x0a#else\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(\x200.0,0.0,0.0,1.0\x20)*writeGeometryInfo;\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20!defined(PREPASS)\x20||\x20defined(WEBGL2)\x0agl_FragColor=finalColor;\x0a#endif\x0a#include<oitFragment>\x0a#if\x20ORDER_INDEPENDENT_TRANSPARENCY\x0aif\x20(fragDepth==nearestDepth)\x20{\x0afrontColor.rgb+=finalColor.rgb*finalColor.a*alphaMultiplier;\x0afrontColor.a=1.0-alphaMultiplier*(1.0-finalColor.a);\x0a}\x20else\x20{\x0abackColor+=finalColor;\x0a}\x0a#endif\x0a#include<pbrDebug>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','dispatchWorkgroups','storage','blurDepthScale','frameMaxRenderMemoryLength','BLEND','cellIndex','TEXTUREFORMAT_RGB\x20format\x20not\x20supported\x20in\x20WebGPU','_createHardwareRenderTargetWrapper','markAsLightDirty','DoubleClickDelay','Render\x20to\x20half\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.','fogVertex','GL_ALPHA_EQUATION_SUBTRACT','createStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!','_processCustomBuffers','hasSpecificTrigger','REFLECTIONMAP_EQUIRECTANGULAR_FIXED','variableNames','#include<instancesDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec4\x20normal;\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20float\x20width;\x0auniform\x20float\x20aspectRatio;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0amat4\x20worldViewProjection=viewProjection*finalWorld;\x0avec4\x20viewPosition=worldViewProjection*vec4(position,1.0);\x0avec4\x20viewPositionNext=worldViewProjection*vec4(normal.xyz,1.0);\x0avec2\x20currentScreen=viewPosition.xy/viewPosition.w;\x0avec2\x20nextScreen=viewPositionNext.xy/viewPositionNext.w;\x0acurrentScreen.x*=aspectRatio;\x0anextScreen.x*=aspectRatio;\x0avec2\x20dir=normalize(nextScreen-currentScreen);\x0avec2\x20normalDir=vec2(-dir.y,dir.x);\x0anormalDir*=width/2.0;\x0anormalDir.x/=aspectRatio;\x0avec4\x20offset=vec4(normalDir*normal.w,0.0,0.0);\x0agl_Position=viewPosition+offset;\x0a#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0a#include<clipPlaneVertex>\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','_prefiltered','attached','\x0a};\x0avar<private>\x20fragmentInputs\x20:\x20FragmentInputs;\x0a','layout(location\x20=\x200)\x20out\x20vec4\x20glFragColor;\x0a','pointerY','ASTC10x5Unorm','bundles','LIGHTTYPEID_SPOTLIGHT','CULL_FACE','_getEngine','encode','ceil','writeTimestamp','endRenderTargetPass','\x22\x20is\x20not\x20declared\x20in\x20the\x20vertex\x20shader!\x20This\x20declaration\x20will\x20be\x20ignored.','MAINUV2','ACTION_OnPointerOverTrigger','#if\x20defined(_DEFINENAME_)\x20&&\x20_DEFINENAME_DIRECTUV==0\x0avarying\x20vec2\x20v_VARYINGNAME_UV;\x0a#endif\x0a','frameId','NAME_PARTICLESYSTEM','POINTERDOUBLETAP','boundingBoxRendererFragmentDeclaration','_getCurrentRenderPassIndex','clipPlane2','isVisible','_PreparePreProcessors','_appendSpriteVertex','screenSpaceReflectionPixelShader','hasQueries','vrMultiviewToSingleviewPixelShader','kernelBlurPixelShader','apply','replace','bool\x20testLightingForSSS(float\x20diffusionProfile)\x0a{\x0areturn\x20diffusionProfile<1.;\x0a}','BACKSIDE','screenSpaceReflections','depthAttachmentViewDescriptor','removeVaryings','depthFunc','pointerDownPredicate','infixToPostfix','_webgpuTexture','_onPointerUp','invertYPreMultiplyAlpha','setStencilReference','_deferredReleaseBuffers','_preProcessors','Float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.','MAINUV0','shadowsFragmentFunctions','getTimeStep','Finalize','_allocateNewIndices','_GetEffectCreationOptions','_enabled','copyTextureToTexture','_frameHandler','loadCubeData','_previousButtonPressed','setHardwareScalingLevel','_debugPushGroup','pbrBlockReflectivity','proceduralVertexShader','_halfDomeMask','_isDepthMaskDirty','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20originalColor;\x0auniform\x20vec4\x20viewport;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20ssaoColor=texture2D(textureSampler,viewport.xy+vUV*viewport.zw);\x0avec4\x20sceneColor=texture2D(originalColor,vUV);\x0agl_FragColor=sceneColor*ssaoColor;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','groupIndex','IRIDESCENCE_TEXTURE','updateMatrix','TEXTUREFORMAT_DEPTH24_STENCIL8','TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV','atan2','_previousStartingPointerPosition','setMRTAttachments','\x20ANIMATESHEET','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20vec2\x20direction;\x0auniform\x20float\x20blurWidth;\x0afloat\x20getLuminance(vec3\x20color)\x0a{\x0areturn\x20dot(color,vec3(0.2126,0.7152,0.0722));\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20weights[7];\x0aweights[0]=0.05;\x0aweights[1]=0.1;\x0aweights[2]=0.2;\x0aweights[3]=0.3;\x0aweights[4]=0.2;\x0aweights[5]=0.1;\x0aweights[6]=0.05;\x0avec2\x20texelSize=vec2(1.0/screenSize.x,1.0/screenSize.y);\x0avec2\x20texelStep=texelSize*direction*blurWidth;\x0avec2\x20start=vUV-3.0*texelStep;\x0avec4\x20baseColor=vec4(0.,0.,0.,0.);\x0avec2\x20texelOffset=vec2(0.,0.);\x0afor\x20(int\x20i=0;\x20i<7;\x20i++)\x0a{\x0avec4\x20texel=texture2D(textureSampler,start+texelOffset);\x0abaseColor.a+=texel.a*weights[i];\x0afloat\x20luminance=getLuminance(baseColor.rgb);\x0afloat\x20luminanceTexel=getLuminance(texel.rgb);\x0afloat\x20choice=step(luminanceTexel,luminance);\x0abaseColor.rgb=choice*baseColor.rgb+(1.0-choice)*texel.rgb;\x0atexelOffset+=texelStep;\x0a}\x0agl_FragColor=baseColor;\x0a}','HasStencilAspect','end','updateTextureSamplingMode','_func','#version\x20300\x20es\x0avoid\x20main()\x20{\x0adiscard;\x0a}\x0a','setIntArray3','Unable\x20to\x20get\x202d\x20context','RG16Float','womips','_processPointerMove','matrix','#ifdef\x20CLIPPLANE\x0auniform\x20vec4\x20vClipPlane;\x0avarying\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0auniform\x20vec4\x20vClipPlane2;\x0avarying\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0auniform\x20vec4\x20vClipPlane3;\x0avarying\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0auniform\x20vec4\x20vClipPlane4;\x0avarying\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0auniform\x20vec4\x20vClipPlane5;\x0avarying\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0auniform\x20vec4\x20vClipPlane6;\x0avarying\x20float\x20fClipDistance6;\x0a#endif\x0a','anisotropicFilteringLevel','vAng','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a{\x0a#ifdef\x20INSTANCES\x0a#define\x20BVASNAME\x20bakedVertexAnimationSettingsInstanced\x0a#else\x0a#define\x20BVASNAME\x20bakedVertexAnimationSettings\x0a#endif\x0afloat\x20VATStartFrame=BVASNAME.x;\x0afloat\x20VATEndFrame=BVASNAME.y;\x0afloat\x20VATOffsetFrame=BVASNAME.z;\x0afloat\x20VATSpeed=BVASNAME.w;\x0afloat\x20totalFrames=VATEndFrame-VATStartFrame+1.0;\x0afloat\x20time=bakedVertexAnimationTime*VATSpeed/totalFrames;\x0afloat\x20frameCorrection=time<1.0\x20?\x200.0\x20:\x201.0;\x0afloat\x20numOfFrames=totalFrames-frameCorrection;\x0afloat\x20VATFrameNum=fract(time)*numOfFrames;\x0aVATFrameNum=mod(VATFrameNum+VATOffsetFrame,numOfFrames);\x0aVATFrameNum=floor(VATFrameNum);\x0aVATFrameNum+=VATStartFrame+frameCorrection;\x0amat4\x20VATInfluence;\x0aVATInfluence=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[0],VATFrameNum)*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[1],VATFrameNum)*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[2],VATFrameNum)*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[3],VATFrameNum)*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[0],VATFrameNum)*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[1],VATFrameNum)*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[2],VATFrameNum)*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[3],VATFrameNum)*matricesWeightsExtra[3];\x0a#endif\x0afinalWorld=finalWorld*VATInfluence;\x0a}\x0a#endif\x0a','generateMipmap','#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0aprecision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<imageProcessingDeclaration>\x0a#include<imageProcessingFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20BUMP\x0avarying\x20vec2\x20vNormalUV;\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avarying\x20vec2\x20vNormalUV2;\x0a#endif\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20vec2\x20vNormalInfos;\x0a#endif\x0auniform\x20sampler2D\x20refractionSampler;\x0auniform\x20sampler2D\x20reflectionSampler;\x0aconst\x20float\x20LOG2=1.442695;\x0auniform\x20vec3\x20cameraPosition;\x0auniform\x20vec4\x20waterColor;\x0auniform\x20float\x20colorBlendFactor;\x0auniform\x20vec4\x20waterColor2;\x0auniform\x20float\x20colorBlendFactor2;\x0auniform\x20float\x20bumpHeight;\x0auniform\x20float\x20time;\x0avarying\x20vec3\x20vRefractionMapTexCoord;\x0avarying\x20vec3\x20vReflectionMapTexCoord;\x0avarying\x20vec3\x20vPosition;\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20BUMP\x0a#ifdef\x20BUMPSUPERIMPOSE\x0abaseColor=0.6*texture2D(normalSampler,vNormalUV)+0.4*texture2D(normalSampler,vec2(vNormalUV2.x,vNormalUV2.y));\x0a#else\x0abaseColor=texture2D(normalSampler,vNormalUV);\x0a#endif\x0avec3\x20bumpColor=baseColor.rgb;\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0abaseColor.rgb*=vNormalInfos.y;\x0a#else\x0avec3\x20bumpColor=vec3(1.0);\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec2\x20perturbation=bumpHeight*(baseColor.rg-0.5);\x0a#ifdef\x20BUMPAFFECTSREFLECTION\x0avec3\x20normalW=normalize(vNormalW+vec3(perturbation.x*8.0,0.0,perturbation.y*8.0));\x0aif\x20(normalW.y<0.0)\x20{\x0anormalW.y=-normalW.y;\x0a}\x0a#else\x0avec3\x20normalW=normalize(vNormalW);\x0a#endif\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0avec2\x20perturbation=bumpHeight*(vec2(1.0,1.0)-0.5);\x0a#endif\x0a#ifdef\x20FRESNELSEPARATE\x0a#ifdef\x20REFLECTION\x0avec2\x20projectedRefractionTexCoords=clamp(vRefractionMapTexCoord.xy/vRefractionMapTexCoord.z+perturbation*0.5,0.0,1.0);\x0avec4\x20refractiveColor=texture2D(refractionSampler,projectedRefractionTexCoords);\x0a#ifdef\x20IS_REFRACTION_LINEAR\x0arefractiveColor.rgb=toGammaSpace(refractiveColor.rgb);\x0a#endif\x0avec2\x20projectedReflectionTexCoords=clamp(vec2(\x0avReflectionMapTexCoord.x/vReflectionMapTexCoord.z+perturbation.x*0.3,\x0avReflectionMapTexCoord.y/vReflectionMapTexCoord.z+perturbation.y\x0a),0.0,1.0);\x0avec4\x20reflectiveColor=texture2D(reflectionSampler,projectedReflectionTexCoords);\x0a#ifdef\x20IS_REFLECTION_LINEAR\x0areflectiveColor.rgb=toGammaSpace(reflectiveColor.rgb);\x0a#endif\x0avec3\x20upVector=vec3(0.0,1.0,0.0);\x0afloat\x20fresnelTerm=clamp(abs(pow(dot(viewDirectionW,upVector),3.0)),0.05,0.65);\x0afloat\x20IfresnelTerm=1.0-fresnelTerm;\x0arefractiveColor=colorBlendFactor*waterColor+(1.0-colorBlendFactor)*refractiveColor;\x0areflectiveColor=IfresnelTerm*colorBlendFactor2*waterColor+(1.0-colorBlendFactor2*IfresnelTerm)*reflectiveColor;\x0avec4\x20combinedColor=refractiveColor*fresnelTerm+reflectiveColor*IfresnelTerm;\x0abaseColor=combinedColor;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0avec3\x20finalDiffuse=clamp(baseColor.rgb,0.0,1.0);\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0a#else\x20\x0a#ifdef\x20REFLECTION\x0avec2\x20projectedRefractionTexCoords=clamp(vRefractionMapTexCoord.xy/vRefractionMapTexCoord.z+perturbation,0.0,1.0);\x0avec4\x20refractiveColor=texture2D(refractionSampler,projectedRefractionTexCoords);\x0a#ifdef\x20IS_REFRACTION_LINEAR\x0arefractiveColor.rgb=toGammaSpace(refractiveColor.rgb);\x0a#endif\x0avec2\x20projectedReflectionTexCoords=clamp(vReflectionMapTexCoord.xy/vReflectionMapTexCoord.z+perturbation,0.0,1.0);\x0avec4\x20reflectiveColor=texture2D(reflectionSampler,projectedReflectionTexCoords);\x0a#ifdef\x20IS_REFLECTION_LINEAR\x0areflectiveColor.rgb=toGammaSpace(reflectiveColor.rgb);\x0a#endif\x0avec3\x20upVector=vec3(0.0,1.0,0.0);\x0afloat\x20fresnelTerm=max(dot(viewDirectionW,upVector),0.0);\x0avec4\x20combinedColor=refractiveColor*fresnelTerm+reflectiveColor*(1.0-fresnelTerm);\x0abaseColor=colorBlendFactor*waterColor+(1.0-colorBlendFactor)*combinedColor;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0avec3\x20finalDiffuse=clamp(baseColor.rgb,0.0,1.0);\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0a#endif\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include<logDepthFragment>\x0a#include<fogFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0acolor.rgb=toLinearSpace(color.rgb);\x0a#elif\x20defined(IMAGEPROCESSING)\x0acolor.rgb=toLinearSpace(color.rgb);\x0acolor=applyImageProcessing(color);\x0a#endif\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','viewProjectionR','defaultFragmentDeclaration','onBeforePhysicsObservable','subSurfaceScatteringFunctions','isArray','uv5','screenSpaceCurvaturePixelShader','_readTexturePixelsSync','compute','visibility','updateCount','attribute\x20vec3\x20position;\x0a#include<__decl__boundingBoxRendererVertex>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec4\x20worldPos=world*vec4(position,1.0);\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','setDepthTestEnabled','drawArraysType','_previousStartingPointerTime','releaseBuffer','ARRAY_BUFFER','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a{\x0a#ifdef\x20INSTANCES\x0alet\x20VATStartFrame:\x20f32=vertexInputs.bakedVertexAnimationSettingsInstanced.x;\x0alet\x20VATEndFrame:\x20f32=vertexInputs.bakedVertexAnimationSettingsInstanced.y;\x0alet\x20VATOffsetFrame:\x20f32=vertexInputs.bakedVertexAnimationSettingsInstanced.z;\x0alet\x20VATSpeed:\x20f32=vertexInputs.bakedVertexAnimationSettingsInstanced.w;\x0a#else\x0alet\x20VATStartFrame:\x20f32=uniforms.bakedVertexAnimationSettings.x;\x0alet\x20VATEndFrame:\x20f32=uniforms.bakedVertexAnimationSettings.y;\x0alet\x20VATOffsetFrame:\x20f32=uniforms.bakedVertexAnimationSettings.z;\x0alet\x20VATSpeed:\x20f32=uniforms.bakedVertexAnimationSettings.w;\x0a#endif\x0alet\x20totalFrames:\x20f32=VATEndFrame-VATStartFrame+1.0;\x0alet\x20time:\x20f32=uniforms.bakedVertexAnimationTime*VATSpeed/totalFrames;\x0alet\x20frameCorrection:\x20f32=select(1.0,0.0,time<1.0);\x0alet\x20numOfFrames:\x20f32=totalFrames-frameCorrection;\x0avar\x20VATFrameNum:\x20f32=fract(time)*numOfFrames;\x0aVATFrameNum=(VATFrameNum+VATOffsetFrame)\x20%\x20numOfFrames;\x0aVATFrameNum=floor(VATFrameNum);\x0aVATFrameNum=VATFrameNum+VATStartFrame+frameCorrection;\x0avar\x20VATInfluence\x20:\x20mat4x4<f32>;\x0aVATInfluence=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[0],VATFrameNum)*vertexInputs.matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[1],VATFrameNum)*vertexInputs.matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[2],VATFrameNum)*vertexInputs.matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[3],VATFrameNum)*vertexInputs.matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[0],VATFrameNum)*vertexInputs.matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[1],VATFrameNum)*vertexInputs.matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[2],VATFrameNum)*vertexInputs.matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[3],VATFrameNum)*vertexInputs.matricesWeightsExtra[3];\x0a#endif\x0afinalWorld=finalWorld*VATInfluence;\x0a}\x0a#endif\x0a','useReverseDepthBuffer','file:','getHostWindow','_blurTextureSizeY','_textureType','meshUboDeclaration','HasDepthAndStencilAspects','_getFreeDefineName','DeepCopy','updateInt3','TEXTUREFORMAT_RGB_INTEGER','##INJECTCODE##\x0a','createCommandEncoder','shadowMapVertexNormalBias','_debugPopGroup','getHashCode','ASTC4x4UnormSRGB','HemisphericParticleEmitter','CONSTANT_ALPHA','texture2D','lineProcessor','_generateDepthBuffer','samplerFragmentAlternateDeclaration','updateInt4','uniformBufferProcessor','mesh','markAsUnprocessed','_bindTextureRenderTarget','gpuUpdateParticlesVertexShader','TEXTUREFORMAT_DEPTH24UNORM_STENCIL8','getRenderHeight','set','LINEAR','_partialLoadFile','_ssFilterRadii','#include<helperFunctions>\x0auniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20float\x20intensity;\x0auniform\x20float\x20animatedSeed;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0avec2\x20seed=vUV*(animatedSeed);\x0afloat\x20grain=dither(seed,intensity);\x0afloat\x20lum=getLuminance(gl_FragColor.rgb);\x0afloat\x20grainAmount=(cos(-PI+(lum*PI*2.))+1.)/2.;\x0agl_FragColor.rgb+=grain*grainAmount;\x0agl_FragColor.rgb=max(gl_FragColor.rgb,0.0);\x0a}','evt','setMRT','onPointerUp','emitComments','No\x20fixed\x20size\x20for\x20Depth24PlusStencil8\x20format!','forceSphericalPolynomialsRecompute','depthOfFieldMergePixelShader','getVRDisplays','DEPTH_STENCIL_ATTACHMENT','RGBA16Uint','struct\x20Scene\x20{\x0aviewProjection\x20:\x20mat4x4<f32>,\x0a#ifdef\x20MULTIVIEW\x0aviewProjectionR\x20:\x20mat4x4<f32>,\x0a#endif\x20\x0aview\x20:\x20mat4x4<f32>,\x0aprojection\x20:\x20mat4x4<f32>,\x0avEyePosition\x20:\x20vec4<f32>,\x0a};\x0avar<uniform>\x20scene\x20:\x20Scene;\x0a','precision\x20highp\x20float;attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;uniform\x20mat4\x20textureMatrix;uniform\x20vec2\x20vTextureInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);gl_Position=viewProjection*worldPos;vPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vTextureInfos.x==0.)\x0a{vTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','pbrVertexShader','attribute\x20vec3\x20position;\x0aattribute\x20vec2\x20offset;\x0aattribute\x20vec4\x20color;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20size;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20diffuseColor;\x0avoid\x20main(void)\x20{\x0avec3\x20cornerPos;\x0acornerPos.xy=vec2(offset.x-0.5,offset.y-0.5)*size;\x0acornerPos.z=0.0;\x0avec3\x20viewPos=(view*vec4(position,1.0)).xyz+cornerPos;\x0agl_Position=projection*vec4(viewPos,1.0);\x0auv=offset;\x0adiffuseColor=color.rgb;\x0a}\x0a','_clearReverseDepthValue','renderPageFocus','-astc.ktx','GL_ALPHA_FUNCTION_ONE_MINUS_DST_ALPHA','vReflectionPosition','removePipeline','#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0avec3\x20specularEnvironmentReflectance=getReflectanceFromBRDFLookup(clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,environmentBrdf);\x0a#ifdef\x20RADIANCEOCCLUSION\x0aspecularEnvironmentReflectance*=seo;\x0a#endif\x0a#ifdef\x20HORIZONOCCLUSION\x0a#ifdef\x20BUMP\x0a#ifdef\x20REFLECTIONMAP_3D\x0aspecularEnvironmentReflectance*=eho;\x0a#endif\x0a#endif\x0a#endif\x0a#else\x0avec3\x20specularEnvironmentReflectance=getReflectanceFromAnalyticalBRDFLookup_Jones(NdotV,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,sqrt(microSurface));\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aspecularEnvironmentReflectance*=clearcoatOut.conservationFactor;\x0a#if\x20defined(CLEARCOAT_TINT)\x0aspecularEnvironmentReflectance*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a','TEXTURE_PROJECTION_MODE','isAnimationSheetEnabled','_currentTotalIndices','#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0aif\x20(false)\x20{}\x0a#endif\x0a#ifdef\x20CLIPPLANE\x0aelse\x20if\x20(fragmentInputs.fClipDistance>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0aelse\x20if\x20(fragmentInputs.fClipDistance2>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0aelse\x20if\x20(fragmentInputs.fClipDistance3>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0aelse\x20if\x20(fragmentInputs.fClipDistance4>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0aelse\x20if\x20(fragmentInputs.fClipDistance5>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0aelse\x20if\x20(fragmentInputs.fClipDistance6>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a','_GetTextureTypeFromFormat','precision\x20highp\x20float','resolution','TransformNormalToRef','texture3D','fogColor','Output','blurDir','ACTION_OnKeyDownTrigger','isDisposed',')\x20is\x20not\x20a\x20storage\x20texture!','_measureDurationState','lightVxFragmentDeclaration','LeftClick','bindingIndex','TEXTURETYPE_UNSIGNED_SHORT','textureProcessor','VertexAndFragment','drawBuffersExtension','_webGLTexture','entries','concat','postProcessManager','RGB9E5UFloat','\x20needs\x20to\x20be\x20imported\x20before\x20as\x20it\x20contains\x20a\x20side-effect\x20required\x20by\x20your\x20code.','uniform\x20sampler2D\x20','LIGHTMAP_SHADOWSONLY','ILog2','SHADER\x20ERROR','subtractToRef','PREPASS_POSITION_TEXTURE_TYPE','uOffset','diffusionS','error','_unTranslatedPointerX','subMeshId','getViewMatrix','uniform\x20float\x20brightness;\x0auniform\x20float\x20persistence;\x0auniform\x20float\x20timeScale;\x0avarying\x20vec2\x20vUV;\x0avec2\x20hash22(vec2\x20p)\x0a{\x0ap=p*mat2(127.1,311.7,269.5,183.3);\x0ap=-1.0+2.0*fract(sin(p)*43758.5453123);\x0areturn\x20sin(p*6.283+timeScale);\x0a}\x0afloat\x20interpolationNoise(vec2\x20p)\x0a{\x0avec2\x20pi=floor(p);\x0avec2\x20pf=p-pi;\x0avec2\x20w=pf*pf*(3.-2.*pf);\x0afloat\x20f00=dot(hash22(pi+vec2(.0,.0)),pf-vec2(.0,.0));\x0afloat\x20f01=dot(hash22(pi+vec2(.0,1.)),pf-vec2(.0,1.));\x0afloat\x20f10=dot(hash22(pi+vec2(1.0,0.)),pf-vec2(1.0,0.));\x0afloat\x20f11=dot(hash22(pi+vec2(1.0,1.)),pf-vec2(1.0,1.));\x0afloat\x20xm1=mix(f00,f10,w.x);\x0afloat\x20xm2=mix(f01,f11,w.x);\x0afloat\x20ym=mix(xm1,xm2,w.y);\x20\x0areturn\x20ym;\x0a}\x0afloat\x20perlinNoise2D(float\x20x,float\x20y)\x0a{\x0afloat\x20sum=0.0;\x0afloat\x20frequency=0.0;\x0afloat\x20amplitude=0.0;\x0afor(int\x20i=0;\x20i<OCTAVES;\x20i++)\x0a{\x0afrequency=pow(2.0,float(i));\x0aamplitude=pow(persistence,float(i));\x0asum=sum+interpolationNoise(vec2(x*frequency,y*frequency))*amplitude;\x0a}\x0areturn\x20sum;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20x=abs(vUV.x);\x0afloat\x20y=abs(vUV.y);\x0afloat\x20noise=brightness+(1.0-brightness)*perlinNoise2D(x,y);\x0agl_FragColor=vec4(noise,noise,noise,1.0);\x0a}\x0a','PREPASS_IRRADIANCE_TEXTURE_TYPE','TEXTURE_NEAREST_LINEAR','finalize','_update','RENDERBUFFER','pbrBlockNormalGeometric','onPointerPick','getDeterministicFrameTime','inlineShaderCode','material','options','executeBundles','{X}','FALLOFF_STANDARD','previousViewProjection','isFloatTexture','setMatrix3x3','Linear','samplingMode','_oldSize','_rebuildComputeEffects','thickness','vScale','lines','#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0a#define\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#else\x0auniform\x20vec4\x20color;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0agl_FragColor=vColor;\x0a#else\x0agl_FragColor=color;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','_bindFrameBuffer','unnamed','vertex','coordinatesMode','computeToken','Iridescence\x20intensity','additionalDefineKey','throw','sampler3D','pbrBlockFinalLitComponents','#ifdef\x20DECAL\x0auniform\x20vec4\x20vDecalInfos;\x0a#endif\x0a','\x5c$&','#if\x20defined(BUMP)\x20||\x20defined(PARALLAX)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x20\x0avarying\x20mat3\x20vTBN;\x0a#endif\x0a#endif\x0a','useInstancing','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20motionStrength;\x0auniform\x20float\x20motionScale;\x0auniform\x20vec2\x20screenSize;\x0a#ifdef\x20OBJECT_BASED\x0auniform\x20sampler2D\x20velocitySampler;\x0a#else\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20mat4\x20inverseViewProjection;\x0auniform\x20mat4\x20prevViewProjection;\x0auniform\x20mat4\x20projection;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#ifdef\x20GEOMETRY_SUPPORTED\x0a#ifdef\x20OBJECT_BASED\x0avec2\x20texelSize=1.0/screenSize;\x0avec4\x20velocityColor=texture2D(velocitySampler,vUV);\x0avelocityColor.rg=velocityColor.rg*2.0-vec2(1.0);\x0avec2\x20velocity=vec2(pow(velocityColor.r,3.0),pow(velocityColor.g,3.0))*velocityColor.a;\x0avelocity*=motionScale*motionStrength;\x0afloat\x20speed=length(velocity/texelSize);\x0aint\x20samplesCount=int(clamp(speed,1.0,SAMPLES));\x0avelocity=normalize(velocity)*texelSize;\x0afloat\x20hlim=float(-samplesCount)*0.5+0.5;\x0avec4\x20result=texture2D(textureSampler,vUV);\x0afor\x20(int\x20i=1;\x20i<int(SAMPLES);\x20++i)\x0a{\x0aif\x20(i>=samplesCount)\x0abreak;\x0avec2\x20offset=vUV+velocity*(hlim+float(i));\x0a#if\x20defined(WEBGPU)\x0aresult+=texture2DLodEXT(textureSampler,offset,0.0);\x0a#else\x0aresult+=texture2D(textureSampler,offset);\x0a#endif\x0a}\x0agl_FragColor=result/float(samplesCount);\x0agl_FragColor.a=1.0;\x0a#else\x0avec2\x20texelSize=1.0/screenSize;\x0afloat\x20depth=texture2D(depthSampler,vUV).r;\x0adepth=projection[2].z+projection[3].z/depth;\x20\x0avec4\x20cpos=vec4(vUV*2.0-1.0,depth,1.0);\x0acpos=inverseViewProjection*cpos;\x0acpos/=cpos.w;\x0avec4\x20ppos=prevViewProjection*cpos;\x0appos/=ppos.w;\x0appos.xy=ppos.xy*0.5+0.5;\x0avec2\x20velocity=(ppos.xy-vUV)*motionScale*motionStrength;\x0afloat\x20speed=length(velocity/texelSize);\x0aint\x20nSamples=int(clamp(speed,1.0,SAMPLES));\x0avec4\x20result=texture2D(textureSampler,vUV);\x0afor\x20(int\x20i=1;\x20i<int(SAMPLES);\x20++i)\x20{\x0aif\x20(i>=nSamples)\x0abreak;\x0avec2\x20offset1=vUV+velocity*(float(i)/float(nSamples-1)-0.5);\x0a#if\x20defined(WEBGPU)\x0aresult+=texture2DLodEXT(textureSampler,offset1,0.0);\x0a#else\x0aresult+=texture2D(textureSampler,offset1);\x0a#endif\x0a}\x0agl_FragColor=result/float(nSamples);\x0a#endif\x0a#else\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a#endif\x0a}\x0a','#endif\x0d\x0a','deleteCompoundImpostor','bindGroupLayoutEntries','samplerVertexDeclaration','ACTION_OnLeftPickTrigger','_addComponent','isSupported','viewProjection','deleteRenderbuffer','_getRGBAMultiSampleBufferFormat','_currentRenderPass','vec3','pixelStorei','AddUniforms','setUIntArray','subSurfaceConfiguration','stencilFunc','precision\x20highp\x20float;\x0auniform\x20sampler2D\x20uBackColor;\x0avoid\x20main()\x20{\x0aglFragColor=texelFetch(uBackColor,ivec2(gl_FragCoord.xy),0);\x0aif\x20(glFragColor.a==0.0)\x20{\x20\x0adiscard;\x0a}\x0a}','TEXTURE_CLAMP_ADDRESSMODE','function','noColorAttachment','GetExponentOfTwo','vClipPlane','_prepareVRComponent','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec4\x20color;\x0a#include<helperFunctions>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0a#ifdef\x20LINEAR\x0abaseColor.rgb=toGammaSpace(baseColor.rgb);\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0agl_FragColor=baseColor*color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','viewMatrix','updateRawCubeTexture','Touch','CLAMP_TO_EDGE','UniformSizes','invertU','mixVertexShader','resetDepthCullingState','hasObservers','gpuRenderParticlesVertexShader','_setupDepthStencilTexture','availableVaryings','NodeMaterial\x20does\x20not\x20have\x20a\x20fragment\x20output.\x20You\x20need\x20to\x20at\x20least\x20add\x20a\x20block\x20that\x20generates\x20a\x20glFragColor\x20value.\x0d\x0a','ASTC8x6UnormSRGB','contains','indexOf','vec3\x20finalDiffuse=diffuseBase;\x0afinalDiffuse*=surfaceAlbedo.rgb;\x0afinalDiffuse=max(finalDiffuse,0.0);\x0afinalDiffuse*=vLightingIntensity.x;\x0avec3\x20finalAmbient=vAmbientColor;\x0afinalAmbient*=surfaceAlbedo.rgb;\x0avec3\x20finalEmissive=vEmissiveColor;\x0a#ifdef\x20EMISSIVE\x0avec3\x20emissiveColorTex=texture2D(emissiveSampler,vEmissiveUV+uvOffset).rgb;\x0a#ifdef\x20GAMMAEMISSIVE\x0afinalEmissive*=toLinearSpace(emissiveColorTex.rgb);\x0a#else\x0afinalEmissive*=emissiveColorTex.rgb;\x0a#endif\x0afinalEmissive*=\x20vEmissiveInfos.y;\x0a#endif\x0afinalEmissive*=vLightingIntensity.y;\x0a#ifdef\x20AMBIENT\x0avec3\x20ambientOcclusionForDirectDiffuse=mix(vec3(1.),aoOut.ambientOcclusionColor,vAmbientInfos.w);\x0a#else\x0avec3\x20ambientOcclusionForDirectDiffuse=aoOut.ambientOcclusionColor;\x0a#endif\x0afinalAmbient*=aoOut.ambientOcclusionColor;\x0afinalDiffuse*=ambientOcclusionForDirectDiffuse;\x0a','transform','.xyz,\x200.0)));\x0d\x0a','getHardwareScalingLevel','#define\x20CLIPPLANE6','#if\x20defined(BUMP)\x20||\x20defined(PARALLAX)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0avec3\x20tbnNormal=normalize(normalUpdated);\x0avec3\x20tbnTangent=normalize(tangentUpdated.xyz);\x0avec3\x20tbnBitangent=cross(tbnNormal,tbnTangent)*tangentUpdated.w;\x0avTBN=mat3(finalWorld)*mat3(tbnTangent,tbnBitangent,tbnNormal);\x0a#endif\x0a#endif\x0a','isParallelCompiled','#ifdef\x20PREPASS\x0a#ifdef\x20PREPASS_DEPTH\x0avarying\x20vec3\x20vViewPos;\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0auniform\x20mat4\x20previousViewProjection;\x0avarying\x20vec4\x20vCurrentPosition;\x0avarying\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#endif\x0a','_renderTargetEncoder','_reflectionCoordsName','catch','compatibilityMode','_SamplerTypeByWebGLSamplerType','#if\x20defined(ALPHATEST)\x20||\x20defined(NEED_UV)\x0avarying\x20vec2\x20vUV;\x0a#endif\x0a#if\x20defined(ALPHATEST)\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#if\x20defined(ALPHATEST)\x0avec4\x20diffuseColor=texture2D(diffuseSampler,vUV);\x0aif\x20(diffuseColor.a<0.4)\x0adiscard;\x0a#endif\x0agl_FragColor=vec4(0.0,0.0,0.0,1.0);\x0a}\x0a','_isSwiping','thinInstanceAdd','inverts','_play','_Stack','Cube','bindTexture','STATIC_DRAW','LIGHTTYPEID_DIRECTIONALLIGHT','_reflectionMatrixName','#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#ifdef\x20SPHERICAL_HARMONICS\x0avec3\x20computeEnvironmentIrradiance(vec3\x20normal)\x20{\x0areturn\x20vSphericalL00\x0a+\x20vSphericalL1_1*(normal.y)\x0a+\x20vSphericalL10*(normal.z)\x0a+\x20vSphericalL11*(normal.x)\x0a+\x20vSphericalL2_2*(normal.y*normal.x)\x0a+\x20vSphericalL2_1*(normal.y*normal.z)\x0a+\x20vSphericalL20*((3.0*normal.z*normal.z)-1.0)\x0a+\x20vSphericalL21*(normal.z*normal.x)\x0a+\x20vSphericalL22*(normal.x*normal.x-(normal.y*normal.y));\x0a}\x0a#else\x0avec3\x20computeEnvironmentIrradiance(vec3\x20normal)\x20{\x0afloat\x20Nx=normal.x;\x0afloat\x20Ny=normal.y;\x0afloat\x20Nz=normal.z;\x0avec3\x20C1=vSphericalZZ.rgb;\x0avec3\x20Cx=vSphericalX.rgb;\x0avec3\x20Cy=vSphericalY.rgb;\x0avec3\x20Cz=vSphericalZ.rgb;\x0avec3\x20Cxx_zz=vSphericalXX_ZZ.rgb;\x0avec3\x20Cyy_zz=vSphericalYY_ZZ.rgb;\x0avec3\x20Cxy=vSphericalXY.rgb;\x0avec3\x20Cyz=vSphericalYZ.rgb;\x0avec3\x20Czx=vSphericalZX.rgb;\x0avec3\x20a1=Cyy_zz*Ny+Cy;\x0avec3\x20a2=Cyz*Nz+a1;\x0avec3\x20b1=Czx*Nz+Cx;\x0avec3\x20b2=Cxy*Ny+b1;\x0avec3\x20b3=Cxx_zz*Nx+b2;\x0avec3\x20t1=Cz\x20*Nz+C1;\x0avec3\x20t2=a2\x20*Ny+t1;\x0avec3\x20t3=b3\x20*Nx+t2;\x0areturn\x20t3;\x0a}\x0a#endif\x0a#endif\x0a','func','boxMax','Iridescence\x20thickness','heartbeat','wrapU','R32Sint','getAspectRatio','_areLightsDirty','pointerMovePredicate','maxCubemapTextureSize','acos','_TextureLoaders','updateUInt2','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20vec2\x20sharpnessAmounts;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20onePixel=vec2(1.0,1.0)/screenSize;\x0avec4\x20color=texture2D(textureSampler,vUV);\x0avec4\x20edgeDetection=texture2D(textureSampler,vUV+onePixel*vec2(0,-1))\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,0))\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,0))\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,1))\x20-\x0acolor*4.0;\x0agl_FragColor=max(vec4(color.rgb*sharpnessAmounts.y,color.a)-(sharpnessAmounts.x*vec4(edgeDetection.rgb,0)),0.);\x0a}','pointerMoveTrianglePredicate','_HandleParenthesisContent','BC5RGSnorm','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','_outputPostProcess','rtt','_Counter','skipOnKeyboardObservable','irradianceSampler','samplingModes','flushFramebuffer','simulatePointerMove','_maxRank','HasTags','imageProcessingFunctions','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;\x0auniform\x20sampler2D\x20mixMap1Sampler;\x0auniform\x20vec2\x20vTextureInfos;\x0a#ifdef\x20MIXMAP2\x0auniform\x20sampler2D\x20mixMap2Sampler;\x0a#endif\x0auniform\x20sampler2D\x20diffuse1Sampler;\x0auniform\x20sampler2D\x20diffuse2Sampler;\x0auniform\x20sampler2D\x20diffuse3Sampler;\x0auniform\x20sampler2D\x20diffuse4Sampler;\x0auniform\x20vec2\x20diffuse1Infos;\x0auniform\x20vec2\x20diffuse2Infos;\x0auniform\x20vec2\x20diffuse3Infos;\x0auniform\x20vec2\x20diffuse4Infos;\x0a#ifdef\x20MIXMAP2\x0auniform\x20sampler2D\x20diffuse5Sampler;\x0auniform\x20sampler2D\x20diffuse6Sampler;\x0auniform\x20sampler2D\x20diffuse7Sampler;\x0auniform\x20sampler2D\x20diffuse8Sampler;\x0auniform\x20vec2\x20diffuse5Infos;\x0auniform\x20vec2\x20diffuse6Infos;\x0auniform\x20vec2\x20diffuse7Infos;\x0auniform\x20vec2\x20diffuse8Infos;\x0a#endif\x0a#endif\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20finalMixColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0a#ifdef\x20MIXMAP2\x0avec4\x20mixColor2=vec4(1.,1.,1.,1.);\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avec4\x20mixColor=texture2D(mixMap1Sampler,vTextureUV);\x0a#include<depthPrePass>\x0amixColor.rgb*=vTextureInfos.y;\x0avec4\x20diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\x0avec4\x20diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\x0avec4\x20diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\x0avec4\x20diffuse4Color=texture2D(diffuse4Sampler,vTextureUV*diffuse4Infos);\x0adiffuse1Color.rgb*=mixColor.r;\x0adiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,mixColor.g);\x0adiffuse3Color.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,mixColor.b);\x0afinalMixColor.rgb=mix(diffuse3Color.rgb,diffuse4Color.rgb,1.0-mixColor.a);\x0a#ifdef\x20MIXMAP2\x0amixColor=texture2D(mixMap2Sampler,vTextureUV);\x0amixColor.rgb*=vTextureInfos.y;\x0avec4\x20diffuse5Color=texture2D(diffuse5Sampler,vTextureUV*diffuse5Infos);\x0avec4\x20diffuse6Color=texture2D(diffuse6Sampler,vTextureUV*diffuse6Infos);\x0avec4\x20diffuse7Color=texture2D(diffuse7Sampler,vTextureUV*diffuse7Infos);\x0avec4\x20diffuse8Color=texture2D(diffuse8Sampler,vTextureUV*diffuse8Infos);\x0adiffuse5Color.rgb=mix(finalMixColor.rgb,diffuse5Color.rgb,mixColor.r);\x0adiffuse6Color.rgb=mix(diffuse5Color.rgb,diffuse6Color.rgb,mixColor.g);\x0adiffuse7Color.rgb=mix(diffuse6Color.rgb,diffuse7Color.rgb,mixColor.b);\x0afinalMixColor.rgb=mix(diffuse7Color.rgb,diffuse8Color.rgb,1.0-mixColor.a);\x0a#endif\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0afinalMixColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor*finalMixColor.rgb,0.0,1.0);\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','_pointerDownStage','getInputElement','xrNativeFeatureName','convolutionPixelShader','morphTargetsVertexGlobal','varyingProcessor','_videoPipelines','ASTC10x6Unorm','CLIPPLANE5','RG16Uint','TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8','_perfCollector','_epsilon','mat4','Load','_projectionMatrix','TEXTURETYPE_BYTE','_queryBuffer','rttBlurred','getPhysicsImpostor','maxSamples','toArray','output','fogVertexDeclaration','_endRenderTargetRenderPass','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20colorDepth=vec4(0.0);\x0afor\x20(int\x20x=-OFFSET;\x20x<=OFFSET;\x20x++)\x0afor\x20(int\x20y=-OFFSET;\x20y<=OFFSET;\x20y++)\x0acolorDepth+=texture2D(textureSampler,vUV+vec2(x,y)/screenSize);\x0agl_FragColor=(colorDepth/float((OFFSET*2+1)*(OFFSET*2+1)));\x0a}','#if\x20NUM_BONE_INFLUENCERS>0\x0aattribute\x20matricesIndices\x20:\x20vec4<f32>;\x0aattribute\x20matricesWeights\x20:\x20vec4<f32>;\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aattribute\x20matricesIndicesExtra\x20:\x20vec4<f32>;\x0aattribute\x20matricesWeightsExtra\x20:\x20vec4<f32>;\x0a#endif\x0a#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#ifdef\x20BONETEXTURE\x0avar\x20boneSampler\x20:\x20texture_2d<f32>;\x0auniform\x20boneTextureWidth\x20:\x20f32;\x0a#else\x0auniform\x20mBones\x20:\x20array<mat4x4,BonesPerMesh>;\x0a#ifdef\x20BONES_VELOCITY_ENABLED\x0auniform\x20mPreviousBones\x20:\x20array<mat4x4,BonesPerMesh>;\x0a#endif\x0a#endif\x0a#ifdef\x20BONETEXTURE\x0afn\x20readMatrixFromRawSampler(smp\x20:\x20texture_2d<f32>,index\x20:\x20f32)->mat4x4<f32>\x0a{\x0alet\x20offset=i32(index)\x20*4;\x20\x0alet\x20m0=textureLoad(smp,vec2<i32>(offset+0,0),0);\x0alet\x20m1=textureLoad(smp,vec2<i32>(offset+1,0),0);\x0alet\x20m2=textureLoad(smp,vec2<i32>(offset+2,0),0);\x0alet\x20m3=textureLoad(smp,vec2<i32>(offset+3,0),0);\x0areturn\x20mat4x4<f32>(m0,m1,m2,m3);\x0a}\x0a#endif\x0a#endif\x0a#endif\x0a','TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1','setAlphaBlendFactors','_SceneComponentInitialization','_currentRenderTextureInd','screenSpaceReflections2','premultipliedAlpha','_deferredReleaseTextures','rightOperand','bumpFragment','freeGroupIndex','POINTERUP','TEXTUREFORMAT_DEPTH24','GL_ALPHA_FUNCTION_DST_COLOR','getAttributeNextLocation','\x0a\x20\x20\x20\x20const\x20vec2\x20pos[4]\x20=\x20vec2[4](vec2(-1.0f,\x201.0f),\x20vec2(1.0f,\x201.0f),\x20vec2(-1.0f,\x20-1.0f),\x20vec2(1.0f,\x20-1.0f));\x0a\x20\x20\x20\x20const\x20vec2\x20tex[4]\x20=\x20vec2[4](vec2(0.0f,\x200.0f),\x20vec2(1.0f,\x200.0f),\x20vec2(0.0f,\x201.0f),\x20vec2(1.0f,\x201.0f));\x0a\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec2\x20vTex;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20vTex\x20=\x20tex[gl_VertexIndex];\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(pos[gl_VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','createQuery','vOffset','TEXTURETYPE_UNSIGNED_SHORT_5_6_5','createRenderTargetTexture','is3D','ASTC8x5UnormSRGB','logDepthFragment','_SamplerFunctionByWebGLSamplerType','boundingBoxRendererVertexShader','string','#if\x20defined(_DEFINENAME_)\x20&&\x20_DEFINENAME_DIRECTUV==0\x0aif\x20(v_INFONAME_==0.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uvUpdated,1.0,0.0));\x0a}\x0a#ifdef\x20UV2\x0aelse\x20if\x20(v_INFONAME_==1.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV3\x0aelse\x20if\x20(v_INFONAME_==2.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv3,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV4\x0aelse\x20if\x20(v_INFONAME_==3.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv4,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV5\x0aelse\x20if\x20(v_INFONAME_==4.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv5,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV6\x0aelse\x20if\x20(v_INFONAME_==5.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv6,1.0,0.0));\x0a}\x0a#endif\x0a#endif\x0a','setLayerAndFaceIndices','TEXTURETYPE_HALF_FLOAT','setFloat4','ASTC10x10UnormSRGB','setSubData','textureFloat','_defineOppositeZ','CopyDst','_emitFunctionFromInclude','Clear','_handlesSpectorRebuildCallback','_defines','createBindGroup','clipPlane','setIntArray2','isMainRender','url','attributeProcessor','_pointerOverDisableMeshTesting','ALPHA_INTERPOLATE','stencilMask','_view','BuildTuple','_currentFramebuffer','setRawData','varying\x20vec2\x20vUV;\x0auniform\x20samplerCube\x20textureSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec2\x20uv=vUV*2.0-1.0;\x0a#ifdef\x20POSITIVEX\x0agl_FragColor=textureCube(textureSampler,vec3(1.001,uv.y,uv.x));\x0a#endif\x0a#ifdef\x20NEGATIVEX\x0agl_FragColor=textureCube(textureSampler,vec3(-1.001,uv.y,uv.x));\x0a#endif\x0a#ifdef\x20POSITIVEY\x0agl_FragColor=textureCube(textureSampler,vec3(uv.y,1.001,uv.x));\x0a#endif\x0a#ifdef\x20NEGATIVEY\x0agl_FragColor=textureCube(textureSampler,vec3(uv.y,-1.001,uv.x));\x0a#endif\x0a#ifdef\x20POSITIVEZ\x0agl_FragColor=textureCube(textureSampler,vec3(uv,1.001));\x0a#endif\x0a#ifdef\x20NEGATIVEZ\x0agl_FragColor=textureCube(textureSampler,vec3(uv,-1.001));\x0a#endif\x0a}','drawElementsType','vec2\x20uvOffset=vec2(0.0,0.0);\x0a#if\x20defined(BUMP)\x20||\x20defined(PARALLAX)\x20||\x20defined(DETAIL)\x0a#ifdef\x20NORMALXYSCALE\x0afloat\x20normalScale=1.0;\x0a#elif\x20defined(BUMP)\x0afloat\x20normalScale=vBumpInfos.y;\x0a#else\x0afloat\x20normalScale=1.0;\x0a#endif\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0amat3\x20TBN=vTBN;\x0a#elif\x20defined(BUMP)\x0avec2\x20TBNUV=gl_FrontFacing\x20?\x20vBumpUV\x20:\x20-vBumpUV;\x0amat3\x20TBN=cotangent_frame(normalW*normalScale,vPositionW,TBNUV,vTangentSpaceParams);\x0a#else\x0avec2\x20TBNUV=gl_FrontFacing\x20?\x20vDetailUV\x20:\x20-vDetailUV;\x0amat3\x20TBN=cotangent_frame(normalW*normalScale,vPositionW,TBNUV,vec2(1.,1.));\x0a#endif\x0a#elif\x20defined(ANISOTROPIC)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0amat3\x20TBN=vTBN;\x0a#else\x0avec2\x20TBNUV=gl_FrontFacing\x20?\x20vMainUV1\x20:\x20-vMainUV1;\x0amat3\x20TBN=cotangent_frame(normalW,vPositionW,TBNUV,vec2(1.,1.));\x0a#endif\x0a#endif\x0a#ifdef\x20PARALLAX\x0amat3\x20invTBN=transposeMat3(TBN);\x0a#ifdef\x20PARALLAXOCCLUSION\x0auvOffset=parallaxOcclusion(invTBN*-viewDirectionW,invTBN*normalW,vBumpUV,vBumpInfos.z);\x0a#else\x0auvOffset=parallaxOffset(invTBN*viewDirectionW,vBumpInfos.z);\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0avec4\x20detailColor=texture2D(detailSampler,vDetailUV+uvOffset);\x0avec2\x20detailNormalRG=detailColor.wy*2.0-1.0;\x0afloat\x20detailNormalB=sqrt(1.-saturate(dot(detailNormalRG,detailNormalRG)));\x0avec3\x20detailNormal=vec3(detailNormalRG,detailNormalB);\x0a#endif\x0a#ifdef\x20BUMP\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0a#define\x20CUSTOM_FRAGMENT_BUMP_FRAGMENT\x0anormalW=normalize(texture2D(bumpSampler,vBumpUV).xyz\x20*2.0-1.0);\x0anormalW=normalize(mat3(normalMatrix)*normalW);\x0a#elif\x20!defined(DETAIL)\x0anormalW=perturbNormal(TBN,texture2D(bumpSampler,vBumpUV+uvOffset).xyz,vBumpInfos.y);\x0a#else\x0avec3\x20bumpNormal=texture2D(bumpSampler,vBumpUV+uvOffset).xyz*2.0-1.0;\x0a#if\x20DETAIL_NORMALBLENDMETHOD==0\x20\x0adetailNormal.xy*=vDetailInfos.z;\x0avec3\x20blendedNormal=normalize(vec3(bumpNormal.xy+detailNormal.xy,bumpNormal.z*detailNormal.z));\x0a#elif\x20DETAIL_NORMALBLENDMETHOD==1\x20\x0adetailNormal.xy*=vDetailInfos.z;\x0abumpNormal+=vec3(0.0,0.0,1.0);\x0adetailNormal*=vec3(-1.0,-1.0,1.0);\x0avec3\x20blendedNormal=bumpNormal*dot(bumpNormal,detailNormal)/bumpNormal.z-detailNormal;\x0a#endif\x0anormalW=perturbNormalBase(TBN,blendedNormal,vBumpInfos.y);\x0a#endif\x0a#elif\x20defined(DETAIL)\x0adetailNormal.xy*=vDetailInfos.z;\x0anormalW=perturbNormalBase(TBN,detailNormal,vDetailInfos.z);\x0a#endif\x0a','updateFloatArray','ETC2RGB8UnormSRGB','_xSize','ETC2RGB8Unorm','isPickable','exitPointerLock','clipPlaneFragment','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20refractionSampler;\x0auniform\x20vec3\x20baseColor;\x0auniform\x20float\x20depth;\x0auniform\x20float\x20colorLevel;\x0avoid\x20main()\x20{\x0afloat\x20ref=1.0-texture2D(refractionSampler,vUV).r;\x0avec2\x20uv=vUV-vec2(0.5);\x0avec2\x20offset=uv*depth*ref;\x0avec3\x20sourceColor=texture2D(textureSampler,vUV-offset).rgb;\x0agl_FragColor=vec4(sourceColor+sourceColor*ref*colorLevel,1.0);\x0a}','fogEnabled','enableGPUDebugMarkers','__decl__','READ_FRAMEBUFFER','importExternalTexture','#include<samplerFragmentDeclaration>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo,_SAMPLERNAME_,albedo)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_SAMPLERNAME_,ambient)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_SAMPLERNAME_,opacity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_SAMPLERNAME_,emissive)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_SAMPLERNAME_,lightmap)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity,_SAMPLERNAME_,reflectivity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler,_SAMPLERNAME_,microSurface)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance,_SAMPLERNAME_,metallicReflectance)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance,_SAMPLERNAME_,reflectance)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_SAMPLERNAME_,decal)\x0a#ifdef\x20CLEARCOAT\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat,_SAMPLERNAME_,clearCoat)\x0a#include<samplerFragmentAlternateDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness)\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x0auniform\x20sampler2D\x20clearCoatRoughnessSampler;\x0a#endif\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump,_SAMPLERNAME_,clearCoatBump)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint,_SAMPLERNAME_,clearCoatTint)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence,_SAMPLERNAME_,iridescence)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness,_SAMPLERNAME_,iridescenceThickness)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen,_SAMPLERNAME_,sheen)\x0a#include<samplerFragmentAlternateDeclaration>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness)\x0a#if\x20defined(SHEEN_ROUGHNESS)\x20&&\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x0auniform\x20sampler2D\x20sheenRoughnessSampler;\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy,_SAMPLERNAME_,anisotropy)\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20REFLECTIONMAP_3D\x0a#define\x20sampleReflection(s,c)\x20textureCube(s,c)\x0auniform\x20samplerCube\x20reflectionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleReflectionLod(s,c,l)\x20textureCubeLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20reflectionSamplerLow;\x0auniform\x20samplerCube\x20reflectionSamplerHigh;\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0auniform\x20samplerCube\x20irradianceSampler;\x0a#endif\x0a#else\x0a#define\x20sampleReflection(s,c)\x20texture2D(s,c)\x0auniform\x20sampler2D\x20reflectionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleReflectionLod(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0auniform\x20sampler2D\x20reflectionSamplerLow;\x0auniform\x20sampler2D\x20reflectionSamplerHigh;\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0auniform\x20sampler2D\x20irradianceSampler;\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#else\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0auniform\x20sampler2D\x20environmentBrdfSampler;\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_REFRACTION\x0a#ifdef\x20SS_REFRACTIONMAP_3D\x0a#define\x20sampleRefraction(s,c)\x20textureCube(s,c)\x0auniform\x20samplerCube\x20refractionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleRefractionLod(s,c,l)\x20textureCubeLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20refractionSamplerLow;\x0auniform\x20samplerCube\x20refractionSamplerHigh;\x0a#endif\x0a#else\x0a#define\x20sampleRefraction(s,c)\x20texture2D(s,c)\x0auniform\x20sampler2D\x20refractionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleRefractionLod(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0auniform\x20sampler2D\x20refractionSamplerLow;\x0auniform\x20sampler2D\x20refractionSamplerHigh;\x0a#endif\x0a#endif\x0a#endif\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness,_SAMPLERNAME_,thickness)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity,_SAMPLERNAME_,refractionIntensity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity,_SAMPLERNAME_,translucencyIntensity)\x0a#endif\x0a','__VERSION__','reflectionTexture','updateArray','TEXTURE_2D_ARRAY','#define\x20HEMISPHERICEMITTER','worldPosition','setCullEnabled','uv4','_meshPickProceed','register','_alphaEquation','framebufferTexture2D','ALPHA_COMBINE','RenderTarget','_renderPipelines','\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20Uniforms\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20vec4\x20color;\x0a\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20color;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','clear','fresnelFunction','enable','depthOrArrayLayers','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0auniform\x20bakedVertexAnimationTime:\x20f32;\x0auniform\x20bakedVertexAnimationTextureSizeInverted:\x20vec2<f32>;\x0auniform\x20bakedVertexAnimationSettings:\x20vec4<f32>;\x0avar\x20bakedVertexAnimationTexture\x20:\x20texture_2d<f32>;\x0a#ifdef\x20INSTANCES\x0aattribute\x20bakedVertexAnimationSettingsInstanced\x20:\x20vec4<f32>;\x0a#endif\x0afn\x20readMatrixFromRawSamplerVAT(smp\x20:\x20texture_2d<f32>,index\x20:\x20f32,frame\x20:\x20f32)->mat4x4<f32>\x0a{\x0alet\x20offset=i32(index)*4;\x0alet\x20frameUV=i32(frame);\x0alet\x20m0=textureLoad(smp,vec2<i32>(offset+0,frameUV),0);\x0alet\x20m1=textureLoad(smp,vec2<i32>(offset+1,frameUV),0);\x0alet\x20m2=textureLoad(smp,vec2<i32>(offset+2,frameUV),0);\x0alet\x20m3=textureLoad(smp,vec2<i32>(offset+3,frameUV),0);\x0areturn\x20mat4x4<f32>(m0,m1,m2,m3);\x0a}\x0a#endif\x0a','\x20not\x20found,\x20you\x20may\x20have\x20missed\x20an\x20import.','scheduler','attribute\x20vec2\x20position;\x0auniform\x20mat4\x20viewportMatrix;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=position*madd+madd;\x0agl_Position=viewportMatrix*vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','_copyTextureToTexture','UniformBuffer','_wasPreviouslyReady','lineIndex','bindBufferBase','TEXTURE_MAX_LEVEL','clone','defined[$1]','TEXTUREFORMAT_DEPTH16','setMatrices','deviceSlot','setIntArray4','removeUniforms','layout(std140,column_major)\x20uniform;\x0auniform\x20Scene\x20{\x0amat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0amat4\x20viewProjectionR;\x0a#endif\x20\x0amat4\x20view;\x0amat4\x20projection;\x0avec4\x20vEyePosition;\x0a};\x0a','testExpression',');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','texImage2D','BILINEAR_SAMPLINGMODE','getDescendants','underlyingResource','filterSize','attribute\x20vec4\x20position;\x0aattribute\x20vec2\x20options;\x0aattribute\x20vec2\x20offsets;\x0aattribute\x20vec2\x20inverts;\x0aattribute\x20vec4\x20cellInfo;\x0aattribute\x20vec4\x20color;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0a#include<fogVertexDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec3\x20viewPos=(view*vec4(position.xyz,1.0)).xyz;\x20\x0avec2\x20cornerPos;\x0afloat\x20angle=position.w;\x0avec2\x20size=vec2(options.x,options.y);\x0avec2\x20offset=offsets.xy;\x0acornerPos=vec2(offset.x-0.5,offset.y\x20-0.5)*size;\x0avec3\x20rotatedCorner;\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0aviewPos+=rotatedCorner;\x0agl_Position=projection*vec4(viewPos,1.0);\x20\x0avColor=color;\x0avec2\x20uvOffset=vec2(abs(offset.x-inverts.x),abs(1.0-offset.y-inverts.y));\x0avec2\x20uvPlace=cellInfo.xy;\x0avec2\x20uvSize=cellInfo.zw;\x0avUV.x=uvPlace.x+uvSize.x*uvOffset.x;\x0avUV.y=uvPlace.y+uvSize.y*uvOffset.y;\x0a#ifdef\x20FOG\x0avFogDistance=viewPos;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','texture2DArray','defineNames','vec3\x20hemisphereCosSample(vec2\x20u)\x20{\x0afloat\x20phi=2.*PI*u.x;\x0afloat\x20cosTheta2=1.-u.y;\x0afloat\x20cosTheta=sqrt(cosTheta2);\x0afloat\x20sinTheta=sqrt(1.-cosTheta2);\x0areturn\x20vec3(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);\x0a}\x0avec3\x20hemisphereImportanceSampleDggx(vec2\x20u,float\x20a)\x20{\x0afloat\x20phi=2.*PI*u.x;\x0afloat\x20cosTheta2=(1.-u.y)/(1.+(a+1.)*((a-1.)*u.y));\x0afloat\x20cosTheta=sqrt(cosTheta2);\x0afloat\x20sinTheta=sqrt(1.-cosTheta2);\x0areturn\x20vec3(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);\x0a}\x0avec3\x20hemisphereImportanceSampleDCharlie(vec2\x20u,float\x20a)\x20{\x20\x0afloat\x20phi=2.*PI*u.x;\x0afloat\x20sinTheta=pow(u.y,a/(2.*a+1.));\x0afloat\x20cosTheta=sqrt(1.-sinTheta*sinTheta);\x0areturn\x20vec3(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);\x0a}','ALPHA_DISABLE','WebGPUComputeContext.getBindGroups:\x20bindingsMapping\x20is\x20required\x20until\x20browsers\x20support\x20reflection\x20for\x20wgsl\x20shaders!','getInputBlockByPredicate','UNPACK_ALIGNMENT','setUInt3','pbrIBLFunctions','isAttribute','setDepthBiasSlopeScale','polygonOffset','#include<helperFunctions>\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20threshold;\x0auniform\x20float\x20exposure;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0afloat\x20luma=dot(LuminanceEncodeApprox,gl_FragColor.rgb*exposure);\x0agl_FragColor.rgb=step(threshold,luma)*gl_FragColor.rgb;\x0a}','\x20\x20\x20\x20','TEXTURE_TRILINEAR_SAMPLINGMODE','#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0avertexID=f32(vertexInputs.vertexIndex)*uniforms.morphTargetTextureInfo.x;\x0apositionUpdated=positionUpdated+(readVector3FromRawSampler({X},vertexID)-vertexInputs.position)*uniforms.morphTargetInfluences[{X}];\x0avertexID=vertexID+1.0;\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated=normalUpdated+(readVector3FromRawSampler({X},vertexID)\x20-vertexInputs.normal)*uniforms.morphTargetInfluences[{X}];\x0avertexID=vertexID+1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated=uvUpdated+(readVector3FromRawSampler({X},vertexID).xy-vertexInputs.uv)*uniforms.morphTargetInfluences[{X}];\x0avertexID=vertexID+1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz=tangentUpdated.xyz+(readVector3FromRawSampler({X},vertexID)\x20-vertexInputs.tangent.xyz)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#else\x0apositionUpdated=positionUpdated+(position{X}-vertexInputs.position)*uniforms.morphTargetInfluences[{X}];\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated+=(normal{X}-vertexInputs.normal)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz=tangentUpdated.xyz+(tangent{X}-vertexInputs.tangent.xyz)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated=uvUpdated+(uv_{X}-vertexInputs.uv)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#endif\x0a#endif\x0a','_cacheMatrix','detachCamerasFromRenderPipeline','uniform\x20mat4\x20world;\x0auniform\x20float\x20visibility;\x0a','_blendFunctionParameters','_emitUniformFromString','copyTextureToBuffer','_alphaBlend','TEXTUREFORMAT_RG','setStencilPassOp','\x20levels','_ubInvertY','FRAMEBUFFER','_bindTexture','UNSIGNED_BYTE','pixelPerfect','shaderProcessingContext','copy','createVertexBuffer','createDynamicUniformBuffer','_ssDiffusionD','skipPointerDownPicking','ALPHA_SCREENMODE','cellWidth','bindUniformBufferBase','forceBindGroupCreation','initWebVR','outlineVertexShader','maxRenderTriangleCount','createMultiviewRenderTargetTexture','update','multiview','modelTotalCount','shadowMapVertexMetric','TEXTURE_CUBE_MAP','_multiviewTexture','float\x20depthSM=vDepthMetricSM;\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0a#if\x20SM_USEDISTANCE==1\x0adepthSM=(length(vPositionWSM-lightDataSM)+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#else\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0adepthSM=(-zSM+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#else\x0adepthSM=(zSM+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#endif\x0a#endif\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0agl_FragDepth=clamp(1.0-depthSM,0.0,1.0);\x0a#else\x0agl_FragDepth=clamp(depthSM,0.0,1.0);\x20\x0a#endif\x0a#elif\x20SM_USEDISTANCE==1\x0adepthSM=(length(vPositionWSM-lightDataSM)+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#endif\x0a#if\x20SM_ESM==1\x0adepthSM=clamp(exp(-min(87.,biasAndScaleSM.z*depthSM)),0.,1.);\x0a#endif\x0a#if\x20SM_FLOAT==1\x0agl_FragColor=vec4(depthSM,1.0,1.0,1.0);\x0a#else\x0agl_FragColor=pack(depthSM);\x0a#endif\x0areturn;','supportUniformBuffers','HasSpecificTrigger','positionUVW','_renderMultiviewToSingleView','_transformMatrixR','ADVANCED','screenSpaceReflection2BlurCombinerPixelShader','RightClick','_bufferView','isRenderTarget','uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20sampler2D\x20mainSampler;\x0auniform\x20sampler2D\x20reflectivitySampler;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20reflectionSpecularFalloffExponent;\x0auniform\x20float\x20reflectivityThreshold;\x0avarying\x20vec2\x20vUV;\x0a#include<helperFunctions>\x0avoid\x20main()\x0a{\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a#else\x0avec3\x20SSR=texture2D(textureSampler,vUV).rgb;\x0avec4\x20color=texture2D(mainSampler,vUV);\x0avec4\x20reflectivity=texture2D(reflectivitySampler,vUV);\x0aif\x20(max(reflectivity.r,max(reflectivity.g,reflectivity.b))<=reflectivityThreshold)\x20{\x0agl_FragColor=color;\x0areturn;\x0a}\x0a#ifdef\x20SSR_INPUT_IS_GAMMA_SPACE\x0acolor=toLinearSpace(color);\x0a#endif\x0avec3\x20reflectionMultiplier=clamp(pow(reflectivity.rgb*strength,vec3(reflectionSpecularFalloffExponent)),0.0,1.0);\x0avec3\x20colorMultiplier=1.0-reflectionMultiplier;\x0avec3\x20finalColor=(color.rgb*colorMultiplier)+(SSR*reflectionMultiplier);\x0a#ifdef\x20SSR_OUTPUT_IS_GAMMA_SPACE\x0afinalColor=toGammaSpace(finalColor);\x0a#endif\x0agl_FragColor=vec4(finalColor,color.a);\x0a#endif\x0a}\x0a','_applyTextureArrayProcessing','_key','_createEffects','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0aattribute\x20vec2\x20uv;\x0auniform\x20mat4\x20projMatrix;\x0avarying\x20vec2\x20vDecalTC;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<instancesDeclaration>\x0avoid\x20main(void)\x20{\x0avec3\x20positionUpdated=position;\x0avec3\x20normalUpdated=normal;\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0amat3\x20normWorldSM=mat3(finalWorld);\x0avec3\x20vNormalW;\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avNormalW=normalUpdated/vec3(dot(normWorldSM[0],normWorldSM[0]),dot(normWorldSM[1],normWorldSM[1]),dot(normWorldSM[2],normWorldSM[2]));\x0avNormalW=normalize(normWorldSM*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormWorldSM=transposeMat3(inverseMat3(normWorldSM));\x0a#endif\x0avNormalW=normalize(normWorldSM*normalUpdated);\x0a#endif\x0avec3\x20normalView=normalize((projMatrix*vec4(vNormalW,0.0)).xyz);\x0avec3\x20decalTC=(projMatrix*worldPos).xyz;\x0avDecalTC=decalTC.xy;\x0agl_Position=vec4(uv*2.0-1.0,normalView.z>0.0\x20?\x202.\x20:\x20decalTC.z,1.0);\x0a}\x0a','getError','//Entry\x20point\x0d\x0a','#ifdef\x20FOG\x0avFogDistance=(view*worldPos).xyz;\x0a#endif\x0a','creationFlags','action','sampler2DShadow','TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4','getTranslation','copyWithInvertY','INTENSITYMODE_LUMINOUSPOWER','setArray2','hasTags','setFloatArray','_directionWName','onDisposeObservable','ALPHA_REVERSEONEMINUS','min','helperFunctions','fov','struct\x20lightingInfo\x0a{\x0avec3\x20diffuse;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specular;\x0a#endif\x0a#ifdef\x20NDOTL\x0afloat\x20ndl;\x0a#endif\x0a};\x0alightingInfo\x20computeLighting(vec3\x20viewDirectionW,vec3\x20vNormal,vec4\x20lightData,vec3\x20diffuseColor,vec3\x20specularColor,float\x20range,float\x20glossiness)\x20{\x0alightingInfo\x20result;\x0avec3\x20lightVectorW;\x0afloat\x20attenuation=1.0;\x0aif\x20(lightData.w==0.)\x0a{\x0avec3\x20direction=lightData.xyz-vPositionW;\x0aattenuation=max(0.,1.0-length(direction)/range);\x0alightVectorW=normalize(direction);\x0a}\x0aelse\x0a{\x0alightVectorW=normalize(-lightData.xyz);\x0a}\x0afloat\x20ndl=max(0.,dot(vNormal,lightVectorW));\x0a#ifdef\x20NDOTL\x0aresult.ndl=ndl;\x0a#endif\x0aresult.diffuse=ndl*diffuseColor*attenuation;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20angleW=normalize(viewDirectionW+lightVectorW);\x0afloat\x20specComp=max(0.,dot(vNormal,angleW));\x0aspecComp=pow(specComp,max(1.,glossiness));\x0aresult.specular=specComp*specularColor*attenuation;\x0a#endif\x0areturn\x20result;\x0a}\x0alightingInfo\x20computeSpotLighting(vec3\x20viewDirectionW,vec3\x20vNormal,vec4\x20lightData,vec4\x20lightDirection,vec3\x20diffuseColor,vec3\x20specularColor,float\x20range,float\x20glossiness)\x20{\x0alightingInfo\x20result;\x0avec3\x20direction=lightData.xyz-vPositionW;\x0avec3\x20lightVectorW=normalize(direction);\x0afloat\x20attenuation=max(0.,1.0-length(direction)/range);\x0afloat\x20cosAngle=max(0.,dot(lightDirection.xyz,-lightVectorW));\x0aif\x20(cosAngle>=lightDirection.w)\x0a{\x0acosAngle=max(0.,pow(cosAngle,lightData.w));\x0aattenuation*=cosAngle;\x0afloat\x20ndl=max(0.,dot(vNormal,lightVectorW));\x0a#ifdef\x20NDOTL\x0aresult.ndl=ndl;\x0a#endif\x0aresult.diffuse=ndl*diffuseColor*attenuation;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20angleW=normalize(viewDirectionW+lightVectorW);\x0afloat\x20specComp=max(0.,dot(vNormal,angleW));\x0aspecComp=pow(specComp,max(1.,glossiness));\x0aresult.specular=specComp*specularColor*attenuation;\x0a#endif\x0areturn\x20result;\x0a}\x0aresult.diffuse=vec3(0.);\x0a#ifdef\x20SPECULARTERM\x0aresult.specular=vec3(0.);\x0a#endif\x0a#ifdef\x20NDOTL\x0aresult.ndl=0.;\x0a#endif\x0areturn\x20result;\x0a}\x0alightingInfo\x20computeHemisphericLighting(vec3\x20viewDirectionW,vec3\x20vNormal,vec4\x20lightData,vec3\x20diffuseColor,vec3\x20specularColor,vec3\x20groundColor,float\x20glossiness)\x20{\x0alightingInfo\x20result;\x0afloat\x20ndl=dot(vNormal,lightData.xyz)*0.5+0.5;\x0a#ifdef\x20NDOTL\x0aresult.ndl=ndl;\x0a#endif\x0aresult.diffuse=mix(groundColor,diffuseColor,ndl);\x0a#ifdef\x20SPECULARTERM\x0avec3\x20angleW=normalize(viewDirectionW+lightData.xyz);\x0afloat\x20specComp=max(0.,dot(vNormal,angleW));\x0aspecComp=pow(specComp,max(1.,glossiness));\x0aresult.specular=specComp*specularColor;\x0a#endif\x0areturn\x20result;\x0a}\x0a#define\x20inline\x0avec3\x20computeProjectionTextureDiffuseLighting(sampler2D\x20projectionLightSampler,mat4\x20textureProjectionMatrix){\x0avec4\x20strq=textureProjectionMatrix*vec4(vPositionW,1.0);\x0astrq/=strq.w;\x0avec3\x20textureColor=texture2D(projectionLightSampler,strq.xy).rgb;\x0areturn\x20textureColor;\x0a}','#extension\x20GL_OVR_multiview2\x20:\x20require\x0alayout\x20(num_views\x20=\x202)\x20in;\x0a','TEXTURE_WRAP_S','TEXTURE_MAG_FILTER','shadowMapFragmentExtraDeclaration','CLIPPLANE2','ASTC8x8Unorm','define','pbrBlockClearcoat','precision\x20highp\x20float;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0auniform\x20vec3\x20cameraPosition;\x0auniform\x20vec3\x20cameraOffset;\x0auniform\x20vec3\x20up;\x0auniform\x20float\x20luminance;\x0auniform\x20float\x20turbidity;\x0auniform\x20float\x20rayleigh;\x0auniform\x20float\x20mieCoefficient;\x0auniform\x20float\x20mieDirectionalG;\x0auniform\x20vec3\x20sunPosition;\x0a#include<fogFragmentDeclaration>\x0aconst\x20float\x20e=2.71828182845904523536028747135266249775724709369995957;\x0aconst\x20float\x20pi=3.141592653589793238462643383279502884197169;\x0aconst\x20float\x20n=1.0003;\x0aconst\x20float\x20N=2.545E25;\x0aconst\x20float\x20pn=0.035;\x0aconst\x20vec3\x20lambda=vec3(680E-9,550E-9,450E-9);\x0aconst\x20vec3\x20K=vec3(0.686,0.678,0.666);\x0aconst\x20float\x20v=4.0;\x0aconst\x20float\x20rayleighZenithLength=8.4E3;\x0aconst\x20float\x20mieZenithLength=1.25E3;\x0aconst\x20float\x20EE=1000.0;\x0aconst\x20float\x20sunAngularDiameterCos=0.999956676946448443553574619906976478926848692873900859324;\x0aconst\x20float\x20cutoffAngle=pi/1.95;\x0aconst\x20float\x20steepness=1.5;\x0avec3\x20totalRayleigh(vec3\x20lambda)\x0a{\x0areturn\x20(8.0*pow(pi,3.0)*pow(pow(n,2.0)-1.0,2.0)*(6.0+3.0*pn))/(3.0*N*pow(lambda,vec3(4.0))*(6.0-7.0*pn));\x0a}\x0avec3\x20simplifiedRayleigh()\x0a{\x0areturn\x200.0005/vec3(94,40,18);\x0a}\x0afloat\x20rayleighPhase(float\x20cosTheta)\x0a{\x20\x0areturn\x20(3.0/(16.0*pi))*(1.0+pow(cosTheta,2.0));\x0a}\x0avec3\x20totalMie(vec3\x20lambda,vec3\x20K,float\x20T)\x0a{\x0afloat\x20c=(0.2*T\x20)*10E-18;\x0areturn\x200.434*c*pi*pow((2.0*pi)/lambda,vec3(v-2.0))*K;\x0a}\x0afloat\x20hgPhase(float\x20cosTheta,float\x20g)\x0a{\x0areturn\x20(1.0/(4.0*pi))*((1.0-pow(g,2.0))/pow(1.0-2.0*g*cosTheta+pow(g,2.0),1.5));\x0a}\x0afloat\x20sunIntensity(float\x20zenithAngleCos)\x0a{\x0areturn\x20EE*max(0.0,1.0-exp((-(cutoffAngle-acos(zenithAngleCos))/steepness)));\x0a}\x0afloat\x20A=0.15;\x0afloat\x20B=0.50;\x0afloat\x20C=0.10;\x0afloat\x20D=0.20;\x0afloat\x20EEE=0.02;\x0afloat\x20F=0.30;\x0afloat\x20W=1000.0;\x0avec3\x20Uncharted2Tonemap(vec3\x20x)\x0a{\x0areturn\x20((x*(A*x+C*B)+D*EEE)/(x*(A*x+B)+D*F))-EEE/F;\x0a}\x0a#if\x20DITHER\x0a#include<helperFunctions>\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0a/**\x0a*--------------------------------------------------------------------------------------------------\x0a*\x20Sky\x20Color\x0a*--------------------------------------------------------------------------------------------------\x0a*/\x0afloat\x20sunfade=1.0-clamp(1.0-exp((sunPosition.y/450000.0)),0.0,1.0);\x0afloat\x20rayleighCoefficient=rayleigh-(1.0*(1.0-sunfade));\x0avec3\x20sunDirection=normalize(sunPosition);\x0afloat\x20sunE=sunIntensity(dot(sunDirection,up));\x0avec3\x20betaR=simplifiedRayleigh()*rayleighCoefficient;\x0avec3\x20betaM=totalMie(lambda,K,turbidity)*mieCoefficient;\x0afloat\x20zenithAngle=acos(max(0.0,dot(up,normalize(vPositionW-cameraPosition+cameraOffset))));\x0afloat\x20sR=rayleighZenithLength/(cos(zenithAngle)+0.15*pow(93.885-((zenithAngle*180.0)/pi),-1.253));\x0afloat\x20sM=mieZenithLength/(cos(zenithAngle)+0.15*pow(93.885-((zenithAngle*180.0)/pi),-1.253));\x0avec3\x20Fex=exp(-(betaR*sR+betaM*sM));\x0afloat\x20cosTheta=dot(normalize(vPositionW-cameraPosition),sunDirection);\x0afloat\x20rPhase=rayleighPhase(cosTheta*0.5+0.5);\x0avec3\x20betaRTheta=betaR*rPhase;\x0afloat\x20mPhase=hgPhase(cosTheta,mieDirectionalG);\x0avec3\x20betaMTheta=betaM*mPhase;\x0avec3\x20Lin=pow(sunE*((betaRTheta+betaMTheta)/(betaR+betaM))*(1.0-Fex),vec3(1.5));\x0aLin*=mix(vec3(1.0),pow(sunE*((betaRTheta+betaMTheta)/(betaR+betaM))*Fex,vec3(1.0/2.0)),clamp(pow(1.0-dot(up,sunDirection),5.0),0.0,1.0));\x0avec3\x20direction=normalize(vPositionW-cameraPosition);\x0afloat\x20theta=acos(direction.y);\x0afloat\x20phi=atan(direction.z,direction.x);\x0avec2\x20uv=vec2(phi,theta)/vec2(2.0*pi,pi)+vec2(0.5,0.0);\x0avec3\x20L0=vec3(0.1)*Fex;\x0afloat\x20sundisk=smoothstep(sunAngularDiameterCos,sunAngularDiameterCos+0.00002,cosTheta);\x0aL0+=(sunE*19000.0*Fex)*sundisk;\x0avec3\x20whiteScale=1.0/Uncharted2Tonemap(vec3(W));\x0avec3\x20texColor=(Lin+L0);\x0atexColor*=0.04\x20;\x0atexColor+=vec3(0.0,0.001,0.0025)*0.3;\x0afloat\x20g_fMaxLuminance=1.0;\x0afloat\x20fLumScaled=0.1/luminance;\x20\x0afloat\x20fLumCompressed=(fLumScaled*(1.0+(fLumScaled/(g_fMaxLuminance*g_fMaxLuminance))))/(1.0+fLumScaled);\x20\x0afloat\x20ExposureBias=fLumCompressed;\x0avec3\x20curr=Uncharted2Tonemap((log2(2.0/pow(luminance,4.0)))*texColor);\x0avec3\x20retColor=curr*whiteScale;\x0a/**\x0a*--------------------------------------------------------------------------------------------------\x0a*\x20Sky\x20Color\x0a*--------------------------------------------------------------------------------------------------\x0a*/\x0afloat\x20alpha=1.0;\x0a#ifdef\x20VERTEXCOLOR\x0aretColor.rgb*=vColor.rgb;\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#if\x20DITHER\x0aretColor.rgb+=dither(gl_FragCoord.xy,0.5);\x0a#endif\x0avec4\x20color=clamp(vec4(retColor.rgb,alpha),0.0,1.0);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','getBindGroupLayout','_isAlphaBlendDirty','_getInternalFormat','setArray3','prePassVertex','cameraId','uniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vPrimaryColor;\x0a#ifdef\x20USEHIGHLIGHTANDSHADOWCOLORS\x0auniform\x20vec4\x20vPrimaryColorShadow;\x0a#endif\x0auniform\x20float\x20shadowLevel;\x0auniform\x20float\x20alpha;\x0a#ifdef\x20DIFFUSE\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0a#endif\x0a#if\x20defined(REFLECTIONFRESNEL)\x20||\x20defined(OPACITYFRESNEL)\x0auniform\x20vec3\x20vBackgroundCenter;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0auniform\x20vec4\x20vReflectionControl;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(REFRACTION)\x0auniform\x20mat4\x20view;\x0a#endif\x0a','stencilMaterial','updateInt','ALPHA_SUBTRACT','sampleType','_alreadyAttachedTo','_isStencilTestDirty','_thinInstanceCreateMatrixBuffer','layout(set\x20=\x20','RG32Uint','Texture','_prepareWorkingCanvas','\x20{\x0afloat\x20yFactor_;\x0afloat\x20textureOutputHeight_;\x0a};\x0a','currentOffsetStartTemp','_readTexturePixels','intensity','Color3','bindUniformBlock','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0avarying\x20vec3\x20vPosition;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0avPosition=position;\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','Depth16Unorm','subtract',')\x0d\x0a','glowBlurPostProcessPixelShader','insert','supportedPipelines','_preCreateBindGroupEntries','//Attributes\x0d\x0a','hasSwiped','#ifdef\x20LOGARITHMICDEPTH\x0agl_FragDepthEXT=log2(vFragmentDepth)*logarithmicDepthConstant*0.5;\x0a#endif\x0a','i32','float',',\x20falling\x20back\x20to\x20the\x20','boundingBoxPosition','useEquirectangularFOV','ASTC10x10Unorm','_BuildSubExpression','ComputeNumMipmapLevels','Texture;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#define\x20','126702TyEmNL','REFLECTIONMAP_CUBIC','uniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20ALBEDO\x0auniform\x20mat4\x20albedoMatrix;\x0auniform\x20vec2\x20vAlbedoInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20mat4\x20ambientMatrix;\x0auniform\x20vec4\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20OPACITY\x0auniform\x20mat4\x20opacityMatrix;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0auniform\x20mat4\x20emissiveMatrix;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0auniform\x20mat4\x20lightmapMatrix;\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x20\x0auniform\x20vec3\x20vReflectivityInfos;\x0auniform\x20mat4\x20reflectivityMatrix;\x0a#endif\x0a#ifdef\x20METALLIC_REFLECTANCE\x0auniform\x20vec2\x20vMetallicReflectanceInfos;\x0auniform\x20mat4\x20metallicReflectanceMatrix;\x0a#endif\x0a#ifdef\x20REFLECTANCE\x0auniform\x20vec2\x20vReflectanceInfos;\x0auniform\x20mat4\x20reflectanceMatrix;\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0auniform\x20vec2\x20vMicroSurfaceSamplerInfos;\x0auniform\x20mat4\x20microSurfaceSamplerMatrix;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20mat4\x20bumpMatrix;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20reflectionMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#if\x20defined(CLEARCOAT_TEXTURE)\x20||\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vClearCoatInfos;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0auniform\x20mat4\x20clearCoatMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20clearCoatRoughnessMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0auniform\x20vec2\x20vClearCoatBumpInfos;\x0auniform\x20mat4\x20clearCoatBumpMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0auniform\x20vec2\x20vClearCoatTintInfos;\x0auniform\x20mat4\x20clearCoatTintMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#if\x20defined(IRIDESCENCE_TEXTURE)\x20||\x20defined(IRIDESCENCE_THICKNESS_TEXTURE)\x0auniform\x20vec4\x20vIridescenceInfos;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0auniform\x20mat4\x20iridescenceMatrix;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0auniform\x20mat4\x20iridescenceThicknessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0auniform\x20vec2\x20vAnisotropyInfos;\x0auniform\x20mat4\x20anisotropyMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0a#if\x20defined(SHEEN_TEXTURE)\x20||\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vSheenInfos;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE\x0auniform\x20mat4\x20sheenMatrix;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20sheenRoughnessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_REFRACTION\x0auniform\x20vec4\x20vRefractionInfos;\x0auniform\x20mat4\x20refractionMatrix;\x0a#endif\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0auniform\x20vec2\x20vThicknessInfos;\x0auniform\x20mat4\x20thicknessMatrix;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0auniform\x20vec2\x20vRefractionIntensityInfos;\x0auniform\x20mat4\x20refractionIntensityMatrix;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0auniform\x20vec2\x20vTranslucencyIntensityInfos;\x0auniform\x20mat4\x20translucencyIntensityMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20NORMAL\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#ifdef\x20SPHERICAL_HARMONICS\x0auniform\x20vec3\x20vSphericalL00;\x0auniform\x20vec3\x20vSphericalL1_1;\x0auniform\x20vec3\x20vSphericalL10;\x0auniform\x20vec3\x20vSphericalL11;\x0auniform\x20vec3\x20vSphericalL2_2;\x0auniform\x20vec3\x20vSphericalL2_1;\x0auniform\x20vec3\x20vSphericalL20;\x0auniform\x20vec3\x20vSphericalL21;\x0auniform\x20vec3\x20vSphericalL22;\x0a#else\x0auniform\x20vec3\x20vSphericalX;\x0auniform\x20vec3\x20vSphericalY;\x0auniform\x20vec3\x20vSphericalZ;\x0auniform\x20vec3\x20vSphericalXX_ZZ;\x0auniform\x20vec3\x20vSphericalYY_ZZ;\x0auniform\x20vec3\x20vSphericalZZ;\x0auniform\x20vec3\x20vSphericalXY;\x0auniform\x20vec3\x20vSphericalYZ;\x0auniform\x20vec3\x20vSphericalZX;\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0auniform\x20mat4\x20detailMatrix;\x0a#endif\x0a#include<decalVertexDeclaration>\x0a#define\x20ADDITIONAL_VERTEX_DECLARATION\x0a','bakedVertexAnimationDeclaration','_internalTexturesCache','GL_ALPHA_EQUATION_ADD','Depth24Plus','simulatePointerDown','vrdisplaypointerrestricted','_ProcessIncludes','\x0a\x20\x20\x20\x20const\x20vec2\x20pos[4]\x20=\x20vec2[4](vec2(-1.0f,\x201.0f),\x20vec2(1.0f,\x201.0f),\x20vec2(-1.0f,\x20-1.0f),\x20vec2(1.0f,\x20-1.0f));\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(pos[gl_VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','handleFragmentSideCodeReflectionColor','setUInt4','CylinderParticleEmitter','compileGLSL','webGLVersion','readValues','TEXTUREFORMAT_LUMINANCE_ALPHA','updateDynamicIndexBuffer','foveationLevel','_checkPrePointerObservable','_injectAtEnd','standardPixelShader','resource','_resetIndexBufferBinding','thinInstancePartialBufferUpdate','default','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20LIGHTING\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20NORMAL\x0abaseColor=mix(baseColor,vec4(vNormalW,1.0),0.5);\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20LIGHTING\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#include<lightFragment>[0]\x0a#include<lightFragment>[1]\x0a#include<lightFragment>[2]\x0a#include<lightFragment>[3]\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0a#else\x0avec3\x20finalDiffuse=\x20baseColor.rgb;\x0a#endif\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','_blurTextureSizeX','_resetVertexBufferBinding','uniform','isExist','addPendingData','TEXTUREFORMAT_RED_INTEGER','get','ShadersStore','_itemLength','POLYGON_OFFSET_FILL','LIGHTMAP_DEFAULT','renderTarget','GL_ALPHA_EQUATION_MAX','setVector2','_removeOnDetach','next','/*\x20disable_uniformity_analysis\x20*/\x0a#define\x20IOR\x201.333\x0a#define\x20ETA\x201.0/IOR\x0a#define\x20F0\x200.02\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0a#ifdef\x20FLUIDRENDERING_DIFFUSETEXTURE\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#else\x0auniform\x20vec3\x20diffuseColor;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_FIXED_THICKNESS\x0auniform\x20float\x20thickness;\x0auniform\x20sampler2D\x20bgDepthSampler;\x0a#else\x0auniform\x20float\x20minimumThickness;\x0auniform\x20sampler2D\x20thicknessSampler;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_ENVIRONMENT\x0auniform\x20samplerCube\x20reflectionSampler;\x0a#endif\x0a#if\x20defined(FLUIDRENDERING_DEBUG)\x20&&\x20defined(FLUIDRENDERING_DEBUG_TEXTURE)\x0auniform\x20sampler2D\x20debugSampler;\x0a#endif\x0auniform\x20mat4\x20viewMatrix;\x0auniform\x20mat4\x20projectionMatrix;\x0auniform\x20mat4\x20invProjectionMatrix;\x0auniform\x20vec2\x20texelSize;\x0auniform\x20vec3\x20dirLight;\x0auniform\x20float\x20cameraFar;\x0auniform\x20float\x20density;\x0auniform\x20float\x20refractionStrength;\x0auniform\x20float\x20fresnelClamp;\x0auniform\x20float\x20specularPower;\x0avarying\x20vec2\x20vUV;\x0avec3\x20computeViewPosFromUVDepth(vec2\x20texCoord,float\x20depth)\x20{\x0avec4\x20ndc;\x0andc.xy=texCoord*2.0-1.0;\x0a#ifdef\x20FLUIDRENDERING_RHS\x0andc.z=-projectionMatrix[2].z+projectionMatrix[3].z/depth;\x0a#else\x0andc.z=projectionMatrix[2].z+projectionMatrix[3].z/depth;\x0a#endif\x0andc.w=1.0;\x0avec4\x20eyePos=invProjectionMatrix*ndc;\x0aeyePos.xyz/=eyePos.w;\x0areturn\x20eyePos.xyz;\x0a}\x0avec3\x20getViewPosFromTexCoord(vec2\x20texCoord)\x20{\x0afloat\x20depth=textureLod(depthSampler,texCoord,0.).x;\x0areturn\x20computeViewPosFromUVDepth(texCoord,depth);\x0a}\x0avoid\x20main(void)\x20{\x0avec2\x20texCoord=vUV;\x0a#if\x20defined(FLUIDRENDERING_DEBUG)\x20&&\x20defined(FLUIDRENDERING_DEBUG_TEXTURE)\x0avec4\x20color=texture2D(debugSampler,texCoord);\x0a#ifdef\x20FLUIDRENDERING_DEBUG_DEPTH\x0aglFragColor=vec4(color.rgb/vec3(2.0),1.);\x0aif\x20(color.r>0.999\x20&&\x20color.g>0.999)\x20{\x0aglFragColor=texture2D(textureSampler,texCoord);\x0a}\x0a#else\x0aglFragColor=vec4(color.rgb,1.);\x0aif\x20(color.r<0.001\x20&&\x20color.g<0.001\x20&&\x20color.b<0.001)\x20{\x0aglFragColor=texture2D(textureSampler,texCoord);\x0a}\x0a#endif\x0areturn;\x0a#endif\x0avec2\x20depthVel=textureLod(depthSampler,texCoord,0.).rg;\x0afloat\x20depth=depthVel.r;\x0a#ifndef\x20FLUIDRENDERING_FIXED_THICKNESS\x0afloat\x20thickness=texture2D(thicknessSampler,texCoord).x;\x0a#else\x0afloat\x20bgDepth=texture2D(bgDepthSampler,texCoord).x;\x0afloat\x20depthNonLinear=projectionMatrix[2].z+projectionMatrix[3].z/depth;\x0adepthNonLinear=depthNonLinear*0.5+0.5;\x0a#endif\x0avec4\x20backColor=texture2D(textureSampler,texCoord);\x0a#ifndef\x20FLUIDRENDERING_FIXED_THICKNESS\x0aif\x20(depth>=cameraFar\x20||\x20depth<=0.\x20||\x20thickness<=minimumThickness)\x20{\x0a#else\x0aif\x20(depth>=cameraFar\x20||\x20depth<=0.\x20||\x20bgDepth<=depthNonLinear)\x20{\x0a#endif\x0aglFragColor=backColor;\x0areturn;\x0a}\x0avec3\x20viewPos=computeViewPosFromUVDepth(texCoord,depth);\x0avec3\x20ddx=getViewPosFromTexCoord(texCoord+vec2(texelSize.x,0.))-viewPos;\x0avec3\x20ddy=getViewPosFromTexCoord(texCoord+vec2(0.,texelSize.y))-viewPos;\x0avec3\x20ddx2=viewPos-getViewPosFromTexCoord(texCoord+vec2(-texelSize.x,0.));\x0aif\x20(abs(ddx.z)>abs(ddx2.z))\x20{\x0addx=ddx2;\x0a}\x0avec3\x20ddy2=viewPos-getViewPosFromTexCoord(texCoord+vec2(0.,-texelSize.y));\x0aif\x20(abs(ddy.z)>abs(ddy2.z))\x20{\x0addy=ddy2;\x0a}\x0avec3\x20normal=normalize(cross(ddy,ddx));\x0a#ifdef\x20FLUIDRENDERING_RHS\x0anormal=-normal;\x0a#endif\x0a#ifndef\x20WEBGPU\x0aif(isnan(normal.x)\x20||\x20isnan(normal.y)\x20||\x20isnan(normal.z)\x20||\x20isinf(normal.x)\x20||\x20isinf(normal.y)\x20||\x20isinf(normal.z))\x20{\x0anormal=vec3(0.,0.,-1.);\x0a}\x0a#endif\x0a#if\x20defined(FLUIDRENDERING_DEBUG)\x20&&\x20defined(FLUIDRENDERING_DEBUG_SHOWNORMAL)\x0aglFragColor=vec4(normal*0.5+0.5,1.0);\x0areturn;\x0a#endif\x0avec3\x20rayDir=normalize(viewPos);\x20\x0a#ifdef\x20FLUIDRENDERING_DIFFUSETEXTURE\x0avec3\x20diffuseColor=textureLod(diffuseSampler,texCoord,0.0).rgb;\x0a#endif\x0avec3\x20lightDir=normalize(vec3(viewMatrix*vec4(-dirLight,0.)));\x0avec3\x20H\x20=normalize(lightDir-rayDir);\x0afloat\x20specular=pow(max(0.0,dot(H,normal)),specularPower);\x0a#ifdef\x20FLUIDRENDERING_DEBUG_DIFFUSERENDERING\x0afloat\x20diffuse\x20=max(0.0,dot(lightDir,normal))*1.0;\x0aglFragColor=vec4(vec3(0.1)\x20/*ambient*/+vec3(0.42,0.50,1.00)*diffuse+vec3(0,0,0.2)+specular,1.);\x0areturn;\x0a#endif\x0avec3\x20refractionDir=refract(rayDir,normal,ETA);\x0avec4\x20transmitted=textureLod(textureSampler,vec2(texCoord+refractionDir.xy*thickness*refractionStrength),0.0);\x0avec3\x20transmittance=exp(-density*thickness*(1.0-diffuseColor));\x20\x0avec3\x20refractionColor=transmitted.rgb*transmittance;\x0a#ifdef\x20FLUIDRENDERING_ENVIRONMENT\x0avec3\x20reflectionDir=reflect(rayDir,normal);\x0avec3\x20reflectionColor=(textureCube(reflectionSampler,reflectionDir).rgb);\x0afloat\x20fresnel=clamp(F0+(1.0-F0)*pow(1.0-dot(normal,-rayDir),5.0),0.,fresnelClamp);\x0avec3\x20finalColor=mix(refractionColor,reflectionColor,fresnel)+specular;\x0a#else\x0avec3\x20finalColor=refractionColor+specular;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0afloat\x20velocity=depthVel.g;\x0afinalColor=mix(finalColor,vec3(1.0),smoothstep(0.3,1.0,velocity/6.0));\x0a#endif\x0aglFragColor=vec4(finalColor,transmitted.a);\x0a}\x0a','struct\x20Particle\x20{\x0aposition\x20:\x20vec3<f32>,\x0aage\x20:\x20f32,\x0asize\x20:\x20vec3<f32>,\x0alife\x20:\x20f32,\x0aseed\x20:\x20vec4<f32>,\x0adirection\x20:\x20vec3<f32>,\x0adummy0:\x20f32,\x0a#ifdef\x20CUSTOMEMITTER\x0ainitialPosition\x20:\x20vec3<f32>,\x0adummy1:\x20f32,\x0a#endif\x0a#ifndef\x20COLORGRADIENTS\x0acolor\x20:\x20vec4<f32>,\x0a#endif\x0a#ifndef\x20BILLBOARD\x0ainitialDirection\x20:\x20vec3<f32>,\x0adummy2:\x20f32,\x0a#endif\x0a#ifdef\x20NOISE\x0anoiseCoordinates1\x20:\x20vec3<f32>,\x0adummy3:\x20f32,\x0anoiseCoordinates2\x20:\x20vec3<f32>,\x0adummy4:\x20f32,\x0a#endif\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0aangle\x20:\x20f32,\x0a#else\x0aangle\x20:\x20vec2<f32>,\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0acellIndex\x20:\x20f32,\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0acellStartOffset\x20:\x20f32,\x0a#endif\x0a#endif\x0a};\x0astruct\x20Particles\x20{\x0aparticles\x20:\x20array<Particle>,\x0a};\x0astruct\x20SimParams\x20{\x0acurrentCount\x20:\x20f32,\x0atimeDelta\x20:\x20f32,\x0astopFactor\x20:\x20f32,\x0arandomTextureSize:\x20i32,\x0alifeTime\x20:\x20vec2<f32>,\x0aemitPower\x20:\x20vec2<f32>,\x0a#ifndef\x20COLORGRADIENTS\x0acolor1\x20:\x20vec4<f32>,\x0acolor2\x20:\x20vec4<f32>,\x0a#endif\x0asizeRange\x20:\x20vec2<f32>,\x0ascaleRange\x20:\x20vec4<f32>,\x0aangleRange\x20:\x20vec4<f32>,\x0agravity\x20:\x20vec3<f32>,\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0alimitVelocityDamping\x20:\x20f32,\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0acellInfos\x20:\x20vec4<f32>,\x0a#endif\x0a#ifdef\x20NOISE\x0anoiseStrength\x20:\x20vec3<f32>,\x0a#endif\x0a#ifndef\x20LOCAL\x0aemitterWM\x20:\x20mat4x4<f32>,\x0a#endif\x0a#ifdef\x20BOXEMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0aminEmitBox\x20:\x20vec3<f32>,\x0amaxEmitBox\x20:\x20vec3<f32>,\x0a#endif\x0a#ifdef\x20CONEEMITTER\x0aradius\x20:\x20vec2<f32>,\x0aconeAngle\x20:\x20f32,\x0aheight\x20:\x20vec2<f32>,\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#ifdef\x20CYLINDEREMITTER\x0aradius\x20:\x20f32,\x0aheight\x20:\x20f32,\x0aradiusRange\x20:\x20f32,\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0a#else\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#endif\x0a#ifdef\x20HEMISPHERICEMITTER\x0aradius\x20:\x20f32,\x0aradiusRange\x20:\x20f32,\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#ifdef\x20POINTEMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0a#endif\x0a#ifdef\x20SPHEREEMITTER\x0aradius\x20:\x20f32,\x0aradiusRange\x20:\x20f32,\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0a#else\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#endif\x0a};\x0a@binding(0)\x20@group(0)\x20var<uniform>\x20params\x20:\x20SimParams;\x0a@binding(1)\x20@group(0)\x20var<storage,read>\x20particlesIn\x20:\x20Particles;\x0a@binding(2)\x20@group(0)\x20var<storage,read_write>\x20particlesOut\x20:\x20Particles;\x0a@binding(3)\x20@group(0)\x20var\x20randomTexture\x20:\x20texture_2d<f32>;\x0a@binding(4)\x20@group(0)\x20var\x20randomTexture2\x20:\x20texture_2d<f32>;\x0a#ifdef\x20SIZEGRADIENTS\x0a@binding(0)\x20@group(1)\x20var\x20sizeGradientSampler\x20:\x20sampler;\x0a@binding(1)\x20@group(1)\x20var\x20sizeGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0a@binding(2)\x20@group(1)\x20var\x20angularSpeedGradientSampler\x20:\x20sampler;\x0a@binding(3)\x20@group(1)\x20var\x20angularSpeedGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x20\x0a#ifdef\x20VELOCITYGRADIENTS\x0a@binding(4)\x20@group(1)\x20var\x20velocityGradientSampler\x20:\x20sampler;\x0a@binding(5)\x20@group(1)\x20var\x20velocityGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0a@binding(6)\x20@group(1)\x20var\x20limitVelocityGradientSampler\x20:\x20sampler;\x0a@binding(7)\x20@group(1)\x20var\x20limitVelocityGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0a@binding(8)\x20@group(1)\x20var\x20dragGradientSampler\x20:\x20sampler;\x0a@binding(9)\x20@group(1)\x20var\x20dragGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x0a#ifdef\x20NOISE\x0a@binding(10)\x20@group(1)\x20var\x20noiseSampler\x20:\x20sampler;\x0a@binding(11)\x20@group(1)\x20var\x20noiseTexture\x20:\x20texture_2d<f32>;\x0a#endif\x0afn\x20getRandomVec3(offset\x20:\x20f32,vertexID\x20:\x20f32)->vec3<f32>\x20{\x0areturn\x20textureLoad(randomTexture2,vec2<i32>(i32(vertexID*offset/params.currentCount*f32(params.randomTextureSize))\x20%\x20params.randomTextureSize,0),0).rgb;\x0a}\x0afn\x20getRandomVec4(offset\x20:\x20f32,vertexID\x20:\x20f32)->vec4<f32>\x20{\x0areturn\x20textureLoad(randomTexture,vec2<i32>(i32(vertexID*offset/params.currentCount*f32(params.randomTextureSize))\x20%\x20params.randomTextureSize,0),0);\x0a}\x0a@compute\x20@workgroup_size(64)\x0afn\x20main(@builtin(global_invocation_id)\x20GlobalInvocationID\x20:\x20vec3<u32>)\x20{\x0alet\x20index\x20:\x20u32=GlobalInvocationID.x;\x0alet\x20vertexID\x20:\x20f32=f32(index);\x0aif\x20(index>=u32(params.currentCount))\x20{\x0areturn;\x0a}\x0alet\x20PI\x20:\x20f32=3.14159;\x0alet\x20timeDelta\x20:\x20f32=params.timeDelta;\x0alet\x20newAge\x20:\x20f32=particlesIn.particles[index].age+timeDelta;\x0alet\x20life\x20:\x20f32=particlesIn.particles[index].life;\x0alet\x20seed\x20:\x20vec4<f32>=particlesIn.particles[index].seed;\x0alet\x20direction\x20:\x20vec3<f32>=particlesIn.particles[index].direction;\x0aif\x20(newAge>=life\x20&&\x20params.stopFactor\x20!=\x200.)\x20{\x0avar\x20newPosition\x20:\x20vec3<f32>;\x0avar\x20newDirection\x20:\x20vec3<f32>;\x0alet\x20randoms\x20:\x20vec4<f32>=getRandomVec4(seed.x,vertexID);\x0alet\x20outLife\x20:\x20f32=params.lifeTime.x+(params.lifeTime.y-params.lifeTime.x)*randoms.r;\x0aparticlesOut.particles[index].life=outLife;\x0aparticlesOut.particles[index].age=newAge-life;\x0aparticlesOut.particles[index].seed=seed;\x0avar\x20sizex\x20:\x20f32;\x0a#ifdef\x20SIZEGRADIENTS\x20\x0asizex=textureSampleLevel(sizeGradientTexture,sizeGradientSampler,vec2<f32>(0.,0.),0.).r;\x0a#else\x0asizex=params.sizeRange.x+(params.sizeRange.y-params.sizeRange.x)*randoms.g;\x0a#endif\x0aparticlesOut.particles[index].size=vec3<f32>(\x0asizex,\x0aparams.scaleRange.x+(params.scaleRange.y-params.scaleRange.x)*randoms.b,\x0aparams.scaleRange.z+(params.scaleRange.w-params.scaleRange.z)*randoms.a);\x0a#ifndef\x20COLORGRADIENTS\x0aparticlesOut.particles[index].color=params.color1+(params.color2-params.color1)*randoms.b;\x0a#endif\x0a#ifndef\x20ANGULARSPEEDGRADIENTS\x20\x0aparticlesOut.particles[index].angle=vec2<f32>(\x0aparams.angleRange.z+(params.angleRange.w-params.angleRange.z)*randoms.r,\x0aparams.angleRange.x+(params.angleRange.y-params.angleRange.x)*randoms.a);\x0a#else\x0aparticlesOut.particles[index].angle=params.angleRange.z+(params.angleRange.w-params.angleRange.z)*randoms.r;\x0a#endif\x20\x0a#if\x20defined(POINTEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0anewPosition=vec3<f32>(0.,0.,0.);\x0anewDirection=params.direction1+(params.direction2-params.direction1)*randoms3;\x0a#elif\x20defined(BOXEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0anewPosition=params.minEmitBox+(params.maxEmitBox-params.minEmitBox)*randoms2;\x0anewDirection=params.direction1+(params.direction2-params.direction1)*randoms3;\x20\x0a#elif\x20defined(HEMISPHERICEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0alet\x20phi\x20:\x20f32=2.0*PI*randoms2.x;\x0alet\x20theta\x20:\x20f32=acos(-1.0+2.0*randoms2.y);\x0alet\x20randX\x20:\x20f32=cos(phi)*sin(theta);\x0alet\x20randY\x20:\x20f32=cos(theta);\x0alet\x20randZ\x20:\x20f32=sin(phi)*sin(theta);\x0anewPosition=(params.radius-(params.radius*params.radiusRange*randoms2.z))*vec3<f32>(randX,abs(randY),randZ);\x0anewDirection=normalize(newPosition+params.directionRandomizer*randoms3);\x0a#elif\x20defined(SPHEREEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0alet\x20phi\x20:\x20f32=2.0*PI*randoms2.x;\x0alet\x20theta\x20:\x20f32=acos(-1.0+2.0*randoms2.y);\x0alet\x20randX\x20:\x20f32=cos(phi)*sin(theta);\x0alet\x20randY\x20:\x20f32=cos(theta);\x0alet\x20randZ\x20:\x20f32=sin(phi)*sin(theta);\x0anewPosition=(params.radius-(params.radius*params.radiusRange*randoms2.z))*vec3<f32>(randX,randY,randZ);\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0anewDirection=normalize(params.direction1+(params.direction2-params.direction1)*randoms3);\x0a#else\x0anewDirection=normalize(newPosition+params.directionRandomizer*randoms3);\x0a#endif\x0a#elif\x20defined(CYLINDEREMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0alet\x20yPos\x20:\x20f32=(-0.5+randoms2.x)*params.height;\x0avar\x20angle\x20:\x20f32=randoms2.y*PI*2.;\x0alet\x20inverseRadiusRangeSquared\x20:\x20f32=(1.-params.radiusRange)*(1.-params.radiusRange);\x0alet\x20positionRadius\x20:\x20f32=params.radius*sqrt(inverseRadiusRangeSquared+randoms2.z*(1.-inverseRadiusRangeSquared));\x0alet\x20xPos\x20:\x20f32=positionRadius*cos(angle);\x0alet\x20zPos\x20:\x20f32=positionRadius*sin(angle);\x0anewPosition=vec3<f32>(xPos,yPos,zPos);\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0anewDirection=params.direction1+(params.direction2-params.direction1)*randoms3;\x0a#else\x0aangle=angle+(-0.5+randoms3.x)*PI*params.directionRandomizer;\x0anewDirection=vec3<f32>(cos(angle),(-0.5+randoms3.y)*params.directionRandomizer,sin(angle));\x0anewDirection=normalize(newDirection);\x0a#endif\x0a#elif\x20defined(CONEEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20s\x20:\x20f32=2.0*PI*randoms2.x;\x0a#ifdef\x20CONEEMITTERSPAWNPOINT\x0alet\x20h\x20:\x20f32=0.0001;\x0a#else\x0avar\x20h\x20:\x20f32=randoms2.y*params.height.y;\x0ah=1.-h*h;\x20\x0a#endif\x0avar\x20lRadius\x20:\x20f32=params.radius.x-params.radius.x*randoms2.z*params.radius.y;\x0alRadius=lRadius*h;\x0alet\x20randX\x20:\x20f32=lRadius*sin(s);\x0alet\x20randZ\x20:\x20f32=lRadius*cos(s);\x0alet\x20randY\x20:\x20f32=h\x20*params.height.x;\x0anewPosition=vec3<f32>(randX,randY,randZ);\x20\x0aif\x20(abs(cos(params.coneAngle))==1.0)\x20{\x0anewDirection=vec3<f32>(0.,1.0,0.);\x0a}\x20else\x20{\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0anewDirection=normalize(newPosition+params.directionRandomizer*randoms3);\x20\x0a}\x0a#elif\x20defined(CUSTOMEMITTER)\x0anewPosition=particlesIn.particles[index].initialPosition;\x0aparticlesOut.particles[index].initialPosition=newPosition;\x0a#else\x20\x0anewPosition=vec3<f32>(0.,0.,0.);\x0anewDirection=2.0*(getRandomVec3(seed.w,vertexID)-vec3<f32>(0.5,0.5,0.5));\x0a#endif\x0alet\x20power\x20:\x20f32=params.emitPower.x+(params.emitPower.y-params.emitPower.x)*randoms.a;\x0a#ifdef\x20LOCAL\x0aparticlesOut.particles[index].position=newPosition;\x0a#else\x0aparticlesOut.particles[index].position=(params.emitterWM*vec4<f32>(newPosition,1.)).xyz;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aparticlesOut.particles[index].direction=direction;\x0a#ifndef\x20BILLBOARD\x20\x0aparticlesOut.particles[index].initialDirection=direction;\x0a#endif\x0a#else\x0a#ifdef\x20LOCAL\x0alet\x20initial\x20:\x20vec3<f32>=newDirection;\x0a#else\x20\x0alet\x20initial\x20:\x20vec3<f32>=(params.emitterWM*vec4<f32>(newDirection,0.)).xyz;\x0a#endif\x0aparticlesOut.particles[index].direction=initial*power;\x0a#ifndef\x20BILLBOARD\x20\x0aparticlesOut.particles[index].initialDirection=initial;\x0a#endif\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0aparticlesOut.particles[index].cellIndex=params.cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aparticlesOut.particles[index].cellStartOffset=randoms.a*outLife;\x0a#endif\x20\x0a#endif\x0a#ifdef\x20NOISE\x0aparticlesOut.particles[index].noiseCoordinates1=particlesIn.particles[index].noiseCoordinates1;\x0aparticlesOut.particles[index].noiseCoordinates2=particlesIn.particles[index].noiseCoordinates2;\x0a#endif\x0a}\x20else\x20{\x0avar\x20directionScale\x20:\x20f32=timeDelta;\x0aparticlesOut.particles[index].age=newAge;\x0alet\x20ageGradient\x20:\x20f32=newAge/life;\x0a#ifdef\x20VELOCITYGRADIENTS\x0adirectionScale=directionScale*textureSampleLevel(velocityGradientTexture,velocityGradientSampler,vec2<f32>(ageGradient,0.),0.).r;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0adirectionScale=directionScale*(1.0-textureSampleLevel(dragGradientTexture,dragGradientSampler,vec2<f32>(ageGradient,0.),0.).r);\x0a#endif\x0alet\x20position\x20:\x20vec3<f32>=particlesIn.particles[index].position;\x0a#if\x20defined(CUSTOMEMITTER)\x0aparticlesOut.particles[index].position=position+(direction-position)*ageGradient;\x20\x0aparticlesOut.particles[index].initialPosition=particlesIn.particles[index].initialPosition;\x0a#else\x0aparticlesOut.particles[index].position=position+direction*directionScale;\x0a#endif\x0aparticlesOut.particles[index].life=life;\x0aparticlesOut.particles[index].seed=seed;\x0a#ifndef\x20COLORGRADIENTS\x20\x0aparticlesOut.particles[index].color=particlesIn.particles[index].color;\x0a#endif\x0a#ifdef\x20SIZEGRADIENTS\x0aparticlesOut.particles[index].size=vec3<f32>(\x0atextureSampleLevel(sizeGradientTexture,sizeGradientSampler,vec2<f32>(ageGradient,0.),0.).r,\x0aparticlesIn.particles[index].size.yz);\x0a#else\x0aparticlesOut.particles[index].size=particlesIn.particles[index].size;\x0a#endif\x20\x0a#ifndef\x20BILLBOARD\x20\x0aparticlesOut.particles[index].initialDirection=particlesIn.particles[index].initialDirection;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aparticlesOut.particles[index].direction=direction;\x0a#else\x0avar\x20updatedDirection\x20:\x20vec3<f32>=direction+params.gravity*timeDelta;\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0alet\x20limitVelocity\x20:\x20f32=textureSampleLevel(limitVelocityGradientTexture,limitVelocityGradientSampler,vec2<f32>(ageGradient,0.),0.).r;\x0alet\x20currentVelocity\x20:\x20f32=length(updatedDirection);\x0aif\x20(currentVelocity>limitVelocity)\x20{\x0aupdatedDirection=updatedDirection*params.limitVelocityDamping;\x0a}\x0a#endif\x0aparticlesOut.particles[index].direction=updatedDirection;\x0a#ifdef\x20NOISE\x0alet\x20noiseCoordinates1\x20:\x20vec3<f32>=particlesIn.particles[index].noiseCoordinates1;\x0alet\x20noiseCoordinates2\x20:\x20vec3<f32>=particlesIn.particles[index].noiseCoordinates2;\x0alet\x20fetchedR\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2<f32>(noiseCoordinates1.x,noiseCoordinates1.y)*vec2<f32>(0.5,0.5)+vec2<f32>(0.5,0.5),0.).r;\x0alet\x20fetchedG\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2<f32>(noiseCoordinates1.z,noiseCoordinates2.x)*vec2<f32>(0.5,0.5)+vec2<f32>(0.5,0.5),0.).r;\x0alet\x20fetchedB\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2<f32>(noiseCoordinates2.y,noiseCoordinates2.z)*vec2<f32>(0.5,0.5)+vec2<f32>(0.5,0.5),0.).r;\x0alet\x20force\x20:\x20vec3<f32>=vec3<f32>(-1.+2.*fetchedR,-1.+2.*fetchedG,-1.+2.*fetchedB)*params.noiseStrength;\x0aparticlesOut.particles[index].direction=particlesOut.particles[index].direction+force*timeDelta;\x0aparticlesOut.particles[index].noiseCoordinates1=noiseCoordinates1;\x0aparticlesOut.particles[index].noiseCoordinates2=noiseCoordinates2;\x0a#endif\x20\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0alet\x20angularSpeed\x20:\x20f32=textureSampleLevel(angularSpeedGradientTexture,angularSpeedGradientSampler,vec2<f32>(ageGradient,0.),0.).r;\x0aparticlesOut.particles[index].angle=particlesIn.particles[index].angle+angularSpeed*timeDelta;\x0a#else\x0alet\x20angle\x20:\x20vec2<f32>=particlesIn.particles[index].angle;\x0aparticlesOut.particles[index].angle=vec2<f32>(angle.x+angle.y*timeDelta,angle.y);\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0avar\x20offsetAge\x20:\x20f32=particlesOut.particles[index].age;\x0alet\x20dist\x20:\x20f32=params.cellInfos.y-params.cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0alet\x20cellStartOffset\x20:\x20f32=particlesIn.particles[index].cellStartOffset;\x0aparticlesOut.particles[index].cellStartOffset=cellStartOffset;\x0aoffsetAge=offsetAge+cellStartOffset;\x0a#else\x0alet\x20cellStartOffset\x20:\x20f32=0.;\x0a#endif\x20\x0avar\x20ratio\x20:\x20f32;\x0aif\x20(params.cellInfos.w==1.0)\x20{\x0aratio=clamp(((cellStartOffset+params.cellInfos.z*offsetAge)\x20%\x20life)/life,0.,1.0);\x0a}\x0aelse\x20{\x0aratio=clamp((cellStartOffset+params.cellInfos.z*offsetAge)/life,0.,1.0);\x0a}\x0aparticlesOut.particles[index].cellIndex=f32(i32(params.cellInfos.x+ratio*dist));\x0a#endif\x0a}\x0a}\x0a','_copyInvertYTempTexture','ColorInstanceKind','Warn','setFloat','additionalData','vec4\x20glFragCoord_;\x0a','_bufferViewArray','vTBN','stop','updateVideoTexture','match','diffuseBase','TEXTURE_NEAREST_LINEAR_MIPLINEAR','getDiffusionProfileParameters','setColor3','uniform\x20bool\x20alphaTest;\x0avarying\x20vec4\x20vColor;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0a#ifdef\x20PIXEL_PERFECT\x0avec2\x20uvPixelPerfect(vec2\x20uv)\x20{\x0avec2\x20res=vec2(textureSize(diffuseSampler,0));\x0auv=uv*res;\x0avec2\x20seam=floor(uv+0.5);\x0auv=seam+clamp((uv-seam)/fwidth(uv),-0.5,0.5);\x0areturn\x20uv/res;\x0a}\x0a#endif\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#ifdef\x20PIXEL_PERFECT\x0avec2\x20uv=uvPixelPerfect(vUV);\x0a#else\x0avec2\x20uv=vUV;\x0a#endif\x0avec4\x20color=texture2D(diffuseSampler,uv);\x0afloat\x20fAlphaTest=float(alphaTest);\x0aif\x20(fAlphaTest\x20!=\x200.)\x0a{\x0aif\x20(color.a<0.95)\x0adiscard;\x0a}\x0acolor*=vColor;\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','_pipelineContext','tan','activeTexture','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSEX\x0avarying\x20vec2\x20vTextureUVX;\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0avarying\x20vec2\x20vTextureUVY;\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0avarying\x20vec2\x20vTextureUVZ;\x0a#endif\x0auniform\x20float\x20tileSize;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20mat3\x20tangentSpace;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20DIFFUSEX\x0avTextureUVX=worldPos.zy/tileSize;\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0avTextureUVY=worldPos.xz/tileSize;\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0avTextureUVZ=worldPos.xy/tileSize;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20xtan=vec3(0,0,1);\x0avec3\x20xbin=vec3(0,1,0);\x0avec3\x20ytan=vec3(1,0,0);\x0avec3\x20ybin=vec3(0,0,1);\x0avec3\x20ztan=vec3(1,0,0);\x0avec3\x20zbin=vec3(0,1,0);\x0avec3\x20normalizedNormal=normalize(normal);\x0anormalizedNormal*=normalizedNormal;\x0avec3\x20worldBinormal=normalize(xbin*normalizedNormal.x+ybin*normalizedNormal.y+zbin*normalizedNormal.z);\x0avec3\x20worldTangent=normalize(xtan*normalizedNormal.x+ytan*normalizedNormal.y+ztan*normalizedNormal.z);\x0aworldTangent=(world*vec4(worldTangent,0.0)).xyz;\x0aworldBinormal=(world*vec4(worldBinormal,0.0)).xyz;\x0avec3\x20worldNormal=(world*vec4(normalize(normal),0.0)).xyz;\x0atangentSpace[0]=worldTangent;\x0atangentSpace[1]=worldBinormal;\x0atangentSpace[2]=worldNormal;\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','_varyingNamesWGSL','lastIndexOf','object','#include<sceneVertexDeclaration>\x0a#include<meshVertexDeclaration>\x0a','textE','ALWAYS','_animationStarted','oculusMultiview','_disposeThinInstanceSpecificData','Auto','getRenderPipeline','LeftOvertUBOName','_onVrDisplayDisconnect','fovMultiplier','_buildBlock','baseHeight','spriteMapVertexShader','replaceStrings','_onPointerDown','DEPTH_TEST','XRWebGLLayer','GetWebGPUTextureFormat','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20degree;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec3\x20color=texture2D(textureSampler,vUV).rgb;\x0afloat\x20luminance=dot(color,vec3(0.3,0.59,0.11));\x20\x0avec3\x20blackAndWhite=vec3(luminance,luminance,luminance);\x0agl_FragColor=vec4(color-((color-blackAndWhite)*degree),1.0);\x0a}','TEXTURETYPE_UNSIGNED_INT','#define\x20CLEARCOATREFLECTANCE90\x201.0\x0astruct\x20lightingInfo\x0a{\x0avec3\x20diffuse;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specular;\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec4\x20clearCoat;\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20sheen;\x0a#endif\x0a};\x0afloat\x20adjustRoughnessFromLightProperties(float\x20roughness,float\x20lightRadius,float\x20lightDistance)\x20{\x0a#if\x20defined(USEPHYSICALLIGHTFALLOFF)\x20||\x20defined(USEGLTFLIGHTFALLOFF)\x0afloat\x20lightRoughness=lightRadius/lightDistance;\x0afloat\x20totalRoughness=saturate(lightRoughness+roughness);\x0areturn\x20totalRoughness;\x0a#else\x0areturn\x20roughness;\x0a#endif\x0a}\x0avec3\x20computeHemisphericDiffuseLighting(preLightingInfo\x20info,vec3\x20lightColor,vec3\x20groundColor)\x20{\x0areturn\x20mix(groundColor,lightColor,info.NdotL);\x0a}\x0avec3\x20computeDiffuseLighting(preLightingInfo\x20info,vec3\x20lightColor)\x20{\x0afloat\x20diffuseTerm=diffuseBRDF_Burley(info.NdotL,info.NdotV,info.VdotH,info.roughness);\x0areturn\x20diffuseTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#define\x20inline\x0avec3\x20computeProjectionTextureDiffuseLighting(sampler2D\x20projectionLightSampler,mat4\x20textureProjectionMatrix){\x0avec4\x20strq=textureProjectionMatrix*vec4(vPositionW,1.0);\x0astrq/=strq.w;\x0avec3\x20textureColor=texture2D(projectionLightSampler,strq.xy).rgb;\x0areturn\x20toLinearSpace(textureColor);\x0a}\x0a#ifdef\x20SS_TRANSLUCENCY\x0avec3\x20computeDiffuseAndTransmittedLighting(preLightingInfo\x20info,vec3\x20lightColor,vec3\x20transmittance)\x20{\x0afloat\x20NdotL=absEps(info.NdotLUnclamped);\x0afloat\x20wrapNdotL=computeWrappedDiffuseNdotL(NdotL,0.02);\x0afloat\x20trAdapt=step(0.,info.NdotLUnclamped);\x0avec3\x20transmittanceNdotL=mix(transmittance*wrapNdotL,vec3(wrapNdotL),trAdapt);\x0afloat\x20diffuseTerm=diffuseBRDF_Burley(NdotL,info.NdotV,info.VdotH,info.roughness);\x0areturn\x20diffuseTerm*transmittanceNdotL*info.attenuation*lightColor;\x0a}\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20computeSpecularLighting(preLightingInfo\x20info,vec3\x20N,vec3\x20reflectance0,vec3\x20reflectance90,float\x20geometricRoughnessFactor,vec3\x20lightColor)\x20{\x0afloat\x20NdotH=saturateEps(dot(N,info.H));\x0afloat\x20roughness=max(info.roughness,geometricRoughnessFactor);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(roughness);\x0avec3\x20fresnel=fresnelSchlickGGX(info.VdotH,reflectance0,reflectance90);\x0a#ifdef\x20IRIDESCENCE\x0afresnel=mix(fresnel,reflectance0,info.iridescenceIntensity);\x0a#endif\x0afloat\x20distribution=normalDistributionFunction_TrowbridgeReitzGGX(NdotH,alphaG);\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0afloat\x20smithVisibility=smithVisibility_GGXCorrelated(info.NdotL,info.NdotV,alphaG);\x0a#else\x0afloat\x20smithVisibility=smithVisibility_TrowbridgeReitzGGXFast(info.NdotL,info.NdotV,alphaG);\x0a#endif\x0avec3\x20specTerm=fresnel*distribution*smithVisibility;\x0areturn\x20specTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20computeAnisotropicSpecularLighting(preLightingInfo\x20info,vec3\x20V,vec3\x20N,vec3\x20T,vec3\x20B,float\x20anisotropy,vec3\x20reflectance0,vec3\x20reflectance90,float\x20geometricRoughnessFactor,vec3\x20lightColor)\x20{\x0afloat\x20NdotH=saturateEps(dot(N,info.H));\x0afloat\x20TdotH=dot(T,info.H);\x0afloat\x20BdotH=dot(B,info.H);\x0afloat\x20TdotV=dot(T,V);\x0afloat\x20BdotV=dot(B,V);\x0afloat\x20TdotL=dot(T,info.L);\x0afloat\x20BdotL=dot(B,info.L);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(info.roughness);\x0avec2\x20alphaTB=getAnisotropicRoughness(alphaG,anisotropy);\x0aalphaTB=max(alphaTB,square(geometricRoughnessFactor));\x0avec3\x20fresnel=fresnelSchlickGGX(info.VdotH,reflectance0,reflectance90);\x0a#ifdef\x20IRIDESCENCE\x0afresnel=mix(fresnel,reflectance0,info.iridescenceIntensity);\x0a#endif\x0afloat\x20distribution=normalDistributionFunction_BurleyGGX_Anisotropic(NdotH,TdotH,BdotH,alphaTB);\x0afloat\x20smithVisibility=smithVisibility_GGXCorrelated_Anisotropic(info.NdotL,info.NdotV,TdotV,BdotV,TdotL,BdotL,alphaTB);\x0avec3\x20specTerm=fresnel*distribution*smithVisibility;\x0areturn\x20specTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec4\x20computeClearCoatLighting(preLightingInfo\x20info,vec3\x20Ncc,float\x20geometricRoughnessFactor,float\x20clearCoatIntensity,vec3\x20lightColor)\x20{\x0afloat\x20NccdotL=saturateEps(dot(Ncc,info.L));\x0afloat\x20NccdotH=saturateEps(dot(Ncc,info.H));\x0afloat\x20clearCoatRoughness=max(info.roughness,geometricRoughnessFactor);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(clearCoatRoughness);\x0afloat\x20fresnel=fresnelSchlickGGX(info.VdotH,vClearCoatRefractionParams.x,CLEARCOATREFLECTANCE90);\x0afresnel*=clearCoatIntensity;\x0afloat\x20distribution=normalDistributionFunction_TrowbridgeReitzGGX(NccdotH,alphaG);\x0afloat\x20kelemenVisibility=visibility_Kelemen(info.VdotH);\x0afloat\x20clearCoatTerm=fresnel*distribution*kelemenVisibility;\x0areturn\x20vec4(\x0aclearCoatTerm*info.attenuation*NccdotL*lightColor,\x0a1.0-fresnel\x0a);\x0a}\x0avec3\x20computeClearCoatLightingAbsorption(float\x20NdotVRefract,vec3\x20L,vec3\x20Ncc,vec3\x20clearCoatColor,float\x20clearCoatThickness,float\x20clearCoatIntensity)\x20{\x0avec3\x20LRefract=-refract(L,Ncc,vClearCoatRefractionParams.y);\x0afloat\x20NdotLRefract=saturateEps(dot(Ncc,LRefract));\x0avec3\x20absorption=computeClearCoatAbsorption(NdotVRefract,NdotLRefract,clearCoatColor,clearCoatThickness,clearCoatIntensity);\x0areturn\x20absorption;\x0a}\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20computeSheenLighting(preLightingInfo\x20info,vec3\x20N,vec3\x20reflectance0,vec3\x20reflectance90,float\x20geometricRoughnessFactor,vec3\x20lightColor)\x20{\x0afloat\x20NdotH=saturateEps(dot(N,info.H));\x0afloat\x20roughness=max(info.roughness,geometricRoughnessFactor);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(roughness);\x0afloat\x20fresnel=1.;\x0afloat\x20distribution=normalDistributionFunction_CharlieSheen(NdotH,alphaG);\x0a/*#ifdef\x20SHEEN_SOFTER\x0afloat\x20visibility=visibility_CharlieSheen(info.NdotL,info.NdotV,alphaG);\x0a#else\x20*/\x0afloat\x20visibility=visibility_Ashikhmin(info.NdotL,info.NdotV);\x0a/*\x20#endif\x20*/\x0afloat\x20sheenTerm=fresnel*distribution*visibility;\x0areturn\x20sheenTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#endif\x0a','_generateStencilBuffer','hashCode','copy\x20video\x20to\x20texture\x20-\x20invertY=','_xrSessionManager','isCompiled','WriteOnly','_cullFace','reConstruct','_onBaseAnimationEnd','_externalProperties','uniform\x20sampler2DArray\x20','_depthStencilTextureArray','_areImageProcessingDirty','modelIndexOffsetStart','then','_totalPointersPressed','sharedData','FileTools','_renderEncoder','Depth\x20texture\x20format\x20is\x20not\x20supported.','setFloat3','imageProcessingCompatibility','clipPlane3','_IsGPUBuffer','_pointerX','clipPlaneFragmentDeclaration','enableVR','Texture\x20loader\x20does\x20not\x20support\x20cascades.','hasSpecificMask',',\x20binding\x20=\x20','No\x20fixed\x20size\x20for\x20Depth24Plus\x20format!','unshift','layerMask','ACTION_OnPickTrigger','waterPixelShader','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20','REPLACE','_vrDisplay','_opStencilFail','_textures','sharpenPixelShader','_onKeyUp','shadowMapFragmentSoftTransparentShadow',')\x20in\x20','_samples','thinInstanceBufferUpdated','_SimplifyNegation','_context','msaaTexture','textures','maxFilterSize','textureInfos','depthSampler','float\x20distanceSquared(vec2\x20a,vec2\x20b)\x20{\x20a-=b;\x20return\x20dot(a,a);\x20}\x0a/**\x0aparam\x20csOrigin\x20Camera-space\x20ray\x20origin,which\x20must\x20be\x20\x0awithin\x20the\x20view\x20volume\x20and\x20must\x20have\x20z>0.01\x20and\x20project\x20within\x20the\x20valid\x20screen\x20rectangle\x0aparam\x20csDirection\x20Unit\x20length\x20camera-space\x20ray\x20direction\x0aparam\x20projectToPixelMatrix\x20A\x20projection\x20matrix\x20that\x20maps\x20to\x20**pixel**\x20coordinates\x20\x0a(**not**\x20[-1,+1]\x20normalized\x20device\x20coordinates).\x0aparam\x20csZBuffer\x20The\x20camera-space\x20Z\x20buffer\x0aparam\x20csZBufferSize\x20Dimensions\x20of\x20csZBuffer\x0aparam\x20csZThickness\x20Camera\x20space\x20csZThickness\x20to\x20ascribe\x20to\x20each\x20pixel\x20in\x20the\x20depth\x20buffer\x0aparam\x20nearPlaneZ\x20Positive\x20number.\x20Doesn\x27t\x20have\x20to\x20be\x20THE\x20actual\x20near\x20plane,just\x20a\x20reasonable\x20value\x0afor\x20clipping\x20rays\x20headed\x20towards\x20the\x20camera\x0aparam\x20stride\x20Step\x20in\x20horizontal\x20or\x20vertical\x20pixels\x20between\x20samples.\x20This\x20is\x20a\x20float\x0abecause\x20integer\x20math\x20is\x20slow\x20on\x20GPUs,but\x20should\x20be\x20set\x20to\x20an\x20integer>=1\x0aparam\x20jitterFraction\x20Number\x20between\x200\x20and\x201\x20for\x20how\x20far\x20to\x20bump\x20the\x20ray\x20in\x20stride\x20units\x0ato\x20conceal\x20banding\x20artifacts,plus\x20the\x20stride\x20ray\x20offset.\x0aparam\x20maxSteps\x20Maximum\x20number\x20of\x20iterations.\x20Higher\x20gives\x20better\x20images\x20but\x20may\x20be\x20slow\x0aparam\x20maxRayTraceDistance\x20Maximum\x20camera-space\x20distance\x20to\x20trace\x20before\x20returning\x20a\x20miss\x0aparam\x20selfCollisionNumSkip\x20Number\x20of\x20steps\x20to\x20skip\x20at\x20start\x20when\x20raytracing\x20to\x20avoid\x20self\x20collisions.\x0a1\x20is\x20a\x20reasonable\x20value,depending\x20on\x20the\x20scene\x20you\x20may\x20need\x20to\x20set\x20this\x20value\x20to\x202\x0aparam\x20hitPixel\x20Pixel\x20coordinates\x20of\x20the\x20first\x20intersection\x20with\x20the\x20scene\x0aparam\x20numIterations\x20number\x20of\x20iterations\x20performed\x0aparam\x20csHitPoint\x20Camera\x20space\x20location\x20of\x20the\x20ray\x20hit\x0a*/\x0a#define\x20inline\x0abool\x20traceScreenSpaceRay1(\x0avec3\x20csOrigin,\x0avec3\x20csDirection,\x0amat4\x20projectToPixelMatrix,\x0asampler2D\x20csZBuffer,\x0avec2\x20csZBufferSize,\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0asampler2D\x20csZBackBuffer,\x0afloat\x20csZBackSizeFactor,\x0a#endif\x0afloat\x20csZThickness,\x0afloat\x20nearPlaneZ,\x0afloat\x20stride,\x0afloat\x20jitterFraction,\x0afloat\x20maxSteps,\x0afloat\x20maxRayTraceDistance,\x0afloat\x20selfCollisionNumSkip,\x0aout\x20vec2\x20startPixel,\x0aout\x20vec2\x20hitPixel,\x0aout\x20vec3\x20csHitPoint,\x0aout\x20float\x20numIterations\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0a,out\x20vec3\x20debugColor\x0a#endif\x0a)\x0a{\x0a#ifdef\x20SSRAYTRACE_RIGHT_HANDED_SCENE\x0afloat\x20rayLength=(csOrigin.z+csDirection.z*maxRayTraceDistance)>-nearPlaneZ\x20?\x20(-nearPlaneZ-csOrigin.z)/csDirection.z\x20:\x20maxRayTraceDistance;\x0a#else\x0afloat\x20rayLength=(csOrigin.z+csDirection.z*maxRayTraceDistance)<nearPlaneZ\x20?\x20(nearPlaneZ-csOrigin.z)/csDirection.z\x20:\x20maxRayTraceDistance;\x0a#endif\x0avec3\x20csEndPoint=csOrigin+csDirection*rayLength;\x0ahitPixel=vec2(-1.0,-1.0);\x0avec4\x20H0=projectToPixelMatrix*vec4(csOrigin,1.0);\x0avec4\x20H1=projectToPixelMatrix*vec4(csEndPoint,1.0);\x0afloat\x20k0=1.0/H0.w;\x0afloat\x20k1=1.0/H1.w;\x0avec3\x20Q0=csOrigin*k0;\x0avec3\x20Q1=csEndPoint*k1;\x0avec2\x20P0=H0.xy*k0;\x0avec2\x20P1=H1.xy*k1;\x0a#ifdef\x20SSRAYTRACE_CLIP_TO_FRUSTUM\x0afloat\x20xMax=csZBufferSize.x-0.5,xMin=0.5,yMax=csZBufferSize.y-0.5,yMin=0.5;\x0afloat\x20alpha=0.0;\x0aif\x20((P1.y>yMax)\x20||\x20(P1.y<yMin))\x20{\x0aalpha=(P1.y-((P1.y>yMax)\x20?\x20yMax\x20:\x20yMin))/(P1.y-P0.y);\x0a}\x0aif\x20((P1.x>xMax)\x20||\x20(P1.x<xMin))\x20{\x0aalpha=max(alpha,(P1.x-((P1.x>xMax)\x20?\x20xMax\x20:\x20xMin))/(P1.x-P0.x));\x0a}\x0aP1=mix(P1,P0,alpha);\x20k1=mix(k1,k0,alpha);\x20Q1=mix(Q1,Q0,alpha);\x0a#endif\x0aP1+=vec2((distanceSquared(P0,P1)<0.0001)\x20?\x200.01\x20:\x200.0);\x0avec2\x20delta=P1-P0;\x0abool\x20permute=false;\x0aif\x20(abs(delta.x)<abs(delta.y))\x20{\x20\x0apermute=true;\x0adelta=delta.yx;\x0aP0=P0.yx;\x0aP1=P1.yx;\x20\x0a}\x0afloat\x20stepDirection=sign(delta.x);\x0afloat\x20invdx=stepDirection/delta.x;\x0avec2\x20dP=vec2(stepDirection,delta.y*invdx);\x0avec3\x20dQ=(Q1-Q0)*invdx;\x0afloat\x20dk=(k1-k0)*invdx;\x0afloat\x20zMin=min(csEndPoint.z,csOrigin.z);\x0afloat\x20zMax=max(csEndPoint.z,csOrigin.z);\x0adP*=stride;\x20dQ*=stride;\x20dk*=stride;\x0aP0+=dP*jitterFraction;\x20Q0+=dQ*jitterFraction;\x20k0+=dk*jitterFraction;\x0avec4\x20pqk=vec4(P0,Q0.z,k0);\x0avec4\x20dPQK=vec4(dP,dQ.z,dk);\x0astartPixel=permute\x20?\x20P0.yx\x20:\x20P0.xy;\x0afloat\x20prevZMaxEstimate=csOrigin.z;\x0afloat\x20rayZMin=prevZMaxEstimate,rayZMax=prevZMaxEstimate;\x0afloat\x20sceneZMax=rayZMax+1e4;\x0afloat\x20end=P1.x*stepDirection;\x0abool\x20hit=false;\x0afloat\x20stepCount;\x0afor\x20(stepCount=0.0;\x0astepCount<=selfCollisionNumSkip\x20||\x0a(pqk.x*stepDirection)<=end\x20&&\x0astepCount<maxSteps\x20&&\x0a!hit\x20&&\x0asceneZMax\x20!=\x200.0;\x20\x0apqk+=dPQK,++stepCount)\x0a{\x0ahitPixel=permute\x20?\x20pqk.yx\x20:\x20pqk.xy;\x0arayZMin=prevZMaxEstimate;\x0arayZMax=(dPQK.z*0.5+pqk.z)/(dPQK.w*0.5+pqk.w);\x0arayZMax=clamp(rayZMax,zMin,zMax);\x0aprevZMaxEstimate=rayZMax;\x0aif\x20(rayZMin>rayZMax)\x20{\x20\x0afloat\x20t=rayZMin;\x20rayZMin=rayZMax;\x20rayZMax=t;\x0a}\x0asceneZMax=texelFetch(csZBuffer,ivec2(hitPixel),0).r;\x0a#ifdef\x20SSRAYTRACE_RIGHT_HANDED_SCENE\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0afloat\x20sceneBackZ=texelFetch(csZBackBuffer,ivec2(hitPixel/csZBackSizeFactor),0).r;\x0ahit=(rayZMax>=sceneBackZ-csZThickness)\x20&&\x20(rayZMin<=sceneZMax);\x0a#else\x0ahit=(rayZMax>=sceneZMax-csZThickness)\x20&&\x20(rayZMin<=sceneZMax);\x0a#endif\x0a#else\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0afloat\x20sceneBackZ=texelFetch(csZBackBuffer,ivec2(hitPixel/csZBackSizeFactor),0).r;\x0ahit=(rayZMin<=sceneBackZ+csZThickness)\x20&&\x20(rayZMax>=sceneZMax)\x20&&\x20(sceneZMax\x20!=\x200.0);\x0a#else\x0ahit=(rayZMin<=sceneZMax+csZThickness)\x20&&\x20(rayZMax>=sceneZMax);\x0a#endif\x0a#endif\x0a}\x0apqk-=dPQK;\x0astepCount-=1.0;\x0a#ifdef\x20SSRAYTRACE_ENABLE_REFINEMENT\x0aif\x20(stride>1.0\x20&&\x20hit)\x20{\x0apqk-=dPQK;\x0astepCount-=1.0;\x0afloat\x20invStride=1.0/stride;\x0adPQK*=invStride;\x0afloat\x20refinementStepCount=0.0;\x0aprevZMaxEstimate=pqk.z/pqk.w;\x0arayZMax=prevZMaxEstimate;\x0asceneZMax=rayZMax+1e7;\x0afor\x20(;\x0arefinementStepCount<=1.0\x20||\x0a(refinementStepCount<=stride*1.4)\x20&&\x0a(rayZMax<sceneZMax)\x20&&\x20(sceneZMax\x20!=\x200.0);\x0apqk+=dPQK,refinementStepCount+=1.0)\x0a{\x0arayZMin=prevZMaxEstimate;\x0arayZMax=(dPQK.z*0.5+pqk.z)/(dPQK.w*0.5+pqk.w);\x0arayZMax=clamp(rayZMax,zMin,zMax);\x0aprevZMaxEstimate=rayZMax;\x0arayZMax=max(rayZMax,rayZMin);\x0ahitPixel=permute\x20?\x20pqk.yx\x20:\x20pqk.xy;\x0asceneZMax=texelFetch(csZBuffer,ivec2(hitPixel),0).r;\x0a}\x0apqk-=dPQK;\x0arefinementStepCount-=1.0;\x0astepCount+=refinementStepCount/stride;\x0a}\x0a#endif\x0aQ0.xy+=dQ.xy*stepCount;\x0aQ0.z=pqk.z;\x0acsHitPoint=Q0/pqk.w;\x0anumIterations=stepCount+1.0;\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0aif\x20(((pqk.x+dPQK.x)*stepDirection)>end)\x20{\x0adebugColor=vec3(0,0,1);\x0a}\x20else\x20if\x20((stepCount+1.0)>=maxSteps)\x20{\x0adebugColor=vec3(1,0,0);\x0a}\x20else\x20if\x20(sceneZMax==0.0)\x20{\x0adebugColor=vec3(1,1,0);\x0a}\x20else\x20{\x0adebugColor=vec3(0,stepCount/maxSteps,0);\x0a}\x0a#endif\x0areturn\x20hit;\x0a}\x0a','visibleModelBox','attribute\x20vec2\x20position;\x0auniform\x20vec2\x20delta;\x0avarying\x20vec2\x20sampleCenter;\x0a#include<kernelBlurVaryingDeclaration>[0..varyingCount]\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0asampleCenter=(position*madd+madd);\x0a#include<kernelBlurVertex>[0..varyingCount]\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','_bindUnboundFramebuffer','ASTC8x8UnormSRGB','varying','layerCounts','ASTC12x10Unorm','_singleClick','#ifdef\x20ALPHATEST\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0avarying\x20float\x20vDepthMetric;\x0a#ifdef\x20PACKED\x0a#include<packingFunctions>\x0a#endif\x0a#ifdef\x20STORE_CAMERASPACE_Z\x0avarying\x20vec4\x20vViewPos;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include<clipPlaneFragment>\x0a#ifdef\x20ALPHATEST\x0aif\x20(texture2D(diffuseSampler,vUV).a<0.4)\x0adiscard;\x0a#endif\x0a#ifdef\x20STORE_CAMERASPACE_Z\x0a#ifdef\x20PACKED\x0agl_FragColor=pack(vViewPos.z);\x0a#else\x0agl_FragColor=vec4(vViewPos.z,0.0,0.0,1.0);\x0a#endif\x0a#else\x0a#ifdef\x20NONLINEARDEPTH\x0a#ifdef\x20PACKED\x0agl_FragColor=pack(gl_FragCoord.z);\x0a#else\x0agl_FragColor=vec4(gl_FragCoord.z,0.0,0.0,0.0);\x0a#endif\x0a#else\x0a#ifdef\x20PACKED\x0agl_FragColor=pack(vDepthMetric);\x0a#else\x0agl_FragColor=vec4(vDepthMetric,0.0,0.0,1.0);\x0a#endif\x0a#endif\x0a#endif\x0a}','dataStoreDataCurrentBufferBlockIndex','uniformBuffer','R32Float','updateTexture:\x20Can\x27t\x20process\x20the\x20texture\x20data\x20because\x20a\x20GPUTexture\x20was\x20provided\x20instead\x20of\x20an\x20InternalTexture!','clipPlaneVertex','Error','numBoneInfluencers','void\x20main(','#ifdef\x20FOG\x0avarying\x20vec3\x20vFogDistance;\x0a#endif\x0a','onPointerDown','fragmentShader','ownerBlock','outlinePixelShader','_OnGenerateOnlyFragmentCodeChanged','boundingBoxRendererVertexDeclaration','_frustumPlanes','_TextureTypeByWebGLSamplerType','_depthRTWrapper','#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0alayout(location=0)\x20out\x20vec4\x20glFragData[{X}];\x0a#endif\x0a','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20float\x20kernel[9];\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20onePixel=vec2(1.0,1.0)/screenSize;\x0avec4\x20colorSum\x20=\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,-1))*kernel[0]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,-1))*kernel[1]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,-1))*kernel[2]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,0))*kernel[3]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,0))*kernel[4]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,0))*kernel[5]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,1))*kernel[6]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,1))*kernel[7]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,1))*kernel[8];\x0afloat\x20kernelWeight\x20=\x0akernel[0]\x20+\x0akernel[1]\x20+\x0akernel[2]\x20+\x0akernel[3]\x20+\x0akernel[4]\x20+\x0akernel[5]\x20+\x0akernel[6]\x20+\x0akernel[7]\x20+\x0akernel[8];\x0aif\x20(kernelWeight<=0.0)\x20{\x0akernelWeight=1.0;\x0a}\x0agl_FragColor=vec4((colorSum/kernelWeight).rgb,1);\x0a}','_rigCameras','ExponentialBackoff','emitVertex','depthBoxBlurPixelShader','setPhysicsLinkWith','_disposePhysicsObserver','skyVertexShader','coneAngle','setVector3','getBaseSize','_options','_hardwareTexture','copyFrom','_cloneRenderTargetWrapper','DEPTH_COMPONENT24','beginComputePass','supportCascades','zOffset','source','InvertY',')\x20uniform\x20','copyFromFloats','TEXTUREFORMAT_COMPRESSED_RGBA_ASTC_4x4','distanceOrScreenCoverage','uniform\x20mat4\x20world;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0a','pbrBlockFinalUnlitComponents','TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV\x20format\x20not\x20supported\x20in\x20WebGPU','_WEBGL','DYNAMIC_DRAW','resetStencilState','TEXTURETYPE_INT','_cache','TEXTURE_INVCUBIC_MODE','#ifdef\x20PREPASS\x0a#extension\x20GL_EXT_draw_buffers\x20:\x20require\x0alayout(location=0)\x20out\x20highp\x20vec4\x20glFragData[{X}];highp\x20vec4\x20gl_FragColor;\x0a#ifdef\x20PREPASS_DEPTH\x0avarying\x20highp\x20vec3\x20vViewPos;\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0avarying\x20highp\x20vec4\x20vCurrentPosition;varying\x20highp\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#endif\x0a','view','_strided_arr','_define3DName','MAINUV5','onSizeChangedObservable','TransformNormal','ASTC5x4UnormSRGB','pickWorldNormal','_mipmapGenRenderPassDescr','_numExternalTextures','animatedInputs','samplerVertexImplementation','_rttRenderPassWrapper','_getSamplingParameters','bonesVertex','matrixBuffer','LINEAR_MIPMAP_LINEAR','_source','u32','setAsSystemValue','ZERO','NEGATIVE_INFINITY','vClipPlane2','_compiledShaders','Generate\x20only\x20fragment\x20code','layers','skyPixelShader','computeElement','struct\x20Mesh\x20{\x0aworld\x20:\x20mat4x4<f32>,\x0avisibility\x20:\x20f32,\x0a};\x0avar<uniform>\x20mesh\x20:\x20Mesh;\x0a#define\x20WORLD_UBO\x0a','#ifdef\x20SHADOWS\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,b)\x20texture2D(s,c,b)\x0a#endif\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20unpack(vec4\x20color)\x0a{\x0aconst\x20vec4\x20bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);\x0areturn\x20dot(color,bit_shift);\x0a}\x0a#endif\x0afloat\x20computeFallOff(float\x20value,vec2\x20clipSpace,float\x20frustumEdgeFalloff)\x0a{\x0afloat\x20mask=smoothstep(1.0-frustumEdgeFalloff,1.00000012,clamp(dot(clipSpace,clipSpace),0.,1.));\x0areturn\x20mix(value,1.0,mask);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20darkness,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0adepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadow=unpack(textureCube(shadowSampler,directionToLight));\x0a#else\x0afloat\x20shadow=textureCube(shadowSampler,directionToLight).x;\x0a#endif\x0areturn\x20depth>shadow\x20?\x20darkness\x20:\x201.0;\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPoissonSamplingCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20mapSize,float\x20darkness,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0adepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0afloat\x20visibility=1.;\x0avec3\x20poissonDisk[4];\x0apoissonDisk[0]=vec3(-1.0,1.0,-1.0);\x0apoissonDisk[1]=vec3(1.0,-1.0,-1.0);\x0apoissonDisk[2]=vec3(-1.0,-1.0,-1.0);\x0apoissonDisk[3]=vec3(1.0,-1.0,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[0]*mapSize))<depth)\x20visibility-=0.25;\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[1]*mapSize))<depth)\x20visibility-=0.25;\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[2]*mapSize))<depth)\x20visibility-=0.25;\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[3]*mapSize))<depth)\x20visibility-=0.25;\x0a#else\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[0]*mapSize).x<depth)\x20visibility-=0.25;\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[1]*mapSize).x<depth)\x20visibility-=0.25;\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[2]*mapSize).x<depth)\x20visibility-=0.25;\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[3]*mapSize).x<depth)\x20visibility-=0.25;\x0a#endif\x0areturn\x20min(1.0,visibility+darkness);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithESMCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20darkness,float\x20depthScale,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0afloat\x20shadowPixelDepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(textureCube(shadowSampler,directionToLight));\x0a#else\x0afloat\x20shadowMapSample=textureCube(shadowSampler,directionToLight).x;\x0a#endif\x0afloat\x20esm=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);\x20\x0areturn\x20esm;\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCloseESMCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20darkness,float\x20depthScale,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0afloat\x20shadowPixelDepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(textureCube(shadowSampler,directionToLight));\x0a#else\x0afloat\x20shadowMapSample=textureCube(shadowSampler,directionToLight).x;\x0a#endif\x0afloat\x20esm=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);\x0areturn\x20esm;\x0a}\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20inline\x0afloat\x20computeShadowCSM(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0avec3\x20uvLayer=vec3(uv.x,uv.y,layer);\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadow=unpack(texture2D(shadowSampler,uvLayer));\x0a#else\x0afloat\x20shadow=texture2D(shadowSampler,uvLayer).x;\x0a#endif\x0areturn\x20shadowPixelDepth>shadow\x20?\x20computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff)\x20:\x201.;\x0a}\x0a#endif\x0a#define\x20inline\x0afloat\x20computeShadow(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadow=unpack(TEXTUREFUNC(shadowSampler,uv,0.));\x0a#else\x0afloat\x20shadow=TEXTUREFUNC(shadowSampler,uv,0.).x;\x0a#endif\x0areturn\x20shadowPixelDepth>shadow\x20?\x20computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff)\x20:\x201.;\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPoissonSampling(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20mapSize,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0afloat\x20visibility=1.;\x0avec2\x20poissonDisk[4];\x0apoissonDisk[0]=vec2(-0.94201624,-0.39906216);\x0apoissonDisk[1]=vec2(0.94558609,-0.76890725);\x0apoissonDisk[2]=vec2(-0.094184101,-0.92938870);\x0apoissonDisk[3]=vec2(0.34495938,0.29387760);\x0a#ifndef\x20SHADOWFLOAT\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[0]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[1]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[2]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[3]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0a#else\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[0]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[1]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[2]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[3]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0a#endif\x0areturn\x20computeFallOff(min(1.0,visibility+darkness),clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithESM(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20darkness,float\x20depthScale,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(TEXTUREFUNC(shadowSampler,uv,0.));\x0a#else\x0afloat\x20shadowMapSample=TEXTUREFUNC(shadowSampler,uv,0.).x;\x0a#endif\x0afloat\x20esm=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);\x0areturn\x20computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCloseESM(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20darkness,float\x20depthScale,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x20\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(TEXTUREFUNC(shadowSampler,uv,0.));\x0a#else\x0afloat\x20shadowMapSample=TEXTUREFUNC(shadowSampler,uv,0.).x;\x0a#endif\x0afloat\x20esm=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);\x0areturn\x20computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#ifdef\x20IS_NDC_HALF_ZRANGE\x0a#define\x20ZINCLIP\x20clipSpace.z\x0a#else\x0a#define\x20ZINCLIP\x20uvDepth.z\x0a#endif\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20GREATEST_LESS_THAN_ONE\x200.99999994\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCF1(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec4\x20uvDepthLayer=vec4(uvDepth.x,uvDepth.y,layer,uvDepth.z);\x0afloat\x20shadow=texture2D(shadowSampler,uvDepthLayer);\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCF3(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArrayShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=3.-2.*st;\x0avec2\x20uvw1=1.+2.*st;\x0avec2\x20u=vec2((2.-st.x)/uvw0.x-1.,st.x/uvw1.x+1.)*shadowMapSizeAndInverse.y;\x0avec2\x20v=vec2((2.-st.y)/uvw0.y-1.,st.y/uvw1.y+1.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[0]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[0]),layer,uvDepth.z));\x0ashadow+=uvw0.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[1]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[1]),layer,uvDepth.z));\x0ashadow=shadow/16.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCF5(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArrayShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=4.-3.*st;\x0avec2\x20uvw1=vec2(7.);\x0avec2\x20uvw2=1.+3.*st;\x0avec3\x20u=vec3((3.-2.*st.x)/uvw0.x-2.,(3.+st.x)/uvw1.x,st.x/uvw2.x+2.)*shadowMapSizeAndInverse.y;\x0avec3\x20v=vec3((3.-2.*st.y)/uvw0.y-2.,(3.+st.y)/uvw1.y,st.y/uvw2.y+2.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[0]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[0]),layer,uvDepth.z));\x0ashadow+=uvw2.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[0]),layer,uvDepth.z));\x0ashadow+=uvw0.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[1]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[1]),layer,uvDepth.z));\x0ashadow+=uvw2.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[1]),layer,uvDepth.z));\x0ashadow+=uvw0.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[2]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[2]),layer,uvDepth.z));\x0ashadow+=uvw2.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[2]),layer,uvDepth.z));\x0ashadow=shadow/144.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCF1(vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DShadow\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0afloat\x20shadow=TEXTUREFUNC(shadowSampler,uvDepth,0.);\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCF3(vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=3.-2.*st;\x0avec2\x20uvw1=1.+2.*st;\x0avec2\x20u=vec2((2.-st.x)/uvw0.x-1.,st.x/uvw1.x+1.)*shadowMapSizeAndInverse.y;\x0avec2\x20v=vec2((2.-st.y)/uvw0.y-1.,st.y/uvw1.y+1.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[0]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[0]),uvDepth.z),0.);\x0ashadow+=uvw0.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[1]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[1]),uvDepth.z),0.);\x0ashadow=shadow/16.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCF5(vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=4.-3.*st;\x0avec2\x20uvw1=vec2(7.);\x0avec2\x20uvw2=1.+3.*st;\x0avec3\x20u=vec3((3.-2.*st.x)/uvw0.x-2.,(3.+st.x)/uvw1.x,st.x/uvw2.x+2.)*shadowMapSizeAndInverse.y;\x0avec3\x20v=vec3((3.-2.*st.y)/uvw0.y-2.,(3.+st.y)/uvw1.y,st.y/uvw2.y+2.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[0]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[0]),uvDepth.z),0.);\x0ashadow+=uvw2.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[0]),uvDepth.z),0.);\x0ashadow+=uvw0.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[1]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[1]),uvDepth.z),0.);\x0ashadow+=uvw2.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[1]),uvDepth.z),0.);\x0ashadow+=uvw0.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[2]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[2]),uvDepth.z),0.);\x0ashadow+=uvw2.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[2]),uvDepth.z),0.);\x0ashadow=shadow/144.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0aconst\x20vec3\x20PoissonSamplers32[64]=vec3[64](\x0avec3(0.06407013,0.05409927,0.),\x0avec3(0.7366577,0.5789394,0.),\x0avec3(-0.6270542,-0.5320278,0.),\x0avec3(-0.4096107,0.8411095,0.),\x0avec3(0.6849564,-0.4990818,0.),\x0avec3(-0.874181,-0.04579735,0.),\x0avec3(0.9989998,0.0009880066,0.),\x0avec3(-0.004920578,-0.9151649,0.),\x0avec3(0.1805763,0.9747483,0.),\x0avec3(-0.2138451,0.2635818,0.),\x0avec3(0.109845,0.3884785,0.),\x0avec3(0.06876755,-0.3581074,0.),\x0avec3(0.374073,-0.7661266,0.),\x0avec3(0.3079132,-0.1216763,0.),\x0avec3(-0.3794335,-0.8271583,0.),\x0avec3(-0.203878,-0.07715034,0.),\x0avec3(0.5912697,0.1469799,0.),\x0avec3(-0.88069,0.3031784,0.),\x0avec3(0.5040108,0.8283722,0.),\x0avec3(-0.5844124,0.5494877,0.),\x0avec3(0.6017799,-0.1726654,0.),\x0avec3(-0.5554981,0.1559997,0.),\x0avec3(-0.3016369,-0.3900928,0.),\x0avec3(-0.5550632,-0.1723762,0.),\x0avec3(0.925029,0.2995041,0.),\x0avec3(-0.2473137,0.5538505,0.),\x0avec3(0.9183037,-0.2862392,0.),\x0avec3(0.2469421,0.6718712,0.),\x0avec3(0.3916397,-0.4328209,0.),\x0avec3(-0.03576927,-0.6220032,0.),\x0avec3(-0.04661255,0.7995201,0.),\x0avec3(0.4402924,0.3640312,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.)\x0a);\x0aconst\x20vec3\x20PoissonSamplers64[64]=vec3[64](\x0avec3(-0.613392,0.617481,0.),\x0avec3(0.170019,-0.040254,0.),\x0avec3(-0.299417,0.791925,0.),\x0avec3(0.645680,0.493210,0.),\x0avec3(-0.651784,0.717887,0.),\x0avec3(0.421003,0.027070,0.),\x0avec3(-0.817194,-0.271096,0.),\x0avec3(-0.705374,-0.668203,0.),\x0avec3(0.977050,-0.108615,0.),\x0avec3(0.063326,0.142369,0.),\x0avec3(0.203528,0.214331,0.),\x0avec3(-0.667531,0.326090,0.),\x0avec3(-0.098422,-0.295755,0.),\x0avec3(-0.885922,0.215369,0.),\x0avec3(0.566637,0.605213,0.),\x0avec3(0.039766,-0.396100,0.),\x0avec3(0.751946,0.453352,0.),\x0avec3(0.078707,-0.715323,0.),\x0avec3(-0.075838,-0.529344,0.),\x0avec3(0.724479,-0.580798,0.),\x0avec3(0.222999,-0.215125,0.),\x0avec3(-0.467574,-0.405438,0.),\x0avec3(-0.248268,-0.814753,0.),\x0avec3(0.354411,-0.887570,0.),\x0avec3(0.175817,0.382366,0.),\x0avec3(0.487472,-0.063082,0.),\x0avec3(-0.084078,0.898312,0.),\x0avec3(0.488876,-0.783441,0.),\x0avec3(0.470016,0.217933,0.),\x0avec3(-0.696890,-0.549791,0.),\x0avec3(-0.149693,0.605762,0.),\x0avec3(0.034211,0.979980,0.),\x0avec3(0.503098,-0.308878,0.),\x0avec3(-0.016205,-0.872921,0.),\x0avec3(0.385784,-0.393902,0.),\x0avec3(-0.146886,-0.859249,0.),\x0avec3(0.643361,0.164098,0.),\x0avec3(0.634388,-0.049471,0.),\x0avec3(-0.688894,0.007843,0.),\x0avec3(0.464034,-0.188818,0.),\x0avec3(-0.440840,0.137486,0.),\x0avec3(0.364483,0.511704,0.),\x0avec3(0.034028,0.325968,0.),\x0avec3(0.099094,-0.308023,0.),\x0avec3(0.693960,-0.366253,0.),\x0avec3(0.678884,-0.204688,0.),\x0avec3(0.001801,0.780328,0.),\x0avec3(0.145177,-0.898984,0.),\x0avec3(0.062655,-0.611866,0.),\x0avec3(0.315226,-0.604297,0.),\x0avec3(-0.780145,0.486251,0.),\x0avec3(-0.371868,0.882138,0.),\x0avec3(0.200476,0.494430,0.),\x0avec3(-0.494552,-0.711051,0.),\x0avec3(0.612476,0.705252,0.),\x0avec3(-0.578845,-0.768792,0.),\x0avec3(-0.772454,-0.090976,0.),\x0avec3(0.504440,0.372295,0.),\x0avec3(0.155736,0.065157,0.),\x0avec3(0.391522,0.849605,0.),\x0avec3(-0.620106,-0.328104,0.),\x0avec3(0.789239,-0.419965,0.),\x0avec3(-0.545396,0.538133,0.),\x0avec3(-0.178564,-0.596057,0.)\x0a);\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,int\x20searchTapCount,int\x20pcfTapCount,vec3[64]\x20poissonSamplers,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec4\x20uvDepthLayer=vec4(uvDepth.x,uvDepth.y,layer,uvDepth.z);\x0afloat\x20blockerDepth=0.0;\x0afloat\x20sumBlockerDepth=0.0;\x0afloat\x20numBlocker=0.0;\x0afor\x20(int\x20i=0;\x20i<searchTapCount;\x20i\x20++)\x20{\x0ablockerDepth=texture2D(depthSampler,vec3(uvDepth.xy+(lightSizeUV*lightSizeUVCorrection*shadowMapSizeInverse*PoissonSamplers32[i].xy),layer)).r;\x0aif\x20(blockerDepth<depthMetric)\x20{\x0asumBlockerDepth+=blockerDepth;\x0anumBlocker++;\x0a}\x0a}\x0afloat\x20avgBlockerDepth=sumBlockerDepth/numBlocker;\x0afloat\x20AAOffset=shadowMapSizeInverse*10.;\x0afloat\x20penumbraRatio=((depthMetric-avgBlockerDepth)*depthCorrection+AAOffset);\x0avec4\x20filterRadius=vec4(penumbraRatio*lightSizeUV*lightSizeUVCorrection*shadowMapSizeInverse,0.,0.);\x0afloat\x20random=getRand(vPositionFromLight.xy);\x0afloat\x20rotationAngle=random*3.1415926;\x0avec2\x20rotationVector=vec2(cos(rotationAngle),sin(rotationAngle));\x0afloat\x20shadow=0.;\x0afor\x20(int\x20i=0;\x20i<pcfTapCount;\x20i++)\x20{\x0avec4\x20offset=vec4(poissonSamplers[i],0.);\x0aoffset=vec4(offset.x*rotationVector.x-offset.y*rotationVector.y,offset.y*rotationVector.x+offset.x*rotationVector.y,0.,0.);\x0ashadow+=texture2D(shadowSampler,uvDepthLayer+offset*filterRadius);\x0a}\x0ashadow/=float(pcfTapCount);\x0ashadow=mix(shadow,1.,min((depthMetric-avgBlockerDepth)*depthCorrection*penumbraDarkness,1.));\x0ashadow=mix(darkness,1.,shadow);\x0aif\x20(numBlocker<1.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,int\x20searchTapCount,int\x20pcfTapCount,vec3[64]\x20poissonSamplers)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0afloat\x20blockerDepth=0.0;\x0afloat\x20sumBlockerDepth=0.0;\x0afloat\x20numBlocker=0.0;\x0afor\x20(int\x20i=0;\x20i<searchTapCount;\x20i\x20++)\x20{\x0ablockerDepth=TEXTUREFUNC(depthSampler,uvDepth.xy+(lightSizeUV*shadowMapSizeInverse*PoissonSamplers32[i].xy),0.).r;\x0aif\x20(blockerDepth<depthMetric)\x20{\x0asumBlockerDepth+=blockerDepth;\x0anumBlocker++;\x0a}\x0a}\x0aif\x20(numBlocker<1.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20avgBlockerDepth=sumBlockerDepth/numBlocker;\x0afloat\x20AAOffset=shadowMapSizeInverse*10.;\x0afloat\x20penumbraRatio=((depthMetric-avgBlockerDepth)+AAOffset);\x0afloat\x20filterRadius=penumbraRatio*lightSizeUV*shadowMapSizeInverse;\x0afloat\x20random=getRand(vPositionFromLight.xy);\x0afloat\x20rotationAngle=random*3.1415926;\x0avec2\x20rotationVector=vec2(cos(rotationAngle),sin(rotationAngle));\x0afloat\x20shadow=0.;\x0afor\x20(int\x20i=0;\x20i<pcfTapCount;\x20i++)\x20{\x0avec3\x20offset=poissonSamplers[i];\x0aoffset=vec3(offset.x*rotationVector.x-offset.y*rotationVector.y,offset.y*rotationVector.x+offset.x*rotationVector.y,0.);\x0ashadow+=TEXTUREFUNC(shadowSampler,uvDepth+offset*filterRadius,0.);\x0a}\x0ashadow/=float(pcfTapCount);\x0ashadow=mix(shadow,1.,depthMetric-avgBlockerDepth);\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS16(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0areturn\x20computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS32(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0areturn\x20computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS64(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0areturn\x20computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS16(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0areturn\x20computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS32(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0areturn\x20computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS64(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0areturn\x20computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64,lightSizeUVCorrection,depthCorrection,penumbraDarkness);\x0a}\x0a#endif\x0a#endif\x0a','substr','_getVertexShaderCode','getVaryingNextLocation','Sint','inputIndex','setTexture','updateRenderTargetTextureSampleCount','precision\x20highp\x20float;\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20SSAO\x0afloat\x20scales[16]=float[16](\x0a0.1,\x0a0.11406250000000001,\x0a0.131640625,\x0a0.15625,\x0a0.187890625,\x0a0.2265625,\x0a0.272265625,\x0a0.325,\x0a0.384765625,\x0a0.4515625,\x0a0.525390625,\x0a0.60625,\x0a0.694140625,\x0a0.7890625,\x0a0.891015625,\x0a1.0\x0a);\x0auniform\x20float\x20near;\x0auniform\x20float\x20radius;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20sampler2D\x20randomSampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20float\x20randTextureTiles;\x0auniform\x20float\x20samplesFactor;\x0auniform\x20vec3\x20sampleSphere[SAMPLES];\x0auniform\x20float\x20totalStrength;\x0auniform\x20float\x20base;\x0auniform\x20float\x20xViewport;\x0auniform\x20float\x20yViewport;\x0auniform\x20mat3\x20depthProjection;\x0auniform\x20float\x20maxZ;\x0auniform\x20float\x20minZAspect;\x0auniform\x20vec2\x20texelSize;\x0auniform\x20mat4\x20projection;\x0avoid\x20main()\x0a{\x0avec3\x20random=textureLod(randomSampler,vUV*randTextureTiles,0.0).rgb;\x0afloat\x20depth=textureLod(depthSampler,vUV,0.0).r;\x0afloat\x20depthSign=depth/abs(depth);\x0adepth=depth*depthSign;\x0avec3\x20normal=textureLod(normalSampler,vUV,0.0).rgb;\x0afloat\x20occlusion=0.0;\x0afloat\x20correctedRadius=min(radius,minZAspect*depth/near);\x0avec3\x20vViewRay=vec3((vUV.x*2.0-1.0)*xViewport,(vUV.y*2.0-1.0)*yViewport,depthSign);\x0avec3\x20vDepthFactor=depthProjection*vec3(1.0,1.0,depth);\x0avec3\x20origin=vViewRay*vDepthFactor;\x0avec3\x20rvec=random*2.0-1.0;\x0arvec.z=0.0;\x0afloat\x20dotProduct=dot(rvec,normal);\x0arvec=1.0-abs(dotProduct)>1e-2\x20?\x20rvec\x20:\x20vec3(-rvec.y,0.0,rvec.x);\x0avec3\x20tangent=normalize(rvec-normal*dot(rvec,normal));\x0avec3\x20bitangent=cross(normal,tangent);\x0amat3\x20tbn=mat3(tangent,bitangent,normal);\x0afloat\x20difference;\x0afor\x20(int\x20i=0;\x20i<SAMPLES;\x20++i)\x20{\x0avec3\x20samplePosition=scales[(i+int(random.x*16.0))\x20%\x2016]*tbn*sampleSphere[(i+int(random.y*16.0))\x20%\x2016];\x0asamplePosition=samplePosition*correctedRadius+origin;\x0avec4\x20offset=vec4(samplePosition,1.0);\x0aoffset=projection*offset;\x0aoffset.xyz/=offset.w;\x0aoffset.xy=offset.xy*0.5+0.5;\x0aif\x20(offset.x<0.0\x20||\x20offset.y<0.0\x20||\x20offset.x>1.0\x20||\x20offset.y>1.0)\x20{\x0acontinue;\x0a}\x0afloat\x20sampleDepth=abs(textureLod(depthSampler,offset.xy,0.0).r);\x0adifference=depthSign*samplePosition.z-sampleDepth;\x0afloat\x20rangeCheck=1.0-smoothstep(correctedRadius*0.5,correctedRadius,difference);\x0aocclusion+=step(EPSILON,difference)*rangeCheck;\x0a}\x0aocclusion=occlusion*(1.0-smoothstep(maxZ*0.75,maxZ,depth));\x0afloat\x20ao=1.0-totalStrength*occlusion*samplesFactor;\x0afloat\x20result=clamp(ao+base,0.0,1.0);\x0agl_FragColor=vec4(vec3(result),1.0);\x0a}\x0a#endif\x0a#ifdef\x20BLUR\x0auniform\x20float\x20outSize;\x0auniform\x20float\x20soften;\x0auniform\x20float\x20tolerance;\x0auniform\x20int\x20samples;\x0a#ifndef\x20BLUR_BYPASS\x0auniform\x20sampler2D\x20depthSampler;\x0a#ifdef\x20BLUR_LEGACY\x0a#define\x20inline\x0afloat\x20blur13Bilateral(sampler2D\x20image,vec2\x20uv,vec2\x20step)\x20{\x0afloat\x20result=0.0;\x0avec2\x20off1=vec2(1.411764705882353)*step;\x0avec2\x20off2=vec2(3.2941176470588234)*step;\x0avec2\x20off3=vec2(5.176470588235294)*step;\x0afloat\x20compareDepth=abs(textureLod(depthSampler,uv,0.0).r);\x0afloat\x20sampleDepth;\x0afloat\x20weight;\x0afloat\x20weightSum=30.0;\x0aresult+=textureLod(image,uv,0.0).r*30.0;\x0asampleDepth=abs(textureLod(depthSampler,uv+off1,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=\x20weight;\x0aresult+=textureLod(image,uv+off1,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv-off1,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=\x20weight;\x0aresult+=textureLod(image,uv-off1,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv+off2,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0aresult+=textureLod(image,uv+off2,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv-off2,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0aresult+=textureLod(image,uv-off2,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv+off3,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0aresult+=textureLod(image,uv+off3,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv-off3,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0aresult+=textureLod(image,uv-off3,0.0).r*weight;\x0areturn\x20result/weightSum;\x0a}\x0a#endif\x0a#endif\x0avoid\x20main()\x0a{\x0afloat\x20result=0.0;\x0a#ifdef\x20BLUR_BYPASS\x0aresult=textureLod(textureSampler,vUV,0.0).r;\x0a#else\x0a#ifdef\x20BLUR_H\x0avec2\x20step=vec2(1.0/outSize,0.0);\x0a#else\x0avec2\x20step=vec2(0.0,1.0/outSize);\x0a#endif\x0a#ifdef\x20BLUR_LEGACY\x0aresult=blur13Bilateral(textureSampler,vUV,step);\x0a#else\x0afloat\x20compareDepth=abs(textureLod(depthSampler,vUV,0.0).r);\x0afloat\x20weightSum=0.0;\x0afor\x20(int\x20i=-samples;\x20i<samples;\x20i+=2)\x0a{\x0avec2\x20samplePos=vUV+step*(float(i)+0.5);\x0afloat\x20sampleDepth=abs(textureLod(depthSampler,samplePos,0.0).r);\x0afloat\x20falloff=smoothstep(0.0,\x0afloat(samples),\x0afloat(samples)-abs(float(i))*soften);\x0afloat\x20minDivider=tolerance*0.5+0.003;\x0afloat\x20weight=falloff/(\x20minDivider+abs(compareDepth-sampleDepth));\x0aresult+=textureLod(textureSampler,samplePos,0.0).r*weight;\x0aweightSum+=weight;\x0a}\x0aresult/=weightSum;\x0a#endif\x0a#endif\x0agl_FragColor.rgb=vec3(result);\x0agl_FragColor.a=1.0;\x0a}\x0a#endif\x0a','vec4\x20finalColor=vec4(\x0a#ifndef\x20UNLIT\x0a#ifdef\x20REFLECTION\x0afinalIrradiance\x20+\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0afinalSpecularScaled\x20+\x0a#endif\x0a#ifdef\x20SHEEN\x0afinalSheenScaled\x20+\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0afinalClearCoatScaled\x20+\x0a#endif\x0a#ifdef\x20REFLECTION\x0afinalRadianceScaled\x20+\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x0asheenOut.finalSheenRadianceScaled\x20+\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aclearcoatOut.finalClearCoatRadianceScaled\x20+\x0a#endif\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0asubSurfaceOut.finalRefraction\x20+\x0a#endif\x0a#endif\x0afinalAmbient\x20+\x0afinalDiffuse,\x0aalpha);\x0a#ifdef\x20LIGHTMAP\x0a#ifndef\x20LIGHTMAPEXCLUDED\x0a#ifdef\x20USELIGHTMAPASSHADOWMAP\x0afinalColor.rgb*=lightmapColor.rgb;\x0a#else\x0afinalColor.rgb+=lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#endif\x0afinalColor.rgb+=finalEmissive;\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FOG\x0afinalColor=max(finalColor,0.0);\x0a','from','externalTextureSamplerBinding','destroy','TEXTUREFORMAT_BGRA','Depth24UnormStencil8','clipPlane4','uScale','waterVertexShader','ignore','vec4\x20','RGBA32Sint','_loopAnimation','GetDepthFormatOnly','TEXTURE_NEAREST_SAMPLINGMODE','format','_frameLastBuffer','alphaBlend','2DSampler','volumetricLightScatteringPassVertexShader','isIntermediate','precision\x20highp\x20float;\x0a','directRender','#ifdef\x20ORDER_INDEPENDENT_TRANSPARENCY\x0afloat\x20fragDepth=gl_FragCoord.z;\x20\x0a#ifdef\x20ORDER_INDEPENDENT_TRANSPARENCY_16BITS\x0auint\x20halfFloat=packHalf2x16(vec2(fragDepth));\x0avec2\x20full=unpackHalf2x16(halfFloat);\x0afragDepth=full.x;\x0a#endif\x0aivec2\x20fragCoord=ivec2(gl_FragCoord.xy);\x0avec2\x20lastDepth=texelFetch(oitDepthSampler,fragCoord,0).rg;\x0avec4\x20lastFrontColor=texelFetch(oitFrontColorSampler,fragCoord,0);\x0adepth.rg=vec2(-MAX_DEPTH);\x0afrontColor=lastFrontColor;\x0abackColor=vec4(0.0);\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0afloat\x20furthestDepth=-lastDepth.x;\x0afloat\x20nearestDepth=lastDepth.y;\x0a#else\x0afloat\x20nearestDepth=-lastDepth.x;\x0afloat\x20furthestDepth=lastDepth.y;\x0a#endif\x0afloat\x20alphaMultiplier=1.0-lastFrontColor.a;\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0aif\x20(fragDepth>nearestDepth\x20||\x20fragDepth<furthestDepth)\x20{\x0a#else\x0aif\x20(fragDepth<nearestDepth\x20||\x20fragDepth>furthestDepth)\x20{\x0a#endif\x0areturn;\x0a}\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0aif\x20(fragDepth<nearestDepth\x20&&\x20fragDepth>furthestDepth)\x20{\x0a#else\x0aif\x20(fragDepth>nearestDepth\x20&&\x20fragDepth<furthestDepth)\x20{\x0a#endif\x0adepth.rg=vec2(-fragDepth,fragDepth);\x0areturn;\x0a}\x0a#endif\x0a','(-internals.yFactor_)*dpdy','_buildIndexBuffer','TempTextureForUpdateTexture','MipMap','_submitVRFrame','_builtCompilationString','doubleClick','ConeParticleEmitter','done','_isBlendConstantsDirty','worldUp','RGB10A2Unorm','noisePixelShader','iridescence','iridescenceOut','postProcessor','depthTextureFormat','_webgpuProcessingContext','deleteQuery','.xy;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','Instantiate','sqrt','TEXTURETYPE_SHORT','USE_LOCAL_REFLECTIONMAP_CUBIC','mixPixelShader','backgroundVertexDeclaration','zOffsetUnits','RG32Sint','hasOwnProperty','pointerdown',';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20','_sphericalPolynomialPromise','setExternalTexture:\x20This\x20engine\x20does\x20not\x20support\x20external\x20textures!','#define\x20SPHEREEMITTER','TEXTUREFORMAT_STENCIL8','matchesTagsQuery','frontFace','meshes','onVRRequestPresentComplete','FLOAT_32_UNSIGNED_INT_24_8_REV','_rtBlur','alphaTest','releaseTexture','furVertexShader','#ifdef\x20ANISOTROPIC\x0astruct\x20anisotropicOutParams\x0a{\x0afloat\x20anisotropy;\x0avec3\x20anisotropicTangent;\x0avec3\x20anisotropicBitangent;\x0avec3\x20anisotropicNormal;\x0a#if\x20DEBUGMODE>0\x0avec3\x20anisotropyMapData;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20anisotropicBlock(\x0ain\x20vec3\x20vAnisotropy,\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0ain\x20vec3\x20anisotropyMapData,\x0a#endif\x0ain\x20mat3\x20TBN,\x0ain\x20vec3\x20normalW,\x0ain\x20vec3\x20viewDirectionW,\x0aout\x20anisotropicOutParams\x20outParams\x0a)\x0a{\x0afloat\x20anisotropy=vAnisotropy.b;\x0avec3\x20anisotropyDirection=vec3(vAnisotropy.xy,0.);\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0aanisotropy*=anisotropyMapData.b;\x0aanisotropyDirection.rg*=anisotropyMapData.rg*2.0-1.0;\x0a#if\x20DEBUGMODE>0\x0aoutParams.anisotropyMapData=anisotropyMapData;\x0a#endif\x0a#endif\x0amat3\x20anisoTBN=mat3(normalize(TBN[0]),normalize(TBN[1]),normalize(TBN[2]));\x0avec3\x20anisotropicTangent=normalize(anisoTBN*anisotropyDirection);\x0avec3\x20anisotropicBitangent=normalize(cross(anisoTBN[2],anisotropicTangent));\x0aoutParams.anisotropy=anisotropy;\x0aoutParams.anisotropicTangent=anisotropicTangent;\x0aoutParams.anisotropicBitangent=anisotropicBitangent;\x0aoutParams.anisotropicNormal=getAnisotropicBentNormals(anisotropicTangent,anisotropicBitangent,normalW,viewDirectionW,anisotropy);\x0a}\x0a#endif\x0a','previousWorldMatrices','offlineProvider','createUniformBuffer','call','group','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20topColor;\x0auniform\x20vec4\x20bottomColor;\x0auniform\x20float\x20offset;\x0auniform\x20float\x20scale;\x0auniform\x20float\x20smoothness;\x0avarying\x20vec3\x20vPositionW;\x0avarying\x20vec3\x20vPosition;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0afloat\x20h=vPosition.y*scale+offset;\x0afloat\x20mysmoothness=clamp(smoothness,0.01,max(smoothness,10.));\x0avec4\x20baseColor=mix(bottomColor,topColor,max(pow(max(h,0.0),mysmoothness),0.0));\x0avec3\x20diffuseColor=baseColor.rgb;\x0afloat\x20alpha=baseColor.a;\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avec3\x20diffuseBase=baseColor.rgb;\x0a#else\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0a#endif\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','setTextureSampler','_radius','#include<shadowMapFragmentExtraDeclaration>\x0a#ifdef\x20ALPHATEXTURE\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include<clipPlaneFragment>\x0a#ifdef\x20ALPHATEXTURE\x0afloat\x20alphaFromAlphaTexture=texture2D(diffuseSampler,vUV).a;\x0a#ifdef\x20ALPHATESTVALUE\x0aif\x20(alphaFromAlphaTexture<ALPHATESTVALUE)\x0adiscard;\x0a#endif\x0a#endif\x0a#if\x20SM_SOFTTRANSPARENTSHADOW==1\x0a#ifdef\x20ALPHATEXTURE\x0aif\x20((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=softTransparentShadowSM*alphaFromAlphaTexture)\x20discard;\x0a#else\x0aif\x20((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=softTransparentShadowSM)\x20discard;\x0a#endif\x0a#endif\x0a#include<shadowMapFragment>\x0a}','setTimeout','index','ACTION_OnLongPressTrigger','Vector4','TextureBinding','diffuseSampler','strides','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0auniform\x20float\x20bakedVertexAnimationTime;\x0auniform\x20vec2\x20bakedVertexAnimationTextureSizeInverted;\x0auniform\x20vec4\x20bakedVertexAnimationSettings;\x0auniform\x20sampler2D\x20bakedVertexAnimationTexture;\x0a#ifdef\x20INSTANCES\x0aattribute\x20vec4\x20bakedVertexAnimationSettingsInstanced;\x0a#endif\x0a#define\x20inline\x0amat4\x20readMatrixFromRawSamplerVAT(sampler2D\x20smp,float\x20index,float\x20frame)\x0a{\x0afloat\x20offset=index*4.0;\x0afloat\x20frameUV=(frame+0.5)*bakedVertexAnimationTextureSizeInverted.y;\x0afloat\x20dx=bakedVertexAnimationTextureSizeInverted.x;\x0avec4\x20m0=texture2D(smp,vec2(dx*(offset+0.5),frameUV));\x0avec4\x20m1=texture2D(smp,vec2(dx*(offset+1.5),frameUV));\x0avec4\x20m2=texture2D(smp,vec2(dx*(offset+2.5),frameUV));\x0avec4\x20m3=texture2D(smp,vec2(dx*(offset+3.5),frameUV));\x0areturn\x20mat4(m0,m1,m2,m3);\x0a}\x0a#endif\x0a','fn\x20main','const\x20vec3\x20TWO=vec3(2.0,2.0,2.0);\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20camASampler;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20stepSize;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0abool\x20useCamA;\x0abool\x20useCamB;\x0avec2\x20texCoord1;\x0avec2\x20texCoord2;\x0avec3\x20frag1;\x0avec3\x20frag2;\x0a#ifdef\x20IS_STEREOSCOPIC_HORIZ\x0auseCamB=vUV.x>0.5;\x0auseCamA=!useCamB;\x0atexCoord1=vec2(useCamB\x20?\x20(vUV.x-0.5)*2.0\x20:\x20vUV.x*2.0,vUV.y);\x0atexCoord2=vec2(texCoord1.x+stepSize.x,vUV.y);\x0a#else\x0a#ifdef\x20IS_STEREOSCOPIC_INTERLACED\x0afloat\x20rowNum=floor(vUV.y/stepSize.y);\x0auseCamA=mod(rowNum,2.0)==1.0;\x0auseCamB=mod(rowNum,2.0)==0.0;\x0atexCoord1=vec2(vUV.x,vUV.y);\x0atexCoord2=vec2(vUV.x,vUV.y);\x0a#else\x0auseCamB=vUV.y>0.5;\x0auseCamA=!useCamB;\x0atexCoord1=vec2(vUV.x,useCamB\x20?\x20(vUV.y-0.5)*2.0\x20:\x20vUV.y*2.0);\x0atexCoord2=vec2(vUV.x,texCoord1.y+stepSize.y);\x0a#endif\x0a#endif\x0aif\x20(useCamB){\x0afrag1=texture2D(textureSampler,texCoord1).rgb;\x0afrag2=texture2D(textureSampler,texCoord2).rgb;\x0a}else\x20if\x20(useCamA){\x0afrag1=texture2D(camASampler\x20,texCoord1).rgb;\x0afrag2=texture2D(camASampler\x20,texCoord2).rgb;\x0a}else\x20{\x0adiscard;\x0a}\x0agl_FragColor=vec4((frag1+frag2)/TWO,1.0);\x0a}\x0a','false','highlightsPixelShader','R8Sint','ASTC10x8UnormSRGB','reset','getBundleEncoder','#define\x20CLIPPLANE','precision\x20highp\x20float;\x0d\x0a','prototype','pbrBlockReflection','#ifdef\x20_DEFINENAME_\x0a#if\x20_DEFINENAME_DIRECTUV==1\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV1\x0a#elif\x20_DEFINENAME_DIRECTUV==2\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV2\x0a#elif\x20_DEFINENAME_DIRECTUV==3\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV3\x0a#elif\x20_DEFINENAME_DIRECTUV==4\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV4\x0a#elif\x20_DEFINENAME_DIRECTUV==5\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV5\x0a#elif\x20_DEFINENAME_DIRECTUV==6\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV6\x0a#else\x0avarying\x20vec2\x20v_VARYINGNAME_UV;\x0a#endif\x0a#endif\x0a','baseWidth','_internalAbstractMeshDataInfo','_rebuild','TEXTURE_LINEAR_LINEAR_MIPNEAREST','minimizeInPlace','_blurNumIterations','instancesCount','getEmittedParticleSystems','setEffect','_getGLType','\x0d\x0a}','Uint16','_getUseSRGBBuffer','glowMapGenerationPixelShader','dataStoreDataByteOffset','hdrFilteringVertexShader','videoWidth','canLoad','cancelAllCoroutines','children','blurMaxFilterSize','crossEye','texturesRequired','_currentItemIsBundle','_mipmapSampler','_varyingNextLocation','Forward','_blendEquationParameters','fogFragment','subSurfaceScattering','blendMode','_canUseMultipleBuffers','_positionUVWName','RG32Float','extractHighlightsPixelShader','_activeCamera','CLIPPLANE4','setAlphaMode','_emit2DSampler','_getWebGLTextureType','_swipeButtonPressed','_textureFormat','REFLECTIONMAP_OPPOSITEZ','finish','resolveQuerySet','setArray','offsetX','CopyVideoToTexture_','pvrtc','gridVertexShader','blurFilterSize','attributeLocationsFromEffect','lookForClosingBracketForUniformBuffer','isPointerCaptured','_createBuffer','reflectionColor','\x20@align(16)\x20','R8Snorm','_attributeNextLocation','_cacheFloat3','colorBufferFloat','_maxLodLevel','\x20/=\x20','setTextureFormatToUse','@group(','_GetAttributeNamesOrOptions','ALPHA_PREMULTIPLIED_PORTERDUFF','endMainRenderPass','registerInput','hdrFilteringFunctions','isCompatible','#endif','COLOR_ATTACHMENT0','_bundleListRenderTarget','pop','emitFromSpawnPointOnly','\x20\x20return\x20fragmentOutputs;','decode','ASTC5x5Unorm','PREPASS_NORMAL_TEXTURE_TYPE','setColor4','disablePhysicsEngine','unmap','faceIndices','_attributesWGSL','_useMultiviewToSingleView','#ifdef\x20CLIPPLANE\x0afClipDistance=dot(worldPos,vClipPlane);\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0afClipDistance2=dot(worldPos,vClipPlane2);\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0afClipDistance3=dot(worldPos,vClipPlane3);\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0afClipDistance4=dot(worldPos,vClipPlane4);\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0afClipDistance5=dot(worldPos,vClipPlane5);\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0afClipDistance6=dot(worldPos,vClipPlane6);\x0a#endif\x0a','_textureFormatInUse','worldMatrices','sampler','#if\x20','uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec4\x20vEyePosition;\x0a','_checkSize','indexStart','InvertYPremultiplyAlpha','textureCount','currentLine','world','shaderLanguage','framebufferTextureMultiviewOVR','needPOTTextures','read_write','ALPHA_ONEONE_ONEZERO','Color4','matrixData','rebuild','useSRGBBuffers','#version\x20300\x20es\x0a#define\x20PI\x203.14159\x0auniform\x20float\x20currentCount;\x0auniform\x20float\x20timeDelta;\x0auniform\x20float\x20stopFactor;\x0a#ifndef\x20LOCAL\x0auniform\x20mat4\x20emitterWM;\x0a#endif\x0auniform\x20vec2\x20lifeTime;\x0auniform\x20vec2\x20emitPower;\x0auniform\x20vec2\x20sizeRange;\x0auniform\x20vec4\x20scaleRange;\x0a#ifndef\x20COLORGRADIENTS\x0auniform\x20vec4\x20color1;\x0auniform\x20vec4\x20color2;\x0a#endif\x0auniform\x20vec3\x20gravity;\x0auniform\x20sampler2D\x20randomSampler;\x0auniform\x20sampler2D\x20randomSampler2;\x0auniform\x20vec4\x20angleRange;\x0a#ifdef\x20BOXEMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0auniform\x20vec3\x20minEmitBox;\x0auniform\x20vec3\x20maxEmitBox;\x0a#endif\x0a#ifdef\x20POINTEMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0a#endif\x0a#ifdef\x20HEMISPHERICEMITTER\x0auniform\x20float\x20radius;\x0auniform\x20float\x20radiusRange;\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0a#ifdef\x20SPHEREEMITTER\x0auniform\x20float\x20radius;\x0auniform\x20float\x20radiusRange;\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0a#else\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0a#endif\x0a#ifdef\x20CYLINDEREMITTER\x0auniform\x20float\x20radius;\x0auniform\x20float\x20height;\x0auniform\x20float\x20radiusRange;\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0a#else\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0a#endif\x0a#ifdef\x20CONEEMITTER\x0auniform\x20vec2\x20radius;\x0auniform\x20float\x20coneAngle;\x0auniform\x20vec2\x20height;\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0ain\x20vec3\x20position;\x0a#ifdef\x20CUSTOMEMITTER\x0ain\x20vec3\x20initialPosition;\x0a#endif\x0ain\x20float\x20age;\x0ain\x20float\x20life;\x0ain\x20vec4\x20seed;\x0ain\x20vec3\x20size;\x0a#ifndef\x20COLORGRADIENTS\x0ain\x20vec4\x20color;\x0a#endif\x0ain\x20vec3\x20direction;\x0a#ifndef\x20BILLBOARD\x0ain\x20vec3\x20initialDirection;\x0a#endif\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0ain\x20float\x20angle;\x0a#else\x0ain\x20vec2\x20angle;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0ain\x20float\x20cellIndex;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0ain\x20float\x20cellStartOffset;\x0a#endif\x0a#endif\x0a#ifdef\x20NOISE\x0ain\x20vec3\x20noiseCoordinates1;\x0ain\x20vec3\x20noiseCoordinates2;\x0a#endif\x0aout\x20vec3\x20outPosition;\x0a#ifdef\x20CUSTOMEMITTER\x0aout\x20vec3\x20outInitialPosition;\x0a#endif\x0aout\x20float\x20outAge;\x0aout\x20float\x20outLife;\x0aout\x20vec4\x20outSeed;\x0aout\x20vec3\x20outSize;\x0a#ifndef\x20COLORGRADIENTS\x0aout\x20vec4\x20outColor;\x0a#endif\x0aout\x20vec3\x20outDirection;\x0a#ifndef\x20BILLBOARD\x0aout\x20vec3\x20outInitialDirection;\x0a#endif\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0aout\x20float\x20outAngle;\x0a#else\x0aout\x20vec2\x20outAngle;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0aout\x20float\x20outCellIndex;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aout\x20float\x20outCellStartOffset;\x0a#endif\x0a#endif\x0a#ifdef\x20NOISE\x0aout\x20vec3\x20outNoiseCoordinates1;\x0aout\x20vec3\x20outNoiseCoordinates2;\x0a#endif\x0a#ifdef\x20SIZEGRADIENTS\x0auniform\x20sampler2D\x20sizeGradientSampler;\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0auniform\x20sampler2D\x20angularSpeedGradientSampler;\x0a#endif\x20\x0a#ifdef\x20VELOCITYGRADIENTS\x0auniform\x20sampler2D\x20velocityGradientSampler;\x0a#endif\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0auniform\x20sampler2D\x20limitVelocityGradientSampler;\x0auniform\x20float\x20limitVelocityDamping;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0auniform\x20sampler2D\x20dragGradientSampler;\x0a#endif\x0a#ifdef\x20NOISE\x0auniform\x20vec3\x20noiseStrength;\x0auniform\x20sampler2D\x20noiseSampler;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0auniform\x20vec4\x20cellInfos;\x0a#endif\x0avec3\x20getRandomVec3(float\x20offset)\x20{\x0areturn\x20texture(randomSampler2,vec2(float(gl_VertexID)*offset/currentCount,0)).rgb;\x0a}\x0avec4\x20getRandomVec4(float\x20offset)\x20{\x0areturn\x20texture(randomSampler,vec2(float(gl_VertexID)*offset/currentCount,0));\x0a}\x0avoid\x20main()\x20{\x0afloat\x20newAge=age+timeDelta;\x20\x0aif\x20(newAge>=life\x20&&\x20stopFactor\x20!=\x200.)\x20{\x0avec3\x20newPosition;\x0avec3\x20newDirection;\x0avec4\x20randoms=getRandomVec4(seed.x);\x0aoutLife=lifeTime.x+(lifeTime.y-lifeTime.x)*randoms.r;\x0aoutAge=newAge-life;\x0aoutSeed=seed;\x0a#ifdef\x20SIZEGRADIENTS\x20\x0aoutSize.x=texture(sizeGradientSampler,vec2(0,0)).r;\x0a#else\x0aoutSize.x=sizeRange.x+(sizeRange.y-sizeRange.x)*randoms.g;\x0a#endif\x0aoutSize.y=scaleRange.x+(scaleRange.y-scaleRange.x)*randoms.b;\x0aoutSize.z=scaleRange.z+(scaleRange.w-scaleRange.z)*randoms.a;\x20\x0a#ifndef\x20COLORGRADIENTS\x0aoutColor=color1+(color2-color1)*randoms.b;\x0a#endif\x0a#ifndef\x20ANGULARSPEEDGRADIENTS\x20\x0aoutAngle.y=angleRange.x+(angleRange.y-angleRange.x)*randoms.a;\x0aoutAngle.x=angleRange.z+(angleRange.w-angleRange.z)*randoms.r;\x0a#else\x0aoutAngle=angleRange.z+(angleRange.w-angleRange.z)*randoms.r;\x0a#endif\x20\x0a#ifdef\x20POINTEMITTER\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0anewPosition=vec3(0,0,0);\x0anewDirection=direction1+(direction2-direction1)*randoms3;\x0a#elif\x20defined(BOXEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0anewPosition=minEmitBox+(maxEmitBox-minEmitBox)*randoms2;\x0anewDirection=direction1+(direction2-direction1)*randoms3;\x20\x0a#elif\x20defined(HEMISPHERICEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0afloat\x20phi=2.0*PI*randoms2.x;\x0afloat\x20theta=acos(2.0*randoms2.y-1.0);\x0afloat\x20randX=cos(phi)*sin(theta);\x0afloat\x20randY=cos(theta);\x0afloat\x20randZ=sin(phi)*sin(theta);\x0anewPosition=(radius-(radius*radiusRange*randoms2.z))*vec3(randX,abs(randY),randZ);\x0anewDirection=newPosition+directionRandomizer*randoms3;\x20\x0a#elif\x20defined(SPHEREEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0afloat\x20phi=2.0*PI*randoms2.x;\x0afloat\x20theta=acos(2.0*randoms2.y-1.0);\x0afloat\x20randX=cos(phi)*sin(theta);\x0afloat\x20randY=cos(theta);\x0afloat\x20randZ=sin(phi)*sin(theta);\x0anewPosition=(radius-(radius*radiusRange*randoms2.z))*vec3(randX,randY,randZ);\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0anewDirection=normalize(direction1+(direction2-direction1)*randoms3);\x0a#else\x0anewDirection=normalize(newPosition+directionRandomizer*randoms3);\x0a#endif\x0a#elif\x20defined(CYLINDEREMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0afloat\x20yPos=(randoms2.x-0.5)*height;\x0afloat\x20angle=randoms2.y*PI*2.;\x0afloat\x20inverseRadiusRangeSquared=((1.-radiusRange)*(1.-radiusRange));\x0afloat\x20positionRadius=radius*sqrt(inverseRadiusRangeSquared+(randoms2.z*(1.-inverseRadiusRangeSquared)));\x0afloat\x20xPos=positionRadius*cos(angle);\x0afloat\x20zPos=positionRadius*sin(angle);\x0anewPosition=vec3(xPos,yPos,zPos);\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0anewDirection=direction1+(direction2-direction1)*randoms3;\x0a#else\x0aangle=angle+((randoms3.x-0.5)*PI)*directionRandomizer;\x0anewDirection=vec3(cos(angle),(randoms3.y-0.5)*directionRandomizer,sin(angle));\x0anewDirection=normalize(newDirection);\x0a#endif\x0a#elif\x20defined(CONEEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0afloat\x20s=2.0*PI*randoms2.x;\x0a#ifdef\x20CONEEMITTERSPAWNPOINT\x0afloat\x20h=0.0001;\x0a#else\x0afloat\x20h=randoms2.y*height.y;\x0ah=1.-h*h;\x20\x0a#endif\x0afloat\x20lRadius=radius.x-radius.x*randoms2.z*radius.y;\x0alRadius=lRadius*h;\x0afloat\x20randX=lRadius*sin(s);\x0afloat\x20randZ=lRadius*cos(s);\x0afloat\x20randY=h\x20*height.x;\x0anewPosition=vec3(randX,randY,randZ);\x20\x0aif\x20(abs(cos(coneAngle))==1.0)\x20{\x0anewDirection=vec3(0.,1.0,0.);\x0a}\x20else\x20{\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0anewDirection=normalize(newPosition+directionRandomizer*randoms3);\x20\x0a}\x0a#elif\x20defined(CUSTOMEMITTER)\x0anewPosition=initialPosition;\x0aoutInitialPosition=initialPosition;\x0a#else\x20\x0anewPosition=vec3(0.,0.,0.);\x0anewDirection=2.0*(getRandomVec3(seed.w)-vec3(0.5,0.5,0.5));\x0a#endif\x0afloat\x20power=emitPower.x+(emitPower.y-emitPower.x)*randoms.a;\x0a#ifdef\x20LOCAL\x0aoutPosition=newPosition;\x0a#else\x0aoutPosition=(emitterWM*vec4(newPosition,1.)).xyz;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aoutDirection=direction;\x0a#ifndef\x20BILLBOARD\x20\x0aoutInitialDirection=direction;\x0a#endif\x0a#else\x0a#ifdef\x20LOCAL\x0avec3\x20initial=newDirection;\x0a#else\x20\x0avec3\x20initial=(emitterWM*vec4(newDirection,0.)).xyz;\x0a#endif\x0aoutDirection=initial*power;\x0a#ifndef\x20BILLBOARD\x20\x0aoutInitialDirection=initial;\x0a#endif\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0aoutCellIndex=cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aoutCellStartOffset=randoms.a*outLife;\x0a#endif\x20\x0a#endif\x0a#ifdef\x20NOISE\x0aoutNoiseCoordinates1=noiseCoordinates1;\x0aoutNoiseCoordinates2=noiseCoordinates2;\x0a#endif\x0a}\x20else\x20{\x0afloat\x20directionScale=timeDelta;\x0aoutAge=newAge;\x0afloat\x20ageGradient=newAge/life;\x0a#ifdef\x20VELOCITYGRADIENTS\x0adirectionScale*=texture(velocityGradientSampler,vec2(ageGradient,0)).r;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0adirectionScale*=1.0-texture(dragGradientSampler,vec2(ageGradient,0)).r;\x0a#endif\x0a#if\x20defined(CUSTOMEMITTER)\x0aoutPosition=position+(direction-position)*ageGradient;\x20\x0aoutInitialPosition=initialPosition;\x0a#else\x0aoutPosition=position+direction*directionScale;\x0a#endif\x0aoutLife=life;\x0aoutSeed=seed;\x0a#ifndef\x20COLORGRADIENTS\x20\x0aoutColor=color;\x0a#endif\x0a#ifdef\x20SIZEGRADIENTS\x0aoutSize.x=texture(sizeGradientSampler,vec2(ageGradient,0)).r;\x0aoutSize.yz=size.yz;\x0a#else\x0aoutSize=size;\x0a#endif\x20\x0a#ifndef\x20BILLBOARD\x20\x0aoutInitialDirection=initialDirection;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aoutDirection=direction;\x0a#else\x0avec3\x20updatedDirection=direction+gravity*timeDelta;\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0afloat\x20limitVelocity=texture(limitVelocityGradientSampler,vec2(ageGradient,0)).r;\x0afloat\x20currentVelocity=length(updatedDirection);\x0aif\x20(currentVelocity>limitVelocity)\x20{\x0aupdatedDirection=updatedDirection*limitVelocityDamping;\x0a}\x0a#endif\x0aoutDirection=updatedDirection;\x0a#ifdef\x20NOISE\x0afloat\x20fetchedR=texture(noiseSampler,vec2(noiseCoordinates1.x,noiseCoordinates1.y)*vec2(0.5)+vec2(0.5)).r;\x0afloat\x20fetchedG=texture(noiseSampler,vec2(noiseCoordinates1.z,noiseCoordinates2.x)*vec2(0.5)+vec2(0.5)).r;\x0afloat\x20fetchedB=texture(noiseSampler,vec2(noiseCoordinates2.y,noiseCoordinates2.z)*vec2(0.5)+vec2(0.5)).r;\x0avec3\x20force=vec3(2.*fetchedR-1.,2.*fetchedG-1.,2.*fetchedB-1.)*noiseStrength;\x0aoutDirection=outDirection+force*timeDelta;\x0aoutNoiseCoordinates1=noiseCoordinates1;\x0aoutNoiseCoordinates2=noiseCoordinates2;\x0a#endif\x20\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0afloat\x20angularSpeed=texture(angularSpeedGradientSampler,vec2(ageGradient,0)).r;\x0aoutAngle=angle+angularSpeed*timeDelta;\x0a#else\x0aoutAngle=vec2(angle.x+angle.y*timeDelta,angle.y);\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0afloat\x20offsetAge=outAge;\x0afloat\x20dist=cellInfos.y-cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aoutCellStartOffset=cellStartOffset;\x0aoffsetAge+=cellStartOffset;\x0a#else\x0afloat\x20cellStartOffset=0.;\x0a#endif\x20\x0afloat\x20ratio=0.;\x0aif\x20(cellInfos.w==1.0)\x20{\x0aratio=clamp(mod(cellStartOffset+cellInfos.z*offsetAge,life)/life,0.,1.0);\x0a}\x0aelse\x20{\x0aratio=clamp(cellStartOffset+cellInfos.z*offsetAge/life,0.,1.0);\x0a}\x0aoutCellIndex=float(int(cellInfos.x+ratio*dist));\x0a#endif\x0a}\x0a}','_disableEffect','_changeTextureMode','#if\x20defined(WEBGL2)\x20||\x20defines(WEBGPU)\x0d\x0aprecision\x20highp\x20sampler2DArray;\x0d\x0a#endif\x0d\x0a','_videoSampler','_currentMaterialContext','thinInstanceSetBuffer','float\x20NdotVUnclamped=dot(normalW,viewDirectionW);\x0afloat\x20NdotV=absEps(NdotVUnclamped);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(roughness);\x0avec2\x20AARoughnessFactors=getAARoughnessFactors(normalW.xyz);\x0a#ifdef\x20SPECULARAA\x0aalphaG+=AARoughnessFactors.y;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x0avec3\x20environmentBrdf=getBRDFLookup(NdotV,roughness);\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0a#ifdef\x20RADIANCEOCCLUSION\x0a#ifdef\x20AMBIENTINGRAYSCALE\x0afloat\x20ambientMonochrome=aoOut.ambientOcclusionColor.r;\x0a#else\x0afloat\x20ambientMonochrome=getLuminance(aoOut.ambientOcclusionColor);\x0a#endif\x0afloat\x20seo=environmentRadianceOcclusion(ambientMonochrome,NdotVUnclamped);\x0a#endif\x0a#ifdef\x20HORIZONOCCLUSION\x0a#ifdef\x20BUMP\x0a#ifdef\x20REFLECTIONMAP_3D\x0afloat\x20eho=environmentHorizonOcclusion(-viewDirectionW,normalW,geometricNormalW);\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a','ssDiffusionS','stage','_releaseBuffer','requestPointerLock','opDepthFail','#ifdef\x20MORPHTARGETS\x0auniform\x20morphTargetInfluences\x20:\x20array<f32,NUM_MORPH_INFLUENCERS>;\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0auniform\x20morphTargetTextureIndices\x20:\x20array<f32,NUM_MORPH_INFLUENCERS>;\x0auniform\x20morphTargetTextureInfo\x20:\x20vec3<f32>;\x0avar\x20morphTargets\x20:\x20texture_2d_array<f32>;\x0avar\x20morphTargetsSampler\x20:\x20sampler;\x0afn\x20readVector3FromRawSampler(targetIndex\x20:\x20i32,vertexIndex\x20:\x20f32)->vec3<f32>\x0a{\x20\x0alet\x20y=floor(vertexIndex/uniforms.morphTargetTextureInfo.y);\x0alet\x20x=vertexIndex-y*uniforms.morphTargetTextureInfo.y;\x0alet\x20textureUV=vec2<f32>((x+0.5)/uniforms.morphTargetTextureInfo.y,(y+0.5)/uniforms.morphTargetTextureInfo.z);\x0areturn\x20textureSampleLevel(morphTargets,morphTargetsSampler,textureUV,i32(uniforms.morphTargetTextureIndices[targetIndex]),0.0).xyz;\x0a}\x0a#endif\x0a#endif\x0a','onLoadObservable','TEXTUREFORMAT_R','processTrigger','renderTargets','TEXTURE_MIN_FILTER','\x20=\x20textureCube(','blitFramebuffer','MSAA','uniform\x20vec4\x20color;\x0a','setColorWrite','CompareLightsPriority','readTwoValuesAndSubtract','_defineCubicName','meshUnderPointer','_defineProjectionName','freeBindingIndex','textureDome','ASTC12x12UnormSRGB','pbrFragmentSamplersDeclaration','{W:\x20','_varyingTransfer','comparisonFunction','TEXTURE_WRAP_T','TEXTURE','\x20=\x20texture2DLodEXT(','colorVertexShader','_GpuTextureViewDimensionByWebGPUTextureType','CreateNewFromPrimitive','DEPTH_STENCIL','kernelBlurVertexShader','_vrSupported','#define\x20NUM_BONE_INFLUENCERS\x20','defaultUboDeclaration','occlusionQuerySet','terrainPixelShader','_engine','_findStartingGroupBinding','#if\x20defined(ENVIRONMENTBRDF)\x0a#ifdef\x20MS_BRDF_ENERGY_CONSERVATION\x0avec3\x20energyConservationFactor=getEnergyConservationFactor(clearcoatOut.specularEnvironmentR0,environmentBrdf);\x0a#endif\x0a#endif\x0a#ifndef\x20METALLICWORKFLOW\x0a#ifdef\x20SPECULAR_GLOSSINESS_ENERGY_CONSERVATION\x0asurfaceAlbedo.rgb=(1.-reflectance)*surfaceAlbedo.rgb;\x0a#endif\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x20&&\x20defined(ENVIRONMENTBRDF)\x0asurfaceAlbedo.rgb=sheenOut.sheenAlbedoScaling*surfaceAlbedo.rgb;\x0a#endif\x0a#ifdef\x20REFLECTION\x0avec3\x20finalIrradiance=reflectionOut.environmentIrradiance;\x0a#if\x20defined(CLEARCOAT)\x0afinalIrradiance*=clearcoatOut.conservationFactor;\x0a#if\x20defined(CLEARCOAT_TINT)\x0afinalIrradiance*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x0afinalIrradiance*=subSurfaceOut.refractionFactorForIrradiance;\x0a#endif\x0a#if\x20defined(SS_TRANSLUCENCY)\x0afinalIrradiance*=(1.0-subSurfaceOut.translucencyIntensity);\x0afinalIrradiance+=subSurfaceOut.refractionIrradiance;\x0a#endif\x0afinalIrradiance*=surfaceAlbedo.rgb;\x0afinalIrradiance*=vLightingIntensity.z;\x0afinalIrradiance*=aoOut.ambientOcclusionColor;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase;\x0afinalSpecular=max(finalSpecular,0.0);\x0avec3\x20finalSpecularScaled=finalSpecular*vLightingIntensity.x*vLightingIntensity.w;\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0afinalSpecularScaled*=energyConservationFactor;\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0afinalSpecularScaled*=sheenOut.sheenAlbedoScaling;\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTION\x0avec3\x20finalRadiance=reflectionOut.environmentRadiance.rgb;\x0afinalRadiance*=subSurfaceOut.specularEnvironmentReflectance;\x0avec3\x20finalRadianceScaled=finalRadiance*vLightingIntensity.z;\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0afinalRadianceScaled*=energyConservationFactor;\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0afinalRadianceScaled*=sheenOut.sheenAlbedoScaling;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20finalSheen=sheenBase*sheenOut.sheenColor;\x0afinalSheen=max(finalSheen,0.0);\x0avec3\x20finalSheenScaled=finalSheen*vLightingIntensity.x*vLightingIntensity.w;\x0a#if\x20defined(CLEARCOAT)\x20&&\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0asheenOut.finalSheenRadianceScaled*=clearcoatOut.conservationFactor;\x0a#if\x20defined(CLEARCOAT_TINT)\x0asheenOut.finalSheenRadianceScaled*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec3\x20finalClearCoat=clearCoatBase;\x0afinalClearCoat=max(finalClearCoat,0.0);\x0avec3\x20finalClearCoatScaled=finalClearCoat*vLightingIntensity.x*vLightingIntensity.w;\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0afinalClearCoatScaled*=clearcoatOut.energyConservationFactorClearCoat;\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0asubSurfaceOut.finalRefraction*=clearcoatOut.conservationFactor;\x0a#ifdef\x20CLEARCOAT_TINT\x0asubSurfaceOut.finalRefraction*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20ALPHABLEND\x0afloat\x20luminanceOverAlpha=0.0;\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(RADIANCEOVERALPHA)\x0aluminanceOverAlpha+=getLuminance(finalRadianceScaled);\x0a#if\x20defined(CLEARCOAT)\x0aluminanceOverAlpha+=getLuminance(clearcoatOut.finalClearCoatRadianceScaled);\x0a#endif\x0a#endif\x0a#if\x20defined(SPECULARTERM)\x20&&\x20defined(SPECULAROVERALPHA)\x0aluminanceOverAlpha+=getLuminance(finalSpecularScaled);\x0a#endif\x0a#if\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOATOVERALPHA)\x0aluminanceOverAlpha+=getLuminance(finalClearCoatScaled);\x0a#endif\x0a#if\x20defined(RADIANCEOVERALPHA)\x20||\x20defined(SPECULAROVERALPHA)\x20||\x20defined(CLEARCOATOVERALPHA)\x0aalpha=saturate(alpha+luminanceOverAlpha*luminanceOverAlpha);\x0a#endif\x0a#endif\x0a','getBindGroups','-pvrtc.ktx','R16Float','setUInt','_modeSaved','add','normalize','generateOnlyFragmentCode','faceIndex','model','_MoveCursor','multiview\x20rtt','SubSurfaceSceneComponent','createComputePipelineContext','_getBuffer','#ifdef\x20CLIPPLANE\x0auniform\x20vec4\x20vClipPlane;\x0aout\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0auniform\x20vec4\x20vClipPlane2;\x0aout\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0auniform\x20vec4\x20vClipPlane3;\x0aout\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0auniform\x20vec4\x20vClipPlane4;\x0aout\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0auniform\x20vec4\x20vClipPlane5;\x0aout\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0auniform\x20vec4\x20vClipPlane6;\x0aout\x20float\x20fClipDistance6;\x0a#endif\x0a','struct\x20FragmentOutputs\x20{\x0a\x20\x20@location(0)\x20color\x20:\x20vec4<f32>,\x0a','_skipPointerTap','colorPixelShader','minmaxReduxPixelShader','currentViewProjection','particles','_lines','_height','toString','TEXTURETYPE_UNSIGNED_BYTE','_setupFramebufferDepthAttachments','TEXTURE_LINEAR_LINEAR_MIPLINEAR','POINTERPICK','useDirectMapping','shadowEnabled','IsCompressedFormat','modelArrayBuff','fireVertexShader','availableSamplers','createRenderBundleEncoder','updateFloat2','GetEffect','_pendingDebugCommands','vrdisplayconnect','_zOffsetUnits','precision\x20mediump\x20float;\x0a','Render\x20to\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.','___###','attachCamerasToRenderPipeline','customizeMaterialCount','MouseWheelY','TEXTURE_CUBE_MAP_NEGATIVE_X','ALPHA_EQUATION_SUBSTRACT','#ifdef\x20LIGHT{X}\x0auniform\x20vec4\x20vLightData{X};\x0auniform\x20vec4\x20vLightDiffuse{X};\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vLightSpecular{X};\x0a#else\x0avec4\x20vLightSpecular{X}=vec4(0.);\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20viewFrustumZ{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20frustumLengths{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20cascadeBlendFactor{X};\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2DArray\x20depthSampler{X};\x0auniform\x20vec2\x20lightSizeUVCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20depthCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20penumbraDarkness{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20highp\x20sampler2DArray\x20shadowSampler{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0aconst\x20vec3\x20vCascadeColorsMultiplier{X}[8]=vec3[8]\x0a(\x0avec3\x20(\x201.5,0.0,0.0\x20),\x0avec3\x20(\x200.0,1.5,0.0\x20),\x0avec3\x20(\x200.0,0.0,5.5\x20),\x0avec3\x20(\x201.5,0.0,5.5\x20),\x0avec3\x20(\x201.5,1.5,0.0\x20),\x0avec3\x20(\x201.0,1.0,1.0\x20),\x0avec3\x20(\x200.0,1.0,5.5\x20),\x0avec3\x20(\x200.5,3.5,0.75\x20)\x0a);\x0avec3\x20shadowDebug{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMUSESHADOWMAXZ{X}\x0aint\x20index{X}=-1;\x0a#else\x0aint\x20index{X}=SHADOWCSMNUM_CASCADES{X}-1;\x0a#endif\x0afloat\x20diff{X}=0.;\x0a#elif\x20defined(SHADOWCUBE{X})\x0auniform\x20samplerCube\x20shadowSampler{X};\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2D\x20depthSampler{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20sampler2D\x20shadowSampler{X};\x0a#endif\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0auniform\x20vec4\x20shadowsInfo{X};\x0auniform\x20vec2\x20depthValues{X};\x0a#endif\x0a#ifdef\x20SPOTLIGHT{X}\x0auniform\x20vec4\x20vLightDirection{X};\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(POINTLIGHT{X})\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(HEMILIGHT{X})\x0auniform\x20vec3\x20vLightGround{X};\x0a#endif\x0a#ifdef\x20PROJECTEDLIGHTTEXTURE{X}\x0auniform\x20mat4\x20textureProjectionMatrix{X};\x0auniform\x20sampler2D\x20projectionLightSampler{X};\x0a#endif\x0a#endif\x0a','Uint','TEXTURE_CUBE_MAP_POSITIVE_X','_2DSamplerName','_fragmentIsGLES3','#ifdef\x20DECAL\x0a#ifdef\x20GAMMADECAL\x0adecalColor.rgb=toLinearSpace(decalColor.rgb);\x0a#endif\x0a#ifdef\x20DECAL_SMOOTHALPHA\x0adecalColor.a*=decalColor.a;\x0a#endif\x0asurfaceAlbedo.rgb=mix(surfaceAlbedo.rgb,decalColor.rgb,decalColor.a);\x0a#endif\x0a',');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','_beforeCompositionPostProcesses','glFragCoord_','createDynamicTexture','_fixReusablePostProcess','displayPassPixelShader','backgroundVertexShader','needShaderCodeInlining','onPreKeyboardObservable','baseDepth','STENCIL_TEST','applyImpulse','_crossEye','disable','animationStarted','TEXTUREFORMAT_COMPRESSED_RGB_S3TC_DXT1','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20LensCenter;\x0auniform\x20vec2\x20Scale;\x0auniform\x20vec2\x20ScaleIn;\x0auniform\x20vec4\x20HmdWarpParam;\x0avec2\x20HmdWarp(vec2\x20in01)\x20{\x0avec2\x20theta=(in01-LensCenter)*ScaleIn;\x20\x0afloat\x20rSq=theta.x*theta.x+theta.y*theta.y;\x0avec2\x20rvector=theta*(HmdWarpParam.x+HmdWarpParam.y*rSq+HmdWarpParam.z*rSq*rSq+HmdWarpParam.w*rSq*rSq*rSq);\x0areturn\x20LensCenter+Scale*rvector;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20tc=HmdWarp(vUV);\x0aif\x20(tc.x\x20<0.0\x20||\x20tc.x>1.0\x20||\x20tc.y<0.0\x20||\x20tc.y>1.0)\x0agl_FragColor=vec4(0.0,0.0,0.0,0.0);\x0aelse{\x0agl_FragColor=texture2D(textureSampler,tc);\x0a}\x0a}','precision\x20highp\x20float;\x0a#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0auniform\x20sampler2D\x20diffuseSampler;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0a#include<clipPlaneFragmentDeclaration2>\x20\x0a#include<imageProcessingDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<helperFunctions>\x0a#include<imageProcessingFunctions>\x0avoid\x20main()\x20{\x0a#include<clipPlaneFragment>\x20\x0avec4\x20textureColor=texture2D(diffuseSampler,vUV);\x0agl_FragColor=textureColor*vColor;\x0a#ifdef\x20BLENDMULTIPLYMODE\x0afloat\x20alpha=vColor.a*textureColor.a;\x0agl_FragColor.rgb=gl_FragColor.rgb*alpha+vec3(1.0)*(1.0-alpha);\x0a#endif\x20\x0a#include<logDepthFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0agl_FragColor.rgb=toLinearSpace(gl_FragColor.rgb);\x0a#else\x0a#ifdef\x20IMAGEPROCESSING\x0agl_FragColor.rgb=toLinearSpace(gl_FragColor.rgb);\x0agl_FragColor=applyImageProcessing(gl_FragColor);\x0a#endif\x0a#endif\x0a}\x0a','_createMultiviewUbo','_videoCompiledShaders','\x20=\x20computeFixedEquirectangularCoords(','setAlphaConstants','isFixedFoveationSupported','MAINUV3','preProcessor','_bufferManager','BC6HRGBUFloat','defaultPixelShader','ALPHA_ALPHATOCOLOR','_ubCopyWithOfst','_depthTest','\x20=\x20computePlanarCoords(','copyExternalImageToTexture','_createRenderTarget','createFramebuffer','vFogInfos','#ifdef\x20FRESNEL\x0afloat\x20computeFresnelTerm(vec3\x20viewDirection,vec3\x20worldNormal,float\x20bias,float\x20power)\x0a{\x0afloat\x20fresnelTerm=pow(bias+abs(dot(viewDirection,worldNormal)),power);\x0areturn\x20clamp(fresnelTerm,0.,1.);\x0a}\x0a#endif\x0a','copyVideoToTexture','_vrExclusivePointerMode','#define\x20CYLINDEREMITTER\x0a#define\x20DIRECTEDCYLINDEREMITTER','renderTargetTexture','R32Uint','copyBufferToBuffer','hasEndpoints','fillMode','MAINUV1','_occlusionQuery','updateTexture','precision\x20highp\x20float;attribute\x20vec3\x20position;attribute\x20vec3\x20normal;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0auniform\x20float\x20furLength;uniform\x20float\x20furAngle;\x0a#ifdef\x20HIGHLEVEL\x0auniform\x20float\x20furOffset;uniform\x20vec3\x20furGravity;uniform\x20float\x20furTime;uniform\x20float\x20furSpacing;uniform\x20float\x20furDensity;\x0a#endif\x0a#ifdef\x20HEIGHTMAP\x0auniform\x20sampler2D\x20heightTexture;\x0a#endif\x0a#ifdef\x20HIGHLEVEL\x0avarying\x20vec2\x20vFurUV;\x0a#endif\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20mat4\x20diffuseMatrix;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0avarying\x20float\x20vfur_length;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0afloat\x20Rand(vec3\x20rv)\x20{float\x20x=dot(rv,vec3(12.9898,78.233,24.65487));return\x20fract(sin(x)*43758.5453);}\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0afloat\x20r=Rand(position);\x0a#ifdef\x20HEIGHTMAP\x0a#if\x20__VERSION__>100\x0avfur_length=furLength*texture(heightTexture,uv).x;\x0a#else\x0avfur_length=furLength*texture2D(heightTexture,uv).r;\x0a#endif\x0a#else\x20\x0avfur_length=(furLength*r);\x0a#endif\x0avec3\x20tangent1=vec3(normal.y,-normal.x,0);vec3\x20tangent2=vec3(-normal.z,0,normal.x);r=Rand(tangent1*r);float\x20J=(2.0+4.0*r);r=Rand(tangent2*r);float\x20K=(2.0+2.0*r);tangent1=tangent1*J+tangent2*K;tangent1=normalize(tangent1);vec3\x20newPosition=position+normal*vfur_length*cos(furAngle)+tangent1*vfur_length*sin(furAngle);\x0a#ifdef\x20HIGHLEVEL\x0avec3\x20forceDirection=vec3(0.0,0.0,0.0);forceDirection.x=sin(furTime+position.x*0.05)*0.2;forceDirection.y=cos(furTime*0.7+position.y*0.04)*0.2;forceDirection.z=sin(furTime*0.7+position.z*0.04)*0.2;vec3\x20displacement=vec3(0.0,0.0,0.0);displacement=furGravity+forceDirection;float\x20displacementFactor=pow(furOffset,3.0);vec3\x20aNormal=normal;aNormal.xyz+=displacement*displacementFactor;newPosition=vec3(newPosition.x,newPosition.y,newPosition.z)+(normalize(aNormal)*furOffset*furSpacing);\x0a#endif\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0agl_Position=viewProjection*finalWorld*vec4(newPosition,1.0);vec4\x20worldPos=finalWorld*vec4(newPosition,1.0);vPositionW=vec3(worldPos);\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));}\x0a#ifdef\x20HIGHLEVEL\x0avFurUV=vDiffuseUV*furDensity;\x0a#endif\x0a#else\x0a#ifdef\x20HIGHLEVEL\x0avFurUV=uv*furDensity;\x0a#endif\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','_getNextFreeBinding','clipPlaneVertexDeclaration','_startingPointerTime','_outputs','_enableEffect','MODE_MONOSCOPIC','_ProcessPrecision','meshInstancesCount','createRawBuffer','noPrecision','capacity','_resetPostProcessChain','_delayedClicks','_currentRenderTarget','importanceSampling','packingFunctions','keydown','#ifdef\x20LIGHTMAP\x0avec4\x20lightmapColor=texture2D(lightmapSampler,vLightmapUV+uvOffset);\x0a#ifdef\x20RGBDLIGHTMAP\x0alightmapColor.rgb=fromRGBD(lightmapColor);\x0a#endif\x0a#ifdef\x20GAMMALIGHTMAP\x0alightmapColor.rgb=toLinearSpace(lightmapColor.rgb);\x0a#endif\x0alightmapColor.rgb*=vLightmapInfos.y;\x0a#endif\x0a','ASTC10x6UnormSRGB','isPointerLock','insertDebugMarker','copyTextureToTexturePixelShader','void\x20DUMMYFUNC','#extension\x20GL_EXT_draw_buffers\x20:\x20require\x0a#if\x20defined(BUMP)\x20||\x20!defined(NORMAL)\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#endif\x0aprecision\x20highp\x20float;\x0a#ifdef\x20BUMP\x0avarying\x20mat4\x20vWorldView;\x0avarying\x20vec3\x20vNormalW;\x0a#else\x0avarying\x20vec3\x20vNormalV;\x0a#endif\x0avarying\x20vec4\x20vViewPos;\x0a#if\x20defined(POSITION)\x20||\x20defined(BUMP)\x0avarying\x20vec3\x20vPositionW;\x0a#endif\x0a#ifdef\x20VELOCITY\x0avarying\x20vec4\x20vCurrentPosition;\x0avarying\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#ifdef\x20NEED_UV\x0avarying\x20vec2\x20vUV;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20vec2\x20vTangentSpaceParams;\x0a#endif\x0a#if\x20defined(REFLECTIVITY)\x0a#if\x20defined(ORMTEXTURE)\x20||\x20defined(SPECULARGLOSSINESSTEXTURE)\x20||\x20defined(REFLECTIVITYTEXTURE)\x0auniform\x20sampler2D\x20reflectivitySampler;\x0avarying\x20vec2\x20vReflectivityUV;\x0a#endif\x0a#ifdef\x20ALBEDOTEXTURE\x0avarying\x20vec2\x20vAlbedoUV;\x0auniform\x20sampler2D\x20albedoSampler;\x0a#endif\x0a#ifdef\x20REFLECTIVITYCOLOR\x0auniform\x20vec3\x20reflectivityColor;\x0a#endif\x0a#ifdef\x20ALBEDOCOLOR\x0auniform\x20vec3\x20albedoColor;\x0a#endif\x0a#ifdef\x20METALLIC\x0auniform\x20float\x20metallic;\x0a#endif\x0a#if\x20defined(ROUGHNESS)\x20||\x20defined(GLOSSINESS)\x0auniform\x20float\x20glossiness;\x0a#endif\x0a#endif\x0a#if\x20defined(ALPHATEST)\x20&&\x20defined(NEED_UV)\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<mrtFragmentDeclaration>[RENDER_TARGET_COUNT]\x0a#include<bumpFragmentMainFunctions>\x0a#include<bumpFragmentFunctions>\x0a#include<helperFunctions>\x0avoid\x20main()\x20{\x0a#include<clipPlaneFragment>\x0a#ifdef\x20ALPHATEST\x0aif\x20(texture2D(diffuseSampler,vUV).a<0.4)\x0adiscard;\x0a#endif\x0avec3\x20normalOutput;\x0a#ifdef\x20BUMP\x0avec3\x20normalW=normalize(vNormalW);\x0a#include<bumpFragment>\x0anormalOutput=normalize(vec3(vWorldView*vec4(normalW,0.0)));\x0a#else\x0anormalOutput=normalize(vNormalV);\x0a#endif\x0a#ifdef\x20PREPASS\x0a#ifdef\x20PREPASS_DEPTH\x0agl_FragData[DEPTH_INDEX]=vec4(vViewPos.z/vViewPos.w,0.0,0.0,1.0);\x0a#endif\x0a#ifdef\x20PREPASS_NORMAL\x0agl_FragData[NORMAL_INDEX]=vec4(normalOutput,1.0);\x0a#endif\x0a#else\x0agl_FragData[0]=vec4(vViewPos.z/vViewPos.w,0.0,0.0,1.0);\x0agl_FragData[1]=vec4(normalOutput,1.0);\x0a#endif\x0a#ifdef\x20POSITION\x0agl_FragData[POSITION_INDEX]=vec4(vPositionW,1.0);\x0a#endif\x0a#ifdef\x20VELOCITY\x0avec2\x20a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\x0avec2\x20b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\x0avec2\x20velocity=abs(a-b);\x0avelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\x0agl_FragData[VELOCITY_INDEX]=vec4(velocity,0.0,1.0);\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0avec4\x20reflectivity=vec4(0.0,0.0,0.0,1.0);\x0a#ifdef\x20METALLICWORKFLOW\x0afloat\x20metal=1.0;\x0afloat\x20roughness=1.0;\x0a#ifdef\x20ORMTEXTURE\x0ametal*=texture2D(reflectivitySampler,vReflectivityUV).b;\x0aroughness*=texture2D(reflectivitySampler,vReflectivityUV).g;\x0a#endif\x0a#ifdef\x20METALLIC\x0ametal*=metallic;\x0a#endif\x0a#ifdef\x20ROUGHNESS\x0aroughness*=(1.0-glossiness);\x20\x0a#endif\x0areflectivity.a-=roughness;\x0avec3\x20color=vec3(1.0);\x0a#ifdef\x20ALBEDOTEXTURE\x0acolor=texture2D(albedoSampler,vAlbedoUV).rgb;\x0a#ifdef\x20GAMMAALBEDO\x0acolor=toLinearSpace(color);\x0a#endif\x0a#endif\x0a#ifdef\x20ALBEDOCOLOR\x0acolor*=albedoColor.xyz;\x0a#endif\x0areflectivity.rgb=mix(vec3(0.04),color,metal);\x0a#else\x0a#if\x20defined(SPECULARGLOSSINESSTEXTURE)\x20||\x20defined(REFLECTIVITYTEXTURE)\x0areflectivity=texture2D(reflectivitySampler,vReflectivityUV);\x0a#ifdef\x20GAMMAREFLECTIVITYTEXTURE\x0areflectivity.rgb=toLinearSpace(reflectivity.rgb);\x0a#endif\x0a#else\x20\x0a#ifdef\x20REFLECTIVITYCOLOR\x0areflectivity.rgb=toLinearSpace(reflectivityColor.xyz);\x0areflectivity.a=1.0;\x0a#endif\x0a#endif\x0a#ifdef\x20GLOSSINESSS\x0areflectivity.a*=glossiness;\x20\x0a#endif\x0a#endif\x0agl_FragData[REFLECTIVITY_INDEX]=reflectivity;\x0a#endif\x0a}\x0a','ssDiffusionD','fxaaPixelShader','unTranslatedPointer','updateFloat3','MapRead','Cannot\x20create\x20canvas\x20to\x20resize\x20texture.','deviceType','#ifdef\x20MORPHTARGETS\x0a#ifndef\x20MORPHTARGETS_TEXTURE\x0aattribute\x20position{X}\x20:\x20vec3<f32>;\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0aattribute\x20normal{X}\x20:\x20vec3<f32>;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0aattribute\x20tangent{X}\x20:\x20vec3<f32>;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0aattribute\x20uv_{X}\x20:\x20vec2<f32>;\x0a#endif\x0a#endif\x0a#endif\x0a','varyingVertexKeywordName','subMeshes','clientX','Raw2DArray','glowMapGenerationVertexShader','direction2','markAsFresnelDirty','#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,b)\x20texture2D(s,c,b)\x0a#endif\x0aprecision\x20highp\x20float;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20tUV;\x0auniform\x20float\x20time;\x0auniform\x20float\x20spriteCount;\x0auniform\x20sampler2D\x20spriteSheet;\x0auniform\x20vec2\x20spriteMapSize;\x0auniform\x20vec2\x20outputSize;\x0auniform\x20vec2\x20stageSize;\x0auniform\x20sampler2D\x20frameMap;\x0auniform\x20sampler2D\x20tileMaps[LAYERS];\x0auniform\x20sampler2D\x20animationMap;\x0auniform\x20vec3\x20colorMul;\x0afloat\x20mt;\x0aconst\x20float\x20fdStep=1./4.;\x0aconst\x20float\x20aFrameSteps=1./MAX_ANIMATION_FRAMES;\x0amat4\x20getFrameData(float\x20frameID){\x0afloat\x20fX=frameID/spriteCount;\x0areturn\x20mat4(\x0atexture2D(frameMap,vec2(fX,0.),0.),\x0atexture2D(frameMap,vec2(fX,fdStep*1.),0.),\x0atexture2D(frameMap,vec2(fX,fdStep*2.),0.),\x0avec4(0.)\x0a);\x0a}\x0avoid\x20main(){\x0avec4\x20color=vec4(0.);\x0avec2\x20tileUV=fract(tUV);\x0a#ifdef\x20FLIPU\x0atileUV.y=1.0-tileUV.y;\x0a#endif\x0avec2\x20tileID=floor(tUV);\x0avec2\x20sheetUnits=1./spriteMapSize;\x0afloat\x20spriteUnits=1./spriteCount;\x0avec2\x20stageUnits=1./stageSize;\x0afor(int\x20i=0;\x20i<LAYERS;\x20i++)\x20{\x0afloat\x20frameID;\x0a#define\x20LAYER_ID_SWITCH\x0avec4\x20animationData=TEXTUREFUNC(animationMap,vec2((frameID+0.5)/spriteCount,0.),0.);\x0aif(animationData.y>0.)\x20{\x0amt=mod(time*animationData.z,1.0);\x0afor(float\x20f=0.;\x20f<MAX_ANIMATION_FRAMES;\x20f++){\x0aif(animationData.y>mt){\x0aframeID=animationData.x;\x0abreak;\x0a}\x0aanimationData=TEXTUREFUNC(animationMap,vec2((frameID+0.5)/spriteCount,aFrameSteps*f),0.);\x0a}\x0a}\x0amat4\x20frameData=getFrameData(frameID+0.5);\x0avec2\x20frameSize=(frameData[0].zw)/spriteMapSize;\x0avec2\x20offset=frameData[0].xy*sheetUnits;\x0avec2\x20ratio=frameData[2].xy/frameData[0].zw;\x0aif\x20(frameData[2].z==1.){\x0atileUV.xy=tileUV.yx;\x0a}\x0avec4\x20nc=texture2D(spriteSheet,tileUV*frameSize+offset);\x0aif\x20(i==0){\x0acolor=nc;\x0a}\x20else\x20{\x0afloat\x20alpha=min(color.a+nc.a,1.0);\x0avec3\x20mixed=mix(color.xyz,nc.xyz,nc.a);\x0acolor=vec4(mixed,alpha);\x0a}\x0a}\x0acolor.xyz*=colorMul;\x0agl_FragColor=color;\x0a}','dataStoreArrayBuffer','samplerShadow','lineVertexShader','attribute\x20vec2\x20position;\x0auniform\x20vec2\x20texelSize;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20sampleCoordS;\x0avarying\x20vec2\x20sampleCoordE;\x0avarying\x20vec2\x20sampleCoordN;\x0avarying\x20vec2\x20sampleCoordW;\x0avarying\x20vec2\x20sampleCoordNW;\x0avarying\x20vec2\x20sampleCoordSE;\x0avarying\x20vec2\x20sampleCoordNE;\x0avarying\x20vec2\x20sampleCoordSW;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=(position*madd+madd);\x0asampleCoordS=vUV+vec2(\x200.0,1.0)*texelSize;\x0asampleCoordE=vUV+vec2(\x201.0,0.0)*texelSize;\x0asampleCoordN=vUV+vec2(\x200.0,-1.0)*texelSize;\x0asampleCoordW=vUV+vec2(-1.0,0.0)*texelSize;\x0asampleCoordNW=vUV+vec2(-1.0,-1.0)*texelSize;\x0asampleCoordSE=vUV+vec2(\x201.0,1.0)*texelSize;\x0asampleCoordNE=vUV+vec2(\x201.0,-1.0)*texelSize;\x0asampleCoordSW=vUV+vec2(-1.0,1.0)*texelSize;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','viewport','sourceEvent','layout(location\x20=\x20','renderPass','types','defaultVertexDeclaration','\x0a#define\x20CONEEMITTERSPAWNPOINT','CreateNewFromScene','vec3\x20','_defineMirroredEquirectangularFixedName','struct\x20','SNAPSHOTRENDERING_STANDARD','renderbufferStorageMultisample','CylinderDirectedParticleEmitter','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x20\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','createView','outputRenderTarget','setBool','splice','preventDefault','#if\x20DEBUGMODE>0\x0aif\x20(vClipSpacePosition.x/vClipSpacePosition.w>=vDebugMode.x)\x20{\x0a#if\x20DEBUGMODE==1\x0agl_FragColor.rgb=vPositionW.rgb;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==2\x20&&\x20defined(NORMAL)\x0agl_FragColor.rgb=vNormalW.rgb;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==3\x20&&\x20defined(BUMP)\x20||\x20DEBUGMODE==3\x20&&\x20defined(PARALLAX)\x20||\x20DEBUGMODE==3\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=TBN[0];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==4\x20&&\x20defined(BUMP)\x20||\x20DEBUGMODE==4\x20&&\x20defined(PARALLAX)\x20||\x20DEBUGMODE==4\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=TBN[1];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==5\x0agl_FragColor.rgb=normalW;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==6\x20&&\x20defined(MAINUV1)\x0agl_FragColor.rgb=vec3(vMainUV1,0.0);\x0a#elif\x20DEBUGMODE==7\x20&&\x20defined(MAINUV2)\x0agl_FragColor.rgb=vec3(vMainUV2,0.0);\x0a#elif\x20DEBUGMODE==8\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_BUMP)\x0agl_FragColor.rgb=clearcoatOut.TBNClearCoat[0];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==9\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_BUMP)\x0agl_FragColor.rgb=clearcoatOut.TBNClearCoat[1];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==10\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=clearcoatOut.clearCoatNormalW;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==11\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=anisotropicOut.anisotropicNormal;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==12\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=anisotropicOut.anisotropicTangent;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==13\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=anisotropicOut.anisotropicBitangent;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==20\x20&&\x20defined(ALBEDO)\x0agl_FragColor.rgb=albedoTexture.rgb;\x0a#elif\x20DEBUGMODE==21\x20&&\x20defined(AMBIENT)\x0agl_FragColor.rgb=aoOut.ambientOcclusionColorMap.rgb;\x0a#elif\x20DEBUGMODE==22\x20&&\x20defined(OPACITY)\x0agl_FragColor.rgb=opacityMap.rgb;\x0a#elif\x20DEBUGMODE==23\x20&&\x20defined(EMISSIVE)\x0agl_FragColor.rgb=emissiveColorTex.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==24\x20&&\x20defined(LIGHTMAP)\x0agl_FragColor.rgb=lightmapColor.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==25\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=reflectivityOut.surfaceMetallicColorMap.rgb;\x0a#elif\x20DEBUGMODE==26\x20&&\x20defined(REFLECTIVITY)\x20&&\x20!defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=reflectivityOut.surfaceReflectivityColorMap.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==27\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TEXTURE)\x0agl_FragColor.rgb=vec3(clearcoatOut.clearCoatMapData.rg,0.0);\x0a#elif\x20DEBUGMODE==28\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TINT)\x20&&\x20defined(CLEARCOAT_TINT_TEXTURE)\x0agl_FragColor.rgb=clearcoatOut.clearCoatTintMapData.rgb;\x0a#elif\x20DEBUGMODE==29\x20&&\x20defined(SHEEN)\x20&&\x20defined(SHEEN_TEXTURE)\x0agl_FragColor.rgb=sheenOut.sheenMapData.rgb;\x0a#elif\x20DEBUGMODE==30\x20&&\x20defined(ANISOTROPIC)\x20&&\x20defined(ANISOTROPIC_TEXTURE)\x0agl_FragColor.rgb=anisotropicOut.anisotropyMapData.rgb;\x0a#elif\x20DEBUGMODE==31\x20&&\x20defined(SUBSURFACE)\x20&&\x20defined(SS_THICKNESSANDMASK_TEXTURE)\x0agl_FragColor.rgb=subSurfaceOut.thicknessMap.rgb;\x0a#elif\x20DEBUGMODE==40\x20&&\x20defined(SS_REFRACTION)\x0agl_FragColor.rgb=subSurfaceOut.environmentRefraction.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==41\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=reflectionOut.environmentRadiance.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==42\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=clearcoatOut.environmentClearCoatRadiance.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==50\x0agl_FragColor.rgb=diffuseBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==51\x20&&\x20defined(SPECULARTERM)\x0agl_FragColor.rgb=specularBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==52\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=clearCoatBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==53\x20&&\x20defined(SHEEN)\x0agl_FragColor.rgb=sheenBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==54\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=reflectionOut.environmentIrradiance.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==60\x0agl_FragColor.rgb=surfaceAlbedo.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==61\x0agl_FragColor.rgb=clearcoatOut.specularEnvironmentR0;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==62\x20&&\x20defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=vec3(reflectivityOut.metallicRoughness.r);\x0a#elif\x20DEBUGMODE==71\x20&&\x20defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=reflectivityOut.metallicF0;\x0a#elif\x20DEBUGMODE==63\x0agl_FragColor.rgb=vec3(roughness);\x0a#elif\x20DEBUGMODE==64\x0agl_FragColor.rgb=vec3(alphaG);\x0a#elif\x20DEBUGMODE==65\x0agl_FragColor.rgb=vec3(NdotV);\x0a#elif\x20DEBUGMODE==66\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TINT)\x0agl_FragColor.rgb=clearcoatOut.clearCoatColor.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==67\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=vec3(clearcoatOut.clearCoatRoughness);\x0a#elif\x20DEBUGMODE==68\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=vec3(clearcoatOut.clearCoatNdotV);\x0a#elif\x20DEBUGMODE==69\x20&&\x20defined(SUBSURFACE)\x20&&\x20defined(SS_TRANSLUCENCY)\x0agl_FragColor.rgb=subSurfaceOut.transmittance;\x0a#elif\x20DEBUGMODE==70\x20&&\x20defined(SUBSURFACE)\x20&&\x20defined(SS_REFRACTION)\x0agl_FragColor.rgb=subSurfaceOut.refractionTransmittance;\x0a#elif\x20DEBUGMODE==80\x20&&\x20defined(RADIANCEOCCLUSION)\x0agl_FragColor.rgb=vec3(seo);\x0a#elif\x20DEBUGMODE==81\x20&&\x20defined(HORIZONOCCLUSION)\x0agl_FragColor.rgb=vec3(eho);\x0a#elif\x20DEBUGMODE==82\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0agl_FragColor.rgb=vec3(energyConservationFactor);\x0a#elif\x20DEBUGMODE==83\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0agl_FragColor.rgb=specularEnvironmentReflectance;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==84\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0agl_FragColor.rgb=clearcoatOut.clearCoatEnvironmentReflectance;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==85\x20&&\x20defined(SHEEN)\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=sheenOut.sheenEnvironmentReflectance;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==86\x20&&\x20defined(ALPHABLEND)\x0agl_FragColor.rgb=vec3(luminanceOverAlpha);\x0a#elif\x20DEBUGMODE==87\x0agl_FragColor.rgb=vec3(alpha);\x0a#endif\x0agl_FragColor.rgb*=vDebugMode.y;\x0a#ifdef\x20DEBUGMODE_NORMALIZE\x0agl_FragColor.rgb=normalize(gl_FragColor.rgb)*0.5+0.5;\x0a#endif\x0a#ifdef\x20DEBUGMODE_GAMMA\x0agl_FragColor.rgb=toGammaSpace(gl_FragColor.rgb);\x0a#endif\x0agl_FragColor.a=1.0;\x0a#ifdef\x20PREPASS\x0agl_FragData[0]=toLinearSpace(gl_FragColor);\x20\x0agl_FragData[1]=vec4(0.,0.,0.,0.);\x20\x0a#endif\x0areturn;\x0a}\x0a#endif\x0a','_excludedCompressedTextures','updateIntArray','#ifdef\x20DECAL\x0auniform\x20vec4\x20vDecalInfos;\x0auniform\x20mat4\x20decalMatrix;\x0a#endif\x0a','getTransformMatrix','_deviceInputSystem','_mipmapGenBindGroup','TEXTURE_CUBE_MAP_NEGATIVE_Z','_updateBoundingInfo','_keyTemp','attach','arrayBufferBlockCount','TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT1','parent','asArray','#define\x20','getSampler','\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@size(16)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20el:\x20','getOwnPropertyDescriptor','setAll','//Samplers\x0d\x0a','_dummyFramebuffer','ETC2RGBA8Unorm','textD','_funcMask','pbrBlockGeometryInfo','depthMask','PREPASS_VELOCITY_TEXTURE_TYPE','notifyObservers','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','_bundleList','No\x20\x22main\x22\x20function\x20found\x20in\x20shader\x20code!\x20Processing\x20aborted.','createRenderTargetCubeTexture','indexOfRefraction','target','#elif','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','FluidRenderingDepthTextureCopyRTTDepthStencil','ssDiffusionProfileColors','morphTargetsVertex','clipPlaneVertexDeclaration2','getEffect','_currentLayer','textureUsages','TEXTURE_PLANAR_MODE','pointerX','FluidRenderingRTT-','queue','#version\x20450\x0d\x0a','blendColor','int','World','_reflectionPositionName','Float\x20textures\x20are\x20not\x20supported.\x20Cube\x20render\x20target\x20forced\x20to\x20TEXTURETYPE_UNESIGNED_BYTE\x20type','createGPUTextureForInternalTexture','\x0a\x20\x20\x20\x20#extension\x20GL_EXT_samplerless_texture_functions\x20:\x20enable\x0a\x0a\x20\x20\x20\x20const\x20vec2\x20pos[4]\x20=\x20vec2[4](vec2(-1.0f,\x201.0f),\x20vec2(1.0f,\x201.0f),\x20vec2(-1.0f,\x20-1.0f),\x20vec2(1.0f,\x20-1.0f));\x0a\x20\x20\x20\x20const\x20vec2\x20tex[4]\x20=\x20vec2[4](vec2(0.0f,\x200.0f),\x20vec2(1.0f,\x200.0f),\x20vec2(0.0f,\x201.0f),\x20vec2(1.0f,\x201.0f));\x0a\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20texture2D\x20img;\x0a\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20flat\x20ivec2\x20vTextureSize;\x0a\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vTextureSize\x20=\x20textureSize(img,\x200);\x0a\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(pos[gl_VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','updateDirectColor4','references','now','uniform\x20vec4\x20color;\x0avoid\x20main()\x20{\x0agl_FragColor=color;\x0a}\x0a','Declaration','MATERIAL_TriangleStripDrawMode','subarray','blocksWithDefines','_collectBindingNames','BGRA8UnormSRGB','setPipeline','_initClickEvent','_doubleClickOccured','updateRawTexture2DArray','ALPHA_ONEONE','_emitCodeFromInclude','_vertexBufferSize','DEPTH_COMPONENT','canvasTabIndex','is2DArray','isTextureArray','vectors','_resizeOrCreateMultiviewTexture','_decalMap','tangent','SRGB8_ALPHA8','vClipPlane4','readPixels','createDepthStencilTexture','updateFloat4','beginRenderPass','_textureHelper','_getTexture','BilateralBlurX','clipPlane6','#ifdef\x20FOG\x0a#define\x20FOGMODE_NONE\x200.\x0a#define\x20FOGMODE_EXP\x201.\x0a#define\x20FOGMODE_EXP2\x202.\x0a#define\x20FOGMODE_LINEAR\x203.\x0a#define\x20E\x202.71828\x0auniform\x20vec4\x20vFogInfos;\x0auniform\x20vec3\x20vFogColor;\x0avarying\x20vec3\x20vFogDistance;\x0afloat\x20CalcFogFactor()\x0a{\x0afloat\x20fogCoeff=1.0;\x0afloat\x20fogStart=vFogInfos.y;\x0afloat\x20fogEnd=vFogInfos.z;\x0afloat\x20fogDensity=vFogInfos.w;\x0afloat\x20fogDistance=length(vFogDistance);\x0aif\x20(FOGMODE_LINEAR==vFogInfos.x)\x0a{\x0afogCoeff=(fogEnd-fogDistance)/(fogEnd-fogStart);\x0a}\x0aelse\x20if\x20(FOGMODE_EXP==vFogInfos.x)\x0a{\x0afogCoeff=1.0/pow(E,fogDistance*fogDensity);\x0a}\x0aelse\x20if\x20(FOGMODE_EXP2==vFogInfos.x)\x0a{\x0afogCoeff=1.0/pow(E,fogDistance*fogDistance*fogDensity*fogDensity);\x0a}\x0areturn\x20clamp(fogCoeff,0.0,1.0);\x0a}\x0a#endif\x0a','NONE','setStencilWriteMask','setMatrix2x2','_list','-dxt.ktx','_mode','substitutionVars','fluidRenderingBilateralBlur','releaseVertexArrayObject','createShaderModule','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include<imageProcessingDeclaration>\x0a#include<helperFunctions>\x0a#include<imageProcessingFunctions>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20result=texture2D(textureSampler,vUV);\x0a#ifdef\x20IMAGEPROCESSING\x0a#ifndef\x20FROMLINEARSPACE\x0aresult.rgb=toLinearSpace(result.rgb);\x0a#endif\x0aresult=applyImageProcessing(result);\x0a#else\x0a#ifdef\x20FROMLINEARSPACE\x0aresult=applyImageProcessing(result);\x0a#endif\x0a#endif\x0agl_FragColor=result;\x0a}','IdentityReadOnly','_MoveCursorWithinIf','destroyDeferredBuffers','specularBase','style','vertexShader','Unknown\x20format\x20','ETC2RGB8A1Unorm','_depthFunc','particleSystems','texturesSupported','vEyePosition','ASTC6x5Unorm','oitBackBlendPixelShader','pbrFragmentExtraDeclaration','dynamicUniformBlocks','textureBlocks','worldDirection','onVRRequestPresentStart','postfixToInfix','setDirectColor4','MapWrite','_cachedWrapV','fluidRenderingStandardBlur','\x20=\x20vec3(0,\x200,\x200);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','InvertYPremultiplyAlphaWithOfst','bindBuffer','getVRDevice','Thin\x20Instances\x20are\x20not\x20supported\x20on\x20this\x20device\x20as\x20Instanced\x20Array\x20extension\x20not\x20supported','_textureArrayProcessing','367435vsmcWd','_colorTextureArray','allowEmptyVertexProgram','CLIPPLANE6','\x0a\x20\x20\x20\x20@group(0)\x20@binding(0)\x20var\x20videoSampler:\x20sampler;\x0a\x20\x20\x20\x20@group(0)\x20@binding(1)\x20var\x20videoTexture:\x20texture_external;\x0a\x0a\x20\x20\x20\x20@fragment\x0a\x20\x20\x20\x20fn\x20main(\x0a\x20\x20\x20\x20\x20\x20\x20\x20@location(0)\x20fragUV:\x20vec2<f32>\x0a\x20\x20\x20\x20)\x20->\x20@location(0)\x20vec4<f32>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20textureSampleBaseClampToEdge(videoTexture,\x20videoSampler,\x20fragUV);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20',';\x0d\x0a','matricesIndices','gpuUpdateParticlesPixelShader','renderTargetBlur','readFromStorageBuffer','getEngine','querySet','cellPixelShader','reflectionMatrix','timerQuery','attribute\x20vec2\x20position;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=position*madd+madd;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20leftSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20leftFrag=texture2D(leftSampler,vUV);\x0aleftFrag=vec4(1.0,leftFrag.g,leftFrag.b,1.0);\x0avec4\x20rightFrag=texture2D(textureSampler,vUV);\x0arightFrag=vec4(rightFrag.r,1.0,1.0,1.0);\x0agl_FragColor=vec4(rightFrag.rgb*leftFrag.rgb,1.0);\x0a}','_bindGroupEntries','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20int\x20maxFilterSize;\x0auniform\x20vec2\x20blurDir;\x0auniform\x20float\x20projectedParticleConstant;\x0auniform\x20float\x20depthThreshold;\x0avarying\x20vec2\x20vUV;\x0avoid\x20main(void)\x20{\x0afloat\x20depth=textureLod(textureSampler,vUV,0.).x;\x0aif\x20(depth>=1e6\x20||\x20depth<=0.)\x20{\x0aglFragColor=vec4(vec3(depth),1.);\x0areturn;\x0a}\x0aint\x20filterSize=min(maxFilterSize,int(ceil(projectedParticleConstant/depth)));\x0afloat\x20sigma=float(filterSize)/3.0;\x0afloat\x20two_sigma2=2.0*sigma*sigma;\x0afloat\x20sigmaDepth=depthThreshold/3.0;\x0afloat\x20two_sigmaDepth2=2.0*sigmaDepth*sigmaDepth;\x0afloat\x20sum=0.;\x0afloat\x20wsum=0.;\x0afloat\x20sumVel=0.;\x0afor\x20(int\x20x=-filterSize;\x20x<=filterSize;\x20++x)\x20{\x0avec2\x20coords=vec2(x);\x0avec2\x20sampleDepthVel=textureLod(textureSampler,vUV+coords*blurDir,0.).rg;\x0afloat\x20r=dot(coords,coords);\x0afloat\x20w=exp(-r/two_sigma2);\x0afloat\x20rDepth=sampleDepthVel.r-depth;\x0afloat\x20wd=exp(-rDepth*rDepth/two_sigmaDepth2);\x0asum+=sampleDepthVel.r*w*wd;\x0asumVel+=sampleDepthVel.g*w*wd;\x0awsum+=w*wd;\x0a}\x0aglFragColor=vec4(sum/wsum,sumVel/wsum,0.,1.);\x0a}\x0a','writeTexture','opacityFresnel','generateStencil','.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','geometryUboDeclaration','RG8Uint','depthVertexShader','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20','vClipPlane6','counters','multiplyByFloats','fragmentInputs.position','_defineEquirectangularFixedName','MouseWheelX','_scene','programLinkError','#ifndef','createSampler','removeVerticesData','DEPTH32F_STENCIL8','decalFragmentDeclaration','boundingVectors','TEXTUREFORMAT_COMPRESSED_RGBA8_ETC2_EAC','search','_thinInstanceUpdateBufferSize','PreProcess','getBox','setStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!','setFloatArray4','_uniformBufferLayoutBuilt','Unsupported\x20Physics\x20plugin\x20version.','_irradianceTexture','_glslang','extensions','343oLlila','MODE_SIDEBYSIDE','_depthStencilTextureWithStencil','generateMipmaps','mask','TEXTURE_EXPLICIT_MODE','setAlphaBlendFunctionParameters','disableEffectInPipeline','useCache','Multiview\x20is\x20not\x20supported','_attached','verticesStart','pointermove','projectedParticleConstant','uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20sampler2D\x20colorTable;\x20\x0avarying\x20vec2\x20vUV;\x0aconst\x20float\x20SLICE_COUNT=16.0;\x20\x0avec4\x20sampleAs3DTexture(sampler2D\x20textureSampler,vec3\x20uv,float\x20width)\x20{\x0afloat\x20sliceSize=1.0/width;\x20\x0afloat\x20slicePixelSize=sliceSize/width;\x20\x0afloat\x20sliceInnerSize=slicePixelSize*(width-1.0);\x20\x0afloat\x20zSlice0=min(floor(uv.z*width),width-1.0);\x0afloat\x20zSlice1=min(zSlice0+1.0,width-1.0);\x0afloat\x20xOffset=slicePixelSize*0.5+uv.x*sliceInnerSize;\x0afloat\x20s0=xOffset+(zSlice0*sliceSize);\x0afloat\x20s1=xOffset+(zSlice1*sliceSize);\x0avec4\x20slice0Color=texture2D(textureSampler,vec2(s0,uv.y));\x0avec4\x20slice1Color=texture2D(textureSampler,vec2(s1,uv.y));\x0afloat\x20zOffset=mod(uv.z*width,1.0);\x0avec4\x20result=mix(slice0Color,slice1Color,zOffset);\x0areturn\x20result;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20screen_color=texture2D(textureSampler,vUV);\x0agl_FragColor=sampleAs3DTexture(colorTable,screen_color.rgb,SLICE_COUNT);\x0a}','substring','ColorKind','availableAttributes','repeatableContentBlocks','getRenderTarget','GL_ALPHA_EQUATION_MIN','vec3\x20computeFixedEquirectangularCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20direction)\x0a{\x0afloat\x20lon=atan(direction.z,direction.x);\x0afloat\x20lat=acos(direction.y);\x0avec2\x20sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;\x0afloat\x20s=sphereCoords.x*0.5+0.5;\x0afloat\x20t=sphereCoords.y;\x0areturn\x20vec3(s,t,0);\x20\x0a}\x0avec3\x20computeMirroredFixedEquirectangularCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20direction)\x0a{\x0afloat\x20lon=atan(direction.z,direction.x);\x0afloat\x20lat=acos(direction.y);\x0avec2\x20sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;\x0afloat\x20s=sphereCoords.x*0.5+0.5;\x0afloat\x20t=sphereCoords.y;\x0areturn\x20vec3(1.0-s,t,0);\x20\x0a}\x0avec3\x20computeEquirectangularCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20cameraToVertex=normalize(worldPos.xyz-eyePosition);\x0avec3\x20r=normalize(reflect(cameraToVertex,worldNormal));\x0ar=vec3(reflectionMatrix*vec4(r,0));\x0afloat\x20lon=atan(r.z,r.x);\x0afloat\x20lat=acos(r.y);\x0avec2\x20sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;\x0afloat\x20s=sphereCoords.x*0.5+0.5;\x0afloat\x20t=sphereCoords.y;\x0areturn\x20vec3(s,t,0);\x0a}\x0avec3\x20computeSphericalCoords(vec4\x20worldPos,vec3\x20worldNormal,mat4\x20view,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20viewDir=normalize(vec3(view*worldPos));\x0avec3\x20viewNormal=normalize(vec3(view*vec4(worldNormal,0.0)));\x0avec3\x20r=reflect(viewDir,viewNormal);\x0ar=vec3(reflectionMatrix*vec4(r,0));\x0ar.z=r.z-1.0;\x0afloat\x20m=2.0*length(r);\x0areturn\x20vec3(r.x/m+0.5,1.0-r.y/m-0.5,0);\x0a}\x0avec3\x20computePlanarCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20viewDir=worldPos.xyz-eyePosition;\x0avec3\x20coords=normalize(reflect(viewDir,worldNormal));\x0areturn\x20vec3(reflectionMatrix*vec4(coords,1));\x0a}\x0avec3\x20computeCubicCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20viewDir=normalize(worldPos.xyz-eyePosition);\x0avec3\x20coords=reflect(viewDir,worldNormal);\x0acoords=vec3(reflectionMatrix*vec4(coords,0));\x0a#ifdef\x20INVERTCUBICMAP\x0acoords.y*=-1.0;\x0a#endif\x0areturn\x20coords;\x0a}\x0avec3\x20computeCubicLocalCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix,vec3\x20reflectionSize,vec3\x20reflectionPosition)\x0a{\x0avec3\x20viewDir=normalize(worldPos.xyz-eyePosition);\x0avec3\x20coords=reflect(viewDir,worldNormal);\x0acoords=parallaxCorrectNormal(worldPos.xyz,coords,reflectionSize,reflectionPosition);\x0acoords=vec3(reflectionMatrix*vec4(coords,0));\x0a#ifdef\x20INVERTCUBICMAP\x0acoords.y*=-1.0;\x0a#endif\x0areturn\x20coords;\x0a}\x0avec3\x20computeProjectionCoords(vec4\x20worldPos,mat4\x20view,mat4\x20reflectionMatrix)\x0a{\x0areturn\x20vec3(reflectionMatrix*(view*worldPos));\x0a}\x0avec3\x20computeSkyBoxCoords(vec3\x20positionW,mat4\x20reflectionMatrix)\x0a{\x0areturn\x20vec3(reflectionMatrix*vec4(positionW,1.));\x0a}\x0a#ifdef\x20REFLECTION\x0avec3\x20computeReflectionCoords(vec4\x20worldPos,vec3\x20worldNormal)\x0a{\x0a#ifdef\x20REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED\x0avec3\x20direction=normalize(vDirectionW);\x0areturn\x20computeMirroredFixedEquirectangularCoords(worldPos,worldNormal,direction);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_EQUIRECTANGULAR_FIXED\x0avec3\x20direction=normalize(vDirectionW);\x0areturn\x20computeFixedEquirectangularCoords(worldPos,worldNormal,direction);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_EQUIRECTANGULAR\x0areturn\x20computeEquirectangularCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SPHERICAL\x0areturn\x20computeSphericalCoords(worldPos,worldNormal,view,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_PLANAR\x0areturn\x20computePlanarCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_CUBIC\x0a#ifdef\x20USE_LOCAL_REFLECTIONMAP_CUBIC\x0areturn\x20computeCubicLocalCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix,vReflectionSize,vReflectionPosition);\x0a#else\x0areturn\x20computeCubicCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0areturn\x20computeProjectionCoords(worldPos,view,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0areturn\x20computeSkyBoxCoords(vPositionUVW,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_EXPLICIT\x0areturn\x20vec3(0,0,0);\x0a#endif\x0a}\x0a#endif\x0a','onCompiled','triplanarVertexShader','bumpFragmentFunctions','_isZOffsetDirty','matrixBufferSize','NEAREST','operand','DEPTH_COMPONENT16','CLIPPLANE','createRawTexture3D','_xOffset','_deserialize','internal\x20process\x20texture\x20-\x20invertY=','GetSamplerHashCode','TransformNormalFromFloatsToRef','TEXTUREFORMAT_RGBA_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU\x20when\x20type\x20is\x20TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV','\x0a\x20\x20vertexInputs\x20=\x20input;\x0a','autoBindSampler','textureFloatLinearFiltering','postprocessVertexShader','sources','#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,lod)\x20texture2DLodEXT(s,c,lod)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,bias)\x20texture2D(s,c,bias)\x0a#endif\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0auniform\x20vec2\x20texelOffsetScale;\x0aconst\x20float\x20weights[8]=float[8]\x20(0.071303,0.131514,0.189879,0.321392,0.452906,\x200.584419,0.715932,0.847445);\x0avoid\x20processSample(vec2\x20uv,float\x20i,vec2\x20stepSize,inout\x20vec4\x20accumulator,inout\x20float\x20denominator)\x0a{\x0avec2\x20offsetUV=stepSize*i+uv;\x0afloat\x20coefficient=weights[int(2.0-abs(i))];\x0aaccumulator+=TEXTUREFUNC(textureSampler,offsetUV,0.0)*coefficient;\x0adenominator+=coefficient;\x0a}\x0avoid\x20main()\x0a{\x0avec4\x20colorFull=TEXTUREFUNC(textureSampler,vUV,0.0);\x0aif\x20(dot(colorFull,vec4(1.0))==0.0)\x20{\x0agl_FragColor=colorFull;\x0areturn;\x0a}\x0afloat\x20blurRadius=colorFull.a*255.0;\x20\x0avec2\x20stepSize=texelOffsetScale.xy*blurRadius;\x0avec4\x20accumulator=TEXTUREFUNC(textureSampler,vUV,0.0)*0.214607;\x0afloat\x20denominator=0.214607;\x0aprocessSample(vUV,1.0,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*0.2,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*0.4,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*0.6,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*0.8,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*1.2,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*1.4,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*1.6,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*1.8,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*2.0,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*0.2,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*0.4,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*0.6,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*0.8,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*1.2,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*1.4,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*1.6,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*1.8,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*2.0,stepSize,accumulator,denominator);\x0agl_FragColor=vec4(accumulator.rgb/denominator,colorFull.a);\x0a}\x0a','offsetY','_zOffset','_useStandardBlur','TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4\x20format\x20not\x20supported\x20in\x20WebGPU','#if\x20defined(REFLECTION)\x20||\x20defined(SS_REFRACTION)\x0afloat\x20getLodFromAlphaG(float\x20cubeMapDimensionPixels,float\x20microsurfaceAverageSlope)\x20{\x0afloat\x20microsurfaceAverageSlopeTexels=cubeMapDimensionPixels*microsurfaceAverageSlope;\x0afloat\x20lod=log2(microsurfaceAverageSlopeTexels);\x0areturn\x20lod;\x0a}\x0afloat\x20getLinearLodFromRoughness(float\x20cubeMapDimensionPixels,float\x20roughness)\x20{\x0afloat\x20lod=log2(cubeMapDimensionPixels)*roughness;\x0areturn\x20lod;\x0a}\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(RADIANCEOCCLUSION)\x0afloat\x20environmentRadianceOcclusion(float\x20ambientOcclusion,float\x20NdotVUnclamped)\x20{\x0afloat\x20temp=NdotVUnclamped+ambientOcclusion;\x0areturn\x20saturate(square(temp)-1.0+ambientOcclusion);\x0a}\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(HORIZONOCCLUSION)\x0afloat\x20environmentHorizonOcclusion(vec3\x20view,vec3\x20normal,vec3\x20geometricNormal)\x20{\x0avec3\x20reflection=reflect(view,normal);\x0afloat\x20temp=saturate(1.0+1.1*dot(reflection,geometricNormal));\x0areturn\x20square(temp);\x0a}\x0a#endif\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20||\x20defined(SS_LODINREFRACTIONALPHA)\x0a#define\x20UNPACK_LOD(x)\x20(1.0-x)*255.0\x0afloat\x20getLodFromAlphaG(float\x20cubeMapDimensionPixels,float\x20alphaG,float\x20NdotV)\x20{\x0afloat\x20microsurfaceAverageSlope=alphaG;\x0amicrosurfaceAverageSlope*=sqrt(abs(NdotV));\x0areturn\x20getLodFromAlphaG(cubeMapDimensionPixels,microsurfaceAverageSlope);\x0a}\x0a#endif\x0a','__framebuffer','_halfDome','_opStencilDepthPass','uniform\x20sampler2D\x20textureSampler;\x0a#ifdef\x20SSR_SUPPORTED\x0auniform\x20sampler2D\x20reflectivitySampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20sampler2D\x20positionSampler;\x0a#endif\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20float\x20stepSize;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20threshold;\x0auniform\x20float\x20roughnessFactor;\x0auniform\x20float\x20reflectionSpecularFalloffExponent;\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20SSR_SUPPORTED\x0astruct\x20ReflectionInfo\x20{\x0avec3\x20color;\x0avec4\x20coords;\x0a};\x0a/**\x0a*\x20According\x20to\x20specular,see\x20https:\x0a*/\x0avec3\x20fresnelSchlick(float\x20cosTheta,vec3\x20F0)\x0a{\x0areturn\x20F0+(1.0-F0)*pow(1.0-cosTheta,5.0);\x0a}\x0a/**\x0a*\x20Once\x20the\x20pixel\x27s\x20coordinates\x20has\x20been\x20found,let\x27s\x20adjust\x20(smooth)\x20a\x20little\x20bit\x0a*\x20by\x20sampling\x20multiple\x20reflection\x20pixels.\x0a*/\x0aReflectionInfo\x20smoothReflectionInfo(vec3\x20dir,vec3\x20hitCoord)\x0a{\x0aReflectionInfo\x20info;\x0ainfo.color=vec3(0.0);\x0avec4\x20projectedCoord;\x0afloat\x20sampledDepth;\x0afor(int\x20i=0;\x20i<SMOOTH_STEPS;\x20i++)\x0a{\x0aprojectedCoord=projection*vec4(hitCoord,1.0);\x0aprojectedCoord.xy/=projectedCoord.w;\x0aprojectedCoord.xy=0.5*projectedCoord.xy+vec2(0.5);\x0asampledDepth=(view*texture2D(positionSampler,projectedCoord.xy)).z;\x0afloat\x20depth=sampledDepth-hitCoord.z;\x0adir*=0.5;\x0aif(depth>0.0)\x0ahitCoord-=dir;\x0aelse\x0ahitCoord+=dir;\x0ainfo.color+=texture2D(textureSampler,projectedCoord.xy).rgb;\x0a}\x0aprojectedCoord=projection*vec4(hitCoord,1.0);\x0aprojectedCoord.xy/=projectedCoord.w;\x0aprojectedCoord.xy=0.5*projectedCoord.xy+vec2(0.5);\x0ainfo.coords=vec4(projectedCoord.xy,sampledDepth,1.0);\x0ainfo.color+=texture2D(textureSampler,projectedCoord.xy).rgb;\x0ainfo.color/=float(SMOOTH_STEPS+1);\x0areturn\x20info;\x0a}\x0a/**\x0a*\x20Tests\x20the\x20given\x20world\x20position\x20(hitCoord)\x20according\x20to\x20the\x20given\x20reflection\x20vector\x20(dir)\x0a*\x20until\x20it\x20finds\x20a\x20collision\x20(means\x20that\x20depth\x20is\x20enough\x20close\x20to\x20say\x20\x22it\x27s\x20the\x20pixel\x20to\x20sample!\x22).\x0a*/\x0aReflectionInfo\x20getReflectionInfo(vec3\x20dir,vec3\x20hitCoord)\x0a{\x0aReflectionInfo\x20info;\x0avec4\x20projectedCoord;\x0afloat\x20sampledDepth;\x0adir*=stepSize;\x0afor(int\x20i=0;\x20i<REFLECTION_SAMPLES;\x20i++)\x0a{\x0ahitCoord+=dir;\x0aprojectedCoord=projection*vec4(hitCoord,1.0);\x0aprojectedCoord.xy/=projectedCoord.w;\x0aprojectedCoord.xy=0.5*projectedCoord.xy+vec2(0.5);\x0asampledDepth=(view*texture2D(positionSampler,projectedCoord.xy)).z;\x0afloat\x20depth=sampledDepth-hitCoord.z;\x0a#ifdef\x20RIGHT_HANDED_SCENE\x0adepth*=-1.0;\x0a#endif\x0aif(((depth-dir.z)<threshold)\x20&&\x20depth<=0.0)\x0a{\x0a#ifdef\x20ENABLE_SMOOTH_REFLECTIONS\x0areturn\x20smoothReflectionInfo(dir,hitCoord);\x0a#else\x0ainfo.color=texture2D(textureSampler,projectedCoord.xy).rgb;\x0ainfo.coords=vec4(projectedCoord.xy,sampledDepth,0.0);\x0areturn\x20info;\x0a#endif\x0a}\x0a}\x0ainfo.color=texture2D(textureSampler,projectedCoord.xy).rgb;\x0ainfo.coords=vec4(projectedCoord.xy,sampledDepth,0.0);\x0areturn\x20info;\x0a}\x0avec3\x20hash(vec3\x20a)\x0a{\x0aa=fract(a*0.8);\x0aa+=dot(a,a.yxz+19.19);\x0areturn\x20fract((a.xxy+a.yxx)*a.zyx);\x0a}\x0a#endif\x0avoid\x20main()\x0a{\x0a#ifdef\x20SSR_SUPPORTED\x0avec4\x20albedoFull=texture2D(textureSampler,vUV);\x0avec3\x20albedo=albedoFull.rgb;\x0afloat\x20spec=texture2D(reflectivitySampler,vUV).r;\x0aif\x20(spec==0.0)\x20{\x0agl_FragColor=albedoFull;\x0areturn;\x0a}\x0avec3\x20normal=(texture2D(normalSampler,vUV)).xyz;\x0avec3\x20position=(view*texture2D(positionSampler,vUV)).xyz;\x0avec3\x20reflected=normalize(reflect(normalize(position),normalize(normal)));\x0afloat\x20roughness=1.0-texture2D(reflectivitySampler,vUV).a;\x0avec3\x20jitt=mix(vec3(0.0),hash(position),roughness)*roughnessFactor;\x0aReflectionInfo\x20info=getReflectionInfo(jitt+reflected,position);\x0avec2\x20dCoords=smoothstep(0.2,0.6,abs(vec2(0.5,0.5)-info.coords.xy));\x0afloat\x20screenEdgefactor=clamp(1.0-(dCoords.x+dCoords.y),0.0,1.0);\x0avec3\x20F0=vec3(0.04);\x0aF0\x20=mix(F0,albedo,spec);\x0avec3\x20fresnel=fresnelSchlick(max(dot(normalize(normal),normalize(position)),0.0),F0);\x0a#ifdef\x20RIGHT_HANDED_SCENE\x0areflected.z*=-1.0;\x0a#endif\x0afloat\x20reflectionMultiplier=clamp(pow(spec*strength,reflectionSpecularFalloffExponent)*screenEdgefactor*reflected.z,0.0,0.9);\x0afloat\x20albedoMultiplier=1.0-reflectionMultiplier;\x0avec3\x20SSR=info.color*fresnel;\x0agl_FragColor=vec4((albedo*albedoMultiplier)+(SSR*reflectionMultiplier),albedoFull.a);\x0a#else\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a#endif\x0a}\x0a','setDepthCompare','start','bindUniformBuffer','meshCount','currentRTisSceneRT','boundingBox','setQuaternion','isVRDevicePresent','normal','_drawWrapperFog','setStorageBuffer','#ifdef\x20SHEEN\x0astruct\x20sheenOutParams\x0a{\x0afloat\x20sheenIntensity;\x0avec3\x20sheenColor;\x0afloat\x20sheenRoughness;\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0avec3\x20surfaceAlbedo;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0afloat\x20sheenAlbedoScaling;\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0avec3\x20finalSheenRadianceScaled;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avec4\x20sheenMapData;\x0avec3\x20sheenEnvironmentReflectance;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20sheenBlock(\x0ain\x20vec4\x20vSheenColor,\x0a#ifdef\x20SHEEN_ROUGHNESS\x0ain\x20float\x20vSheenRoughness,\x0a#if\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0ain\x20vec4\x20sheenMapRoughnessData,\x0a#endif\x0a#endif\x0ain\x20float\x20roughness,\x0a#ifdef\x20SHEEN_TEXTURE\x0ain\x20vec4\x20sheenMapData,\x0ain\x20float\x20sheenMapLevel,\x0a#endif\x0ain\x20float\x20reflectance,\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0ain\x20vec3\x20baseColor,\x0ain\x20vec3\x20surfaceAlbedo,\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0ain\x20float\x20NdotV,\x0ain\x20vec3\x20environmentBrdf,\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0ain\x20vec2\x20AARoughnessFactors,\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0ain\x20vec4\x20vLightingIntensity,\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0ain\x20vec3\x20reflectionCoords,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0ain\x20vec2\x20reflectionCoords,\x0a#endif\x0ain\x20float\x20NdotVUnclamped,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(RADIANCEOCCLUSION)\x0ain\x20float\x20seo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(HORIZONOCCLUSION)\x20&&\x20defined(BUMP)\x20&&\x20defined(REFLECTIONMAP_3D)\x0ain\x20float\x20eho,\x0a#endif\x0a#endif\x0aout\x20sheenOutParams\x20outParams\x0a)\x0a{\x0afloat\x20sheenIntensity=vSheenColor.a;\x0a#ifdef\x20SHEEN_TEXTURE\x0a#if\x20DEBUGMODE>0\x0aoutParams.sheenMapData=sheenMapData;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0afloat\x20sheenFactor=pow5(1.0-sheenIntensity);\x0avec3\x20sheenColor=baseColor.rgb*(1.0-sheenFactor);\x0afloat\x20sheenRoughness=sheenIntensity;\x0aoutParams.surfaceAlbedo=surfaceAlbedo*sheenFactor;\x0a#ifdef\x20SHEEN_TEXTURE\x0asheenIntensity*=sheenMapData.a;\x0a#endif\x0a#else\x0avec3\x20sheenColor=vSheenColor.rgb;\x0a#ifdef\x20SHEEN_TEXTURE\x0a#ifdef\x20SHEEN_GAMMATEXTURE\x0asheenColor.rgb*=toLinearSpace(sheenMapData.rgb);\x0a#else\x0asheenColor.rgb*=sheenMapData.rgb;\x0a#endif\x0asheenColor.rgb*=sheenMapLevel;\x0a#endif\x0a#ifdef\x20SHEEN_ROUGHNESS\x0afloat\x20sheenRoughness=vSheenRoughness;\x0a#ifdef\x20SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE\x0a#if\x20defined(SHEEN_TEXTURE)\x0asheenRoughness*=sheenMapData.a;\x0a#endif\x0a#elif\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x0a#ifdef\x20SHEEN_TEXTURE_ROUGHNESS_IDENTICAL\x0asheenRoughness*=sheenMapData.a;\x0a#else\x0asheenRoughness*=sheenMapRoughnessData.a;\x0a#endif\x0a#endif\x0a#else\x0afloat\x20sheenRoughness=roughness;\x0a#ifdef\x20SHEEN_TEXTURE\x0asheenIntensity*=sheenMapData.a;\x0a#endif\x0a#endif\x0a#if\x20!defined(SHEEN_ALBEDOSCALING)\x0asheenIntensity*=(1.-reflectance);\x0a#endif\x0asheenColor*=sheenIntensity;\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0a/*#ifdef\x20SHEEN_SOFTER\x0avec3\x20environmentSheenBrdf=vec3(0.,0.,getBRDFLookupCharlieSheen(NdotV,sheenRoughness));\x0a#else*/\x0a#ifdef\x20SHEEN_ROUGHNESS\x0avec3\x20environmentSheenBrdf=getBRDFLookup(NdotV,sheenRoughness);\x0a#else\x0avec3\x20environmentSheenBrdf=environmentBrdf;\x0a#endif\x0a/*#endif*/\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0afloat\x20sheenAlphaG=convertRoughnessToAverageSlope(sheenRoughness);\x0a#ifdef\x20SPECULARAA\x0asheenAlphaG+=AARoughnessFactors.y;\x0a#endif\x0avec4\x20environmentSheenRadiance=vec4(0.,0.,0.,0.);\x0asampleReflectionTexture(\x0asheenAlphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0asheenRoughness,\x0a#endif\x0areflectionSampler,\x0areflectionCoords,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0aenvironmentSheenRadiance\x0a);\x0avec3\x20sheenEnvironmentReflectance=getSheenReflectanceFromBRDFLookup(sheenColor,environmentSheenBrdf);\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(RADIANCEOCCLUSION)\x0asheenEnvironmentReflectance*=seo;\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(HORIZONOCCLUSION)\x20&&\x20defined(BUMP)\x20&&\x20defined(REFLECTIONMAP_3D)\x0asheenEnvironmentReflectance*=eho;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.sheenEnvironmentReflectance=sheenEnvironmentReflectance;\x0a#endif\x0aoutParams.finalSheenRadianceScaled=\x0aenvironmentSheenRadiance.rgb\x20*\x0asheenEnvironmentReflectance\x20*\x0avLightingIntensity.z;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0aoutParams.sheenAlbedoScaling=1.0-sheenIntensity*max(max(sheenColor.r,sheenColor.g),sheenColor.b)*environmentSheenBrdf.b;\x0a#endif\x0aoutParams.sheenIntensity=sheenIntensity;\x0aoutParams.sheenColor=sheenColor;\x0aoutParams.sheenRoughness=sheenRoughness;\x0a}\x0a#endif\x0a','sampler2D','_missingVaryings','data:','TEXTUREFORMAT_RGB','Dot','DST_COLOR','_getFragmentShaderCode','_cacheFloat2','ASTC4x4Unorm','rgbdEncodePixelShader','_lastBuffer','NEVER','_onVRFullScreenTriggered','Float','getSubTimeStep','TriangleStrip','onKeyboardObservable','directionW','previousMatrixData','Depth32Float','_getPipeline','gridPixelShader','position','_renderTarget','autoPlay','setSampler','parseGLES3','#include<__decl__defaultVertex>\x0a#define\x20CUSTOM_VERTEX_BEGIN\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0aattribute\x20vec4\x20tangent;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#include<uvAttributeDeclaration>[2..7]\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<helperFunctions>\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0a#include<prePassVertexDeclaration>\x0a#include<mainUVVaryingDeclaration>[1..7]\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap)\x0a#if\x20defined(SPECULARTERM)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular)\x0a#endif\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal)\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<bumpVertexDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#include<logDepthDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20NORMAL\x0avec3\x20normalUpdated=normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0avec4\x20tangentUpdated=tangent;\x0a#endif\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avPositionUVW=positionUpdated;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_POSITION\x0a#define\x20CUSTOM_VERTEX_UPDATE_NORMAL\x0a#include<instancesVertex>\x0a#if\x20defined(PREPASS)\x20&&\x20defined(PREPASS_VELOCITY)\x20&&\x20!defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#ifdef\x20NORMAL\x0amat3\x20normalWorld=mat3(finalWorld);\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avNormalW=normalUpdated/vec3(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));\x0avNormalW=normalize(normalWorld*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormalWorld=transposeMat3(inverseMat3(normalWorld));\x0a#endif\x0avNormalW=normalize(normalWorld*normalUpdated);\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_WORLDPOS\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0avPositionW=vec3(worldPos);\x0a#include<prePassVertex>\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avDirectionW=normalize(vec3(finalWorld*vec4(positionUpdated,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uvUpdated=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV1\x0avMainUV1=uvUpdated;\x0a#endif\x0a#include<uvVariableDeclaration>[2..7]\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse,_MATRIXNAME_,diffuse,_INFONAME_,DiffuseInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_MATRIXNAME_,detail,_INFONAME_,DetailInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_MATRIXNAME_,ambient,_INFONAME_,AmbientInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_MATRIXNAME_,opacity,_INFONAME_,OpacityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_MATRIXNAME_,emissive,_INFONAME_,EmissiveInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_MATRIXNAME_,lightmap,_INFONAME_,LightmapInfos.x)\x0a#if\x20defined(SPECULARTERM)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular,_MATRIXNAME_,specular,_INFONAME_,SpecularInfos.x)\x0a#endif\x0a#include<samplerVertexImplementation>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_MATRIXNAME_,bump,_INFONAME_,BumpInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_MATRIXNAME_,decal,_INFONAME_,DecalInfos.x)\x0a#include<bumpVertex>\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#include<pointCloudVertex>\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','precision\x20highp\x20float;uniform\x20vec4\x20vEyePosition;uniform\x20vec4\x20vDiffuseColor;varying\x20vec3\x20vPositionW;uniform\x20float\x20time;uniform\x20float\x20speed;uniform\x20float\x20movingSpeed;uniform\x20vec3\x20fogColor;uniform\x20sampler2D\x20noiseTexture;uniform\x20float\x20fogDensity;varying\x20float\x20noise;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20sampler2D\x20diffuseSampler;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0afloat\x20random(\x20vec3\x20scale,float\x20seed\x20){return\x20fract(\x20sin(\x20dot(\x20gl_FragCoord.xyz+seed,scale\x20)\x20)*43758.5453+seed\x20)\x20;}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4\x20baseColor=vec4(1.,1.,1.,1.);vec3\x20diffuseColor=vDiffuseColor.rgb;float\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0avec4\x20noiseTex=texture2D(\x20noiseTexture,vDiffuseUV\x20);vec2\x20T1=vDiffuseUV+vec2(\x201.5,-1.5\x20)*time\x20*0.02;vec2\x20T2=vDiffuseUV+vec2(\x20-0.5,2.0\x20)*time*0.01*speed;T1.x+=noiseTex.x*2.0;T1.y+=noiseTex.y*2.0;T2.x-=noiseTex.y*0.2+time*0.001*movingSpeed;T2.y+=noiseTex.z*0.2+time*0.002*movingSpeed;float\x20p=texture2D(\x20noiseTexture,T1*3.0\x20).a;vec4\x20lavaColor=texture2D(\x20diffuseSampler,T2*4.0);vec4\x20temp=lavaColor*(\x20vec4(\x20p,p,p,p\x20)*2.\x20)+(\x20lavaColor*lavaColor-0.1\x20);baseColor=temp;float\x20depth=gl_FragCoord.z*4.0;const\x20float\x20LOG2=1.442695;float\x20fogFactor=exp2(-fogDensity*fogDensity*depth*depth*LOG2\x20);fogFactor=1.0-clamp(\x20fogFactor,0.0,1.0\x20);baseColor=mix(\x20baseColor,vec4(\x20fogColor,baseColor.w\x20),fogFactor\x20);diffuseColor=baseColor.rgb;\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20UNLIT\x0avec3\x20diffuseBase=vec3(1.,1.,1.);\x0a#else\x0avec3\x20diffuseBase=vec3(0.,0.,0.);lightingInfo\x20info;float\x20shadow=1.;float\x20glossiness=0.;\x0a#include<lightFragment>[0]\x0a#include<lightFragment>[1]\x0a#include<lightFragment>[2]\x0a#include<lightFragment>[3]\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;vec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','uniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0auniform\x20vec3\x20vEmissiveColor;\x0auniform\x20vec3\x20vAmbientColor;\x0auniform\x20float\x20visibility;\x0a#ifdef\x20DIFFUSE\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20vec2\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20OPACITY\x20\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20vec2\x20vTangentSpaceParams;\x0a#endif\x0a#ifdef\x20ALPHATEST\x0auniform\x20float\x20alphaCutOff;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(REFRACTION)\x20||\x20defined(PREPASS)\x0auniform\x20mat4\x20view;\x0a#endif\x0a#ifdef\x20REFRACTION\x0auniform\x20vec4\x20vRefractionInfos;\x0a#ifndef\x20REFRACTIONMAP_3D\x0auniform\x20mat4\x20refractionMatrix;\x0a#endif\x0a#ifdef\x20REFRACTIONFRESNEL\x0auniform\x20vec4\x20refractionLeftColor;\x0auniform\x20vec4\x20refractionRightColor;\x0a#endif\x0a#if\x20defined(USE_LOCAL_REFRACTIONMAP_CUBIC)\x20&&\x20defined(REFRACTIONMAP_3D)\x0auniform\x20vec3\x20vRefractionPosition;\x0auniform\x20vec3\x20vRefractionSize;\x20\x0a#endif\x0a#endif\x0a#if\x20defined(SPECULAR)\x20&&\x20defined(SPECULARTERM)\x0auniform\x20vec2\x20vSpecularInfos;\x0a#endif\x0a#ifdef\x20DIFFUSEFRESNEL\x0auniform\x20vec4\x20diffuseLeftColor;\x0auniform\x20vec4\x20diffuseRightColor;\x0a#endif\x0a#ifdef\x20OPACITYFRESNEL\x0auniform\x20vec4\x20opacityParts;\x0a#endif\x0a#ifdef\x20EMISSIVEFRESNEL\x0auniform\x20vec4\x20emissiveLeftColor;\x0auniform\x20vec4\x20emissiveRightColor;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0a#if\x20defined(REFLECTIONMAP_PLANAR)\x20||\x20defined(REFLECTIONMAP_CUBIC)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(REFLECTIONMAP_EQUIRECTANGULAR)\x20||\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_SKYBOX)\x0auniform\x20mat4\x20reflectionMatrix;\x0a#endif\x0a#ifndef\x20REFLECTIONMAP_SKYBOX\x0a#if\x20defined(USE_LOCAL_REFLECTIONMAP_CUBIC)\x20&&\x20defined(REFLECTIONMAP_CUBIC)\x0auniform\x20vec3\x20vReflectionPosition;\x0auniform\x20vec3\x20vReflectionSize;\x20\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0auniform\x20vec4\x20reflectionLeftColor;\x0auniform\x20vec4\x20reflectionRightColor;\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0a#endif\x0a#include<decalFragmentDeclaration>\x0a#define\x20ADDITIONAL_FRAGMENT_DECLARATION\x0a','#define\x20FRESNEL_MAXIMUM_ON_ROUGH\x200.25\x0a#ifdef\x20MS_BRDF_ENERGY_CONSERVATION\x0avec3\x20getEnergyConservationFactor(const\x20vec3\x20specularEnvironmentR0,const\x20vec3\x20environmentBrdf)\x20{\x0areturn\x201.0+specularEnvironmentR0*(1.0/environmentBrdf.y-1.0);\x0a}\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0avec3\x20getBRDFLookup(float\x20NdotV,float\x20perceptualRoughness)\x20{\x0avec2\x20UV=vec2(NdotV,perceptualRoughness);\x0avec4\x20brdfLookup=texture2D(environmentBrdfSampler,UV);\x0a#ifdef\x20ENVIRONMENTBRDF_RGBD\x0abrdfLookup.rgb=fromRGBD(brdfLookup.rgba);\x0a#endif\x0areturn\x20brdfLookup.rgb;\x0a}\x0avec3\x20getReflectanceFromBRDFLookup(const\x20vec3\x20specularEnvironmentR0,const\x20vec3\x20specularEnvironmentR90,const\x20vec3\x20environmentBrdf)\x20{\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0avec3\x20reflectance=(specularEnvironmentR90-specularEnvironmentR0)*environmentBrdf.x+specularEnvironmentR0*environmentBrdf.y;\x0a#else\x0avec3\x20reflectance=specularEnvironmentR0*environmentBrdf.x+specularEnvironmentR90*environmentBrdf.y;\x0a#endif\x0areturn\x20reflectance;\x0a}\x0avec3\x20getReflectanceFromBRDFLookup(const\x20vec3\x20specularEnvironmentR0,const\x20vec3\x20environmentBrdf)\x20{\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0avec3\x20reflectance=mix(environmentBrdf.xxx,environmentBrdf.yyy,specularEnvironmentR0);\x0a#else\x0avec3\x20reflectance=specularEnvironmentR0*environmentBrdf.x+environmentBrdf.y;\x0a#endif\x0areturn\x20reflectance;\x0a}\x0a#endif\x0a/*\x20NOT\x20USED\x0a#if\x20defined(SHEEN)\x20&&\x20defined(SHEEN_SOFTER)\x0afloat\x20getBRDFLookupCharlieSheen(float\x20NdotV,float\x20perceptualRoughness)\x0a{\x0afloat\x20c=1.0-NdotV;\x0afloat\x20c3=c*c*c;\x0areturn\x200.65584461*c3+1.0/(4.16526551+exp(-7.97291361*perceptualRoughness+6.33516894));\x0a}\x0a#endif\x0a*/\x0a#if\x20!defined(ENVIRONMENTBRDF)\x20||\x20defined(REFLECTIONMAP_SKYBOX)\x20||\x20defined(ALPHAFRESNEL)\x0avec3\x20getReflectanceFromAnalyticalBRDFLookup_Jones(float\x20VdotN,vec3\x20reflectance0,vec3\x20reflectance90,float\x20smoothness)\x0a{\x0afloat\x20weight=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);\x0areturn\x20reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));\x0a}\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x0a/**\x0a*\x20The\x20sheen\x20BRDF\x20not\x20containing\x20F\x20can\x20be\x20easily\x20stored\x20in\x20the\x20blue\x20channel\x20of\x20the\x20BRDF\x20texture.\x0a*\x20The\x20blue\x20channel\x20contains\x20DCharlie*VAshikhmin*NdotL\x20as\x20a\x20lokkup\x20table\x0a*/\x0avec3\x20getSheenReflectanceFromBRDFLookup(const\x20vec3\x20reflectance0,const\x20vec3\x20environmentBrdf)\x20{\x0avec3\x20sheenEnvironmentReflectance=reflectance0*environmentBrdf.b;\x0areturn\x20sheenEnvironmentReflectance;\x0a}\x0a#endif\x0avec3\x20fresnelSchlickGGX(float\x20VdotH,vec3\x20reflectance0,vec3\x20reflectance90)\x0a{\x0areturn\x20reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);\x0a}\x0afloat\x20fresnelSchlickGGX(float\x20VdotH,float\x20reflectance0,float\x20reflectance90)\x0a{\x0areturn\x20reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);\x0a}\x0a#ifdef\x20CLEARCOAT\x0avec3\x20getR0RemappedForClearCoat(vec3\x20f0)\x20{\x0a#ifdef\x20CLEARCOAT_DEFAULTIOR\x0a#ifdef\x20MOBILE\x0areturn\x20saturate(f0*(f0*0.526868+0.529324)-0.0482256);\x0a#else\x0areturn\x20saturate(f0*(f0*(0.941892-0.263008*f0)+0.346479)-0.0285998);\x0a#endif\x0a#else\x0avec3\x20s=sqrt(f0);\x0avec3\x20t=(vClearCoatRefractionParams.z+vClearCoatRefractionParams.w*s)/(vClearCoatRefractionParams.w+vClearCoatRefractionParams.z*s);\x0areturn\x20square(t);\x0a#endif\x0a}\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0aconst\x20mat3\x20XYZ_TO_REC709=mat3(\x0a3.2404542,-0.9692660,\x200.0556434,\x0a-1.5371385,\x201.8760108,-0.2040259,\x0a-0.4985314,\x200.0415560,\x201.0572252\x0a);\x0avec3\x20getIORTfromAirToSurfaceR0(vec3\x20f0)\x20{\x0avec3\x20sqrtF0=sqrt(f0);\x0areturn\x20(1.+sqrtF0)/(1.-sqrtF0);\x0a}\x0avec3\x20getR0fromIORs(vec3\x20iorT,float\x20iorI)\x20{\x0areturn\x20square((iorT-vec3(iorI))/(iorT+vec3(iorI)));\x0a}\x0afloat\x20getR0fromIORs(float\x20iorT,float\x20iorI)\x20{\x0areturn\x20square((iorT-iorI)/(iorT+iorI));\x0a}\x0avec3\x20evalSensitivity(float\x20opd,vec3\x20shift)\x20{\x0afloat\x20phase=2.0*PI*opd*1.0e-9;\x0aconst\x20vec3\x20val=vec3(5.4856e-13,4.4201e-13,5.2481e-13);\x0aconst\x20vec3\x20pos=vec3(1.6810e+06,1.7953e+06,2.2084e+06);\x0aconst\x20vec3\x20var=vec3(4.3278e+09,9.3046e+09,6.6121e+09);\x0avec3\x20xyz=val*sqrt(2.0*PI*var)*cos(pos*phase+shift)*exp(-square(phase)*var);\x0axyz.x+=9.7470e-14*sqrt(2.0*PI*4.5282e+09)*cos(2.2399e+06*phase+shift[0])*exp(-4.5282e+09*square(phase));\x0axyz/=1.0685e-7;\x0avec3\x20srgb=XYZ_TO_REC709*xyz;\x0areturn\x20srgb;\x0a}\x0avec3\x20evalIridescence(float\x20outsideIOR,float\x20eta2,float\x20cosTheta1,float\x20thinFilmThickness,vec3\x20baseF0)\x20{\x0avec3\x20I=vec3(1.0);\x0afloat\x20iridescenceIOR=mix(outsideIOR,eta2,smoothstep(0.0,0.03,thinFilmThickness));\x0afloat\x20sinTheta2Sq=square(outsideIOR/iridescenceIOR)*(1.0-square(cosTheta1));\x0afloat\x20cosTheta2Sq=1.0-sinTheta2Sq;\x0aif\x20(cosTheta2Sq<0.0)\x20{\x0areturn\x20I;\x0a}\x0afloat\x20cosTheta2=sqrt(cosTheta2Sq);\x0afloat\x20R0=getR0fromIORs(iridescenceIOR,outsideIOR);\x0afloat\x20R12=fresnelSchlickGGX(cosTheta1,R0,1.);\x0afloat\x20R21=R12;\x0afloat\x20T121=1.0-R12;\x0afloat\x20phi12=0.0;\x0aif\x20(iridescenceIOR<outsideIOR)\x20phi12=PI;\x0afloat\x20phi21=PI-phi12;\x0avec3\x20baseIOR=getIORTfromAirToSurfaceR0(clamp(baseF0,0.0,0.9999));\x20\x0avec3\x20R1=getR0fromIORs(baseIOR,iridescenceIOR);\x0avec3\x20R23=fresnelSchlickGGX(cosTheta2,R1,vec3(1.));\x0avec3\x20phi23=vec3(0.0);\x0aif\x20(baseIOR[0]<iridescenceIOR)\x20phi23[0]=PI;\x0aif\x20(baseIOR[1]<iridescenceIOR)\x20phi23[1]=PI;\x0aif\x20(baseIOR[2]<iridescenceIOR)\x20phi23[2]=PI;\x0afloat\x20opd=2.0*iridescenceIOR*thinFilmThickness*cosTheta2;\x0avec3\x20phi=vec3(phi21)+phi23;\x0avec3\x20R123=clamp(R12*R23,1e-5,0.9999);\x0avec3\x20r123=sqrt(R123);\x0avec3\x20Rs=square(T121)*R23/(vec3(1.0)-R123);\x0avec3\x20C0=R12+Rs;\x0aI=C0;\x0avec3\x20Cm=Rs-T121;\x0afor\x20(int\x20m=1;\x20m<=2;\x20++m)\x0a{\x0aCm*=r123;\x0avec3\x20Sm=2.0*evalSensitivity(float(m)*opd,float(m)*phi);\x0aI+=Cm*Sm;\x0a}\x0areturn\x20max(I,vec3(0.0));\x0a}\x0a#endif\x0afloat\x20normalDistributionFunction_TrowbridgeReitzGGX(float\x20NdotH,float\x20alphaG)\x0a{\x0afloat\x20a2=square(alphaG);\x0afloat\x20d=NdotH*NdotH*(a2-1.0)+1.0;\x0areturn\x20a2/(PI*d*d);\x0a}\x0a#ifdef\x20SHEEN\x0afloat\x20normalDistributionFunction_CharlieSheen(float\x20NdotH,float\x20alphaG)\x0a{\x0afloat\x20invR=1./alphaG;\x0afloat\x20cos2h=NdotH*NdotH;\x0afloat\x20sin2h=1.-cos2h;\x0areturn\x20(2.+invR)*pow(sin2h,invR*.5)/(2.*PI);\x0a}\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0afloat\x20normalDistributionFunction_BurleyGGX_Anisotropic(float\x20NdotH,float\x20TdotH,float\x20BdotH,const\x20vec2\x20alphaTB)\x20{\x0afloat\x20a2=alphaTB.x*alphaTB.y;\x0avec3\x20v=vec3(alphaTB.y*TdotH,alphaTB.x\x20*BdotH,a2*NdotH);\x0afloat\x20v2=dot(v,v);\x0afloat\x20w2=a2/v2;\x0areturn\x20a2*w2*w2*RECIPROCAL_PI;\x0a}\x0a#endif\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0afloat\x20smithVisibility_GGXCorrelated(float\x20NdotL,float\x20NdotV,float\x20alphaG)\x20{\x0a#ifdef\x20MOBILE\x0afloat\x20GGXV=NdotL*(NdotV*(1.0-alphaG)+alphaG);\x0afloat\x20GGXL=NdotV*(NdotL*(1.0-alphaG)+alphaG);\x0areturn\x200.5/(GGXV+GGXL);\x0a#else\x0afloat\x20a2=alphaG*alphaG;\x0afloat\x20GGXV=NdotL*sqrt(NdotV*(NdotV-a2*NdotV)+a2);\x0afloat\x20GGXL=NdotV*sqrt(NdotL*(NdotL-a2*NdotL)+a2);\x0areturn\x200.5/(GGXV+GGXL);\x0a#endif\x0a}\x0a#else\x0afloat\x20smithVisibilityG1_TrowbridgeReitzGGXFast(float\x20dot,float\x20alphaG)\x0a{\x0a#ifdef\x20MOBILE\x0areturn\x201.0/(dot+alphaG+(1.0-alphaG)*dot\x20));\x0a#else\x0afloat\x20alphaSquared=alphaG*alphaG;\x0areturn\x201.0/(dot+sqrt(alphaSquared+(1.0-alphaSquared)*dot*dot));\x0a#endif\x0a}\x0afloat\x20smithVisibility_TrowbridgeReitzGGXFast(float\x20NdotL,float\x20NdotV,float\x20alphaG)\x0a{\x0afloat\x20visibility=smithVisibilityG1_TrowbridgeReitzGGXFast(NdotL,alphaG)*smithVisibilityG1_TrowbridgeReitzGGXFast(NdotV,alphaG);\x0areturn\x20visibility;\x0a}\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0afloat\x20smithVisibility_GGXCorrelated_Anisotropic(float\x20NdotL,float\x20NdotV,float\x20TdotV,float\x20BdotV,float\x20TdotL,float\x20BdotL,const\x20vec2\x20alphaTB)\x20{\x0afloat\x20lambdaV=NdotL*length(vec3(alphaTB.x*TdotV,alphaTB.y*BdotV,NdotV));\x0afloat\x20lambdaL=NdotV*length(vec3(alphaTB.x*TdotL,alphaTB.y*BdotL,NdotL));\x0afloat\x20v=0.5/(lambdaV+lambdaL);\x0areturn\x20v;\x0a}\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0afloat\x20visibility_Kelemen(float\x20VdotH)\x20{\x0areturn\x200.25/(VdotH*VdotH);\x20\x0a}\x0a#endif\x0a#ifdef\x20SHEEN\x0afloat\x20visibility_Ashikhmin(float\x20NdotL,float\x20NdotV)\x0a{\x0areturn\x201./(4.*(NdotL+NdotV-NdotL*NdotV));\x0a}\x0a/*\x20NOT\x20USED\x0a#ifdef\x20SHEEN_SOFTER\x0afloat\x20l(float\x20x,float\x20alphaG)\x0a{\x0afloat\x20oneMinusAlphaSq=(1.0-alphaG)*(1.0-alphaG);\x0afloat\x20a=mix(21.5473,25.3245,oneMinusAlphaSq);\x0afloat\x20b=mix(3.82987,3.32435,oneMinusAlphaSq);\x0afloat\x20c=mix(0.19823,0.16801,oneMinusAlphaSq);\x0afloat\x20d=mix(-1.97760,-1.27393,oneMinusAlphaSq);\x0afloat\x20e=mix(-4.32054,-4.85967,oneMinusAlphaSq);\x0areturn\x20a/(1.0+b*pow(x,c))+d*x+e;\x0a}\x0afloat\x20lambdaSheen(float\x20cosTheta,float\x20alphaG)\x0a{\x0areturn\x20abs(cosTheta)<0.5\x20?\x20exp(l(cosTheta,alphaG))\x20:\x20exp(2.0*l(0.5,alphaG)-l(1.0-cosTheta,alphaG));\x0a}\x0afloat\x20visibility_CharlieSheen(float\x20NdotL,float\x20NdotV,float\x20alphaG)\x0a{\x0afloat\x20G=1.0/(1.0+lambdaSheen(NdotV,alphaG)+lambdaSheen(NdotL,alphaG));\x0areturn\x20G/(4.0*NdotV*NdotL);\x0a}\x0a#endif\x0a*/\x0a#endif\x0afloat\x20diffuseBRDF_Burley(float\x20NdotL,float\x20NdotV,float\x20VdotH,float\x20roughness)\x20{\x0afloat\x20diffuseFresnelNV=pow5(saturateEps(1.0-NdotL));\x0afloat\x20diffuseFresnelNL=pow5(saturateEps(1.0-NdotV));\x0afloat\x20diffuseFresnel90=0.5+2.0*VdotH*VdotH*roughness;\x0afloat\x20fresnel\x20=\x0a(1.0+(diffuseFresnel90-1.0)*diffuseFresnelNL)\x20*\x0a(1.0+(diffuseFresnel90-1.0)*diffuseFresnelNV);\x0areturn\x20fresnel/PI;\x0a}\x0a#ifdef\x20SS_TRANSLUCENCY\x0avec3\x20transmittanceBRDF_Burley(const\x20vec3\x20tintColor,const\x20vec3\x20diffusionDistance,float\x20thickness)\x20{\x0avec3\x20S=1./maxEps(diffusionDistance);\x0avec3\x20temp=exp((-0.333333333*thickness)*S);\x0areturn\x20tintColor.rgb*0.25*(temp*temp*temp+3.0*temp);\x0a}\x0afloat\x20computeWrappedDiffuseNdotL(float\x20NdotL,float\x20w)\x20{\x0afloat\x20t=1.0+w;\x0afloat\x20invt2=1.0/square(t);\x0areturn\x20saturate((NdotL+w)*invt2);\x0a}\x0a#endif\x0a','onDeviceConnectedObservable','_cubeSamplerName','_cameraObserverCount','#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0auniform\x20vec4\x20textureMask;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<imageProcessingDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<helperFunctions>\x0a#include<imageProcessingFunctions>\x0a#ifdef\x20RAMPGRADIENT\x0avarying\x20vec4\x20remapRanges;\x0auniform\x20sampler2D\x20rampSampler;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec4\x20textureColor=texture2D(diffuseSampler,vUV);\x0avec4\x20baseColor=(textureColor*textureMask+(vec4(1.,1.,1.,1.)-textureMask))*vColor;\x0a#ifdef\x20RAMPGRADIENT\x0afloat\x20alpha=baseColor.a;\x0afloat\x20remappedColorIndex=clamp((alpha-remapRanges.x)/remapRanges.y,0.0,1.0);\x0avec4\x20rampColor=texture2D(rampSampler,vec2(1.0-remappedColorIndex,0.));\x0abaseColor.rgb*=rampColor.rgb;\x0afloat\x20finalAlpha=baseColor.a;\x0abaseColor.a=clamp((alpha*rampColor.a-remapRanges.z)/remapRanges.w,0.0,1.0);\x0a#endif\x0a#ifdef\x20BLENDMULTIPLYMODE\x0afloat\x20sourceAlpha=vColor.a*textureColor.a;\x0abaseColor.rgb=baseColor.rgb*sourceAlpha+vec3(1.0)*(1.0-sourceAlpha);\x0a#endif\x0a#include<logDepthFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0abaseColor.rgb=toLinearSpace(baseColor.rgb);\x0a#else\x0a#ifdef\x20IMAGEPROCESSING\x0abaseColor.rgb=toLinearSpace(baseColor.rgb);\x0abaseColor=applyImageProcessing(baseColor);\x0a#endif\x0a#endif\x0agl_FragColor=baseColor;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','#ifdef\x20INSTANCES\x0amat4\x20finalWorld=mat4(world0,world1,world2,world3);\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0amat4\x20finalPreviousWorld=mat4(previousWorld0,previousWorld1,previousWorld2,previousWorld3);\x0a#endif\x0a#ifdef\x20THIN_INSTANCES\x0afinalWorld=world*finalWorld;\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0afinalPreviousWorld=previousWorld*finalPreviousWorld;\x0a#endif\x0a#endif\x0a#else\x0amat4\x20finalWorld=world;\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0amat4\x20finalPreviousWorld=previousWorld;\x0a#endif\x0a#endif\x0a','TransformCoordinatesFromFloatsToRef','_isBlendFunctionParametersDirty','status','depth','//Varyings\x0d\x0a','endOfUniformBufferProcessor','_name','_isMultiTouchGesture','popDebugGroup','bindForSubMesh','isReady','size','_uploadEncoder','PREPASS_DEPTH_TEXTURE_TYPE','_repeatableContentAnchor','\x22,\x20undefined,\x20undefined,\x20','needsImageProcessing','_ApplyPreProcessing','_isDirty','halfDome','AddStore','vClipPlane3','#include<__decl__defaultFragment>\x0a#if\x20defined(BUMP)\x20||\x20!defined(NORMAL)\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#endif\x0a#include<prePassDeclaration>[SCENE_MRT_COUNT]\x0a#include<oitDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_BEGIN\x0a#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0a#define\x20RECIPROCAL_PI2\x200.15915494\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<mainUVVaryingDeclaration>[1..7]\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse,_SAMPLERNAME_,diffuse)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_SAMPLERNAME_,ambient)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_SAMPLERNAME_,opacity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_SAMPLERNAME_,emissive)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_SAMPLERNAME_,lightmap)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_SAMPLERNAME_,decal)\x0a#ifdef\x20REFRACTION\x0a#ifdef\x20REFRACTIONMAP_3D\x0auniform\x20samplerCube\x20refractionCubeSampler;\x0a#else\x0auniform\x20sampler2D\x20refraction2DSampler;\x0a#endif\x0a#endif\x0a#if\x20defined(SPECULARTERM)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular,_SAMPLERNAME_,specular)\x0a#endif\x0a#include<fresnelFunction>\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20REFLECTIONMAP_3D\x0auniform\x20samplerCube\x20reflectionCubeSampler;\x0a#else\x0auniform\x20sampler2D\x20reflection2DSampler;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#else\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#endif\x0a#include<reflectionFunction>\x0a#endif\x0a#include<imageProcessingDeclaration>\x0a#include<imageProcessingFunctions>\x0a#include<bumpFragmentMainFunctions>\x0a#include<bumpFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=normalize(-cross(dFdx(vPositionW),dFdy(vPositionW)));\x0a#endif\x0a#include<bumpFragment>\x0a#ifdef\x20TWOSIDEDLIGHTING\x0anormalW=gl_FrontFacing\x20?\x20normalW\x20:\x20-normalW;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV+uvOffset);\x0a#if\x20defined(ALPHATEST)\x20&&\x20!defined(ALPHATEST_AFTERALLALPHACOMPUTATIONS)\x0aif\x20(baseColor.a<alphaCutOff)\x0adiscard;\x0a#endif\x0a#ifdef\x20ALPHAFROMDIFFUSE\x0aalpha*=baseColor.a;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_ALPHA\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20DECAL\x0avec4\x20decalColor=texture2D(decalSampler,vDecalUV+uvOffset);\x0a#include<decalFragment>(surfaceAlbedo,baseColor,GAMMADECAL,_GAMMADECAL_NOTUSED_)\x0a#endif\x0a#include<depthPrePass>\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20DETAIL\x0abaseColor.rgb=baseColor.rgb*2.0*mix(0.5,detailColor.r,vDetailInfos.y);\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_DIFFUSE\x0avec3\x20baseAmbientColor=vec3(1.,1.,1.);\x0a#ifdef\x20AMBIENT\x0abaseAmbientColor=texture2D(ambientSampler,vAmbientUV+uvOffset).rgb*vAmbientInfos.y;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_LIGHTS\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#ifdef\x20SPECULAR\x0avec4\x20specularMapColor=texture2D(specularSampler,vSpecularUV+uvOffset);\x0aspecularColor=specularMapColor.rgb;\x0a#ifdef\x20GLOSSINESS\x0aglossiness=glossiness*specularMapColor.a;\x0a#endif\x0a#endif\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0afloat\x20shadow=1.;\x0a#ifdef\x20LIGHTMAP\x0avec4\x20lightmapColor=texture2D(lightmapSampler,vLightmapUV+uvOffset);\x0a#ifdef\x20RGBDLIGHTMAP\x0alightmapColor.rgb=fromRGBD(lightmapColor);\x0a#endif\x0alightmapColor.rgb*=vLightmapInfos.y;\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0avec4\x20refractionColor=vec4(0.,0.,0.,1.);\x0a#ifdef\x20REFRACTION\x0avec3\x20refractionVector=normalize(refract(-viewDirectionW,normalW,vRefractionInfos.y));\x0a#ifdef\x20REFRACTIONMAP_3D\x0a#ifdef\x20USE_LOCAL_REFRACTIONMAP_CUBIC\x0arefractionVector=parallaxCorrectNormal(vPositionW,refractionVector,vRefractionSize,vRefractionPosition);\x0a#endif\x0arefractionVector.y=refractionVector.y*vRefractionInfos.w;\x0avec4\x20refractionLookup=textureCube(refractionCubeSampler,refractionVector);\x0aif\x20(dot(refractionVector,viewDirectionW)<1.0)\x20{\x0arefractionColor=refractionLookup;\x0a}\x0a#else\x0avec3\x20vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*vRefractionInfos.z,1.0)));\x0avec2\x20refractionCoords=vRefractionUVW.xy/vRefractionUVW.z;\x0arefractionCoords.y=1.0-refractionCoords.y;\x0arefractionColor=texture2D(refraction2DSampler,refractionCoords);\x0a#endif\x0a#ifdef\x20RGBDREFRACTION\x0arefractionColor.rgb=fromRGBD(refractionColor);\x0a#endif\x0a#ifdef\x20IS_REFRACTION_LINEAR\x0arefractionColor.rgb=toGammaSpace(refractionColor.rgb);\x0a#endif\x0arefractionColor.rgb*=vRefractionInfos.x;\x0a#endif\x0avec4\x20reflectionColor=vec4(0.,0.,0.,1.);\x0a#ifdef\x20REFLECTION\x0avec3\x20vReflectionUVW=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0avReflectionUVW.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0a#ifdef\x20ROUGHNESS\x0afloat\x20bias=vReflectionInfos.y;\x0a#ifdef\x20SPECULARTERM\x0a#ifdef\x20SPECULAR\x0a#ifdef\x20GLOSSINESS\x0abias*=(1.0-specularMapColor.a);\x0a#endif\x0a#endif\x0a#endif\x0areflectionColor=textureCube(reflectionCubeSampler,vReflectionUVW,bias);\x0a#else\x0areflectionColor=textureCube(reflectionCubeSampler,vReflectionUVW);\x0a#endif\x0a#else\x0avec2\x20coords=vReflectionUVW.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0acoords/=vReflectionUVW.z;\x0a#endif\x0acoords.y=1.0-coords.y;\x0areflectionColor=texture2D(reflection2DSampler,coords);\x0a#endif\x0a#ifdef\x20RGBDREFLECTION\x0areflectionColor.rgb=fromRGBD(reflectionColor);\x0a#endif\x0a#ifdef\x20IS_REFLECTION_LINEAR\x0areflectionColor.rgb=toGammaSpace(reflectionColor.rgb);\x0a#endif\x0areflectionColor.rgb*=vReflectionInfos.x;\x0a#ifdef\x20REFLECTIONFRESNEL\x0afloat\x20reflectionFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,reflectionRightColor.a,reflectionLeftColor.a);\x0a#ifdef\x20REFLECTIONFRESNELFROMSPECULAR\x0a#ifdef\x20SPECULARTERM\x0areflectionColor.rgb*=specularColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\x0a#else\x0areflectionColor.rgb*=reflectionLeftColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\x0a#endif\x0a#else\x0areflectionColor.rgb*=reflectionLeftColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20REFRACTIONFRESNEL\x0afloat\x20refractionFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,refractionRightColor.a,refractionLeftColor.a);\x0arefractionColor.rgb*=refractionLeftColor.rgb*(1.0-refractionFresnelTerm)+refractionFresnelTerm*refractionRightColor.rgb;\x0a#endif\x0a#ifdef\x20OPACITY\x0avec4\x20opacityMap=texture2D(opacitySampler,vOpacityUV+uvOffset);\x0a#ifdef\x20OPACITYRGB\x0aopacityMap.rgb=opacityMap.rgb*vec3(0.3,0.59,0.11);\x0aalpha*=(opacityMap.x+opacityMap.y+opacityMap.z)*\x20vOpacityInfos.y;\x0a#else\x0aalpha*=opacityMap.a*vOpacityInfos.y;\x0a#endif\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20OPACITYFRESNEL\x0afloat\x20opacityFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,opacityParts.z,opacityParts.w);\x0aalpha+=opacityParts.x*(1.0-opacityFresnelTerm)+opacityFresnelTerm*opacityParts.y;\x0a#endif\x0a#ifdef\x20ALPHATEST\x0a#ifdef\x20ALPHATEST_AFTERALLALPHACOMPUTATIONS\x0aif\x20(alpha<alphaCutOff)\x0adiscard;\x0a#endif\x0a#ifndef\x20ALPHABLEND\x0aalpha=1.0;\x0a#endif\x0a#endif\x0avec3\x20emissiveColor=vEmissiveColor;\x0a#ifdef\x20EMISSIVE\x0aemissiveColor+=texture2D(emissiveSampler,vEmissiveUV+uvOffset).rgb*vEmissiveInfos.y;\x0a#endif\x0a#ifdef\x20EMISSIVEFRESNEL\x0afloat\x20emissiveFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,emissiveRightColor.a,emissiveLeftColor.a);\x0aemissiveColor*=emissiveLeftColor.rgb*(1.0-emissiveFresnelTerm)+emissiveFresnelTerm*emissiveRightColor.rgb;\x0a#endif\x0a#ifdef\x20DIFFUSEFRESNEL\x0afloat\x20diffuseFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,diffuseRightColor.a,diffuseLeftColor.a);\x0adiffuseBase*=diffuseLeftColor.rgb*(1.0-diffuseFresnelTerm)+diffuseFresnelTerm*diffuseRightColor.rgb;\x0a#endif\x0a#ifdef\x20EMISSIVEASILLUMINATION\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\x0a#else\x0a#ifdef\x20LINKEMISSIVEWITHDIFFUSE\x0avec3\x20finalDiffuse=clamp((diffuseBase+emissiveColor)*diffuseColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\x0a#else\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor+emissiveColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#ifdef\x20SPECULAROVERALPHA\x0aalpha=clamp(alpha+dot(finalSpecular,vec3(0.3,0.59,0.11)),0.,1.);\x0a#endif\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0a#ifdef\x20REFLECTIONOVERALPHA\x0aalpha=clamp(alpha+dot(reflectionColor.rgb,vec3(0.3,0.59,0.11)),0.,1.);\x0a#endif\x0a#ifdef\x20EMISSIVEASILLUMINATION\x0avec4\x20color=vec4(clamp(finalDiffuse*baseAmbientColor+finalSpecular+reflectionColor.rgb+emissiveColor+refractionColor.rgb,0.0,1.0),alpha);\x0a#else\x0avec4\x20color=vec4(finalDiffuse*baseAmbientColor+finalSpecular+reflectionColor.rgb+refractionColor.rgb,alpha);\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0a#ifndef\x20LIGHTMAPEXCLUDED\x0a#ifdef\x20USELIGHTMAPASSHADOWMAP\x0acolor.rgb*=lightmapColor.rgb;\x0a#else\x0acolor.rgb+=lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FOG\x0acolor.rgb=max(color.rgb,0.);\x0a#include<logDepthFragment>\x0a#include<fogFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0acolor.rgb=toLinearSpace(color.rgb);\x0a#else\x0a#ifdef\x20IMAGEPROCESSING\x0acolor.rgb=toLinearSpace(color.rgb);\x0acolor=applyImageProcessing(color);\x0a#endif\x0a#endif\x0acolor.a*=visibility;\x0a#ifdef\x20PREMULTIPLYALPHA\x0acolor.rgb*=color.a;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR\x0a#ifdef\x20PREPASS\x0afloat\x20writeGeometryInfo=color.a>0.4\x20?\x201.0\x20:\x200.0;\x0agl_FragData[0]=color;\x20\x0a#ifdef\x20PREPASS_POSITION\x0agl_FragData[PREPASS_POSITION_INDEX]=vec4(vPositionW,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0avec2\x20a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\x0avec2\x20b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\x0avec2\x20velocity=abs(a-b);\x0avelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\x0agl_FragData[PREPASS_VELOCITY_INDEX]=vec4(velocity,0.0,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_IRRADIANCE\x0agl_FragData[PREPASS_IRRADIANCE_INDEX]=vec4(0.0,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_DEPTH\x0agl_FragData[PREPASS_DEPTH_INDEX]=vec4(vViewPos.z,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_NORMAL\x0agl_FragData[PREPASS_NORMAL_INDEX]=vec4(normalize((view*vec4(normalW,0.0)).rgb),writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_ALBEDO_SQRT\x0agl_FragData[PREPASS_ALBEDO_SQRT_INDEX]=vec4(0.0,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_REFLECTIVITY\x0a#if\x20defined(SPECULARTERM)\x0a#if\x20defined(SPECULAR)\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(toLinearSpace(specularMapColor))*writeGeometryInfo;\x20\x0a#else\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(toLinearSpace(specularColor),1.0)*writeGeometryInfo;\x0a#endif\x0a#else\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(0.0,0.0,0.0,1.0)*writeGeometryInfo;\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20!defined(PREPASS)\x20||\x20defined(WEBGL2)\x0agl_FragColor=color;\x0a#endif\x0a#include<oitFragment>\x0a#if\x20ORDER_INDEPENDENT_TRANSPARENCY\x0aif\x20(fragDepth==nearestDepth)\x20{\x0afrontColor.rgb+=color.rgb*color.a*alphaMultiplier;\x0afrontColor.a=1.0-alphaMultiplier*(1.0-color.a);\x0a}\x20else\x20{\x0abackColor+=color;\x0a}\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','};\x0a\x0a','textureMaxLevel','onActivateObservable','TEXTUREFORMAT_RGBA','attribute\x20vec2\x20position;\x0avarying\x20vec2\x20vPosition;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avPosition=position;\x0avUV=position*madd+madd;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','_onVrDisplayConnect','depthThreshold','DRAW_FRAMEBUFFER','#define\x20PIXEL_PERFECT\x0a','_workingCanvas','Too\x20many\x20textures\x20or\x20UBOs\x20have\x20been\x20declared\x20and\x20it\x20is\x20not\x20supported\x20in\x20WebGPU.','maxZ','_attachments','bindArrayBuffer','buildUniformLayout','generateStencilBuffer','samplerNames','_getProjectedParticleConstant','renderPriority','indexParameters','temps','type','morphTargetsVertexGlobalDeclaration','#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0auniform\x20vec4\x20color;\x0a#ifdef\x20ALPHATEST\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0a#ifdef\x20ALPHATEST\x0aif\x20(texture2D(diffuseSampler,vUV).a<0.4)\x0adiscard;\x0a#endif\x0a#include<logDepthFragment>\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','Depth','fogDensity','connectTo','REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED','struct\x20ambientOcclusionOutParams\x0a{\x0avec3\x20ambientOcclusionColor;\x0a#if\x20DEBUGMODE>0\x0avec3\x20ambientOcclusionColorMap;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20ambientOcclusionBlock(\x0a#ifdef\x20AMBIENT\x0ain\x20vec3\x20ambientOcclusionColorMap_,\x0ain\x20vec4\x20vAmbientInfos,\x0a#endif\x0aout\x20ambientOcclusionOutParams\x20outParams\x0a)\x0a{\x0avec3\x20ambientOcclusionColor=vec3(1.,1.,1.);\x0a#ifdef\x20AMBIENT\x0avec3\x20ambientOcclusionColorMap=ambientOcclusionColorMap_*vAmbientInfos.y;\x0a#ifdef\x20AMBIENTINGRAYSCALE\x0aambientOcclusionColorMap=vec3(ambientOcclusionColorMap.r,ambientOcclusionColorMap.r,ambientOcclusionColorMap.r);\x0a#endif\x0aambientOcclusionColor=mix(ambientOcclusionColor,ambientOcclusionColorMap,vAmbientInfos.z);\x0a#if\x20DEBUGMODE>0\x0aoutParams.ambientOcclusionColorMap=ambientOcclusionColorMap;\x0a#endif\x0a#endif\x0aoutParams.ambientOcclusionColor=ambientOcclusionColor;\x0a}\x0a','#define\x20CLIPPLANE5','\x0a\x20\x20\x20\x20struct\x20VertexOutput\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20@builtin(position)\x20Position\x20:\x20vec4<f32>,\x0a\x20\x20\x20\x20\x20\x20\x20\x20@location(0)\x20fragUV\x20:\x20vec2<f32>\x0a\x20\x20\x20\x20}\x0a\x20\x20\x0a\x20\x20\x20\x20@vertex\x0a\x20\x20\x20\x20fn\x20main(\x0a\x20\x20\x20\x20\x20\x20\x20\x20@builtin(vertex_index)\x20VertexIndex\x20:\x20u32\x0a\x20\x20\x20\x20)\x20->\x20VertexOutput\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20pos\x20=\x20array<vec2<f32>,\x204>(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(-1.0,\x20\x201.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(\x201.0,\x20\x201.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(-1.0,\x20-1.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(\x201.0,\x20-1.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20tex\x20=\x20array<vec2<f32>,\x204>(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(0.0,\x200.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(1.0,\x200.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(0.0,\x201.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(1.0,\x201.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20output:\x20VertexOutput;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20output.Position\x20=\x20vec4<f32>(pos[VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20output.fragUV\x20=\x20tex[VertexIndex];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20output;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','_swapRenderTargetWrapper','_alphaMode','blockingBlocks','_checkForPicking','BrowserBack','setCullFace','texParameteri','setTextures','createCanvas','mousePosition','IsImageBitmapArray','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20projection;\x0auniform\x20mat4\x20view;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec3\x20vNormal;\x0a#include<fogVertexDeclaration>\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vOpacityUV;\x0auniform\x20mat4\x20opacityMatrix;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0a#include<fogVertex>\x0avec4\x20cameraSpacePosition=view*worldPos;\x0agl_Position=projection*cameraSpacePosition;\x0a#ifdef\x20OPACITY\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0aif\x20(vOpacityInfos.x==0.)\x0a{\x0avOpacityUV=vec2(opacityMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avOpacityUV=vec2(opacityMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x20\x0avPosition=position;\x0avNormal=normal;\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','IsExponentOfTwo','updateStorageBuffer','shadowMapVertexShader','addItem','355699hPKzDM','Depth32FloatStencil8','availableBuffers','_framebufferDepthStencil','simpleVertexShader','_isStencilMaskDirty','setWriteMask','_multiviewSceneUbo',']\x0d\x0a','EACRG11Unorm','_ySize','Unable\x20to\x20create\x20multi\x20sampled\x20framebuffer','createComputeEffect','release','bilinearFiltering','_vertexBuffers','TEXTUREFORMAT_RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU','generateDepthTexture','_getHalfFloatAsFloatRGBAArrayBuffer','BC4RUnorm','AutoSamplerSuffix','MATERIAL_PointListDrawMode','gpuUpdateParticlesComputeShader','#define\x20CLIPPLANE4','_thinInstanceInitializeUserStorage','createExternalTexture','POINTERTAP','_ExtractOperation','setFloat2','_GetBlockInformationFromFormat','#ifdef\x20_DEFINENAME_\x0a#if\x20_DEFINENAME_DIRECTUV==1\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV1\x0a#elif\x20_DEFINENAME_DIRECTUV==2\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV2\x0a#elif\x20_DEFINENAME_DIRECTUV==3\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV3\x0a#elif\x20_DEFINENAME_DIRECTUV==4\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV4\x0a#elif\x20_DEFINENAME_DIRECTUV==5\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV5\x0a#elif\x20_DEFINENAME_DIRECTUV==6\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV6\x0a#else\x0avarying\x20vec2\x20v_VARYINGNAME_UV;\x0a#endif\x0auniform\x20sampler2D\x20_SAMPLERNAME_Sampler;\x0a#endif\x0a','_cull','_generateLeftOverUBOCode','cursor','TempTextureForCopyWithInvertY','BuildArray','processingContext','isAsync','onXRFrameObservable','forcedBindableBlocks','_uvs','setAlphaEquation','ASTC12x10UnormSRGB','AddTagsTo','ONE','_uniforms','createQuerySet','defaultCursor','_opDepthFail','ExclusiveDoubleClickMode','depthTest','E2dArray','createEffect','BC6HRGBFloat','updateFloat','createComputePipeline','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20bloomBlur;\x0avarying\x20vec2\x20vUV;\x0auniform\x20float\x20bloomWeight;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0avec3\x20blurred=texture2D(bloomBlur,vUV).rgb;\x0agl_FragColor.rgb=gl_FragColor.rgb+(blurred.rgb*bloomWeight);\x20\x0a}\x0a','_physicsImpostor','_initTexture','setSize','vec4','_onXRFrame','iridescenceOutParams\x20iridescenceOut;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20IRIDESCENCE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20iridescenceBlock(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4(','_isDisabled','removePendingData','getAlphaMode','ReciprocalPI','_MSAAFramebuffer','defined(','reflectionFunction','effect','_getRGBABufferInternalSizedFormat','#if\x20defined(','Texture_','_fragmentSourceCode','startsWith','fluidRenderingRenderPixelShader','struct\x20VertexInputs\x20{\x0a\x20\x20@builtin(vertex_index)\x20vertexIndex\x20:\x20u32,\x0a\x20\x20@builtin(instance_index)\x20instanceIndex\x20:\x20u32,\x0a','RemoveTagsFrom','_yOffset','_defineSphericalName','updateRawTexture','gl_VertexIndex','_prepareEffect','buildTextureLayout','TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV','shadowMapFragment','actionManager','_codeVariableName','//Constants\x0d\x0a','textureSampler','_copyInvertYBindGroupWithOfst','_BuildExpression','#ifdef\x20DOF\x0afactor=sampleCoC(sampleCoord{X});\x20\x0acomputedWeight=KERNEL_WEIGHT{X}*factor;\x0asumOfWeights+=computedWeight;\x0a#else\x0acomputedWeight=KERNEL_WEIGHT{X};\x0a#endif\x0a#ifdef\x20PACKEDFLOAT\x0ablend+=unpack(texture2D(textureSampler,sampleCoord{X}))*computedWeight;\x0a#else\x0ablend+=texture2D(textureSampler,sampleCoord{X})*computedWeight;\x0a#endif\x0a','struct\x20iridescenceOutParams\x0a{\x0afloat\x20iridescenceIntensity;\x0afloat\x20iridescenceIOR;\x0afloat\x20iridescenceThickness;\x0avec3\x20specularEnvironmentR0;\x0a};\x0a#ifdef\x20IRIDESCENCE\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20iridescenceBlock(\x0ain\x20vec4\x20vIridescenceParams,\x0ain\x20float\x20viewAngle,\x0ain\x20vec3\x20specularEnvironmentR0,\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0ain\x20vec2\x20iridescenceMapData,\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0ain\x20vec2\x20iridescenceThicknessMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0ain\x20float\x20NdotVUnclamped,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0ain\x20vec2\x20clearCoatMapData,\x0a#endif\x0a#endif\x0aout\x20iridescenceOutParams\x20outParams\x0a)\x0a{\x0afloat\x20iridescenceIntensity=vIridescenceParams.x;\x0afloat\x20iridescenceIOR=vIridescenceParams.y;\x0afloat\x20iridescenceThicknessMin=vIridescenceParams.z;\x0afloat\x20iridescenceThicknessMax=vIridescenceParams.w;\x0afloat\x20iridescenceThicknessWeight=1.;\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0airidescenceIntensity*=iridescenceMapData.x;\x0a#ifdef\x20IRIDESCENCE_USE_THICKNESS_FROM_MAINTEXTURE\x0airidescenceThicknessWeight=iridescenceMapData.g;\x0a#endif\x0a#endif\x0a#if\x20defined(IRIDESCENCE_THICKNESS_TEXTURE)\x0airidescenceThicknessWeight=iridescenceThicknessMapData.g;\x0a#endif\x0afloat\x20iridescenceThickness=mix(iridescenceThicknessMin,iridescenceThicknessMax,iridescenceThicknessWeight);\x0afloat\x20topIor=1.;\x20\x0a#ifdef\x20CLEARCOAT\x0afloat\x20clearCoatIntensity=vClearCoatParams.x;\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatIntensity*=clearCoatMapData.x;\x0a#endif\x0atopIor=mix(1.0,vClearCoatRefractionParams.w-1.,clearCoatIntensity);\x0aviewAngle=sqrt(1.0+square(1.0/topIor)*(square(NdotVUnclamped)-1.0));\x0a#endif\x0avec3\x20iridescenceFresnel=evalIridescence(topIor,iridescenceIOR,viewAngle,iridescenceThickness,specularEnvironmentR0);\x0aoutParams.specularEnvironmentR0=mix(specularEnvironmentR0,iridescenceFresnel,iridescenceIntensity);\x0aoutParams.iridescenceIntensity=iridescenceIntensity;\x0aoutParams.iridescenceThickness=iridescenceThickness;\x0aoutParams.iridescenceIOR=iridescenceIOR;\x0a}\x0a#endif\x0a','#if\x20SM_NORMALBIAS==1\x0auniform\x20vec3\x20lightDataSM;\x0a#endif\x0auniform\x20vec3\x20biasAndScaleSM;\x0auniform\x20vec2\x20depthValuesSM;\x0avarying\x20float\x20vDepthMetricSM;\x0a#if\x20SM_USEDISTANCE==1\x0avarying\x20vec3\x20vPositionWSM;\x0a#endif\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0avarying\x20float\x20zSM;\x0a#endif\x0a','bumpFragmentMainFunctions','_unpackFlipY','onEndFrameObservable','#define\x20NUM_BONE_INFLUENCERS\x200','updateInt2','_material','_thinInstanceDataStorage','SubSurfaceScatteringPostProcess','ONE_MINUS_SRC_COLOR','_projectOnUnIndexedTrianglesToRef','hasPointerTriggers','matricesIndicesExtra','setState','_nativeTexture','enablePointerMoveEvents','TEXTURE_CUBE_MAP_POSITIVE_Y','//\x20Internals\x20UBO\x0d\x0auniform\x20','updateUInt4','),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20NdotV,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20specularEnvironmentR0,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20CLEARCOAT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20NdotVUnclamped,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20iridescenceOut\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20iridescenceIntensity\x20=\x20iridescenceOut.iridescenceIntensity;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20specularEnvironmentR0\x20=\x20iridescenceOut.specularEnvironmentR0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','push','attribute\x20vec2\x20position;\x0auniform\x20vec2\x20scale;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=(position*madd+madd)*scale;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','forcedExtension','charAt','_samplerDeclaration','getMappedRange','_currentBoundBuffer','LIGHTMAP_SPECULAR','_growArray','CLIPPLANE3','_isBlendEquationParametersDirty','_reflectionColorName','onApplyObservable','updateColor3','TEXTURE_CUBIC_MODE','Move','ASTC5x5UnormSRGB','_shareDepth','toFixed','orderedAttributes','screenSpaceReflection2PixelShader','message','setPointerOverMesh','getQueryResult','_rt','IRIDESCENCE','autoResetAlpha','_addUniformToLeftOverUBO','supportSRGBBuffers','TEXTURE_EQUIRECTANGULAR_MODE','Occlusion','areAllComputeEffectsReady','_getDepthThreshold','_drawWrapperBase','bindableBlocks','_normals','_defineLocalCubicName','RegisteredExternalClasses','thinInstanceSetMatrixAt','data','addEventListener','ConvertCubeMapTextureToSphericalPolynomial','layout(std140,column_major)\x20uniform;\x0auniform\x20Material\x20{\x0avec2\x20vAlbedoInfos;\x0avec4\x20vAmbientInfos;\x0avec2\x20vOpacityInfos;\x0avec2\x20vEmissiveInfos;\x0avec2\x20vLightmapInfos;\x0avec3\x20vReflectivityInfos;\x0avec2\x20vMicroSurfaceSamplerInfos;\x0avec2\x20vReflectionInfos;\x0avec2\x20vReflectionFilteringInfo;\x0avec3\x20vReflectionPosition;\x0avec3\x20vReflectionSize;\x0avec3\x20vBumpInfos;\x0amat4\x20albedoMatrix;\x0amat4\x20ambientMatrix;\x0amat4\x20opacityMatrix;\x0amat4\x20emissiveMatrix;\x0amat4\x20lightmapMatrix;\x0amat4\x20reflectivityMatrix;\x0amat4\x20microSurfaceSamplerMatrix;\x0amat4\x20bumpMatrix;\x0avec2\x20vTangentSpaceParams;\x0amat4\x20reflectionMatrix;\x0avec3\x20vReflectionColor;\x0avec4\x20vAlbedoColor;\x0avec4\x20vLightingIntensity;\x0avec3\x20vReflectionMicrosurfaceInfos;\x0afloat\x20pointSize;\x0avec4\x20vReflectivityColor;\x0avec3\x20vEmissiveColor;\x0avec3\x20vAmbientColor;\x0avec2\x20vDebugMode;\x0avec4\x20vMetallicReflectanceFactors;\x0avec2\x20vMetallicReflectanceInfos;\x0amat4\x20metallicReflectanceMatrix;\x0avec2\x20vReflectanceInfos;\x0amat4\x20reflectanceMatrix;\x0avec3\x20vSphericalL00;\x0avec3\x20vSphericalL1_1;\x0avec3\x20vSphericalL10;\x0avec3\x20vSphericalL11;\x0avec3\x20vSphericalL2_2;\x0avec3\x20vSphericalL2_1;\x0avec3\x20vSphericalL20;\x0avec3\x20vSphericalL21;\x0avec3\x20vSphericalL22;\x0avec3\x20vSphericalX;\x0avec3\x20vSphericalY;\x0avec3\x20vSphericalZ;\x0avec3\x20vSphericalXX_ZZ;\x0avec3\x20vSphericalYY_ZZ;\x0avec3\x20vSphericalZZ;\x0avec3\x20vSphericalXY;\x0avec3\x20vSphericalYZ;\x0avec3\x20vSphericalZX;\x0a#define\x20ADDITIONAL_UBO_DECLARATION\x0a};\x0a#include<sceneUboDeclaration>\x0a#include<meshUboDeclaration>\x0a','lastIndex','computePipeline','BACK','attribute\x20vec3\x20position;\x0aattribute\x20vec2\x20offset;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20size;\x0avarying\x20vec2\x20uv;\x0avoid\x20main(void)\x20{\x0avec3\x20cornerPos;\x0acornerPos.xy=vec2(offset.x-0.5,offset.y-0.5)*size;\x0acornerPos.z=0.0;\x0avec3\x20viewPos=(view*vec4(position,1.0)).xyz+cornerPos;\x0agl_Position=projection*vec4(viewPos,1.0);\x0auv=offset;\x0a}\x0a','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20float\x20alpha;\x0auniform\x20vec3\x20shadowColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#include<lightFragment>[0..1]\x0avec4\x20color=vec4(shadowColor,(1.0-clamp(shadow,0.,1.))*alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','#else','ALPHA_LAYER_ACCUMULATE','MATERIAL_TriangleFanDrawMode','_setTarget','getHeight','_cascadeLoadImgs','precision\x20highp\x20float;\x0avarying\x20vec2\x20vDecalTC;\x0auniform\x20sampler2D\x20textureSampler;\x0avoid\x20main(void)\x20{\x0aif\x20(vDecalTC.x<0.\x20||\x20vDecalTC.x>1.\x20||\x20vDecalTC.y<0.\x20||\x20vDecalTC.y>1.)\x20{\x0adiscard;\x0a}\x0agl_FragColor=texture2D(textureSampler,vDecalTC);\x0a}\x0a','_getArraySize','sampler2DArray','_isCullFaceDirty','_areFresnelDirty','backgroundFragmentDeclaration','gl_InstanceIndex','doNotSyncBoundingInfo','additionalDefineValue','\x20-\x20','instancedArrays','_areTexturesDirty','uniform\x20vec4\x20vEyePosition;\x0auniform\x20vec3\x20vReflectionColor;\x0auniform\x20vec4\x20vAlbedoColor;\x0auniform\x20vec4\x20vLightingIntensity;\x0auniform\x20vec4\x20vReflectivityColor;\x0auniform\x20vec4\x20vMetallicReflectanceFactors;\x0auniform\x20vec3\x20vEmissiveColor;\x0auniform\x20float\x20visibility;\x0auniform\x20vec3\x20vAmbientColor;\x0a#ifdef\x20ALBEDO\x0auniform\x20vec2\x20vAlbedoInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20vec4\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20vec2\x20vTangentSpaceParams;\x0a#endif\x0a#ifdef\x20OPACITY\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0auniform\x20vec3\x20vReflectivityInfos;\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0auniform\x20vec2\x20vMicroSurfaceSamplerInfos;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(SS_REFRACTION)\x20||\x20defined(PREPASS)\x0auniform\x20mat4\x20view;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0a#ifdef\x20REALTIME_FILTERING\x0auniform\x20vec2\x20vReflectionFilteringInfo;\x0a#endif\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0a#if\x20defined(USE_LOCAL_REFLECTIONMAP_CUBIC)\x20&&\x20defined(REFLECTIONMAP_CUBIC)\x0auniform\x20vec3\x20vReflectionPosition;\x0auniform\x20vec3\x20vReflectionSize;\x20\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x20&&\x20defined(SS_USE_LOCAL_REFRACTIONMAP_CUBIC)\x0auniform\x20vec3\x20vRefractionPosition;\x0auniform\x20vec3\x20vRefractionSize;\x20\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0auniform\x20vec2\x20vClearCoatParams;\x0auniform\x20vec4\x20vClearCoatRefractionParams;\x0a#if\x20defined(CLEARCOAT_TEXTURE)\x20||\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vClearCoatInfos;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0auniform\x20mat4\x20clearCoatMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20clearCoatRoughnessMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0auniform\x20vec2\x20vClearCoatBumpInfos;\x0auniform\x20vec2\x20vClearCoatTangentSpaceParams;\x0auniform\x20mat4\x20clearCoatBumpMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0auniform\x20vec4\x20vClearCoatTintParams;\x0auniform\x20float\x20clearCoatColorAtDistance;\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0auniform\x20vec2\x20vClearCoatTintInfos;\x0auniform\x20mat4\x20clearCoatTintMatrix;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0auniform\x20vec4\x20vIridescenceParams;\x0a#if\x20defined(IRIDESCENCE_TEXTURE)\x20||\x20defined(IRIDESCENCE_THICKNESS_TEXTURE)\x0auniform\x20vec4\x20vIridescenceInfos;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0auniform\x20mat4\x20iridescenceMatrix;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0auniform\x20mat4\x20iridescenceThicknessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0auniform\x20vec3\x20vAnisotropy;\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0auniform\x20vec2\x20vAnisotropyInfos;\x0auniform\x20mat4\x20anisotropyMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0auniform\x20vec4\x20vSheenColor;\x0a#ifdef\x20SHEEN_ROUGHNESS\x0auniform\x20float\x20vSheenRoughness;\x0a#endif\x0a#if\x20defined(SHEEN_TEXTURE)\x20||\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vSheenInfos;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE\x0auniform\x20mat4\x20sheenMatrix;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20sheenRoughnessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_REFRACTION\x0auniform\x20vec4\x20vRefractionMicrosurfaceInfos;\x0auniform\x20vec4\x20vRefractionInfos;\x0auniform\x20mat4\x20refractionMatrix;\x0a#ifdef\x20REALTIME_FILTERING\x0auniform\x20vec2\x20vRefractionFilteringInfo;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0auniform\x20vec2\x20vThicknessInfos;\x0auniform\x20mat4\x20thicknessMatrix;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0auniform\x20vec2\x20vRefractionIntensityInfos;\x0auniform\x20mat4\x20refractionIntensityMatrix;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0auniform\x20vec2\x20vTranslucencyIntensityInfos;\x0auniform\x20mat4\x20translucencyIntensityMatrix;\x0a#endif\x0auniform\x20vec2\x20vThicknessParam;\x0auniform\x20vec3\x20vDiffusionDistance;\x0auniform\x20vec4\x20vTintColor;\x0auniform\x20vec3\x20vSubSurfaceIntensity;\x0a#endif\x0a#ifdef\x20PREPASS\x0a#ifdef\x20SS_SCATTERING\x0auniform\x20float\x20scatteringDiffusionProfile;\x0a#endif\x0a#endif\x0a#if\x20DEBUGMODE>0\x0auniform\x20vec2\x20vDebugMode;\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0a#endif\x0a#include<decalFragmentDeclaration>\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#ifdef\x20SPHERICAL_HARMONICS\x0auniform\x20vec3\x20vSphericalL00;\x0auniform\x20vec3\x20vSphericalL1_1;\x0auniform\x20vec3\x20vSphericalL10;\x0auniform\x20vec3\x20vSphericalL11;\x0auniform\x20vec3\x20vSphericalL2_2;\x0auniform\x20vec3\x20vSphericalL2_1;\x0auniform\x20vec3\x20vSphericalL20;\x0auniform\x20vec3\x20vSphericalL21;\x0auniform\x20vec3\x20vSphericalL22;\x0a#else\x0auniform\x20vec3\x20vSphericalX;\x0auniform\x20vec3\x20vSphericalY;\x0auniform\x20vec3\x20vSphericalZ;\x0auniform\x20vec3\x20vSphericalXX_ZZ;\x0auniform\x20vec3\x20vSphericalYY_ZZ;\x0auniform\x20vec3\x20vSphericalZZ;\x0auniform\x20vec3\x20vSphericalXY;\x0auniform\x20vec3\x20vSphericalYZ;\x0auniform\x20vec3\x20vSphericalZX;\x0a#endif\x0a#endif\x0a#define\x20ADDITIONAL_FRAGMENT_DECLARATION\x0a','pbrUboDeclaration','onLoadErrorObservable','normalize(','MATERIAL_LineLoopDrawMode','_AddTagTo','#ifdef\x20EXPOSURE\x0auniform\x20float\x20exposureLinear;\x0a#endif\x0a#ifdef\x20CONTRAST\x0auniform\x20float\x20contrast;\x0a#endif\x0a#if\x20defined(VIGNETTE)\x20||\x20defined(DITHER)\x0auniform\x20vec2\x20vInverseScreenSize;\x0a#endif\x0a#ifdef\x20VIGNETTE\x0auniform\x20vec4\x20vignetteSettings1;\x0auniform\x20vec4\x20vignetteSettings2;\x0a#endif\x0a#ifdef\x20COLORCURVES\x0auniform\x20vec4\x20vCameraColorCurveNegative;\x0auniform\x20vec4\x20vCameraColorCurveNeutral;\x0auniform\x20vec4\x20vCameraColorCurvePositive;\x0a#endif\x0a#ifdef\x20COLORGRADING\x0a#ifdef\x20COLORGRADING3D\x0auniform\x20highp\x20sampler3D\x20txColorTransform;\x0a#else\x0auniform\x20sampler2D\x20txColorTransform;\x0a#endif\x0auniform\x20vec4\x20colorTransformSettings;\x0a#endif\x0a#ifdef\x20DITHER\x0auniform\x20float\x20ditherIntensity;\x0a#endif\x0a','ssaoPixelShader','_dumpPropertiesCode','_emitFloat','ReadOnlyStorage','LIGHTTYPEID_HEMISPHERICLIGHT','#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x0avar\x20vertexID\x20:\x20f32;\x0a#endif\x0a#endif\x0a','_onPointerMove','width','query','#include<__decl__boundingBoxRendererFragment>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','_getActionManagerForTrigger','indexInGroupEntries','setStencilEnabled','_webVRInitPromise','process','POINTERWHEEL','_compression','SetData','surface','_declareOutput','fluidRenderingStandardBlurPixelShader','_startingPointerPosition','leftOverUniforms','fragment','_count','vIridescenceParams','CLAMP_ADDRESSMODE','_coroutineScheduler','morphTargetsVertexDeclaration','wrapV','vrdisplaydisconnect','projection','shadersRepository','NAME_SUBSURFACE','\x20\x20vertexOutputs.position.y\x20=\x20vertexOutputs.position.y\x20*\x20internals.yFactor_;\x0a\x20\x20return\x20vertexOutputs;','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20BUMP\x0avarying\x20vec2\x20vNormalUV;\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avarying\x20vec2\x20vNormalUV2;\x0a#endif\x0auniform\x20mat4\x20normalMatrix;\x0auniform\x20vec2\x20vNormalInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<logDepthDeclaration>\x0auniform\x20mat4\x20worldReflectionViewProjection;\x0auniform\x20vec2\x20windDirection;\x0auniform\x20float\x20waveLength;\x0auniform\x20float\x20time;\x0auniform\x20float\x20windForce;\x0auniform\x20float\x20waveHeight;\x0auniform\x20float\x20waveSpeed;\x0auniform\x20float\x20waveCount;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec3\x20vRefractionMapTexCoord;\x0avarying\x20vec3\x20vReflectionMapTexCoord;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20BUMP\x0aif\x20(vNormalInfos.x==0.)\x0a{\x0avNormalUV=vec2(normalMatrix*vec4((uv*1.0)/waveLength+time*windForce*windDirection,1.0,0.0));\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avNormalUV2=vec2(normalMatrix*vec4((uv*0.721)/waveLength+time*1.2*windForce*windDirection,1.0,0.0));\x0a#endif\x0a}\x0aelse\x0a{\x0avNormalUV=vec2(normalMatrix*vec4((uv2*1.0)/waveLength+time*windForce*windDirection\x20,1.0,0.0));\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avNormalUV2=vec2(normalMatrix*vec4((uv2*0.721)/waveLength+time*1.2*windForce*windDirection\x20,1.0,0.0));\x0a#endif\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0afloat\x20finalWaveCount=1.0/(waveCount*0.5);\x0avec3\x20p=position;\x0afloat\x20newY=(sin(((p.x/finalWaveCount)+time*waveSpeed))*waveHeight*windDirection.x*5.0)\x0a+\x20(cos(((p.z/finalWaveCount)+\x20time*waveSpeed))*waveHeight*windDirection.y*5.0);\x0ap.y+=abs(newY);\x0agl_Position=viewProjection*finalWorld*vec4(p,1.0);\x0a#ifdef\x20REFLECTION\x0aworldPos=viewProjection*finalWorld*vec4(p,1.0);\x0avPosition=position;\x0avRefractionMapTexCoord.x=0.5*(worldPos.w+worldPos.x);\x0avRefractionMapTexCoord.y=0.5*(worldPos.w+worldPos.y);\x0avRefractionMapTexCoord.z=worldPos.w;\x0aworldPos=worldReflectionViewProjection*vec4(position,1.0);\x0avReflectionMapTexCoord.x=0.5*(worldPos.w+worldPos.x);\x0avReflectionMapTexCoord.y=0.5*(worldPos.w+worldPos.y);\x0avReflectionMapTexCoord.z=worldPos.w;\x0a#endif\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','setBuffer','#define\x20rcp(x)\x201./x\x0a#define\x20GOLDEN_RATIO\x201.618033988749895\x0a#define\x20TWO_PI\x206.2831855\x0avec2\x20Golden2dSeq(int\x20i,float\x20n)\x0a{\x0areturn\x20vec2(float(i)/n+(0.5/n),fract(float(i)*rcp(GOLDEN_RATIO)));\x0a}\x0avec2\x20SampleDiskGolden(int\x20i,int\x20sampleCount)\x0a{\x0avec2\x20f=Golden2dSeq(i,float(sampleCount));\x0areturn\x20vec2(sqrt(f.x),TWO_PI*f.y);\x0a}','logDepthVertex','particleSize','internal\x20copy\x20texture\x20with\x20invertY','updateUIntArray','TEXTUREFORMAT_RGBA_INTEGER','precision\x20highp\x20float;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20translationPivot;\x0auniform\x20vec3\x20worldOffset;\x0a#ifdef\x20LOCAL\x0auniform\x20mat4\x20emitterWM;\x0a#endif\x0aattribute\x20vec3\x20position;\x0aattribute\x20float\x20age;\x0aattribute\x20float\x20life;\x0aattribute\x20vec3\x20size;\x0a#ifndef\x20BILLBOARD\x0aattribute\x20vec3\x20initialDirection;\x0a#endif\x0a#ifdef\x20BILLBOARDSTRETCHED\x0aattribute\x20vec3\x20direction;\x0a#endif\x0aattribute\x20float\x20angle;\x0a#ifdef\x20ANIMATESHEET\x0aattribute\x20float\x20cellIndex;\x0a#endif\x0aattribute\x20vec2\x20offset;\x0aattribute\x20vec2\x20uv;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0avarying\x20vec3\x20vPositionW;\x0a#if\x20defined(BILLBOARD)\x20&&\x20!defined(BILLBOARDY)\x20&&\x20!defined(BILLBOARDSTRETCHED)\x0auniform\x20mat4\x20invView;\x0a#endif\x0a#include<clipPlaneVertexDeclaration2>\x0a#include<logDepthDeclaration>\x0a#ifdef\x20COLORGRADIENTS\x0auniform\x20sampler2D\x20colorGradientSampler;\x0a#else\x0auniform\x20vec4\x20colorDead;\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0auniform\x20vec3\x20sheetInfos;\x0a#endif\x0a#ifdef\x20BILLBOARD\x0auniform\x20vec3\x20eyePosition;\x0a#endif\x0avec3\x20rotate(vec3\x20yaxis,vec3\x20rotatedCorner)\x20{\x0avec3\x20xaxis=normalize(cross(vec3(0.,1.0,0.),yaxis));\x0avec3\x20zaxis=normalize(cross(yaxis,xaxis));\x0avec3\x20row0=vec3(xaxis.x,xaxis.y,xaxis.z);\x0avec3\x20row1=vec3(yaxis.x,yaxis.y,yaxis.z);\x0avec3\x20row2=vec3(zaxis.x,zaxis.y,zaxis.z);\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0a#ifdef\x20LOCAL\x0areturn\x20((emitterWM*vec4(position,1.0)).xyz+worldOffset)+alignedCorner;\x0a#else\x0areturn\x20(position+worldOffset)+alignedCorner;\x0a#endif\x0a}\x0a#ifdef\x20BILLBOARDSTRETCHED\x0avec3\x20rotateAlign(vec3\x20toCamera,vec3\x20rotatedCorner)\x20{\x0avec3\x20normalizedToCamera=normalize(toCamera);\x0avec3\x20normalizedCrossDirToCamera=normalize(cross(normalize(direction),normalizedToCamera));\x0avec3\x20crossProduct=normalize(cross(normalizedToCamera,normalizedCrossDirToCamera));\x0avec3\x20row0=vec3(normalizedCrossDirToCamera.x,normalizedCrossDirToCamera.y,normalizedCrossDirToCamera.z);\x0avec3\x20row1=vec3(crossProduct.x,crossProduct.y,crossProduct.z);\x0avec3\x20row2=vec3(normalizedToCamera.x,normalizedToCamera.y,normalizedToCamera.z);\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0a#ifdef\x20LOCAL\x0areturn\x20((emitterWM*vec4(position,1.0)).xyz+worldOffset)+alignedCorner;\x0a#else\x0areturn\x20(position+worldOffset)+alignedCorner;\x0a#endif\x0a}\x0a#endif\x0avoid\x20main()\x20{\x0a#ifdef\x20ANIMATESHEET\x0afloat\x20rowOffset=floor(cellIndex/sheetInfos.z);\x0afloat\x20columnOffset=cellIndex-rowOffset*sheetInfos.z;\x0avec2\x20uvScale=sheetInfos.xy;\x0avec2\x20uvOffset=vec2(uv.x\x20,1.0-uv.y);\x0avUV=(uvOffset+vec2(columnOffset,rowOffset))*uvScale;\x0a#else\x0avUV=uv;\x0a#endif\x0afloat\x20ratio=age/life;\x0a#ifdef\x20COLORGRADIENTS\x0avColor=texture2D(colorGradientSampler,vec2(ratio,0));\x0a#else\x0avColor=color*vec4(1.0-ratio)+colorDead*vec4(ratio);\x0a#endif\x0avec2\x20cornerPos=(offset-translationPivot)*size.yz*size.x+translationPivot;\x0a#ifdef\x20BILLBOARD\x0avec4\x20rotatedCorner;\x0arotatedCorner.w=0.;\x0a#ifdef\x20BILLBOARDY\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.y=0.;\x0avec3\x20yaxis=(position+worldOffset)-eyePosition;\x0ayaxis.y=0.;\x0avPositionW=rotate(normalize(yaxis),rotatedCorner.xyz);\x0avec4\x20viewPosition=(view*vec4(vPositionW,1.0));\x0a#elif\x20defined(BILLBOARDSTRETCHED)\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0avec3\x20toCamera=(position+worldOffset)-eyePosition;\x0avPositionW=rotateAlign(toCamera,rotatedCorner.xyz);\x0avec4\x20viewPosition=(view*vec4(vPositionW,1.0));\x0a#else\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0a#ifdef\x20LOCAL\x0avec4\x20viewPosition=view*vec4(((emitterWM*vec4(position,1.0)).xyz+worldOffset),1.0)+rotatedCorner;\x0a#else\x0avec4\x20viewPosition=view*vec4((position+worldOffset),1.0)+rotatedCorner;\x0a#endif\x0avPositionW=(invView*viewPosition).xyz;\x0a#endif\x0a#else\x0avec3\x20rotatedCorner;\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=0.;\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0avec3\x20yaxis=normalize(initialDirection);\x0avPositionW=rotate(yaxis,rotatedCorner);\x0avec4\x20viewPosition=view*vec4(vPositionW,1.0);\x0a#endif\x0agl_Position=projection*viewPosition;\x0a#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0avec4\x20worldPos=vec4(vPositionW,1.0);\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<logDepthVertex>\x0a}','framebufferTextureLayer','AddModel','initWebVRAsync','texStorage3D','_setDepthTextureFormat','doNotHandleCursors','getCaps','_onVRDisplayPointerUnrestricted','RGBA8Unorm','_pixelPerfect','clickToPlay','_mask','POINTERDOWN','boxMin','scene','isConnected','TextureWithoutSampler','TEXTURE_BILINEAR_SAMPLINGMODE','PREPASS_ALBEDO_SQRT_TEXTURE_TYPE','uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20float\x20gain;\x0auniform\x20float\x20threshold;\x0auniform\x20float\x20screen_width;\x0auniform\x20float\x20screen_height;\x0avarying\x20vec2\x20vUV;\x0avec4\x20highlightColor(vec4\x20color)\x20{\x0avec4\x20highlight=color;\x0afloat\x20luminance=dot(highlight.rgb,vec3(0.2125,0.7154,0.0721));\x0afloat\x20lum_threshold;\x0aif\x20(threshold>1.0)\x20{\x20lum_threshold=0.94+0.01*threshold;\x20}\x0aelse\x20{\x20lum_threshold=0.5+0.44*threshold;\x20}\x0aluminance=clamp((luminance-lum_threshold)*(1.0/(1.0-lum_threshold)),0.0,1.0);\x0ahighlight*=luminance*gain;\x0ahighlight.a=1.0;\x0areturn\x20highlight;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20original=texture2D(textureSampler,vUV);\x0aif\x20(gain==-1.0)\x20{\x0agl_FragColor=vec4(0.0,0.0,0.0,1.0);\x0areturn;\x0a}\x0afloat\x20w=2.0/screen_width;\x0afloat\x20h=2.0/screen_height;\x0afloat\x20weight=1.0;\x0avec4\x20blurred=vec4(0.0,0.0,0.0,0.0);\x0a#ifdef\x20PENTAGON\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.84*w,0.43*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.48*w,-1.29*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.61*w,1.51*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.55*w,-0.74*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.71*w,-0.52*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.94*w,1.59*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.40*w,-1.87*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.62*w,1.16*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.09*w,0.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.46*w,-1.71*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.08*w,2.42*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.85*w,-1.89*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.89*w,0.16*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.29*w,1.88*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.40*w,-2.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.54*w,2.26*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.60*w,-0.61*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.31*w,-1.30*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.83*w,2.53*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.12*w,-2.48*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.60*w,1.11*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.82*w,0.99*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.50*w,-2.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.85*w,3.33*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.94*w,-1.92*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.27*w,-0.53*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.95*w,2.48*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.23*w,-3.04*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.17*w,2.05*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.97*w,-0.04*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.25*w,-2.00*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.31*w,3.08*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.94*w,-2.59*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.37*w,0.64*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.13*w,1.93*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.03*w,-3.65*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.60*w,3.17*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.14*w,-1.19*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.00*w,-1.19*h)));\x0a#else\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.85*w,0.36*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.52*w,-1.14*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.46*w,1.42*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.46*w,-0.83*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.79*w,-0.42*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.11*w,1.62*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.29*w,-2.07*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.69*w,1.39*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.28*w,0.12*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.65*w,-1.69*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.08*w,2.44*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.63*w,-1.90*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.55*w,0.31*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.13*w,1.52*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.56*w,-2.61*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.38*w,2.34*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.64*w,-0.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.53*w,-1.21*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.06*w,2.63*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.00*w,-2.69*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.59*w,1.32*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.82*w,0.78*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.57*w,-2.50*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.54*w,2.93*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.39*w,-1.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.01*w,-0.28*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.04*w,2.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.02*w,-3.05*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.09*w,2.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.07*w,-0.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.44*w,-1.90*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.52*w,3.05*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.68*w,-2.61*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.01*w,0.79*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.76*w,1.46*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.05*w,-2.94*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.21*w,2.88*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.84*w,-1.30*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.98*w,-0.96*h)));\x0a#endif\x0ablurred/=39.0;\x0agl_FragColor=blurred;\x0a}','startFrame','Iridescence\x20ior','fixedFoveation','BC7RGBAUnormSRGB','FLOAT','textureFormatInUse','_registeredActions','_onGenerateOnlyFragmentCodeChanged','CopySrc','getEffectDefines','dataOffsetStart','texelSize','Matrix','computeBonesUsingShaders','isFragment','#ifdef\x20WEBGL2\x0auniform\x20mat4\x20world;\x0auniform\x20float\x20visibility;\x0a#else\x0alayout(std140,column_major)\x20uniform;\x0auniform\x20Mesh\x0a{\x0amat4\x20world;\x0afloat\x20visibility;\x0a};\x0a#endif\x0a#define\x20WORLD_UBO\x0a','11224QlAfxn','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','fluidRenderingParticleDiffuseVertexShader','!!INVALID\x20EXPRESSION!!','needsPreviousWorldMatrices','UNSIGNED_INT','_meshUnderPointerId','shadowMapVertexDeclaration','MiddleClick','getMaterial','addOnce','KnownUBOs','engine','setDepthBias','fromIndex','_alreadyAttached','MatchesQuery','vrdisplaypresentchange','#ifdef\x20CLIPPLANE\x0avarying\x20fClipDistance:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0avarying\x20fClipDistance2:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0avarying\x20fClipDistance3:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0avarying\x20fClipDistance4:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0avarying\x20fClipDistance5:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0avarying\x20fClipDistance6:\x20f32;\x0a#endif\x0a','ACTION_OnPickOutTrigger','.xyz,\x20','const\x20float\x20PI=3.1415926535897932384626433832795;\x0aconst\x20float\x20HALF_MIN=5.96046448e-08;\x20\x0aconst\x20float\x20LinearEncodePowerApprox=2.2;\x0aconst\x20float\x20GammaEncodePowerApprox=1.0/LinearEncodePowerApprox;\x0aconst\x20vec3\x20LuminanceEncodeApprox=vec3(0.2126,0.7152,0.0722);\x0aconst\x20float\x20Epsilon=0.0000001;\x0a#define\x20saturate(x)\x20clamp(x,0.0,1.0)\x0a#define\x20absEps(x)\x20abs(x)+Epsilon\x0a#define\x20maxEps(x)\x20max(x,Epsilon)\x0a#define\x20saturateEps(x)\x20clamp(x,Epsilon,1.0)\x0amat3\x20transposeMat3(mat3\x20inMatrix)\x20{\x0avec3\x20i0=inMatrix[0];\x0avec3\x20i1=inMatrix[1];\x0avec3\x20i2=inMatrix[2];\x0amat3\x20outMatrix=mat3(\x0avec3(i0.x,i1.x,i2.x),\x0avec3(i0.y,i1.y,i2.y),\x0avec3(i0.z,i1.z,i2.z)\x0a);\x0areturn\x20outMatrix;\x0a}\x0amat3\x20inverseMat3(mat3\x20inMatrix)\x20{\x0afloat\x20a00=inMatrix[0][0],a01=inMatrix[0][1],a02=inMatrix[0][2];\x0afloat\x20a10=inMatrix[1][0],a11=inMatrix[1][1],a12=inMatrix[1][2];\x0afloat\x20a20=inMatrix[2][0],a21=inMatrix[2][1],a22=inMatrix[2][2];\x0afloat\x20b01=a22*a11-a12*a21;\x0afloat\x20b11=-a22*a10+a12*a20;\x0afloat\x20b21=a21*a10-a11*a20;\x0afloat\x20det=a00*b01+a01*b11+a02*b21;\x0areturn\x20mat3(b01,(-a22*a01+a02*a21),(a12*a01-a02*a11),\x0ab11,(a22*a00-a02*a20),(-a12*a00+a02*a10),\x0ab21,(-a21*a00+a01*a20),(a11*a00-a01*a10))/det;\x0a}\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0avec3\x20toLinearSpaceExact(vec3\x20color)\x0a{\x0avec3\x20nearZeroSection=0.0773993808*color;\x0avec3\x20remainingSection=pow(0.947867299*(color+vec3(0.055)),vec3(2.4));\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0areturn\x20mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.04045)));\x0a#else\x0areturn\x0avec3(\x0acolor.r<=0.04045\x20?\x20nearZeroSection.r\x20:\x20remainingSection.r,\x0acolor.g<=0.04045\x20?\x20nearZeroSection.g\x20:\x20remainingSection.g,\x0acolor.b<=0.04045\x20?\x20nearZeroSection.b\x20:\x20remainingSection.b);\x0a#endif\x0a}\x0avec3\x20toGammaSpaceExact(vec3\x20color)\x0a{\x0avec3\x20nearZeroSection=12.92*color;\x0avec3\x20remainingSection=1.055*pow(color,vec3(0.41666))-vec3(0.055);\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0areturn\x20mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.0031308)));\x0a#else\x0areturn\x0avec3(\x0acolor.r<=0.0031308\x20?\x20nearZeroSection.r\x20:\x20remainingSection.r,\x0acolor.g<=0.0031308\x20?\x20nearZeroSection.g\x20:\x20remainingSection.g,\x0acolor.b<=0.0031308\x20?\x20nearZeroSection.b\x20:\x20remainingSection.b);\x0a#endif\x0a}\x0a#endif\x0afloat\x20toLinearSpace(float\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0afloat\x20nearZeroSection=0.0773993808*color;\x0afloat\x20remainingSection=pow(0.947867299*(color+0.055),2.4);\x0areturn\x20color<=0.04045\x20?\x20nearZeroSection\x20:\x20remainingSection;\x0a#else\x0areturn\x20pow(color,LinearEncodePowerApprox);\x0a#endif\x0a}\x0avec3\x20toLinearSpace(vec3\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20toLinearSpaceExact(color);\x0a#else\x0areturn\x20pow(color,vec3(LinearEncodePowerApprox));\x0a#endif\x0a}\x0avec4\x20toLinearSpace(vec4\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20vec4(toLinearSpaceExact(color.rgb),color.a);\x0a#else\x0areturn\x20vec4(pow(color.rgb,vec3(LinearEncodePowerApprox)),color.a);\x0a#endif\x0a}\x0afloat\x20toGammaSpace(float\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0afloat\x20nearZeroSection=12.92*color;\x0afloat\x20remainingSection=1.055*pow(color,0.41666)-0.055;\x0areturn\x20color<=0.0031308\x20?\x20nearZeroSection\x20:\x20remainingSection;\x0a#else\x0areturn\x20pow(color,GammaEncodePowerApprox);\x0a#endif\x0a}\x0avec3\x20toGammaSpace(vec3\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20toGammaSpaceExact(color);\x0a#else\x0areturn\x20pow(color,vec3(GammaEncodePowerApprox));\x0a#endif\x0a}\x0avec4\x20toGammaSpace(vec4\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20vec4(toGammaSpaceExact(color.rgb),color.a);\x0a#else\x0areturn\x20vec4(pow(color.rgb,vec3(GammaEncodePowerApprox)),color.a);\x0a#endif\x0a}\x0afloat\x20square(float\x20value)\x0a{\x0areturn\x20value*value;\x0a}\x0avec3\x20square(vec3\x20value)\x0a{\x0areturn\x20value*value;\x0a}\x0afloat\x20pow5(float\x20value)\x20{\x0afloat\x20sq=value*value;\x0areturn\x20sq*sq*value;\x0a}\x0afloat\x20getLuminance(vec3\x20color)\x0a{\x0areturn\x20clamp(dot(color,LuminanceEncodeApprox),0.,1.);\x0a}\x0afloat\x20getRand(vec2\x20seed)\x20{\x0areturn\x20fract(sin(dot(seed.xy\x20,vec2(12.9898,78.233)))*43758.5453);\x0a}\x0afloat\x20dither(vec2\x20seed,float\x20varianceAmount)\x20{\x0afloat\x20rand=getRand(seed);\x0afloat\x20normVariance=varianceAmount/255.0;\x0afloat\x20dither=mix(-normVariance,normVariance,rand);\x0areturn\x20dither;\x0a}\x0aconst\x20float\x20rgbdMaxRange=255.0;\x0avec4\x20toRGBD(vec3\x20color)\x20{\x0afloat\x20maxRGB=maxEps(max(color.r,max(color.g,color.b)));\x0afloat\x20D\x20=max(rgbdMaxRange/maxRGB,1.);\x0aD\x20=clamp(floor(D)/255.0,0.,1.);\x0avec3\x20rgb=color.rgb*D;\x0argb=toGammaSpace(rgb);\x0areturn\x20vec4(clamp(rgb,0.,1.),D);\x20\x0a}\x0avec3\x20fromRGBD(vec4\x20rgbd)\x20{\x0argbd.rgb=toLinearSpace(rgbd.rgb);\x0areturn\x20rgbd.rgb/rgbd.a;\x0a}\x0avec3\x20parallaxCorrectNormal(\x20vec3\x20vertexPos,vec3\x20origVec,vec3\x20cubeSize,vec3\x20cubePos\x20)\x20{\x0avec3\x20invOrigVec=vec3(1.0,1.0,1.0)/origVec;\x0avec3\x20halfSize=cubeSize*0.5;\x0avec3\x20intersecAtMaxPlane=(cubePos+halfSize-vertexPos)*invOrigVec;\x0avec3\x20intersecAtMinPlane=(cubePos-halfSize-vertexPos)*invOrigVec;\x0avec3\x20largestIntersec=max(intersecAtMaxPlane,intersecAtMinPlane);\x0afloat\x20distance=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);\x0avec3\x20intersectPositionWS=vertexPos+origVec*distance;\x0areturn\x20intersectPositionWS-cubePos;\x0a}\x0a','itemLength','TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV','ASTC8x6Unorm','layerIndex','readValue','blurNumIterations','View','true','_effect','#ifdef\x20LOGARITHMICDEPTH\x0auniform\x20float\x20logarithmicDepthConstant;\x0avarying\x20float\x20vFragmentDepth;\x0a#endif\x0a','setFloatArray2','setValue','DepthStencil','isCube','\x20=\x20computeSphericalCoords(','_keys','updateDirectly','matricesWeights','samplers','texture(','#define\x20CLIPPLANE3','shadowMapUboDeclaration','_unIndexed','oitDeclaration','#ifdef\x20REFLECTION\x0astruct\x20reflectionOutParams\x0a{\x0avec4\x20environmentRadiance;\x0avec3\x20environmentIrradiance;\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20reflectionCoords;\x0a#else\x0avec2\x20reflectionCoords;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0avec3\x20irradianceVector;\x0a#endif\x0a#endif\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20createReflectionCoords(\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20normalW,\x0a#ifdef\x20ANISOTROPIC\x0ain\x20anisotropicOutParams\x20anisotropicOut,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0aout\x20vec3\x20reflectionCoords\x0a#else\x0aout\x20vec2\x20reflectionCoords\x0a#endif\x0a)\x0a{\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),anisotropicOut.anisotropicNormal);\x0a#else\x0avec3\x20reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0areflectionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0areflectionCoords=reflectionVector;\x0a#else\x0areflectionCoords=reflectionVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0areflectionCoords/=reflectionVector.z;\x0a#endif\x0areflectionCoords.y=1.0-reflectionCoords.y;\x0a#endif\x0a}\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20sampleReflectionTexture(\x0ain\x20float\x20alphaG,\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0ain\x20float\x20NdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0ain\x20float\x20roughness,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0aconst\x20vec3\x20reflectionCoords,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0aconst\x20vec2\x20reflectionCoords,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0aout\x20vec4\x20environmentRadiance\x0a)\x0a{\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0afloat\x20reflectionLOD=getLodFromAlphaG(vReflectionMicrosurfaceInfos.x,alphaG,NdotVUnclamped);\x0a#elif\x20defined(LINEARSPECULARREFLECTION)\x0afloat\x20reflectionLOD=getLinearLodFromRoughness(vReflectionMicrosurfaceInfos.x,roughness);\x0a#else\x0afloat\x20reflectionLOD=getLodFromAlphaG(vReflectionMicrosurfaceInfos.x,alphaG);\x0a#endif\x0a#ifdef\x20LODBASEDMICROSFURACE\x0areflectionLOD=reflectionLOD*vReflectionMicrosurfaceInfos.y+vReflectionMicrosurfaceInfos.z;\x0a#ifdef\x20LODINREFLECTIONALPHA\x0afloat\x20automaticReflectionLOD=UNPACK_LOD(sampleReflection(reflectionSampler,reflectionCoords).a);\x0afloat\x20requestedReflectionLOD=max(automaticReflectionLOD,reflectionLOD);\x0a#else\x0afloat\x20requestedReflectionLOD=reflectionLOD;\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0aenvironmentRadiance=vec4(radiance(alphaG,reflectionSampler,reflectionCoords,vReflectionFilteringInfo),1.0);\x0a#else\x0aenvironmentRadiance=sampleReflectionLod(reflectionSampler,reflectionCoords,reflectionLOD);\x0a#endif\x0a#else\x0afloat\x20lodReflectionNormalized=saturate(reflectionLOD/log2(vReflectionMicrosurfaceInfos.x));\x0afloat\x20lodReflectionNormalizedDoubled=lodReflectionNormalized*2.0;\x0avec4\x20environmentMid=sampleReflection(reflectionSampler,reflectionCoords);\x0aif\x20(lodReflectionNormalizedDoubled<1.0){\x0aenvironmentRadiance=mix(\x0asampleReflection(reflectionSamplerHigh,reflectionCoords),\x0aenvironmentMid,\x0alodReflectionNormalizedDoubled\x0a);\x0a}\x20else\x20{\x0aenvironmentRadiance=mix(\x0aenvironmentMid,\x0asampleReflection(reflectionSamplerLow,reflectionCoords),\x0alodReflectionNormalizedDoubled-1.0\x0a);\x0a}\x0a#endif\x0a#ifdef\x20RGBDREFLECTION\x0aenvironmentRadiance.rgb=fromRGBD(environmentRadiance);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0aenvironmentRadiance.rgb=toLinearSpace(environmentRadiance.rgb);\x0a#endif\x0aenvironmentRadiance.rgb*=vReflectionInfos.x;\x0aenvironmentRadiance.rgb*=vReflectionColor.rgb;\x0a}\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20reflectionBlock(\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20normalW,\x0ain\x20float\x20alphaG,\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0a#ifdef\x20ANISOTROPIC\x0ain\x20anisotropicOutParams\x20anisotropicOut,\x0a#endif\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0ain\x20float\x20NdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0ain\x20float\x20roughness,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0a#endif\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x0ain\x20vec3\x20vEnvironmentIrradiance,\x0a#endif\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0ain\x20mat4\x20reflectionMatrix,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20irradianceSampler,\x0a#else\x0ain\x20sampler2D\x20irradianceSampler,\x0a#endif\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0aout\x20reflectionOutParams\x20outParams\x0a)\x0a{\x0avec4\x20environmentRadiance=vec4(0.,0.,0.,0.);\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20reflectionCoords=vec3(0.);\x0a#else\x0avec2\x20reflectionCoords=vec2(0.);\x0a#endif\x0acreateReflectionCoords(\x0avPositionW,\x0anormalW,\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOut,\x0a#endif\x0areflectionCoords\x0a);\x0asampleReflectionTexture(\x0aalphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0aroughness,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0areflectionSampler,\x0areflectionCoords,\x0a#else\x0areflectionSampler,\x0areflectionCoords,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0aenvironmentRadiance\x0a);\x0avec3\x20environmentIrradiance=vec3(0.,0.,0.);\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x0aenvironmentIrradiance=vEnvironmentIrradiance;\x0a#else\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20irradianceVector=vec3(reflectionMatrix*vec4(anisotropicOut.anisotropicNormal,0)).xyz;\x0a#else\x0avec3\x20irradianceVector=vec3(reflectionMatrix*vec4(normalW,0)).xyz;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0airradianceVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20INVERTCUBICMAP\x0airradianceVector.y*=-1.0;\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x0aenvironmentIrradiance=irradiance(reflectionSampler,irradianceVector,vReflectionFilteringInfo);\x0a#else\x0aenvironmentIrradiance=computeEnvironmentIrradiance(irradianceVector);\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0aoutParams.irradianceVector=irradianceVector;\x0a#endif\x0a#endif\x0a#elif\x20defined(USEIRRADIANCEMAP)\x0avec4\x20environmentIrradiance4=sampleReflection(irradianceSampler,reflectionCoords);\x0aenvironmentIrradiance=environmentIrradiance4.rgb;\x0a#ifdef\x20RGBDREFLECTION\x0aenvironmentIrradiance.rgb=fromRGBD(environmentIrradiance4);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0aenvironmentIrradiance.rgb=toLinearSpace(environmentIrradiance.rgb);\x0a#endif\x0a#endif\x0aenvironmentIrradiance*=vReflectionColor.rgb;\x0aoutParams.environmentRadiance=environmentRadiance;\x0aoutParams.environmentIrradiance=environmentIrradiance;\x0aoutParams.reflectionCoords=reflectionCoords;\x0a}\x0a#endif\x0a','RG8Sint','#define\x20FOG','setBlendConstant','reflectionCoords','cellInfo','releaseComputeEffects','slice','directionRandomizer','createSceneUniformBuffer','_depthMask','colorAttachmentViewDescriptor','motionBlur','TEXTURE_SKYBOX_MODE','direction1','E1d','updateCubeTextures','some','createRenderPipeline','lensHighlightsPixelShader','gradientPixelShader','BC3RGBAUnorm','//#define\x20','_step','top','diffusionD','_rigPostProcess','uniform\x20mat4\x20viewProjection;\x0auniform\x20mat4\x20view;\x0a#ifdef\x20DIFFUSE\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20mat4\x20ambientMatrix;\x0auniform\x20vec2\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20OPACITY\x0auniform\x20mat4\x20opacityMatrix;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0auniform\x20mat4\x20emissiveMatrix;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0auniform\x20mat4\x20lightmapMatrix;\x0a#endif\x0a#if\x20defined(SPECULAR)\x20&&\x20defined(SPECULARTERM)\x0auniform\x20vec2\x20vSpecularInfos;\x0auniform\x20mat4\x20specularMatrix;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20mat4\x20bumpMatrix;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20mat4\x20reflectionMatrix;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0auniform\x20mat4\x20detailMatrix;\x0a#endif\x0a#include<decalVertexDeclaration>\x0a#define\x20ADDITIONAL_VERTEX_DECLARATION\x0a','R8Unorm','isTrue','statusText','pbrBlockAnisotropic','_debugFlushPendingCommands','samples','Read','varying\x20vec3\x20vPositionW;\x0a#if\x20DEBUGMODE>0\x0avarying\x20vec4\x20vClipSpacePosition;\x0a#endif\x0a#include<mainUVVaryingDeclaration>[1..7]\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avarying\x20vec3\x20vEnvironmentIrradiance;\x0a#endif\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a','toIndex','_timeElapsedQueryEnded','mapAsync','_deviceSourceManager','getUniqueId','_buildLeftOverUBO','#ifdef\x20LIGHT{X}\x0auniform\x20Light{X}\x0a{\x0avec4\x20vLightData;\x0avec4\x20vLightDiffuse;\x0avec4\x20vLightSpecular;\x0a#ifdef\x20SPOTLIGHT{X}\x0avec4\x20vLightDirection;\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(POINTLIGHT{X})\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(HEMILIGHT{X})\x0avec3\x20vLightGround;\x0a#endif\x0avec4\x20shadowsInfo;\x0avec2\x20depthValues;\x0a}\x20light{X};\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#elif\x20defined(SHADOWCUBE{X})\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0a#endif\x0a#endif\x0a','renderHeight','ETC2RGBA8UnormSRGB','depthPrePass','Clone','IncludesShadersStore','_animate','componentCount','getWidth','setViewport','_drawWrapperFogDepth','gl_FragCoord','TEXTUREFORMAT_LUMINANCE\x20format\x20not\x20supported\x20in\x20WebGPU','_createDepthStencilTexture','IncludesShadersStoreWGSL','height','materialCount','PrePass\x20and\x20subsurface\x20configuration\x20needs\x20to\x20be\x20enabled\x20for\x20subsurface\x20scattering.','inputTexture','fluidRenderingParticleDiffusePixelShader','previousWorld','fogStart','#ifdef\x20INSTANCES\x0aattribute\x20world0\x20:\x20vec4<f32>;\x0aattribute\x20world1\x20:\x20vec4<f32>;\x0aattribute\x20world2\x20:\x20vec4<f32>;\x0aattribute\x20world3\x20:\x20vec4<f32>;\x0a#ifdef\x20INSTANCESCOLOR\x0aattribute\x20instanceColor\x20:\x20vec4<f32>;\x0a#endif\x0a#if\x20defined(THIN_INSTANCES)\x20&&\x20!defined(WORLD_UBO)\x0auniform\x20world\x20:\x20mat4x4<f32>;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0aattribute\x20previousWorld0\x20:\x20vec4<f32>;\x0aattribute\x20previousWorld1\x20:\x20vec4<f32>;\x0aattribute\x20previousWorld2\x20:\x20vec4<f32>;\x0aattribute\x20previousWorld3\x20:\x20vec4<f32>;\x0a#ifdef\x20THIN_INSTANCES\x0auniform\x20previousWorld\x20:\x20mat4x4<f32>;\x0a#endif\x0a#endif\x0a#else\x0a#if\x20!defined(WORLD_UBO)\x0auniform\x20world\x20:\x20mat4x4<f32>;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0auniform\x20previousWorld\x20:\x20mat4x4<f32>;\x0a#endif\x0a#endif\x0a','layerVertexShader','setUIntArray2','number','createRenderTargetTextureProvider','faceForward','cameraToUseForPointers','framebufferRenderbuffer','#include\x20<','Ubo','###___ANCHOR','getPipelineContext','\x0a\x20\x20\x20\x20@group(0)\x20@binding(0)\x20var\x20videoSampler:\x20sampler;\x0a\x20\x20\x20\x20@group(0)\x20@binding(1)\x20var\x20videoTexture:\x20texture_external;\x0a\x0a\x20\x20\x20\x20@fragment\x0a\x20\x20\x20\x20fn\x20main(\x0a\x20\x20\x20\x20\x20\x20\x20\x20@location(0)\x20fragUV:\x20vec2<f32>\x0a\x20\x20\x20\x20)\x20->\x20@location(0)\x20vec4<f32>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20textureSampleBaseClampToEdge(videoTexture,\x20videoSampler,\x20vec2<f32>(fragUV.x,\x201.0\x20-\x20fragUV.y));\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','TEXTUREFORMAT_COMPRESSED_RGB_BPTC_SIGNED_FLOAT','#define\x20POINTEMITTER','updateMultipleRenderTargetTextureSampleCount','disableVR','getOrAddWithFactory','setIntArray','uniqueId','_processPointerDown','precision\x20highp\x20float;attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;uniform\x20mat4\x20textureMatrix;uniform\x20vec2\x20vTextureInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);gl_Position=viewProjection*worldPos;vPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vTextureInfos.x==0.)\x0a{vTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','1189384AFImKe','_loadFile','QueryResolve','map','_retrieveQueryBuffer','fillUniformsAttributesAndSamplerNames','_depthStencilBuffer','compilationString','\x20:\x20','_FileToolsLoadFile','ASTC6x5UnormSRGB','_attachCameras','textureFloatRender','All','binding','functions','\x0a};\x0avar<private>\x20vertexInputs\x20:\x20VertexInputs;\x0a','boundingBoxSize','maxMSAASamples','addMSAARenderBuffer','GetRightPlaneToRef','GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#ifdef\x20EMISSIVE\x0auniform\x20sampler2D\x20textureSampler2;\x0a#endif\x0auniform\x20float\x20offset;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0a#ifdef\x20EMISSIVE\x0abaseColor+=texture2D(textureSampler2,vUV);\x0abaseColor*=offset;\x0a#else\x0abaseColor.a=abs(offset-baseColor.a);\x0a#ifdef\x20STROKE\x0afloat\x20alpha=smoothstep(.0,.1,baseColor.a);\x0abaseColor.a=alpha;\x0abaseColor.rgb=baseColor.rgb*alpha;\x0a#endif\x0a#endif\x0a#if\x20LDR\x0abaseColor=clamp(baseColor,0.,1.0);\x0a#endif\x0agl_FragColor=baseColor;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','FIXED_EQUIRECTANGULAR_MIRRORED_MODE','shadowMapPixelShader','_generatePickInfo','isDirty','\x20{\x0a','PositionKind','onPointerMove','_framebuffer','disableAutoAttach','_createBlurPostProcesses','addPipeline','ASTC10x8Unorm','_countIncrement','_tags','varyingDeclaration','.texture\x20=\x20new\x20BABYLON.Texture(\x22','ACTION_OnDoublePickTrigger','setVerticesBuffer','_setCursorAndPointerOverMesh','#ifdef\x20CLIPPLANE\x0avarying\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0avarying\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0avarying\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0avarying\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0avarying\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0avarying\x20float\x20fClipDistance6;\x0a#endif\x0a','sprites','RGBA32Uint','#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0aif\x20(false)\x20{}\x0a#endif\x0a#ifdef\x20CLIPPLANE\x0aelse\x20if\x20(fClipDistance>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0aelse\x20if\x20(fClipDistance2>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0aelse\x20if\x20(fClipDistance3>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0aelse\x20if\x20(fClipDistance4>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0aelse\x20if\x20(fClipDistance5>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0aelse\x20if\x20(fClipDistance6>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a','firePixelShader','>,\x0a','REFLECTIONMAP_EXPLICIT','harmonicsFunctions','repeatKey','renderWidth','\x20=\x20textureCubeLodEXT(','createJoint','_attributeDeclaration','POINTERMOVE','#if\x20defined(DIFFUSE_ISLINEAR)\x20||\x20defined(EMISSIVE_ISLINEAR)\x0a#include<helperFunctions>\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vUVDiffuse;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vUVOpacity;\x0auniform\x20sampler2D\x20opacitySampler;\x0auniform\x20float\x20opacityIntensity;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avarying\x20vec2\x20vUVEmissive;\x0auniform\x20sampler2D\x20emissiveSampler;\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0avarying\x20vec4\x20vColor;\x0a#endif\x0auniform\x20vec4\x20glowColor;\x0a#include<clipPlaneFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include<clipPlaneFragment>\x0avec4\x20finalColor=glowColor;\x0a#ifdef\x20DIFFUSE\x0avec4\x20albedoTexture=texture2D(diffuseSampler,vUVDiffuse);\x0a#ifdef\x20DIFFUSE_ISLINEAR\x0aalbedoTexture=toGammaSpace(albedoTexture);\x0a#endif\x0a#ifdef\x20GLOW\x0afinalColor.a*=albedoTexture.a;\x0a#endif\x0a#ifdef\x20HIGHLIGHT\x0afinalColor.a=albedoTexture.a;\x0a#endif\x0a#endif\x0a#ifdef\x20OPACITY\x0avec4\x20opacityMap=texture2D(opacitySampler,vUVOpacity);\x0a#ifdef\x20OPACITYRGB\x0afinalColor.a*=getLuminance(opacityMap.rgb);\x0a#else\x0afinalColor.a*=opacityMap.a;\x0a#endif\x0afinalColor.a*=opacityIntensity;\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0afinalColor.a*=vColor.a;\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(finalColor.a<ALPHATESTVALUE)\x0adiscard;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avec4\x20emissive=texture2D(emissiveSampler,vUVEmissive);\x0a#ifdef\x20EMISSIVE_ISLINEAR\x0aemissive=toGammaSpace(emissive);\x0a#endif\x0agl_FragColor=emissive*finalColor;\x0a#else\x0agl_FragColor=finalColor;\x0a#endif\x0a#ifdef\x20HIGHLIGHT\x0agl_FragColor.a=glowColor.a;\x0a#endif\x0a}','varying\x20vec2\x20sampleCoord{X};','layerType','heightRange','_data','setImmediate','#if\x20SM_SOFTTRANSPARENTSHADOW==1\x0aif\x20((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=softTransparentShadowSM*alpha)\x20discard;\x0a#endif\x0a','thinInstanceCount','_getVRDisplaysAsync','bindBuffers','AddIndividualParser',',\x20null,\x20undefined,\x20undefined,\x20undefined,\x20','_userThinInstanceBuffersStorage','_mesh',')\x20var<uniform>\x20uniforms\x20:\x20','vertexCompilationError','angle','setUInt2','_detachCameras','KEEP','activeCamera','BC5RGUnorm','autoClear','_releaseFramebufferObjects','vClipPlane5','imageProcessingPixelShader','GetData','_IsInternalTexture','bindAttachments','_delayQuerySetDispose','stencilOp','distance','readDataFromBuffer','getBuffer','_alphaState','renderPassDescriptor','triplanarPixelShader','_dstBuffers','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0d\x0a','DST_ALPHA','_copyInvertYBindGroup','getClassName','InternalsUBOName','setStencilCompare','EACR11Unorm','_mrtAttachments','addTags','IsExternalTexture','opStencilFail','uniformProcessor','_ssDiffusionS','Float\x20textures\x20are\x20not\x20supported.\x20Render\x20target\x20forced\x20to\x20TEXTURETYPE_UNSIGNED_BYTE\x20type','sampler2DArrayShadow','#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a','RGBA8','drawImage','_bindTextureDirectly','kernelBlurFragment2','EACRG11Snorm','enabled','_stridedUniformArrays','_ProcessShaderConversion','isEqual','_connectVREvents','LEQUAL','handleVertexSide','_internalCount','cameraPosition','createRawCubeTexture','ref','_verifyPointerLock','shadowsVertex','bindGroupLayoutEntryInfo','bindFramebuffer','Uniform','_needNormals','toGlobalToRef','_textureMode','bindGroupEntries','textureBlur','pbrBlockImageProcessing','#include<','QueueNewFrame','setBindGroup','setDepthWriteEnabled','hasFloatTextures','targetTypes','hints','_oldHardwareScaleFactor','albedoSampler','sampler_comparison','ALPHA_ADD','_comparisonFunction','generateCubeMipmaps','autoConfigure','_angle','_bundleLists','TEXTURE_LINEAR_LINEAR','isWebGPU','_transformTextureUrl','_unTranslatedPointerY','@location(','STENCIL_ATTACHMENT','vec3\x20diffuseBase=vec3(0.,0.,0.);\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec3\x20clearCoatBase=vec3(0.,0.,0.);\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20sheenBase=vec3(0.,0.,0.);\x0a#endif\x0apreLightingInfo\x20preInfo;\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x20\x0a#if\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TINT)\x0avec3\x20absorption=vec3(0.);\x0a#endif\x0a','#define\x20MULTIVIEW','blendFuncSeparate','isEnabled','setLayerAndFaceIndex','BilateralBlurY','geometryPixelShader','_removeCameraPointerObserver','getInput','incrementReferences','_fromIndex','_isStencilFuncDirty','name','disableVertexArrayObjects','unBindMultiColorAttachmentFramebuffer','TEXTURE_3D','_reflectionVectorName','_setRayOnPointerInfo','DEPTH_COMPONENT32F','_worldPositionNameInFragmentOnlyMode','pointerUpPredicate','INVERTCUBICMAP','programValidationError','BC2RGBAUnormSRGB','Int','Vertex','uvAttributeDeclaration','_availableIndices','HingeJoint','Stencil8','RG8Snorm','floor','_depthTextureFormat',',\x20H:\x20','Zero','INTENSITYMODE_LUMINANCE','_doubleClick','float\x20bayerDither2(vec2\x20_P)\x20{\x0areturn\x20mod(2.0*_P.y+_P.x+1.0,4.0);\x0a}\x0afloat\x20bayerDither4(vec2\x20_P)\x20{\x0avec2\x20P1=mod(_P,2.0);\x20\x0avec2\x20P2=floor(0.5*mod(_P,4.0));\x20\x0areturn\x204.0*bayerDither2(P1)+bayerDither2(P2);\x0a}\x0afloat\x20bayerDither8(vec2\x20_P)\x20{\x0avec2\x20P1=mod(_P,2.0);\x20\x0avec2\x20P2=floor(0.5\x20*mod(_P,4.0));\x20\x0avec2\x20P4=floor(0.25*mod(_P,8.0));\x20\x0areturn\x204.0*(4.0*bayerDither2(P1)+bayerDither2(P2))+bayerDither2(P4);\x0a}\x0a','_texture','#if\x20SM_NORMALBIAS==1\x0a#if\x20SM_DIRECTIONINLIGHTDATA==1\x0avec3\x20worldLightDirSM=normalize(-lightDataSM.xyz);\x0a#else\x0avec3\x20directionToLightSM=lightDataSM.xyz-worldPos.xyz;\x0avec3\x20worldLightDirSM=normalize(directionToLightSM);\x0a#endif\x0afloat\x20ndlSM=dot(vNormalW,worldLightDirSM);\x0afloat\x20sinNLSM=sqrt(1.0-ndlSM*ndlSM);\x0afloat\x20normalBiasSM=biasAndScaleSM.y*sinNLSM;\x0aworldPos.xyz-=vNormalW*normalBiasSM;\x0a#endif\x0a','deleteFramebuffer','#ifdef\x20','create\x20mipmaps\x20for\x20face\x20#','setFileName','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0aattribute\x20vec2\x20uv;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20tUV;\x0avarying\x20vec2\x20stageUnits;\x0avarying\x20vec2\x20levelUnits;\x0avarying\x20vec2\x20tileID;\x0auniform\x20float\x20time;\x0auniform\x20mat4\x20worldViewProjection;\x0auniform\x20vec2\x20outputSize;\x0auniform\x20vec2\x20stageSize;\x0auniform\x20vec2\x20spriteMapSize;\x0auniform\x20float\x20stageScale;\x0avoid\x20main()\x20{\x0avec4\x20p=vec4(\x20position,1.\x20);\x0avPosition=p.xyz;\x0avUV=uv;\x0atUV=uv*stageSize;\x20\x0agl_Position=worldViewProjection*p;\x0a}','_KnownUBOs','cullFace','updateUInt','decalMap','dataStoreObject','vrdisplaypointerunrestricted','#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0avec3\x20faceNormal=normalize(cross(dFdx(vPositionW),dFdy(vPositionW)))*vEyePosition.w;\x0a#if\x20defined(TWOSIDEDLIGHTING)\x0afaceNormal=gl_FrontFacing\x20?\x20faceNormal\x20:\x20-faceNormal;\x0a#endif\x0anormalW*=sign(dot(normalW,faceNormal));\x0a#endif\x0a#if\x20defined(TWOSIDEDLIGHTING)\x20&&\x20defined(NORMAL)\x0anormalW=gl_FrontFacing\x20?\x20normalW\x20:\x20-normalW;\x0a#endif\x0a','_querySet','_measureDuration','createMSAATexture','_blendConstants','_getFreeVariableName','uniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20float\x20shadowLevel;\x0a#ifdef\x20DIFFUSE\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0auniform\x20float\x20fFovMultiplier;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0a','No\x20fixed\x20size\x20for\x20Stencil8\x20format!','_spriteBuffer','shadowOnlyVertexShader','processor','lensFlareVertexShader','removeAttributes','cos','\x20=\x20','remove','CubeArray','RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU','TEXTURE_CREATIONFLAG_STORAGE','##INJECTCODE##','_getComponent','SphereParticleEmitter','GL_ALPHA_FUNCTION_ONE_MINUS_CONSTANT_ALPHA','drawContext','AddSamplers','defineProperty','testValue','_createComputePipelineStageDescriptor','_depthStencilTexture','updateMatrix3x3','left','chromaticAberrationPixelShader','TEXTURETYPE_FLOAT','_areMiscDirty','COLOR_BUFFER_BIT','_localPosition','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20glFragCoord_\x20=\x20gl_FragCoord;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(yFactor_\x20==\x201.)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20glFragCoord_.y\x20=\x20textureOutputHeight_\x20-\x20glFragCoord_.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','_sphericalPolynomialComputed','_defineEquirectangularName','cloneTo','Textures\x20type\x20does\x20not\x20support\x20cascades.','TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV\x20format\x20not\x20supported\x20in\x20WebGPU','rotate','pointerId','_isDepthTestDirty','radiusRange','initializeShaders','attribute\x20vec3\x20position;\x0aattribute\x20vec2\x20offset;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20size;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20viewPos;\x0avarying\x20float\x20sphereRadius;\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0aattribute\x20vec3\x20velocity;\x0avarying\x20float\x20velocityNorm;\x0a#endif\x0avoid\x20main(void)\x20{\x0avec3\x20cornerPos;\x0acornerPos.xy=vec2(offset.x-0.5,offset.y-0.5)*size;\x0acornerPos.z=0.0;\x0aviewPos=(view*vec4(position,1.0)).xyz;\x0agl_Position=projection*vec4(viewPos+cornerPos,1.0);\x0auv=offset;\x0asphereRadius=size.x/2.0;\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0avelocityNorm=length(velocity);\x0a#endif\x0a}\x0a','metersPerUnit','Not\x20implemented','viewportSize','_pointerCaptures','_IsHardwareTexture','_getShaderSource','_varyingsWGSL','Comparison','getNextFreeUBOBinding','endFrame','removeEventListener','textureRegexp','updateMatrices','_drawWrapperDepth','toLowerCase','updateUInt3','x6_','_registerTempVariable','updateUniformBuffer','E3d','hasMoreFallbacks','RGBA8Snorm','#if\x20SM_USEDISTANCE==1\x0avPositionWSM=worldPos.xyz;\x0a#endif\x0a#if\x20SM_DEPTHTEXTURE==1\x0a#ifdef\x20IS_NDC_HALF_ZRANGE\x0a#define\x20BIASFACTOR\x200.5\x0a#else\x0a#define\x20BIASFACTOR\x201.0\x0a#endif\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0agl_Position.z-=biasAndScaleSM.x*gl_Position.w*BIASFACTOR;\x0a#else\x0agl_Position.z+=biasAndScaleSM.x*gl_Position.w*BIASFACTOR;\x0a#endif\x0a#endif\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0azSM=gl_Position.z;\x0agl_Position.z=0.0;\x0a#elif\x20SM_USEDISTANCE==0\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetricSM=(-gl_Position.z+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#else\x0avDepthMetricSM=(gl_Position.z+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#endif\x0a#endif\x0a','#ifdef\x20MORPHTARGETS\x0a#ifndef\x20MORPHTARGETS_TEXTURE\x0aattribute\x20vec3\x20position{X};\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0aattribute\x20vec3\x20normal{X};\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0aattribute\x20vec3\x20tangent{X};\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0aattribute\x20vec2\x20uv_{X};\x0a#endif\x0a#endif\x0a#endif\x0a','uniforms','version','uniformBufferRegexp','value','StorageBuffer','ray','GL_ALPHA_FUNCTION_SRC_ALPHA','_setDefaultValue','sceneUboDeclaration','\x20BILLBOARD','_videoTextureSupported','_buildHeight','numDrawCalls','3lKTMFt','createComputeContext','ONE_MINUS_DST_COLOR','oitFinalPixelShader','offsets','radius','COLOR_ATTACHMENT','detachControl','_useDirectMapping','_readTexturePixelsSync\x20is\x20unsupported\x20in\x20WebGPU!','generateDepthBuffer','BC4RSnorm','(-yFactor_)*dFdy','setCompressedTextureExclusions','pickId','attribute\x20vec3\x20position;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20vec2\x20depthValues;\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(NEED_UV)\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#if\x20(defined(ALPHATEST)\x20||\x20defined(NEED_UV))\x20&&\x20defined(UV1)\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0agl_Position=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(BASIC_RENDER)\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a}\x0a','RG8Unorm','submit','TEXTURETYPE_UNSIGNED_SHORT_5_6_5\x20format\x20not\x20supported\x20in\x20WebGPU','hit','pbrHelperFunctions','addDiffusionProfile','UNIFORM_BUFFER','computeDispatch','_time','f32d','#define\x20RECIPROCAL_PI2\x200.15915494','_getComputeShaderCode','_features','vertexBuffers','indexCount','compressedTexImage2D','ALPHA_EQUATION_MAX','updateId','pushDebugGroup','\x0a#define\x20ANIMATESHEET\x0a','writeBuffer','\x5cs*\x5c[(.+)?\x5c]','void\x20main','GL_ALPHA_FUNCTION_CONSTANT_ALPHA','instancesVertex',']\x20is\x20not\x20connected\x20and\x20is\x20not\x20optional.\x0d\x0a','#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#define\x20SQRT2\x201.41421356\x0a#define\x20PI\x203.14159\x0aprecision\x20highp\x20float;\x0auniform\x20float\x20visibility;\x0auniform\x20vec3\x20mainColor;\x0auniform\x20vec3\x20lineColor;\x0auniform\x20vec4\x20gridControl;\x0auniform\x20vec3\x20gridOffset;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec3\x20vNormal;\x0a#include<fogFragmentDeclaration>\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vOpacityUV;\x0auniform\x20sampler2D\x20opacitySampler;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0afloat\x20getDynamicVisibility(float\x20position)\x20{\x0afloat\x20majorGridFrequency=gridControl.y;\x0aif\x20(floor(position+0.5)==floor(position/majorGridFrequency+0.5)*majorGridFrequency)\x0a{\x0areturn\x201.0;\x0a}\x20\x0areturn\x20gridControl.z;\x0a}\x0afloat\x20getAnisotropicAttenuation(float\x20differentialLength)\x20{\x0aconst\x20float\x20maxNumberOfLines=10.0;\x0areturn\x20clamp(1.0/(differentialLength+1.0)-1.0/maxNumberOfLines,0.0,1.0);\x0a}\x0afloat\x20isPointOnLine(float\x20position,float\x20differentialLength)\x20{\x0afloat\x20fractionPartOfPosition=position-floor(position+0.5);\x20\x0afractionPartOfPosition/=differentialLength;\x20\x0afractionPartOfPosition=clamp(fractionPartOfPosition,-1.,1.);\x0afloat\x20result=0.5+0.5*cos(fractionPartOfPosition*PI);\x20\x0areturn\x20result;\x20\x0a}\x0afloat\x20contributionOnAxis(float\x20position)\x20{\x0afloat\x20differentialLength=length(vec2(dFdx(position),dFdy(position)));\x0adifferentialLength*=SQRT2;\x20\x0afloat\x20result=isPointOnLine(position,differentialLength);\x0afloat\x20dynamicVisibility=getDynamicVisibility(position);\x0aresult*=dynamicVisibility;\x0afloat\x20anisotropicAttenuation=getAnisotropicAttenuation(differentialLength);\x0aresult*=anisotropicAttenuation;\x0areturn\x20result;\x0a}\x0afloat\x20normalImpactOnAxis(float\x20x)\x20{\x0afloat\x20normalImpact=clamp(1.0-3.0*abs(x*x*x),0.0,1.0);\x0areturn\x20normalImpact;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0afloat\x20gridRatio=gridControl.x;\x0avec3\x20gridPos=(vPosition+gridOffset.xyz)/gridRatio;\x0afloat\x20x=contributionOnAxis(gridPos.x);\x0afloat\x20y=contributionOnAxis(gridPos.y);\x0afloat\x20z=contributionOnAxis(gridPos.z);\x0avec3\x20normal=normalize(vNormal);\x0ax*=normalImpactOnAxis(normal.x);\x0ay*=normalImpactOnAxis(normal.y);\x0az*=normalImpactOnAxis(normal.z);\x0a#ifdef\x20MAX_LINE\x20\x0afloat\x20grid=clamp(max(max(x,y),z),0.,1.);\x0a#else\x0afloat\x20grid=clamp(x+y+z,0.,1.);\x0a#endif\x0avec3\x20color=mix(mainColor,lineColor,grid);\x0a#ifdef\x20FOG\x0a#include<fogFragment>\x0a#endif\x0afloat\x20opacity=1.0;\x0a#ifdef\x20TRANSPARENT\x0aopacity=clamp(grid,0.08,gridControl.w*grid);\x0a#endif\x20\x0a#ifdef\x20OPACITY\x0aopacity*=texture2D(opacitySampler,vOpacityUV).a;\x0a#endif\x20\x0agl_FragColor=vec4(color.rgb,opacity*visibility);\x0a#ifdef\x20TRANSPARENT\x0a#ifdef\x20PREMULTIPLYALPHA\x0agl_FragColor.rgb*=opacity;\x0a#endif\x0a#else\x20\x0a#endif\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','log','_files','\x0d\x0a#endif','_renderTargetWrapperCache','decalVertexDeclaration','funcMask','LongPressDelay','getTextureMatrix','struct\x20preLightingInfo\x0a{\x0avec3\x20lightOffset;\x0afloat\x20lightDistanceSquared;\x0afloat\x20lightDistance;\x0afloat\x20attenuation;\x0avec3\x20L;\x0avec3\x20H;\x0afloat\x20NdotV;\x0afloat\x20NdotLUnclamped;\x0afloat\x20NdotL;\x0afloat\x20VdotH;\x0afloat\x20roughness;\x0a#ifdef\x20IRIDESCENCE\x0afloat\x20iridescenceIntensity;\x0a#endif\x0a};\x0apreLightingInfo\x20computePointAndSpotPreLightingInfo(vec4\x20lightData,vec3\x20V,vec3\x20N)\x20{\x0apreLightingInfo\x20result;\x0aresult.lightOffset=lightData.xyz-vPositionW;\x0aresult.lightDistanceSquared=dot(result.lightOffset,result.lightOffset);\x0aresult.lightDistance=sqrt(result.lightDistanceSquared);\x0aresult.L=normalize(result.lightOffset);\x0aresult.H=normalize(V+result.L);\x0aresult.VdotH=saturate(dot(V,result.H));\x0aresult.NdotLUnclamped=dot(N,result.L);\x0aresult.NdotL=saturateEps(result.NdotLUnclamped);\x0areturn\x20result;\x0a}\x0apreLightingInfo\x20computeDirectionalPreLightingInfo(vec4\x20lightData,vec3\x20V,vec3\x20N)\x20{\x0apreLightingInfo\x20result;\x0aresult.lightDistance=length(-lightData.xyz);\x0aresult.L=normalize(-lightData.xyz);\x0aresult.H=normalize(V+result.L);\x0aresult.VdotH=saturate(dot(V,result.H));\x0aresult.NdotLUnclamped=dot(N,result.L);\x0aresult.NdotL=saturateEps(result.NdotLUnclamped);\x0areturn\x20result;\x0a}\x0apreLightingInfo\x20computeHemisphericPreLightingInfo(vec4\x20lightData,vec3\x20V,vec3\x20N)\x20{\x0apreLightingInfo\x20result;\x0aresult.NdotL=dot(N,lightData.xyz)*0.5+0.5;\x0aresult.NdotL=saturateEps(result.NdotL);\x0aresult.NdotLUnclamped=result.NdotL;\x0a#ifdef\x20SPECULARTERM\x0aresult.L=normalize(lightData.xyz);\x0aresult.H=normalize(V+result.L);\x0aresult.VdotH=saturate(dot(V,result.H));\x0a#endif\x0areturn\x20result;\x0a}','_updatePointerPosition','bonesDeclaration','RGB','_cacheSampler','_bundleEncoder','_createInternalTexture','fogMode','_projectOnTrianglesToRef','onVRDisplayChangedObservable','setUIntArray3','_OperatorPriority','convertSpirV2WGSL','_gpuFrameTimeCounter','FALLOFF_PHYSICAL','RGBA32Float','IRIDESCENCE_THICKNESS_TEXTURE','_defineSkyboxName','colorAttachment','oitFragment','\x20=\x20computeEquirectangularCoords(','_deleteComputePipelineContext','emitFragment','createBuffer','#define\x20CONEEMITTER','thinInstanceGetWorldMatrices','meshUVSpaceRendererPixelShader','compressedTexImage3D','markAsTexturesDirty','sin','RGBA16Sint','MATERIAL_TextureDirtyFlag','ACTION_OnRightPickTrigger','getGPUFrameTimeCounter','textureHalfFloatLinearFiltering','KEYUP','_pickedUpMesh','forEach','Identity','textureCube','activeParticleCount','parse','REFLECTIONMAP_SPHERICAL','_addTextureBindingDescription','samplerCube','Build\x20of\x20NodeMaterial\x20failed:\x0d\x0a','_onVRDisplayPointerRestricted','_listLength','geometryVertexShader','assign','modelList','_vertexIsGLES3','_buffer','_areAttributesDirty','BrowserForward','ProjectOnTriangleToRef','_cachedWrapU','_numFloatTextures','viewForWriting','onPointerObservable','_isStencilOpDirty','enableEffectInPipeline','//Uniforms\x0d\x0a','ACTION_OnKeyUpTrigger','i32d','crossEyeMode','bufferData','applyToShader','checks','vrPresentationAttributes','texImage3D','_initActionManager','_defineExplicitName','markAsImageProcessingDirty','gpuFrameTimeCounter','Unable\x20to\x20create\x20dummy\x20framebuffer','_workingContext','setCommandEncoder','ASTC10x5UnormSRGB','#if','bakedVertexAnimation','Raw','split','Size','stopAnimation','colorFormats','program','document','_reflectionSizeName','registerOutput','__framebufferDepthStencil','initialize','glFragColor','_currentDrawContext','externalTexture','resize','associatedVariableName','_postProcessRunningIndex','_uniformDeclaration','TEXTUREFORMAT_RG_INTEGER','fibonacci','];\x0a','ReflectionTextureBaseBlock','startPositionFunction','#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,lod)\x20texture2DLodEXT(s,c,lod)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,bias)\x20texture2D(s,c,bias)\x0a#endif\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20circleOfConfusionSampler;\x0auniform\x20sampler2D\x20blurStep0;\x0a#if\x20BLUR_LEVEL>0\x0auniform\x20sampler2D\x20blurStep1;\x0a#endif\x0a#if\x20BLUR_LEVEL>1\x0auniform\x20sampler2D\x20blurStep2;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20coc=TEXTUREFUNC(circleOfConfusionSampler,vUV,0.0).r;\x0a#if\x20BLUR_LEVEL==0\x0avec4\x20original=TEXTUREFUNC(textureSampler,vUV,0.0);\x0avec4\x20blurred0=TEXTUREFUNC(blurStep0,vUV,0.0);\x0agl_FragColor=mix(original,blurred0,coc);\x0a#endif\x0a#if\x20BLUR_LEVEL==1\x0aif(coc<0.5){\x0avec4\x20original=TEXTUREFUNC(textureSampler,vUV,0.0);\x0avec4\x20blurred1=TEXTUREFUNC(blurStep1,vUV,0.0);\x0agl_FragColor=mix(original,blurred1,coc/0.5);\x0a}else{\x0avec4\x20blurred0=TEXTUREFUNC(blurStep0,vUV,0.0);\x0avec4\x20blurred1=TEXTUREFUNC(blurStep1,vUV,0.0);\x0agl_FragColor=mix(blurred1,blurred0,(coc-0.5)/0.5);\x0a}\x0a#endif\x0a#if\x20BLUR_LEVEL==2\x0aif(coc<0.33){\x0avec4\x20original=TEXTUREFUNC(textureSampler,vUV,0.0);\x0avec4\x20blurred2=TEXTUREFUNC(blurStep2,vUV,0.0);\x0agl_FragColor=mix(original,blurred2,coc/0.33);\x0a}else\x20if(coc<0.66){\x0avec4\x20blurred1=TEXTUREFUNC(blurStep1,vUV,0.0);\x0avec4\x20blurred2=TEXTUREFUNC(blurStep2,vUV,0.0);\x0agl_FragColor=mix(blurred2,blurred1,(coc-0.33)/0.33);\x0a}else{\x0avec4\x20blurred0=TEXTUREFUNC(blurStep0,vUV,0.0);\x0avec4\x20blurred1=TEXTUREFUNC(blurStep1,vUV,0.0);\x0agl_FragColor=mix(blurred1,blurred0,(coc-0.66)/0.34);\x0a}\x0a#endif\x0a}\x0a','_pickedDownMesh','gl_Position.y\x20*=\x20yFactor_;\x0a','BC7RGBAUnorm','max','modelDataLength','pickWorldPosition','lavaPixelShader','not','pbrVertexDeclaration','markAsProcessed','Invalid\x20fragment\x20shader:\x20The\x20varying\x20named\x20\x22','struct\x20albedoOpacityOutParams\x0a{\x0avec3\x20surfaceAlbedo;\x0afloat\x20alpha;\x0a};\x0a#define\x20pbr_inline\x0avoid\x20albedoOpacityBlock(\x0ain\x20vec4\x20vAlbedoColor,\x0a#ifdef\x20ALBEDO\x0ain\x20vec4\x20albedoTexture,\x0ain\x20vec2\x20albedoInfos,\x0a#endif\x0a#ifdef\x20OPACITY\x0ain\x20vec4\x20opacityMap,\x0ain\x20vec2\x20vOpacityInfos,\x0a#endif\x0a#ifdef\x20DETAIL\x0ain\x20vec4\x20detailColor,\x0ain\x20vec4\x20vDetailInfos,\x0a#endif\x0a#ifdef\x20DECAL\x0ain\x20vec4\x20decalColor,\x0ain\x20vec4\x20vDecalInfos,\x0a#endif\x0aout\x20albedoOpacityOutParams\x20outParams\x0a)\x0a{\x0avec3\x20surfaceAlbedo=vAlbedoColor.rgb;\x0afloat\x20alpha=vAlbedoColor.a;\x0a#ifdef\x20ALBEDO\x0a#if\x20defined(ALPHAFROMALBEDO)\x20||\x20defined(ALPHATEST)\x0aalpha*=albedoTexture.a;\x0a#endif\x0a#ifdef\x20GAMMAALBEDO\x0asurfaceAlbedo*=toLinearSpace(albedoTexture.rgb);\x0a#else\x0asurfaceAlbedo*=albedoTexture.rgb;\x0a#endif\x0asurfaceAlbedo*=albedoInfos.y;\x0a#endif\x0a#include<decalFragment>\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0asurfaceAlbedo*=vColor.rgb;\x0a#endif\x0a#ifdef\x20DETAIL\x0afloat\x20detailAlbedo=2.0*mix(0.5,detailColor.r,vDetailInfos.y);\x0asurfaceAlbedo.rgb=surfaceAlbedo.rgb*detailAlbedo*detailAlbedo;\x20\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_ALBEDO\x0a#ifdef\x20OPACITY\x0a#ifdef\x20OPACITYRGB\x0aalpha=getLuminance(opacityMap.rgb);\x0a#else\x0aalpha*=opacityMap.a;\x0a#endif\x0aalpha*=vOpacityInfos.y;\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#if\x20!defined(SS_LINKREFRACTIONTOTRANSPARENCY)\x20&&\x20!defined(ALPHAFRESNEL)\x0a#ifdef\x20ALPHATEST\x0aif\x20(alpha<ALPHATESTVALUE)\x0adiscard;\x0a#ifndef\x20ALPHABLEND\x0aalpha=1.0;\x0a#endif\x0a#endif\x0a#endif\x0aoutParams.surfaceAlbedo=surfaceAlbedo;\x0aoutParams.alpha=alpha;\x0a}\x0a','struct\x20clearcoatOutParams\x0a{\x0avec3\x20specularEnvironmentR0;\x0afloat\x20conservationFactor;\x0avec3\x20clearCoatNormalW;\x0avec2\x20clearCoatAARoughnessFactors;\x0afloat\x20clearCoatIntensity;\x0afloat\x20clearCoatRoughness;\x0a#ifdef\x20REFLECTION\x0avec3\x20finalClearCoatRadianceScaled;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0avec3\x20absorption;\x0afloat\x20clearCoatNdotVRefract;\x0avec3\x20clearCoatColor;\x0afloat\x20clearCoatThickness;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0avec3\x20energyConservationFactorClearCoat;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0amat3\x20TBNClearCoat;\x0avec2\x20clearCoatMapData;\x0avec4\x20clearCoatTintMapData;\x0avec4\x20environmentClearCoatRadiance;\x0afloat\x20clearCoatNdotV;\x0avec3\x20clearCoatEnvironmentReflectance;\x0a#endif\x0a};\x0a#ifdef\x20CLEARCOAT\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20clearcoatBlock(\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20geometricNormalW,\x0ain\x20vec3\x20viewDirectionW,\x0ain\x20vec2\x20vClearCoatParams,\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0ain\x20vec4\x20clearCoatMapRoughnessData,\x0a#endif\x0ain\x20vec3\x20specularEnvironmentR0,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0ain\x20vec2\x20clearCoatMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0ain\x20vec4\x20vClearCoatTintParams,\x0ain\x20float\x20clearCoatColorAtDistance,\x0ain\x20vec4\x20vClearCoatRefractionParams,\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0ain\x20vec4\x20clearCoatTintMapData,\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0ain\x20vec2\x20vClearCoatBumpInfos,\x0ain\x20vec4\x20clearCoatBumpMapData,\x0ain\x20vec2\x20vClearCoatBumpUV,\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0ain\x20mat3\x20vTBN,\x0a#else\x0ain\x20vec2\x20vClearCoatTangentSpaceParams,\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0ain\x20mat4\x20normalMatrix,\x0a#endif\x0a#endif\x0a#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0ain\x20vec3\x20faceNormal,\x0a#endif\x0a#ifdef\x20REFLECTION\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0ain\x20vec4\x20vLightingIntensity,\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0a#ifdef\x20RADIANCEOCCLUSION\x0ain\x20float\x20ambientMonochrome,\x0a#endif\x0a#endif\x0a#if\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(TWOSIDEDLIGHTING)\x0ain\x20float\x20frontFacingMultiplier,\x0a#endif\x0aout\x20clearcoatOutParams\x20outParams\x0a)\x0a{\x0afloat\x20clearCoatIntensity=vClearCoatParams.x;\x0afloat\x20clearCoatRoughness=vClearCoatParams.y;\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatIntensity*=clearCoatMapData.x;\x0a#ifdef\x20CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE\x0aclearCoatRoughness*=clearCoatMapData.y;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatMapData=clearCoatMapData;\x0a#endif\x0a#endif\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0a#ifdef\x20CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL\x0aclearCoatRoughness*=clearCoatMapData.y;\x0a#else\x0aclearCoatRoughness*=clearCoatMapRoughnessData.y;\x0a#endif\x0a#endif\x0aoutParams.clearCoatIntensity=clearCoatIntensity;\x0aoutParams.clearCoatRoughness=clearCoatRoughness;\x0a#ifdef\x20CLEARCOAT_TINT\x0avec3\x20clearCoatColor=vClearCoatTintParams.rgb;\x0afloat\x20clearCoatThickness=vClearCoatTintParams.a;\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0a#ifdef\x20CLEARCOAT_TINT_GAMMATEXTURE\x0aclearCoatColor*=toLinearSpace(clearCoatTintMapData.rgb);\x0a#else\x0aclearCoatColor*=clearCoatTintMapData.rgb;\x0a#endif\x0aclearCoatThickness*=clearCoatTintMapData.a;\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatTintMapData=clearCoatTintMapData;\x0a#endif\x0a#endif\x0aoutParams.clearCoatColor=computeColorAtDistanceInMedia(clearCoatColor,clearCoatColorAtDistance);\x0aoutParams.clearCoatThickness=clearCoatThickness;\x0a#endif\x0a#ifdef\x20CLEARCOAT_REMAP_F0\x0avec3\x20specularEnvironmentR0Updated=getR0RemappedForClearCoat(specularEnvironmentR0);\x0a#else\x0avec3\x20specularEnvironmentR0Updated=specularEnvironmentR0;\x0a#endif\x0aoutParams.specularEnvironmentR0=mix(specularEnvironmentR0,specularEnvironmentR0Updated,clearCoatIntensity);\x0avec3\x20clearCoatNormalW=geometricNormalW;\x0a#ifdef\x20CLEARCOAT_BUMP\x0a#ifdef\x20NORMALXYSCALE\x0afloat\x20clearCoatNormalScale=1.0;\x0a#else\x0afloat\x20clearCoatNormalScale=vClearCoatBumpInfos.y;\x0a#endif\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0amat3\x20TBNClearCoat=vTBN;\x0a#else\x0avec2\x20TBNClearCoatUV=vClearCoatBumpUV*frontFacingMultiplier;\x0amat3\x20TBNClearCoat=cotangent_frame(clearCoatNormalW*clearCoatNormalScale,vPositionW,TBNClearCoatUV,vClearCoatTangentSpaceParams);\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.TBNClearCoat=TBNClearCoat;\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0aclearCoatNormalW=normalize(clearCoatBumpMapData.xyz\x20*2.0-1.0);\x0aclearCoatNormalW=normalize(mat3(normalMatrix)*clearCoatNormalW);\x0a#else\x0aclearCoatNormalW=perturbNormal(TBNClearCoat,clearCoatBumpMapData.xyz,vClearCoatBumpInfos.y);\x0a#endif\x0a#endif\x0a#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0aclearCoatNormalW*=sign(dot(clearCoatNormalW,faceNormal));\x0a#endif\x0a#if\x20defined(TWOSIDEDLIGHTING)\x20&&\x20defined(NORMAL)\x0aclearCoatNormalW=clearCoatNormalW*frontFacingMultiplier;\x0a#endif\x0aoutParams.clearCoatNormalW=clearCoatNormalW;\x0aoutParams.clearCoatAARoughnessFactors=getAARoughnessFactors(clearCoatNormalW.xyz);\x0afloat\x20clearCoatNdotVUnclamped=dot(clearCoatNormalW,viewDirectionW);\x0afloat\x20clearCoatNdotV=absEps(clearCoatNdotVUnclamped);\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatNdotV=clearCoatNdotV;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0avec3\x20clearCoatVRefract=refract(-viewDirectionW,clearCoatNormalW,vClearCoatRefractionParams.y);\x0aoutParams.clearCoatNdotVRefract=absEps(dot(clearCoatNormalW,clearCoatVRefract));\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20(!defined(REFLECTIONMAP_SKYBOX)\x20||\x20defined(MS_BRDF_ENERGY_CONSERVATION))\x0avec3\x20environmentClearCoatBrdf=getBRDFLookup(clearCoatNdotV,clearCoatRoughness);\x0a#endif\x0a#if\x20defined(REFLECTION)\x0afloat\x20clearCoatAlphaG=convertRoughnessToAverageSlope(clearCoatRoughness);\x0a#ifdef\x20SPECULARAA\x0aclearCoatAlphaG+=outParams.clearCoatAARoughnessFactors.y;\x0a#endif\x0avec4\x20environmentClearCoatRadiance=vec4(0.,0.,0.,0.);\x0avec3\x20clearCoatReflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),clearCoatNormalW);\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0aclearCoatReflectionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20clearCoatReflectionCoords=clearCoatReflectionVector;\x0a#else\x0avec2\x20clearCoatReflectionCoords=clearCoatReflectionVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0aclearCoatReflectionCoords/=clearCoatReflectionVector.z;\x0a#endif\x0aclearCoatReflectionCoords.y=1.0-clearCoatReflectionCoords.y;\x0a#endif\x0asampleReflectionTexture(\x0aclearCoatAlphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aclearCoatNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0aclearCoatRoughness,\x0a#endif\x0areflectionSampler,\x0aclearCoatReflectionCoords,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0aenvironmentClearCoatRadiance\x0a);\x0a#if\x20DEBUGMODE>0\x0aoutParams.environmentClearCoatRadiance=environmentClearCoatRadiance;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0avec3\x20clearCoatEnvironmentReflectance=getReflectanceFromBRDFLookup(vec3(vClearCoatRefractionParams.x),environmentClearCoatBrdf);\x0a#ifdef\x20HORIZONOCCLUSION\x0a#ifdef\x20BUMP\x0a#ifdef\x20REFLECTIONMAP_3D\x0afloat\x20clearCoatEho=environmentHorizonOcclusion(-viewDirectionW,clearCoatNormalW,geometricNormalW);\x0aclearCoatEnvironmentReflectance*=clearCoatEho;\x0a#endif\x0a#endif\x0a#endif\x0a#else\x0avec3\x20clearCoatEnvironmentReflectance=getReflectanceFromAnalyticalBRDFLookup_Jones(clearCoatNdotV,vec3(1.),vec3(1.),sqrt(1.-clearCoatRoughness));\x0a#endif\x0aclearCoatEnvironmentReflectance*=clearCoatIntensity;\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatEnvironmentReflectance=clearCoatEnvironmentReflectance;\x0a#endif\x0aoutParams.finalClearCoatRadianceScaled=\x0aenvironmentClearCoatRadiance.rgb\x20*\x0aclearCoatEnvironmentReflectance\x20*\x0avLightingIntensity.z;\x0a#endif\x0a#if\x20defined(CLEARCOAT_TINT)\x0aoutParams.absorption=computeClearCoatAbsorption(outParams.clearCoatNdotVRefract,outParams.clearCoatNdotVRefract,outParams.clearCoatColor,clearCoatThickness,clearCoatIntensity);\x0a#endif\x0afloat\x20fresnelIBLClearCoat=fresnelSchlickGGX(clearCoatNdotV,vClearCoatRefractionParams.x,CLEARCOATREFLECTANCE90);\x0afresnelIBLClearCoat*=clearCoatIntensity;\x0aoutParams.conservationFactor=(1.-fresnelIBLClearCoat);\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0aoutParams.energyConservationFactorClearCoat=getEnergyConservationFactor(outParams.specularEnvironmentR0,environmentClearCoatBrdf);\x0a#endif\x0a}\x0a#endif\x0a','ssaoCombinePixelShader','glFragData','draw','_getVideoPipeline','bufferSubData','GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR','RGBA16Float','.rgb','sunDirectionalLight','previousMatrix','vFogColor','charCodeAt','#ifdef\x20INSTANCES\x0aattribute\x20vec4\x20world0;\x0aattribute\x20vec4\x20world1;\x0aattribute\x20vec4\x20world2;\x0aattribute\x20vec4\x20world3;\x0a#ifdef\x20INSTANCESCOLOR\x0aattribute\x20vec4\x20instanceColor;\x0a#endif\x0a#if\x20defined(THIN_INSTANCES)\x20&&\x20!defined(WORLD_UBO)\x0auniform\x20mat4\x20world;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0aattribute\x20vec4\x20previousWorld0;\x0aattribute\x20vec4\x20previousWorld1;\x0aattribute\x20vec4\x20previousWorld2;\x0aattribute\x20vec4\x20previousWorld3;\x0a#ifdef\x20THIN_INSTANCES\x0auniform\x20mat4\x20previousWorld;\x0a#endif\x0a#endif\x0a#else\x0a#if\x20!defined(WORLD_UBO)\x0auniform\x20mat4\x20world;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0auniform\x20mat4\x20previousWorld;\x0a#endif\x0a#endif\x0a','_pipelines','_onVrDisplayPresentChange','_movePointerInfo','trim','worldPos','onError','DontInvertY','REFLECTIONMAP_PLANAR','GLSL','#define\x20INVERTY\x0d\x0a','mipLevelCount','!true','thinInstanceAddSelf','TEXTURE_2D','PointParticleEmitter','_ignore','_vertexArrayObject','setInt','setDepthStencilFormat','layerIndices','DragMovementThreshold','funcRef','readFromStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!','maximizeInPlace','singleClick','TEXTUREFORMAT_LUMINANCE_ALPHA\x20format\x20not\x20supported\x20in\x20WebGPU','label','simulatePointerUp','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20_ExposureAdjustment;\x0a#if\x20defined(HABLE_TONEMAPPING)\x0aconst\x20float\x20A=0.15;\x0aconst\x20float\x20B=0.50;\x0aconst\x20float\x20C=0.10;\x0aconst\x20float\x20D=0.20;\x0aconst\x20float\x20E=0.02;\x0aconst\x20float\x20F=0.30;\x0aconst\x20float\x20W=11.2;\x0a#endif\x0afloat\x20Luminance(vec3\x20c)\x0a{\x0areturn\x20dot(c,vec3(0.22,0.707,0.071));\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec3\x20colour=texture2D(textureSampler,vUV).rgb;\x0a#if\x20defined(REINHARD_TONEMAPPING)\x0afloat\x20lum=Luminance(colour.rgb);\x20\x0afloat\x20lumTm=lum*_ExposureAdjustment;\x0afloat\x20scale=lumTm/(1.0+lumTm);\x20\x0acolour*=scale/lum;\x0a#elif\x20defined(HABLE_TONEMAPPING)\x0acolour*=_ExposureAdjustment;\x0aconst\x20float\x20ExposureBias=2.0;\x0avec3\x20x=ExposureBias*colour;\x0avec3\x20curr=((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;\x0ax=vec3(W,W,W);\x0avec3\x20whiteScale=1.0/(((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F);\x0acolour=curr*whiteScale;\x0a#elif\x20defined(OPTIMIZED_HEJIDAWSON_TONEMAPPING)\x0acolour*=_ExposureAdjustment;\x0avec3\x20X=max(vec3(0.0,0.0,0.0),colour-0.004);\x0avec3\x20retColor=(X*(6.2*X+0.5))/(X*(6.2*X+1.7)+0.06);\x0acolour=retColor*retColor;\x0a#elif\x20defined(PHOTOGRAPHIC_TONEMAPPING)\x0acolour=\x20vec3(1.0,1.0,1.0)-exp2(-_ExposureAdjustment*colour);\x0a#endif\x0agl_FragColor=vec4(colour.rgb,1.0);\x0a}','MODE_TOPBOTTOM','bindMultiviewFramebuffer','!false','prepareDefines','Timestamp','bloomMergePixelShader','isQueryResultAvailable','test','getRenderWidth','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20mat4\x20kernelMatrix;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20baseColor=texture2D(textureSampler,vUV).rgb;\x0avec3\x20updatedColor=(kernelMatrix*vec4(baseColor,1.0)).rgb;\x0agl_FragColor=vec4(updatedColor,1.0);\x0a}','setUsage','LIGHTTYPEID_POINTLIGHT','constantlyUpdateMeshUnderPointer','serialize','bind','_currentRank','getFileName','clearRect','uv3','cellHeight','updateDynamicVertexBuffer','allowSingleMeshMaxTriangleFaceQuantity','notConnectedNonOptionalInputs','_blurTextureFormat','ONE_MINUS_CONSTANT_ALPHA','_EvaluatePreProcessors','setAlphaBlendConstants','#ifdef\x20LOGARITHMICDEPTH\x0avFragmentDepth=1.0+gl_Position.w;\x0agl_Position.z=log2(max(0.000001,vFragmentDepth))*logarithmicDepthConstant;\x0a#endif\x0a','defaultVertexShader','attributeNamesFromEffect','detach','_setCubeMapTextureParams','\x20=\x20normalize(vec3(','_DefaultIndexOfRefraction','setExternalTexture','\x5cs*\x5c[(.*)\x5c]','nameInArrayOfTexture','BABYLON.IridescenceBlock','_areLightsDisposed','ui8d','multiplyToRef','close','finalizeShaders','setDepthWrite','R8Uint','_updateParameters','_webgpuMSAATexture','_record','_isDepthFuncDirty','_isUbo','_partialLoadImg','processCodeAfterIncludes','textBuffer','bufferNames','_boundRenderFunction','_processStridedUniformArrays','IgnoreTexturesAtLoadTime','noMipmap','_cacheFloat4','MAINUV6','_cascadeLoadFiles','renderWidthHeight','_pickMove','_inputs','stencilGlobal','deleteTexture','lavaVertexShader','getScene','Lerp','#ifdef\x20ORDER_INDEPENDENT_TRANSPARENCY\x0a#extension\x20GL_EXT_draw_buffers\x20:\x20require\x0alayout(location=0)\x20out\x20vec2\x20depth;\x20\x0alayout(location=1)\x20out\x20vec4\x20frontColor;\x0alayout(location=2)\x20out\x20vec4\x20backColor;\x0a#define\x20MAX_DEPTH\x2099999.0\x0ahighp\x20vec4\x20gl_FragColor;\x0auniform\x20sampler2D\x20oitDepthSampler;\x0auniform\x20sampler2D\x20oitFrontColorSampler;\x0a#endif\x0a','_currentPickResult','attributes','passPixelShader','texture','buffer','maxTextureSize','NodeMaterial\x20does\x20not\x20have\x20a\x20vertex\x20output.\x20You\x20need\x20to\x20at\x20least\x20add\x20a\x20block\x20that\x20generates\x20a\x20glPosition\x20value.\x0d\x0a',';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','imageProcessingPostProcess','exec','StorageBinding','FromArrayToRef','ALPHA_MULTIPLY','submitFrame','GL_ALPHA_EQUATION_REVERSE_SUBTRACT','uniform\x20mat4\x20projection;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20viewPos;\x0avarying\x20float\x20sphereRadius;\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0avarying\x20float\x20velocityNorm;\x0a#endif\x0avoid\x20main(void)\x20{\x0avec3\x20normal;\x0anormal.xy=uv*2.0-1.0;\x0afloat\x20r2=dot(normal.xy,normal.xy);\x0aif\x20(r2>1.0)\x20discard;\x0anormal.z=sqrt(1.0-r2);\x0a#ifndef\x20FLUIDRENDERING_RHS\x0anormal.z=-normal.z;\x0a#endif\x0avec4\x20realViewPos=vec4(viewPos+normal*sphereRadius,1.0);\x0avec4\x20clipSpacePos=projection*realViewPos;\x0a#ifdef\x20WEBGPU\x0agl_FragDepth=clipSpacePos.z/clipSpacePos.w;\x0a#else\x0agl_FragDepth=(clipSpacePos.z/clipSpacePos.w)*0.5+0.5;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_RHS\x0arealViewPos.z=-realViewPos.z;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0aglFragColor=vec4(realViewPos.z,velocityNorm,0.,1.);\x0a#else\x0aglFragColor=vec4(realViewPos.z,0.,0.,1.);\x0a#endif\x0a}\x0a','byteOffset','layout(location\x20=\x200)\x20','_frontFace','observers','clickInfo','_emitVaryingFromString','_copyInvertYRenderPassDescr','textureNames','removeTags','#define\x20SPHEREEMITTER\x0a#define\x20DIRECTEDSPHEREEMITTER','SRC_ALPHA','setStencilReadMask','precision\x20highp\x20float;uniform\x20float\x20time;uniform\x20float\x20lowFrequencySpeed;varying\x20float\x20noise;attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20mat4\x20diffuseMatrix;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a/*\x20NOISE\x20FUNCTIONS\x20*/\x0avec3\x20mod289(vec3\x20x)\x0a{return\x20x-floor(x*(1.0/289.0))*289.0;}\x0avec4\x20mod289(vec4\x20x)\x0a{return\x20x-floor(x*(1.0/289.0))*289.0;}\x0avec4\x20permute(vec4\x20x)\x0a{return\x20mod289(((x*34.0)+1.0)*x);}\x0avec4\x20taylorInvSqrt(vec4\x20r)\x0a{return\x201.79284291400159-0.85373472095314*r;}\x0avec3\x20fade(vec3\x20t)\x20{return\x20t*t*t*(t*(t*6.0-15.0)+10.0);}\x0afloat\x20pnoise(vec3\x20P,vec3\x20rep)\x0a{vec3\x20Pi0=mod(floor(P),rep);\x20\x0avec3\x20Pi1=mod(Pi0+vec3(1.0),rep);\x20\x0aPi0=mod289(Pi0);Pi1=mod289(Pi1);vec3\x20Pf0=fract(P);\x20\x0avec3\x20Pf1=Pf0-vec3(1.0);\x20\x0avec4\x20ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x);vec4\x20iy=vec4(Pi0.yy,Pi1.yy);vec4\x20iz0=Pi0.zzzz;vec4\x20iz1=Pi1.zzzz;vec4\x20ixy=permute(permute(ix)+iy);vec4\x20ixy0=permute(ixy+iz0);vec4\x20ixy1=permute(ixy+iz1);vec4\x20gx0=ixy0*(1.0/7.0);vec4\x20gy0=fract(floor(gx0)*(1.0/7.0))-0.5;gx0=fract(gx0);vec4\x20gz0=vec4(0.5)-abs(gx0)-abs(gy0);vec4\x20sz0=step(gz0,vec4(0.0));gx0-=sz0*(step(0.0,gx0)-0.5);gy0-=sz0*(step(0.0,gy0)-0.5);vec4\x20gx1=ixy1*(1.0/7.0);vec4\x20gy1=fract(floor(gx1)*(1.0/7.0))-0.5;gx1=fract(gx1);vec4\x20gz1=vec4(0.5)-abs(gx1)-abs(gy1);vec4\x20sz1=step(gz1,vec4(0.0));gx1-=sz1*(step(0.0,gx1)-0.5);gy1-=sz1*(step(0.0,gy1)-0.5);vec3\x20g000=vec3(gx0.x,gy0.x,gz0.x);vec3\x20g100=vec3(gx0.y,gy0.y,gz0.y);vec3\x20g010=vec3(gx0.z,gy0.z,gz0.z);vec3\x20g110=vec3(gx0.w,gy0.w,gz0.w);vec3\x20g001=vec3(gx1.x,gy1.x,gz1.x);vec3\x20g101=vec3(gx1.y,gy1.y,gz1.y);vec3\x20g011=vec3(gx1.z,gy1.z,gz1.z);vec3\x20g111=vec3(gx1.w,gy1.w,gz1.w);vec4\x20norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110)));g000*=norm0.x;g010*=norm0.y;g100*=norm0.z;g110*=norm0.w;vec4\x20norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111)));g001*=norm1.x;g011*=norm1.y;g101*=norm1.z;g111*=norm1.w;float\x20n000=dot(g000,Pf0);float\x20n100=dot(g100,vec3(Pf1.x,Pf0.yz));float\x20n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z));float\x20n110=dot(g110,vec3(Pf1.xy,Pf0.z));float\x20n001=dot(g001,vec3(Pf0.xy,Pf1.z));float\x20n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z));float\x20n011=dot(g011,vec3(Pf0.x,Pf1.yz));float\x20n111=dot(g111,Pf1);vec3\x20fade_xyz=fade(Pf0);vec4\x20n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z);vec2\x20n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y);float\x20n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x);return\x202.2*n_xyz;}\x0a/*\x20END\x20FUNCTION\x20*/\x0afloat\x20turbulence(\x20vec3\x20p\x20)\x20{float\x20w=100.0;float\x20t=-.5;for\x20(float\x20f=1.0\x20;\x20f<=10.0\x20;\x20f++\x20){float\x20power=pow(\x202.0,f\x20);t+=abs(\x20pnoise(\x20vec3(\x20power*p\x20),vec3(\x2010.0,10.0,10.0\x20)\x20)/power\x20);}\x0areturn\x20t;}\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0a#ifdef\x20NORMAL\x0anoise=10.0*\x20-.10*turbulence(\x20.5*normal+time*1.15\x20);float\x20b=lowFrequencySpeed*5.0*pnoise(\x200.05*position\x20+vec3(time*1.025),vec3(\x20100.0\x20)\x20);float\x20displacement=-\x201.5*noise+b;vec3\x20newPosition=position+normal*displacement;gl_Position=viewProjection*finalWorld*vec4(\x20newPosition,1.0\x20);vec4\x20worldPos=finalWorld*vec4(newPosition,1.0);vPositionW=vec3(worldPos);vNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','cull','linePixelShader','KEYDOWN','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20int\x20filterSize;\x0auniform\x20vec2\x20blurDir;\x0avarying\x20vec2\x20vUV;\x0avoid\x20main(void)\x20{\x0avec4\x20s=textureLod(textureSampler,vUV,0.);\x0aif\x20(s.r==0.)\x20{\x0aglFragColor=vec4(0.,0.,0.,1.);\x0areturn;\x0a}\x0afloat\x20sigma=float(filterSize)/3.0;\x0afloat\x20twoSigma2=2.0*sigma*sigma;\x0avec4\x20sum=vec4(0.);\x0afloat\x20wsum=0.;\x0afor\x20(int\x20x=-filterSize;\x20x<=filterSize;\x20++x)\x20{\x0avec2\x20coords=vec2(x);\x0avec4\x20sampl=textureLod(textureSampler,vUV+coords*blurDir,0.);\x0afloat\x20w=exp(-coords.x*coords.x/twoSigma2);\x0asum+=sampl*w;\x0awsum+=w;\x0a}\x0asum/=wsum;\x0aglFragColor=vec4(sum.rgb,1.);\x0a}\x0a','_releaseComputeEffect','precision\x20mediump\x20sampler2DArray;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2DArray\x20multiviewSampler;\x0auniform\x20int\x20imageIndex;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(multiviewSampler,vec3(vUV,imageIndex));\x0a}','blendEquationSeparate','loop','updateDynamicTexture','filterRadii','volumetricLightScatteringPixelShader','Unknown','_processPointerUp','enableEffect','createRawCubeTextureFromUrl','diffuseTexture','byteLength','leftOperand','pbrBlockAlphaFresnel','GetNumChannelsFromWebGPUTextureFormat','geometryVertexDeclaration','ShadersStoreWGSL','onAfterPhysicsObservable','setInt2','#ifdef\x20DEPTHPREPASS\x0agl_FragColor=vec4(0.,0.,0.,1.0);\x0areturn;\x0a#endif\x0a','_addSamplerBindingDescription','color','ASTC6x6UnormSRGB','TEXTURETYPE_UNSIGNED_INTEGER','removeIfDef','ssao2PixelShader','prePassVertexDeclaration','computeDispatch:\x20The\x20texture\x20(name=','addFallback','setEnabled','_createRenderBuffer','physicsImpostor','createRawTexture2DArray','_tintWASM','_funcRef','uniform\x20samplerCube\x20','_pointerOverMesh','isMultiview','_blurPostProcesses','precision\x20highp\x20float;uniform\x20vec4\x20vEyePosition;uniform\x20vec4\x20vDiffuseColor;uniform\x20vec4\x20furColor;uniform\x20float\x20furLength;varying\x20vec3\x20vPositionW;varying\x20float\x20vfur_length;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20sampler2D\x20diffuseSampler;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20HIGHLEVEL\x0auniform\x20float\x20furOffset;uniform\x20float\x20furOcclusion;uniform\x20sampler2D\x20furTexture;varying\x20vec2\x20vFurUV;\x0a#endif\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<fogFragmentDeclaration>\x0a#include<clipPlaneFragmentDeclaration>\x0afloat\x20Rand(vec3\x20rv)\x20{float\x20x=dot(rv,vec3(12.9898,78.233,24.65487));return\x20fract(sin(x)*43758.5453);}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4\x20baseColor=furColor;vec3\x20diffuseColor=vDiffuseColor.rgb;float\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor*=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20HIGHLEVEL\x0avec4\x20furTextureColor=texture2D(furTexture,vec2(vFurUV.x,vFurUV.y));if\x20(furTextureColor.a<=0.0\x20||\x20furTextureColor.g<furOffset)\x20{discard;}\x0afloat\x20occlusion=mix(0.0,furTextureColor.b*1.2,furOffset);baseColor=vec4(baseColor.xyz*max(occlusion,furOcclusion),1.1-furOffset);\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);lightingInfo\x20info;float\x20shadow=1.;float\x20glossiness=0.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase.rgb*baseColor.rgb,0.0,1.0);\x0a#ifdef\x20HIGHLEVEL\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#else\x0afloat\x20r=vfur_length/furLength*0.5;vec4\x20color=vec4(finalDiffuse*(0.5+r),alpha);\x0a#endif\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','Serialize','FluidRenderingRTTBlur-','getUniform','_toIndex','onBeforeCameraRenderObservable','_addBufferBindingDescription','endOcclusionQuery','\x20premultiplyAlpha=','_finalizeFrame','loopAnimation','_injectStartingAndEndingCode','createRawTexture','_tempVector','invertY','dispose','SNAPSHOTRENDERING_FAST','defines','previous','vertexArrayObject','isExternalTexture','#ifdef\x20CLIPPLANE\x0avertexOutputs.fClipDistance=dot(worldPos,uniforms.vClipPlane);\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0avertexOutputs.fClipDistance2=dot(worldPos,uniforms.vClipPlane2);\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0avertexOutputs.fClipDistance3=dot(worldPos,uniforms.vClipPlane3);\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0avertexOutputs.fClipDistance4=dot(worldPos,uniforms.vClipPlane4);\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0avertexOutputs.fClipDistance5=dot(worldPos,uniforms.vClipPlane5);\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0avertexOutputs.fClipDistance6=dot(worldPos,uniforms.vClipPlane6);\x0a#endif\x0a','_excludeVariableName','_bundleCache','_pointerY','colorAttachmentGPUTextures','RenderAttachment','clearQuad','instancesDeclaration','s3tc','createTexture','textureMode','_device','createIndexBuffer','getUniforms','isPresenting','setArray4','varyingFragmentKeywordName','CreateNew','_bindGroups','\x20from\x20block\x20','Half\x20float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.','pbrDirectLightingFunctions','_processSamplers','Filtering','restoreDefaultInputTexture','uniform\x20','_doNotHandleContextLost',');\x0d\x0a','#ifdef\x20DOF\x0afactor=sampleCoC(sampleCenter+delta*KERNEL_DEP_OFFSET{X});\x0acomputedWeight=KERNEL_DEP_WEIGHT{X}*factor;\x0asumOfWeights+=computedWeight;\x0a#else\x0acomputedWeight=KERNEL_DEP_WEIGHT{X};\x0a#endif\x0a#ifdef\x20PACKEDFLOAT\x0ablend+=unpack(texture2D(textureSampler,sampleCenter+delta*KERNEL_DEP_OFFSET{X}))*computedWeight;\x0a#else\x0ablend+=texture2D(textureSampler,sampleCenter+delta*KERNEL_DEP_OFFSET{X})*computedWeight;\x0a#endif\x0a','#include<sceneUboDeclaration>\x0a','setVector4','_indexBuffer','uv2','#ifdef\x20ALPHAFRESNEL\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(ALPHABLEND)\x0astruct\x20alphaFresnelOutParams\x0a{\x0afloat\x20alpha;\x0a};\x0a#define\x20pbr_inline\x0avoid\x20alphaFresnelBlock(\x0ain\x20vec3\x20normalW,\x0ain\x20vec3\x20viewDirectionW,\x0ain\x20float\x20alpha,\x0ain\x20float\x20microSurface,\x0aout\x20alphaFresnelOutParams\x20outParams\x0a)\x0a{\x0afloat\x20opacityPerceptual=alpha;\x0a#ifdef\x20LINEARALPHAFRESNEL\x0afloat\x20opacity0=opacityPerceptual;\x0a#else\x0afloat\x20opacity0=opacityPerceptual*opacityPerceptual;\x0a#endif\x0afloat\x20opacity90=fresnelGrazingReflectance(opacity0);\x0avec3\x20normalForward=faceforward(normalW,-viewDirectionW,normalW);\x0aoutParams.alpha=getReflectanceFromAnalyticalBRDFLookup_Jones(saturate(dot(viewDirectionW,normalForward)),vec3(opacity0),vec3(opacity90),sqrt(microSurface)).x;\x0a#ifdef\x20ALPHATEST\x0aif\x20(outParams.alpha<ALPHATESTVALUE)\x0adiscard;\x0a#ifndef\x20ALPHABLEND\x0aoutParams.alpha=1.0;\x0a#endif\x0a#endif\x0a}\x0a#endif\x0a#endif\x0a','\x20=\x20computeMirroredFixedEquirectangularCoords(','uniformRegexp','HALF_FLOAT','materialContext','isValid','offset','premultiplyAlpha','_useVAO','shift','isRightCamera','vrDistortionCorrectionPixelShader','ASTC8x5Unorm','ASTC12x12Unorm','UNSIGNED_INT_24_8','vec','ALPHA_EXCLUSION','createCubeTextureBase','getAttributes','#ifdef','BC1RGBAUnorm','\x20\x20fragmentInputs\x20=\x20input;\x0a\x20\x20','normalPixelShader','#ifdef\x20CLIPPLANE\x0ain\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0ain\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0ain\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0ain\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0ain\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0ain\x20float\x20fClipDistance6;\x0a#endif\x0a','updateVector3','framebufferTextureMultisampleMultiviewOVR','2248140RCCBZe','_mainPassBundleList','#include<helperFunctions>\x0a#include<importanceSampling>\x0a#include<pbrBRDFFunctions>\x0a#include<hdrFilteringFunctions>\x0auniform\x20float\x20alphaG;\x0auniform\x20samplerCube\x20inputTexture;\x0auniform\x20vec2\x20vFilteringInfo;\x0auniform\x20float\x20hdrScale;\x0avarying\x20vec3\x20direction;\x0avoid\x20main()\x20{\x0avec3\x20color=radiance(alphaG,inputTexture,direction,vFilteringInfo);\x0agl_FragColor=vec4(color*hdrScale,1.0);\x0a}','depthCullingState','MouseWheelZ','setAlphaEquationParameters','#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avColor=vec4(1.0);\x0a#ifdef\x20VERTEXCOLOR\x0a#ifdef\x20VERTEXALPHA\x0avColor*=color;\x0a#else\x0avColor.rgb*=color.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20INSTANCESCOLOR\x0avColor*=instanceColor;\x0a#endif\x0a#endif\x0a','E2d',')\x20||\x20defined(','astc','depthPixelShader','mag','_blurTextureType','\x20=\x20computeSkyBoxCoords(','DEPTH_ATTACHMENT','MultiRenderTarget','refreshBoundingInfo','_valueCache','_direction','depthTextureExtension','CubeRaw','_camera','runCoroutineAsync','hasPickTriggers','_delay','getPointerOverMesh','updateRawTexture3D','lightFragment','createCubeTexture','TEXTUREFORMAT_RED','_updateMultiviewUbo','#define\x20RECIPROCAL_PI2\x200.15915494\x0a#define\x20RECIPROCAL_PI\x200.31830988618\x0a#define\x20MINIMUMVARIANCE\x200.0005\x0afloat\x20convertRoughnessToAverageSlope(float\x20roughness)\x0a{\x0areturn\x20square(roughness)+MINIMUMVARIANCE;\x0a}\x0afloat\x20fresnelGrazingReflectance(float\x20reflectance0)\x20{\x0afloat\x20reflectance90=saturate(reflectance0*25.0);\x0areturn\x20reflectance90;\x0a}\x0avec2\x20getAARoughnessFactors(vec3\x20normalVector)\x20{\x0a#ifdef\x20SPECULARAA\x0avec3\x20nDfdx=dFdx(normalVector.xyz);\x0avec3\x20nDfdy=dFdy(normalVector.xyz);\x0afloat\x20slopeSquare=max(dot(nDfdx,nDfdx),dot(nDfdy,nDfdy));\x0afloat\x20geometricRoughnessFactor=pow(saturate(slopeSquare),0.333);\x0afloat\x20geometricAlphaGFactor=sqrt(slopeSquare);\x0ageometricAlphaGFactor*=0.75;\x0areturn\x20vec2(geometricRoughnessFactor,geometricAlphaGFactor);\x0a#else\x0areturn\x20vec2(0.);\x0a#endif\x0a}\x0a#ifdef\x20ANISOTROPIC\x0avec2\x20getAnisotropicRoughness(float\x20alphaG,float\x20anisotropy)\x20{\x0afloat\x20alphaT=max(alphaG*(1.0+anisotropy),MINIMUMVARIANCE);\x0afloat\x20alphaB=max(alphaG*(1.0-anisotropy),MINIMUMVARIANCE);\x0areturn\x20vec2(alphaT,alphaB);\x0a}\x0avec3\x20getAnisotropicBentNormals(const\x20vec3\x20T,const\x20vec3\x20B,const\x20vec3\x20N,const\x20vec3\x20V,float\x20anisotropy)\x20{\x0avec3\x20anisotropicFrameDirection=anisotropy>=0.0\x20?\x20B\x20:\x20T;\x0avec3\x20anisotropicFrameTangent=cross(normalize(anisotropicFrameDirection),V);\x0avec3\x20anisotropicFrameNormal=cross(anisotropicFrameTangent,anisotropicFrameDirection);\x0avec3\x20anisotropicNormal=normalize(mix(N,anisotropicFrameNormal,abs(anisotropy)));\x0areturn\x20anisotropicNormal;\x0a}\x0a#endif\x0a#if\x20defined(CLEARCOAT)\x20||\x20defined(SS_REFRACTION)\x0avec3\x20cocaLambert(vec3\x20alpha,float\x20distance)\x20{\x0areturn\x20exp(-alpha*distance);\x0a}\x0avec3\x20cocaLambert(float\x20NdotVRefract,float\x20NdotLRefract,vec3\x20alpha,float\x20thickness)\x20{\x0areturn\x20cocaLambert(alpha,(thickness*((NdotLRefract+NdotVRefract)/(NdotLRefract*NdotVRefract))));\x0a}\x0avec3\x20computeColorAtDistanceInMedia(vec3\x20color,float\x20distance)\x20{\x0areturn\x20-log(color)/distance;\x0a}\x0avec3\x20computeClearCoatAbsorption(float\x20NdotVRefract,float\x20NdotLRefract,vec3\x20clearCoatColor,float\x20clearCoatThickness,float\x20clearCoatIntensity)\x20{\x0avec3\x20clearCoatAbsorption=mix(vec3(1.0),\x0acocaLambert(NdotVRefract,NdotLRefract,clearCoatColor,clearCoatThickness),\x0aclearCoatIntensity);\x0areturn\x20clearCoatAbsorption;\x0a}\x0a#endif\x0a#ifdef\x20MICROSURFACEAUTOMATIC\x0afloat\x20computeDefaultMicroSurface(float\x20microSurface,vec3\x20reflectivityColor)\x0a{\x0aconst\x20float\x20kReflectivityNoAlphaWorkflow_SmoothnessMax=0.95;\x0afloat\x20reflectivityLuminance=getLuminance(reflectivityColor);\x0afloat\x20reflectivityLuma=sqrt(reflectivityLuminance);\x0amicroSurface=reflectivityLuma*kReflectivityNoAlphaWorkflow_SmoothnessMax;\x0areturn\x20microSurface;\x0a}\x0a#endif\x0a','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0avec3\x20computeCustomDiffuseLighting(lightingInfo\x20info,vec3\x20diffuseBase,float\x20shadow)\x0a{\x0adiffuseBase=info.diffuse*shadow;\x0a#ifdef\x20CELLBASIC\x0afloat\x20level=1.0;\x0aif\x20(info.ndl<0.5)\x0alevel=0.5;\x0adiffuseBase.rgb*vec3(level,level,level);\x0a#else\x0afloat\x20ToonThresholds[4];\x0aToonThresholds[0]=0.95;\x0aToonThresholds[1]=0.5;\x0aToonThresholds[2]=0.2;\x0aToonThresholds[3]=0.03;\x0afloat\x20ToonBrightnessLevels[5];\x0aToonBrightnessLevels[0]=1.0;\x0aToonBrightnessLevels[1]=0.8;\x0aToonBrightnessLevels[2]=0.6;\x0aToonBrightnessLevels[3]=0.35;\x0aToonBrightnessLevels[4]=0.2;\x0aif\x20(info.ndl>ToonThresholds[0])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[0];\x0a}\x0aelse\x20if\x20(info.ndl>ToonThresholds[1])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[1];\x0a}\x0aelse\x20if\x20(info.ndl>ToonThresholds[2])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[2];\x0a}\x0aelse\x20if\x20(info.ndl>ToonThresholds[3])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[3];\x0a}\x0aelse\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[4];\x0a}\x0a#endif\x0areturn\x20max(diffuseBase,vec3(0.2));\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0alightingInfo\x20info;\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x20\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','RGBA','Invalid\x20multiview\x20frame\x20buffer','//\x20Internals\x20UBO','depthValue','_caps','TEXTURETYPE_UNSIGNED_INT_24_8','Mouse','_definePlanarName','pbrBlockReflectance','observer','dbgShowShaderCode','furPixelShader','_prepareFrame','hdrFilteringPixelShader','line','_currentBundleList','_isPointerSwiping','vec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=normalize(cross(dFdx(vPositionW),dFdy(vPositionW)))*vEyePosition.w;\x0a#endif\x0avec3\x20geometricNormalW=normalW;\x0a#if\x20defined(TWOSIDEDLIGHTING)\x20&&\x20defined(NORMAL)\x0ageometricNormalW=gl_FrontFacing\x20?\x20geometricNormalW\x20:\x20-geometricNormalW;\x0a#endif\x0a','thinInstanceRefreshBoundingInfo','_capacity','INTENSITYMODE_ILLUMINANCE','TEXTURE_SPHERICAL_MODE','_commandEncoderForCreation','BC1RGBAUnormSRGB','_needUVs','float\x20reflectance=max(max(reflectivityOut.surfaceReflectivityColor.r,reflectivityOut.surfaceReflectivityColor.g),reflectivityOut.surfaceReflectivityColor.b);\x0avec3\x20specularEnvironmentR0=reflectivityOut.surfaceReflectivityColor.rgb;\x0a#ifdef\x20METALLICWORKFLOW\x0avec3\x20specularEnvironmentR90=vec3(metallicReflectanceFactors.a);\x0a#else\x20\x0avec3\x20specularEnvironmentR90=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20ALPHAFRESNEL\x0afloat\x20reflectance90=fresnelGrazingReflectance(reflectance);\x0aspecularEnvironmentR90=specularEnvironmentR90*reflectance90;\x0a#endif\x0a','Sampler','UNSIGNED_SHORT','\x20=\x20computeProjectionCoords(','#ifdef\x20FOG\x0afloat\x20fog=CalcFogFactor();\x0a#ifdef\x20PBR\x0afog=toLinearSpace(fog);\x0a#endif\x0acolor.rgb=mix(vFogColor,color.rgb,fog);\x0a#endif\x0a','DepthOnly','DEPTH24_STENCIL8','systemValue','_compiledComputeEffects','_sampleBurleyDiffusionProfile','_createCompositionEffect','_requestVRFrame','spritesVertexShader','_generateMipmaps','pbrBlockNormalFinal','pow','-etc2.ktx','_mainRenderPassWrapper','generateMipMaps','TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT3','_lastUpdateFrameId','#version\x203','timeoutId','Depth24PlusStencil8','getIndex','\x20=\x20computeCubicCoords(','_delayedSimpleClick','enableBlur','pbrPixelShader','BC3RGBAUnormSRGB',')\x20@binding(','#ifdef\x20LIGHT{X}\x0a#if\x20defined(SHADOWONLY)\x20||\x20defined(LIGHTMAP)\x20&&\x20defined(LIGHTMAPEXCLUDED{X})\x20&&\x20defined(LIGHTMAPNOSPECULAR{X})\x0a#else\x0a#ifdef\x20PBR\x0a#ifdef\x20SPOTLIGHT{X}\x0apreInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#elif\x20defined(POINTLIGHT{X})\x0apreInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#elif\x20defined(HEMILIGHT{X})\x0apreInfo=computeHemisphericPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#elif\x20defined(DIRLIGHT{X})\x0apreInfo=computeDirectionalPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#endif\x0apreInfo.NdotV=NdotV;\x0a#ifdef\x20SPOTLIGHT{X}\x0a#ifdef\x20LIGHT_FALLOFF_GLTF{X}\x0apreInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);\x0apreInfo.attenuation*=computeDirectionalLightFalloff_GLTF(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);\x0a#elif\x20defined(LIGHT_FALLOFF_PHYSICAL{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);\x0apreInfo.attenuation*=computeDirectionalLightFalloff_Physical(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w);\x0a#elif\x20defined(LIGHT_FALLOFF_STANDARD{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);\x0apreInfo.attenuation*=computeDirectionalLightFalloff_Standard(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w);\x0a#else\x0apreInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);\x0apreInfo.attenuation*=computeDirectionalLightFalloff(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);\x0a#endif\x0a#elif\x20defined(POINTLIGHT{X})\x0a#ifdef\x20LIGHT_FALLOFF_GLTF{X}\x0apreInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);\x0a#elif\x20defined(LIGHT_FALLOFF_PHYSICAL{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);\x0a#elif\x20defined(LIGHT_FALLOFF_STANDARD{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);\x0a#else\x0apreInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);\x0a#endif\x0a#else\x0apreInfo.attenuation=1.0;\x0a#endif\x0a#ifdef\x20HEMILIGHT{X}\x0apreInfo.roughness=roughness;\x0a#else\x0apreInfo.roughness=adjustRoughnessFromLightProperties(roughness,light{X}.vLightSpecular.a,preInfo.lightDistance);\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0apreInfo.iridescenceIntensity=iridescenceIntensity;\x0a#endif\x0a#ifdef\x20HEMILIGHT{X}\x0ainfo.diffuse=computeHemisphericDiffuseLighting(preInfo,light{X}.vLightDiffuse.rgb,light{X}.vLightGround);\x0a#elif\x20defined(SS_TRANSLUCENCY)\x0ainfo.diffuse=computeDiffuseAndTransmittedLighting(preInfo,light{X}.vLightDiffuse.rgb,subSurfaceOut.transmittance);\x0a#else\x0ainfo.diffuse=computeDiffuseLighting(preInfo,light{X}.vLightDiffuse.rgb);\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0a#ifdef\x20ANISOTROPIC\x0ainfo.specular=computeAnisotropicSpecularLighting(preInfo,viewDirectionW,normalW,anisotropicOut.anisotropicTangent,anisotropicOut.anisotropicBitangent,anisotropicOut.anisotropy,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,light{X}.vLightDiffuse.rgb);\x0a#else\x0ainfo.specular=computeSpecularLighting(preInfo,normalW,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,light{X}.vLightDiffuse.rgb);\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0apreInfo.roughness=sheenOut.sheenIntensity;\x0a#else\x0a#ifdef\x20HEMILIGHT{X}\x0apreInfo.roughness=sheenOut.sheenRoughness;\x0a#else\x0apreInfo.roughness=adjustRoughnessFromLightProperties(sheenOut.sheenRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);\x0a#endif\x0a#endif\x0ainfo.sheen=computeSheenLighting(preInfo,normalW,sheenOut.sheenColor,specularEnvironmentR90,AARoughnessFactors.x,light{X}.vLightDiffuse.rgb);\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#ifdef\x20HEMILIGHT{X}\x0apreInfo.roughness=clearcoatOut.clearCoatRoughness;\x0a#else\x0apreInfo.roughness=adjustRoughnessFromLightProperties(clearcoatOut.clearCoatRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);\x0a#endif\x0ainfo.clearCoat=computeClearCoatLighting(preInfo,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatAARoughnessFactors.x,clearcoatOut.clearCoatIntensity,light{X}.vLightDiffuse.rgb);\x0a#ifdef\x20CLEARCOAT_TINT\x0aabsorption=computeClearCoatLightingAbsorption(clearcoatOut.clearCoatNdotVRefract,preInfo.L,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatColor,clearcoatOut.clearCoatThickness,clearcoatOut.clearCoatIntensity);\x0ainfo.diffuse*=absorption;\x0a#ifdef\x20SPECULARTERM\x0ainfo.specular*=absorption;\x0a#endif\x0a#endif\x0ainfo.diffuse*=info.clearCoat.w;\x0a#ifdef\x20SPECULARTERM\x0ainfo.specular*=info.clearCoat.w;\x0a#endif\x0a#ifdef\x20SHEEN\x0ainfo.sheen*=info.clearCoat.w;\x0a#endif\x0a#endif\x0a#else\x0a#ifdef\x20SPOTLIGHT{X}\x0ainfo=computeSpotLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDirection,light{X}.vLightDiffuse.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightDiffuse.a,glossiness);\x0a#elif\x20defined(HEMILIGHT{X})\x0ainfo=computeHemisphericLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDiffuse.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightGround,glossiness);\x0a#elif\x20defined(POINTLIGHT{X})\x20||\x20defined(DIRLIGHT{X})\x0ainfo=computeLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDiffuse.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightDiffuse.a,glossiness);\x0a#endif\x0a#endif\x0a#ifdef\x20PROJECTEDLIGHTTEXTURE{X}\x0ainfo.diffuse*=computeProjectionTextureDiffuseLighting(projectionLightSampler{X},textureProjectionMatrix{X});\x0a#endif\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0afor\x20(int\x20i=0;\x20i<SHADOWCSMNUM_CASCADES{X};\x20i++)\x20\x0a{\x0a#ifdef\x20SHADOWCSM_RIGHTHANDED{X}\x0adiff{X}=viewFrustumZ{X}[i]+vPositionFromCamera{X}.z;\x0a#else\x0adiff{X}=viewFrustumZ{X}[i]-vPositionFromCamera{X}.z;\x0a#endif\x0aif\x20(diff{X}>=0.)\x20{\x0aindex{X}=i;\x0abreak;\x0a}\x0a}\x0a#ifdef\x20SHADOWCSMUSESHADOWMAXZ{X}\x0aif\x20(index{X}>=0)\x0a#endif\x0a{\x0a#if\x20defined(SHADOWPCF{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithCSMPCF1(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithCSMPCF3(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0ashadow=computeShadowWithCSMPCF5(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCSS{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithCSMPCSS16(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithCSMPCSS32(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#else\x0ashadow=computeShadowWithCSMPCSS64(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#endif\x0a#else\x0ashadow=computeShadowCSM(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0ashadowDebug{X}=vec3(shadow)*vCascadeColorsMultiplier{X}[index{X}];\x0a#endif\x0a#ifndef\x20SHADOWCSMNOBLEND{X}\x0afloat\x20frustumLength=frustumLengths{X}[index{X}];\x0afloat\x20diffRatio=clamp(diff{X}/frustumLength,0.,1.)*cascadeBlendFactor{X};\x0aif\x20(index{X}<(SHADOWCSMNUM_CASCADES{X}-1)\x20&&\x20diffRatio<1.)\x0a{\x0aindex{X}+=1;\x0afloat\x20nextShadow=0.;\x0a#if\x20defined(SHADOWPCF{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0anextShadow=computeShadowWithCSMPCF1(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0anextShadow=computeShadowWithCSMPCF3(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0anextShadow=computeShadowWithCSMPCF5(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCSS{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0anextShadow=computeShadowWithCSMPCSS16(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0anextShadow=computeShadowWithCSMPCSS32(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#else\x0anextShadow=computeShadowWithCSMPCSS64(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#endif\x0a#else\x0anextShadow=computeShadowCSM(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0ashadow=mix(nextShadow,shadow,diffRatio);\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0ashadowDebug{X}=mix(vec3(nextShadow)*vCascadeColorsMultiplier{X}[index{X}],shadowDebug{X},diffRatio);\x0a#endif\x0a}\x0a#endif\x0a}\x0a#elif\x20defined(SHADOWCLOSEESM{X})\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowWithCloseESMCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);\x0a#else\x0ashadow=computeShadowWithCloseESM(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWESM{X})\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowWithESMCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);\x0a#else\x0ashadow=computeShadowWithESM(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPOISSON{X})\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowWithPoissonSamplingCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.depthValues);\x0a#else\x0ashadow=computeShadowWithPoissonSampling(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCF{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithPCF1(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithPCF3(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0ashadow=computeShadowWithPCF5(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCSS{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithPCSS16(vPositionFromLight{X},vDepthMetric{X},depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithPCSS32(vPositionFromLight{X},vDepthMetric{X},depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0ashadow=computeShadowWithPCSS64(vPositionFromLight{X},vDepthMetric{X},depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#else\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.x,light{X}.depthValues);\x0a#else\x0ashadow=computeShadow(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#endif\x0a#ifdef\x20SHADOWONLY\x0a#ifndef\x20SHADOWINUSE\x0a#define\x20SHADOWINUSE\x0a#endif\x0aglobalShadow+=shadow;\x0ashadowLightCount+=1.0;\x0a#endif\x0a#else\x0ashadow=1.;\x0a#endif\x0a#ifndef\x20SHADOWONLY\x0a#ifdef\x20CUSTOMUSERLIGHTING\x0adiffuseBase+=computeCustomDiffuseLighting(info,diffuseBase,shadow);\x0a#ifdef\x20SPECULARTERM\x0aspecularBase+=computeCustomSpecularLighting(info,specularBase,shadow);\x0a#endif\x0a#elif\x20defined(LIGHTMAP)\x20&&\x20defined(LIGHTMAPEXCLUDED{X})\x0adiffuseBase+=lightmapColor.rgb*shadow;\x0a#ifdef\x20SPECULARTERM\x0a#ifndef\x20LIGHTMAPNOSPECULAR{X}\x0aspecularBase+=info.specular*shadow*lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#ifndef\x20LIGHTMAPNOSPECULAR{X}\x0aclearCoatBase+=info.clearCoat.rgb*shadow*lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0a#ifndef\x20LIGHTMAPNOSPECULAR{X}\x0asheenBase+=info.sheen.rgb*shadow;\x0a#endif\x0a#endif\x0a#else\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0adiffuseBase+=info.diffuse*shadowDebug{X};\x0a#else\x20\x0adiffuseBase+=info.diffuse*shadow;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0aspecularBase+=info.specular*shadow;\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aclearCoatBase+=info.clearCoat.rgb*shadow;\x0a#endif\x0a#ifdef\x20SHEEN\x0asheenBase+=info.sheen.rgb*shadow;\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a','[0..','uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20float\x20chromatic_aberration;\x0auniform\x20float\x20radialIntensity;\x0auniform\x20vec2\x20direction;\x0auniform\x20vec2\x20centerPosition;\x0auniform\x20float\x20screen_width;\x0auniform\x20float\x20screen_height;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20centered_screen_pos=vec2(vUV.x-centerPosition.x,vUV.y-centerPosition.y);\x0avec2\x20directionOfEffect=direction;\x0aif(directionOfEffect.x==0.\x20&&\x20directionOfEffect.y==0.){\x0adirectionOfEffect=normalize(centered_screen_pos);\x0a}\x0afloat\x20radius2=centered_screen_pos.x*centered_screen_pos.x\x0a+\x20centered_screen_pos.y*centered_screen_pos.y;\x0afloat\x20radius=sqrt(radius2);\x0avec4\x20original=texture2D(textureSampler,vUV);\x0avec3\x20ref_indices=vec3(-0.3,0.0,0.3);\x0afloat\x20ref_shiftX=chromatic_aberration*pow(radius,radialIntensity)*directionOfEffect.x/screen_width;\x0afloat\x20ref_shiftY=chromatic_aberration*pow(radius,radialIntensity)*directionOfEffect.y/screen_height;\x0avec2\x20ref_coords_r=vec2(vUV.x+ref_indices.r*ref_shiftX,vUV.y+ref_indices.r*ref_shiftY*0.5);\x0avec2\x20ref_coords_g=vec2(vUV.x+ref_indices.g*ref_shiftX,vUV.y+ref_indices.g*ref_shiftY*0.5);\x0avec2\x20ref_coords_b=vec2(vUV.x+ref_indices.b*ref_shiftX,vUV.y+ref_indices.b*ref_shiftY*0.5);\x0aoriginal.r=texture2D(textureSampler,ref_coords_r).r;\x0aoriginal.g=texture2D(textureSampler,ref_coords_g).g;\x0aoriginal.b=texture2D(textureSampler,ref_coords_b).b;\x0aoriginal.a=clamp(texture2D(textureSampler,ref_coords_r).a+texture2D(textureSampler,ref_coords_g).a+texture2D(textureSampler,ref_coords_b).a,0.,1.);\x0agl_FragColor=original;\x0a}','join','textureAdditionalUsages','length','emitter','preProcessShaderCode','Parse','createImageBitmap','prePassRenderer','_MSAARenderBuffers','exitPresent','_physicsTimeAccumulator','PREPASS_REFLECTIVITY_TEXTURE_TYPE','arrayBufferBlockMaxByteLength','updateMatrix2x2','_cacheRenderPipeline','24wjLMpl','_reportDrawCall','TEXTUREFORMAT_DEPTH32_FLOAT','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#if\x20defined(INITIAL)\x0auniform\x20sampler2D\x20sourceTexture;\x0auniform\x20vec2\x20texSize;\x0avoid\x20main(void)\x0a{\x0aivec2\x20coord=ivec2(vUV*(texSize-1.0));\x0afloat\x20f1=texelFetch(sourceTexture,coord,0).r;\x0afloat\x20f2=texelFetch(sourceTexture,coord+ivec2(1,0),0).r;\x0afloat\x20f3=texelFetch(sourceTexture,coord+ivec2(1,1),0).r;\x0afloat\x20f4=texelFetch(sourceTexture,coord+ivec2(0,1),0).r;\x0afloat\x20minz=min(min(min(f1,f2),f3),f4);\x0a#ifdef\x20DEPTH_REDUX\x0afloat\x20maxz=max(max(max(sign(1.0-f1)*f1,sign(1.0-f2)*f2),sign(1.0-f3)*f3),sign(1.0-f4)*f4);\x0a#else\x0afloat\x20maxz=max(max(max(f1,f2),f3),f4);\x0a#endif\x0aglFragColor=vec4(minz,maxz,0.,0.);\x0a}\x0a#elif\x20defined(MAIN)\x0auniform\x20vec2\x20texSize;\x0avoid\x20main(void)\x0a{\x0aivec2\x20coord=ivec2(vUV*(texSize-1.0));\x0avec2\x20f1=texelFetch(textureSampler,coord,0).rg;\x0avec2\x20f2=texelFetch(textureSampler,coord+ivec2(1,0),0).rg;\x0avec2\x20f3=texelFetch(textureSampler,coord+ivec2(1,1),0).rg;\x0avec2\x20f4=texelFetch(textureSampler,coord+ivec2(0,1),0).rg;\x0afloat\x20minz=min(min(min(f1.x,f2.x),f3.x),f4.x);\x0afloat\x20maxz=max(max(max(f1.y,f2.y),f3.y),f4.y);\x0aglFragColor=vec4(minz,maxz,0.,0.);\x0a}\x0a#elif\x20defined(ONEBEFORELAST)\x0auniform\x20ivec2\x20texSize;\x0avoid\x20main(void)\x0a{\x0aivec2\x20coord=ivec2(vUV*vec2(texSize-1));\x0avec2\x20f1=texelFetch(textureSampler,coord\x20%\x20texSize,0).rg;\x0avec2\x20f2=texelFetch(textureSampler,(coord+ivec2(1,0))\x20%\x20texSize,0).rg;\x0avec2\x20f3=texelFetch(textureSampler,(coord+ivec2(1,1))\x20%\x20texSize,0).rg;\x0avec2\x20f4=texelFetch(textureSampler,(coord+ivec2(0,1))\x20%\x20texSize,0).rg;\x0afloat\x20minz=min(f1.x,f2.x);\x0afloat\x20maxz=max(f1.y,f2.y);\x0aglFragColor=vec4(minz,maxz,0.,0.);\x0a}\x0a#elif\x20defined(LAST)\x0avoid\x20main(void)\x0a{\x0aglFragColor=vec4(0.);\x0aif\x20(true)\x20{\x20\x0adiscard;\x0a}\x0a}\x0a#endif\x0a','hoverCursor','AddParser','_arePrePassDirty','_gl','uniform\x20mat4\x20viewProjection;\x0auniform\x20mat4\x20view;','_addNewAttachObserver','postprocess','highRefreshRate','uniform\x20vec3\x20diffusionS[5];\x0auniform\x20float\x20diffusionD[5];\x0auniform\x20float\x20filterRadii[5];','#include<clipPlaneFragmentDeclaration>\x0auniform\x20vec4\x20color;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','opStencilDepthPass','precision\x20highp\x20float;uniform\x20vec4\x20vEyePosition;varying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20sampler2D\x20diffuseSampler;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0auniform\x20sampler2D\x20distortionSampler;uniform\x20sampler2D\x20opacitySampler;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDistortionCoords1;varying\x20vec2\x20vDistortionCoords2;varying\x20vec2\x20vDistortionCoords3;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0avec4\x20bx2(vec4\x20x)\x0a{return\x20vec4(2.0)*x-vec4(1.0);}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4\x20baseColor=vec4(1.,1.,1.,1.);float\x20alpha=1.0;\x0a#ifdef\x20DIFFUSE\x0aconst\x20float\x20distortionAmount0\x20=0.092;const\x20float\x20distortionAmount1\x20=0.092;const\x20float\x20distortionAmount2\x20=0.092;vec2\x20heightAttenuation=vec2(0.3,0.39);vec4\x20noise0=texture2D(distortionSampler,vDistortionCoords1);vec4\x20noise1=texture2D(distortionSampler,vDistortionCoords2);vec4\x20noise2=texture2D(distortionSampler,vDistortionCoords3);vec4\x20noiseSum=bx2(noise0)*distortionAmount0+bx2(noise1)*distortionAmount1+bx2(noise2)*distortionAmount2;vec4\x20perturbedBaseCoords=vec4(vDiffuseUV,0.0,1.0)+noiseSum*(vDiffuseUV.y*heightAttenuation.x+heightAttenuation.y);vec4\x20opacityColor=texture2D(opacitySampler,perturbedBaseCoords.xy);\x0a#ifdef\x20ALPHATEST\x0aif\x20(opacityColor.r<0.1)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor=texture2D(diffuseSampler,perturbedBaseCoords.xy)*2.0;baseColor*=opacityColor;baseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(1.0,1.0,1.0);\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec4\x20color=vec4(baseColor.rgb,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','mode','RGBA8Sint','disableDepthWrite','Eval','run','focus','#ifdef\x20TEXTURELODSUPPORT\x0a#extension\x20GL_EXT_shader_texture_lod\x20:\x20enable\x0a#endif\x0aprecision\x20highp\x20float;\x0a#include<__decl__backgroundFragment>\x0a#include<helperFunctions>\x0a#define\x20RECIPROCAL_PI2\x200.15915494\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20MAINUV1\x0avarying\x20vec2\x20vMainUV1;\x0a#endif\x20\x0a#ifdef\x20MAINUV2\x20\x0avarying\x20vec2\x20vMainUV2;\x20\x0a#endif\x20\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0a#if\x20DIFFUSEDIRECTUV==1\x0a#define\x20vDiffuseUV\x20vMainUV1\x0a#elif\x20DIFFUSEDIRECTUV==2\x0a#define\x20vDiffuseUV\x20vMainUV2\x0a#else\x0avarying\x20vec2\x20vDiffuseUV;\x0a#endif\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20REFLECTIONMAP_3D\x0a#define\x20sampleReflection(s,c)\x20textureCube(s,c)\x0auniform\x20samplerCube\x20reflectionSampler;\x0a#ifdef\x20TEXTURELODSUPPORT\x0a#define\x20sampleReflectionLod(s,c,l)\x20textureCubeLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20reflectionSamplerLow;\x0auniform\x20samplerCube\x20reflectionSamplerHigh;\x0a#endif\x0a#else\x0a#define\x20sampleReflection(s,c)\x20texture2D(s,c)\x0auniform\x20sampler2D\x20reflectionSampler;\x0a#ifdef\x20TEXTURELODSUPPORT\x0a#define\x20sampleReflectionLod(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20reflectionSamplerLow;\x0auniform\x20samplerCube\x20reflectionSamplerHigh;\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#else\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#endif\x0a#include<reflectionFunction>\x0a#endif\x0a#ifndef\x20FROMLINEARSPACE\x0a#define\x20FROMLINEARSPACE;\x0a#endif\x0a#ifndef\x20SHADOWONLY\x0a#define\x20SHADOWONLY;\x0a#endif\x0a#include<imageProcessingDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<imageProcessingFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#ifdef\x20REFLECTIONFRESNEL\x0a#define\x20FRESNEL_MAXIMUM_ON_ROUGH\x200.25\x0avec3\x20fresnelSchlickEnvironmentGGX(float\x20VdotN,vec3\x20reflectance0,vec3\x20reflectance90,float\x20smoothness)\x0a{\x0afloat\x20weight=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);\x0areturn\x20reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));\x0a}\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(0.0,1.0,0.0);\x0a#endif\x0afloat\x20shadow=1.;\x0afloat\x20globalShadow=0.;\x0afloat\x20shadowLightCount=0.;\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20SHADOWINUSE\x0aglobalShadow/=shadowLightCount;\x0a#else\x0aglobalShadow=1.0;\x0a#endif\x0a#ifndef\x20BACKMAT_SHADOWONLY\x0avec4\x20reflectionColor=vec4(1.,1.,1.,1.);\x0a#ifdef\x20REFLECTION\x0avec3\x20reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0areflectionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20reflectionCoords=reflectionVector;\x0a#else\x0avec2\x20reflectionCoords=reflectionVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0areflectionCoords/=reflectionVector.z;\x0a#endif\x0areflectionCoords.y=1.0-reflectionCoords.y;\x0a#endif\x0a#ifdef\x20REFLECTIONBLUR\x0afloat\x20reflectionLOD=vReflectionInfos.y;\x0a#ifdef\x20TEXTURELODSUPPORT\x0areflectionLOD=reflectionLOD*log2(vReflectionMicrosurfaceInfos.x)*vReflectionMicrosurfaceInfos.y+vReflectionMicrosurfaceInfos.z;\x0areflectionColor=sampleReflectionLod(reflectionSampler,reflectionCoords,reflectionLOD);\x0a#else\x0afloat\x20lodReflectionNormalized=saturate(reflectionLOD);\x0afloat\x20lodReflectionNormalizedDoubled=lodReflectionNormalized*2.0;\x0avec4\x20reflectionSpecularMid=sampleReflection(reflectionSampler,reflectionCoords);\x0aif(lodReflectionNormalizedDoubled<1.0){\x0areflectionColor=mix(\x0asampleReflection(reflectionSamplerHigh,reflectionCoords),\x0areflectionSpecularMid,\x0alodReflectionNormalizedDoubled\x0a);\x0a}\x20else\x20{\x0areflectionColor=mix(\x0areflectionSpecularMid,\x0asampleReflection(reflectionSamplerLow,reflectionCoords),\x0alodReflectionNormalizedDoubled-1.0\x0a);\x0a}\x0a#endif\x0a#else\x0avec4\x20reflectionSample=sampleReflection(reflectionSampler,reflectionCoords);\x0areflectionColor=reflectionSample;\x0a#endif\x0a#ifdef\x20RGBDREFLECTION\x0areflectionColor.rgb=fromRGBD(reflectionColor);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0areflectionColor.rgb=toLinearSpace(reflectionColor.rgb);\x0a#endif\x0a#ifdef\x20REFLECTIONBGR\x0areflectionColor.rgb=reflectionColor.bgr;\x0a#endif\x0areflectionColor.rgb*=vReflectionInfos.x;\x0a#endif\x0avec3\x20diffuseColor=vec3(1.,1.,1.);\x0afloat\x20finalAlpha=alpha;\x0a#ifdef\x20DIFFUSE\x0avec4\x20diffuseMap=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20GAMMADIFFUSE\x0adiffuseMap.rgb=toLinearSpace(diffuseMap.rgb);\x0a#endif\x0adiffuseMap.rgb*=vDiffuseInfos.y;\x0a#ifdef\x20DIFFUSEHASALPHA\x0afinalAlpha*=diffuseMap.a;\x0a#endif\x0adiffuseColor=diffuseMap.rgb;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0avec3\x20colorBase=diffuseColor;\x0a#else\x0avec3\x20colorBase=reflectionColor.rgb*diffuseColor;\x0a#endif\x0acolorBase=max(colorBase,0.0);\x0a#ifdef\x20USERGBCOLOR\x0avec3\x20finalColor=colorBase;\x0a#else\x0a#ifdef\x20USEHIGHLIGHTANDSHADOWCOLORS\x0avec3\x20mainColor=mix(vPrimaryColorShadow.rgb,vPrimaryColor.rgb,colorBase);\x0a#else\x0avec3\x20mainColor=vPrimaryColor.rgb;\x0a#endif\x0avec3\x20finalColor=colorBase*mainColor;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0avec3\x20reflectionAmount=vReflectionControl.xxx;\x0avec3\x20reflectionReflectance0=vReflectionControl.yyy;\x0avec3\x20reflectionReflectance90=vReflectionControl.zzz;\x0afloat\x20VdotN=dot(normalize(vEyePosition.xyz),normalW);\x0avec3\x20planarReflectionFresnel=fresnelSchlickEnvironmentGGX(saturate(VdotN),reflectionReflectance0,reflectionReflectance90,1.0);\x0areflectionAmount*=planarReflectionFresnel;\x0a#ifdef\x20REFLECTIONFALLOFF\x0afloat\x20reflectionDistanceFalloff=1.0-saturate(length(vPositionW.xyz-vBackgroundCenter)*vReflectionControl.w);\x0areflectionDistanceFalloff*=reflectionDistanceFalloff;\x0areflectionAmount*=reflectionDistanceFalloff;\x0a#endif\x0afinalColor=mix(finalColor,reflectionColor.rgb,saturate(reflectionAmount));\x0a#endif\x0a#ifdef\x20OPACITYFRESNEL\x0afloat\x20viewAngleToFloor=dot(normalW,normalize(vEyePosition.xyz-vBackgroundCenter));\x0aconst\x20float\x20startAngle=0.1;\x0afloat\x20fadeFactor=saturate(viewAngleToFloor/startAngle);\x0afinalAlpha*=fadeFactor*fadeFactor;\x0a#endif\x0a#ifdef\x20SHADOWINUSE\x0afinalColor=mix(finalColor*shadowLevel,finalColor,globalShadow);\x0a#endif\x0avec4\x20color=vec4(finalColor,finalAlpha);\x0a#else\x0avec4\x20color=vec4(vPrimaryColor.rgb,(1.0-clamp(globalShadow,0.,1.))*alpha);\x0a#endif\x0a#include<fogFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0a#if\x20!defined(SKIPFINALCOLORCLAMP)\x0acolor.rgb=clamp(color.rgb,0.,30.0);\x0a#endif\x0a#else\x0acolor=applyImageProcessing(color);\x0a#endif\x0a#ifdef\x20PREMULTIPLYALPHA\x0acolor.rgb*=color.a;\x0a#endif\x0a#ifdef\x20NOISE\x0acolor.rgb+=dither(vPositionW.xy,0.5);\x0acolor=max(color,0.0);\x0a#endif\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','applyBlurPostProcesses','_physicsEngine','clipPlane5','blurSizeDivisor','fetchNewFrame','createMipMaps','_RemoveTagFrom','RGBA8Uint','dataType','.z\x20*=\x20-1.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','Vector3','verticesCount','restoreSingleAttachmentForRenderTarget','supportsUniformBuffers','_emitExtension','button','507742ZNEoSb','_useSRGBBuffer','EACR11Snorm','projectionMatrix','scene_multiview','_coroutineSchedulerDispose','gradientVertexShader','isNDCHalfZRange','setUniqueId','ACTION_OnPointerOutTrigger','clearAllDiffusionProfiles','R16Sint','precision\x20highp\x20float;\x0auniform\x20sampler2D\x20uFrontColor;\x0auniform\x20sampler2D\x20uBackColor;\x0avoid\x20main()\x20{\x0aivec2\x20fragCoord=ivec2(gl_FragCoord.xy);\x0avec4\x20frontColor=texelFetch(uFrontColor,fragCoord,0);\x0avec4\x20backColor=texelFetch(uBackColor,fragCoord,0);\x0afloat\x20alphaMultiplier=1.0-frontColor.a;\x0aglFragColor=vec4(\x0afrontColor.rgb+alphaMultiplier*backColor.rgb,\x0afrontColor.a+backColor.a\x0a);\x0a}','computeSource','StorageTexture','bindIndexBuffer','#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0avertexID=float(gl_VertexID)*morphTargetTextureInfo.x;\x0apositionUpdated+=(readVector3FromRawSampler({X},vertexID)-position)*morphTargetInfluences[{X}];\x0avertexID+=1.0;\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated+=(readVector3FromRawSampler({X},vertexID)\x20-normal)*morphTargetInfluences[{X}];\x0avertexID+=1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated+=(readVector3FromRawSampler({X},vertexID).xy-uv)*morphTargetInfluences[{X}];\x0avertexID+=1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz+=(readVector3FromRawSampler({X},vertexID)\x20-tangent.xyz)*morphTargetInfluences[{X}];\x0a#endif\x0a#else\x0apositionUpdated+=(position{X}-position)*morphTargetInfluences[{X}];\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated+=(normal{X}-normal)*morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz+=(tangent{X}-tangent.xyz)*morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated+=(uv_{X}-uv)*morphTargetInfluences[{X}];\x0a#endif\x0a#endif\x0a#endif\x0a','_textureBlurred','screenSpaceReflection2BlurPixelShader','addBundle','ASTC6x6Unorm','_bonesComputationForcedToCPU','_sphericalPolynomial','GetCode','decorate','Depth\x20cube\x20texture\x20is\x20not\x20supported\x20by\x20WebGL\x201.','keyup','invertV','shadow','pbrBlockAmbientOcclusion','_IsComparisonSamplerByWebGPUSamplerType','pick','preventDefaultOnPointerUp','\x20{\x0a\x20\x20yFactor_:\x20f32,\x0a\x20\x20textureOutputHeight_:\x20f32,\x0a};\x0avar<uniform>\x20internals\x20:\x20','_constantDeclaration','_leftOverUniformsByName','kernelBlurVertex',';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20layout(set\x20=\x20','pbrDirectLightingSetupFunctions','_finishBundle','getInputElementClientRect','ALPHA_EQUATION_REVERSE_SUBTRACT','R16Uint','varyings','sizes','#ifdef\x20LIGHT{X}\x0auniform\x20vec4\x20vLightData{X};\x0auniform\x20vec4\x20vLightDiffuse{X};\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vLightSpecular{X};\x0a#else\x0avec4\x20vLightSpecular{X}=vec4(0.);\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#elif\x20defined(SHADOWCUBE{X})\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0auniform\x20vec4\x20shadowsInfo{X};\x0auniform\x20vec2\x20depthValues{X};\x0a#endif\x0a#ifdef\x20SPOTLIGHT{X}\x0auniform\x20vec4\x20vLightDirection{X};\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(POINTLIGHT{X})\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(HEMILIGHT{X})\x0auniform\x20vec3\x20vLightGround{X};\x0a#endif\x0a#endif\x0a'];a6_0x5a27=function(){return _0x3e1f3e;};return a6_0x5a27();}(Object(self||this)['webpackChunkBim']=Object(self||this)['webpackChunkBim']||[])[a6_0x36115b(0x731)]([[0x19c],{0x2b0:(_0x589f53,_0x842e17,_0x4fe0e1)=>{var _0x36dd3b=a6_0x36115b;_0x4fe0e1['d'](_0x842e17,{'V':()=>_0x309722});class _0x309722{constructor(_0x357031,_0x3e7e54,_0x48b538,_0x195383,_0x44d64c,_0xcfca4c){var _0x2ff4a6=a6_0x238e;this[_0x2ff4a6(0x379)]=_0x357031,this[_0x2ff4a6(0x586)]=_0x3e7e54,this[_0x2ff4a6(0xc57)]=_0x48b538,this['meshUnderPointer']=_0x195383,this[_0x2ff4a6(0x546)]=_0x44d64c,this[_0x2ff4a6(0x2eb)]=_0xcfca4c;}static[_0x36dd3b(0xafd)](_0x63e2f3,_0x351f36,_0x3ddef6){var _0x167a91=_0x36dd3b,_0x293bcf=_0x63e2f3['getScene']();return new _0x309722(_0x63e2f3,_0x293bcf[_0x167a91(0x586)],_0x293bcf[_0x167a91(0xc57)],_0x293bcf[_0x167a91(0x498)]||_0x63e2f3,_0x351f36,_0x3ddef6);}static['CreateNewFromSprite'](_0x4a6aa5,_0x5693d3,_0x3e4c11,_0x3943fc){var _0x2063bf=_0x36dd3b;return new _0x309722(_0x4a6aa5,_0x5693d3['pointerX'],_0x5693d3[_0x2063bf(0xc57)],_0x5693d3[_0x2063bf(0x498)],_0x3e4c11,_0x3943fc);}static['CreateNewFromScene'](_0x353237,_0x5178eb){var _0x570213=_0x36dd3b;return new _0x309722(null,_0x353237[_0x570213(0x586)],_0x353237[_0x570213(0xc57)],_0x353237[_0x570213(0x498)],_0x5178eb);}static[_0x36dd3b(0x4a6)](_0x4f2b90,_0x1b687f,_0x1694da,_0x248e01){return new _0x309722(_0x4f2b90,_0x1b687f['x'],_0x1b687f['y'],null,_0x1694da,_0x248e01);}}},0x71:(_0x236608,_0x5a79f4,_0x48b5d7)=>{var _0x824393=a6_0x36115b;_0x48b5d7['d'](_0x5a79f4,{'X':()=>_0x1f1b32});class _0x1f1b32{constructor(_0xba0162,_0xada28e,_0x4f3b16){var _0xd795f7=a6_0x238e;this[_0xd795f7(0x8f9)]=_0xba0162,this[_0xd795f7(0x3b0)]=_0xada28e,this['to']=_0x4f3b16;}[_0x824393(0x21d)](){var _0x578a17=_0x824393;return new _0x1f1b32(this[_0x578a17(0x8f9)],this[_0x578a17(0x3b0)],this['to']);}}},0xf2a6:(_0x1b0e7a,_0xe0a5dc,_0x9bac99)=>{_0x9bac99['d'](_0xe0a5dc,{'c':()=>_0x5ac7dd});class _0x5ac7dd{constructor(_0x2b5d91,_0x5ecbad,_0xe4d41d){var _0x62e900=a6_0x238e;this['bu']=_0x2b5d91,this['bv']=_0x5ecbad,this[_0x62e900(0x8a5)]=_0xe4d41d,this[_0x62e900(0xc3e)]=0x0,this[_0x62e900(0x115)]=0x0;}}},0x13ea8:(_0x5cf27f,_0x1fa160,_0x57c1fc)=>{_0x57c1fc['d'](_0x1fa160,{'p':()=>_0x38d6b8});var _0x9fd8d0=_0x57c1fc(0xf96c);class _0x38d6b8{constructor(_0x3c60aa,_0x3295d0,_0x589a4e=0x0){var _0xb0ea73=a6_0x238e;this[_0xb0ea73(0x537)]=_0x3295d0,this[_0xb0ea73(0x221)]=_0x589a4e,this['onInputChangedObservable']=new _0x9fd8d0['y$'](),this[_0xb0ea73(0x55e)]=_0x3c60aa;}['getInput'](_0x2a5471){var _0x1071e7=a6_0x238e;return this[_0x1071e7(0x55e)]['pollInput'](this['deviceType'],this[_0x1071e7(0x221)],_0x2a5471);}}},0x59fc:(_0xe384e7,_0x5c42bf,_0x2e9f4c)=>{var _0x56f731=a6_0x36115b,_0x4847ee=_0x2e9f4c(0x202a),_0x49cbc2=_0x2e9f4c(0x77a5);_0x4847ee['B'][_0x56f731(0x40f)][_0x56f731(0x4fd)]=function(_0x35cb79,_0x17ca6c,_0x1baa4f,_0x1a9aed){var _0x56db94=_0x56f731;this[_0x56db94(0x8a8)][_0x56db94(0xa62)](_0x35cb79,_0x17ca6c,_0x1baa4f,_0x1a9aed);},_0x4847ee['B'][_0x56f731(0x40f)][_0x56f731(0x437)]=function(_0xbacc48,_0x1b22ac=!0x1){var _0x44e20b=_0x56f731,_0xf1cc3c;if(this[_0x44e20b(0x6af)]===_0xbacc48)_0x1b22ac||(_0xf1cc3c=_0xbacc48===_0x49cbc2['g']['ALPHA_DISABLE'],this[_0x44e20b(0xb2a)][_0x44e20b(0x573)]!==_0xf1cc3c&&(this[_0x44e20b(0xb2a)][_0x44e20b(0x573)]=_0xf1cc3c));else{switch(_0xbacc48){case _0x49cbc2['g'][_0x44e20b(0x230)]:this[_0x44e20b(0x8a8)]['alphaBlend']=!0x1;break;case _0x49cbc2['g'][_0x44e20b(0xbef)]:this[_0x44e20b(0x8a8)]['setAlphaBlendFunctionParameters'](this['_gl'][_0x44e20b(0x6ea)],this['_gl'][_0x44e20b(0xbed)],this[_0x44e20b(0xb99)]['ONE'],this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)]),this[_0x44e20b(0x8a8)]['alphaBlend']=!0x0;break;case _0x49cbc2['g'][_0x44e20b(0x454)]:this['_alphaState'][_0x44e20b(0x619)](this['_gl'][_0x44e20b(0x6ea)],this[_0x44e20b(0xb99)][_0x44e20b(0xbed)],this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)],this['_gl'][_0x44e20b(0xbed)]),this[_0x44e20b(0x8a8)]['alphaBlend']=!0x0;break;case _0x49cbc2['g'][_0x44e20b(0x20b)]:this['_alphaState']['setAlphaBlendFunctionParameters'](this[_0x44e20b(0xb99)][_0x44e20b(0xaa8)],this[_0x44e20b(0xb99)][_0x44e20b(0xbed)],this[_0x44e20b(0xb99)]['ONE'],this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)]),this[_0x44e20b(0x8a8)][_0x44e20b(0x3c0)]=!0x0;break;case _0x49cbc2['g']['ALPHA_ONEONE']:this[_0x44e20b(0x8a8)][_0x44e20b(0x619)](this[_0x44e20b(0xb99)]['ONE'],this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)],this[_0x44e20b(0xb99)]['ZERO'],this[_0x44e20b(0xb99)]['ONE']),this['_alphaState'][_0x44e20b(0x3c0)]=!0x0;break;case _0x49cbc2['g'][_0x44e20b(0x8e1)]:this[_0x44e20b(0x8a8)][_0x44e20b(0x619)](this[_0x44e20b(0xb99)][_0x44e20b(0xaa8)],this[_0x44e20b(0xb99)]['ONE'],this[_0x44e20b(0xb99)][_0x44e20b(0x39d)],this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)]),this[_0x44e20b(0x8a8)][_0x44e20b(0x3c0)]=!0x0;break;case _0x49cbc2['g']['ALPHA_SUBTRACT']:this[_0x44e20b(0x8a8)][_0x44e20b(0x619)](this['_gl']['ZERO'],this[_0x44e20b(0xb99)][_0x44e20b(0x726)],this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)],this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)]),this[_0x44e20b(0x8a8)]['alphaBlend']=!0x0;break;case _0x49cbc2['g'][_0x44e20b(0xa9a)]:this[_0x44e20b(0x8a8)][_0x44e20b(0x619)](this['_gl'][_0x44e20b(0x659)],this[_0x44e20b(0xb99)]['ZERO'],this['_gl']['ONE'],this[_0x44e20b(0xb99)]['ONE']),this[_0x44e20b(0x8a8)][_0x44e20b(0x3c0)]=!0x0;break;case _0x49cbc2['g'][_0x44e20b(0xbfd)]:this[_0x44e20b(0x8a8)]['setAlphaBlendFunctionParameters'](this[_0x44e20b(0xb99)][_0x44e20b(0xaa8)],this[_0x44e20b(0xb99)][_0x44e20b(0x726)],this[_0x44e20b(0xb99)]['ONE'],this['_gl'][_0x44e20b(0x6ea)]),this[_0x44e20b(0x8a8)][_0x44e20b(0x3c0)]=!0x0;break;case _0x49cbc2['g'][_0x44e20b(0x1e8)]:this[_0x44e20b(0x8a8)][_0x44e20b(0x619)](this[_0x44e20b(0xb99)]['CONSTANT_COLOR'],this['_gl']['ONE_MINUS_CONSTANT_COLOR'],this[_0x44e20b(0xb99)][_0x44e20b(0xcd4)],this[_0x44e20b(0xb99)][_0x44e20b(0xa60)]),this[_0x44e20b(0x8a8)]['alphaBlend']=!0x0;break;case _0x49cbc2['g'][_0x44e20b(0x252)]:this['_alphaState'][_0x44e20b(0x619)](this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)],this[_0x44e20b(0xb99)][_0x44e20b(0x726)],this['_gl'][_0x44e20b(0x6ea)],this[_0x44e20b(0xb99)][_0x44e20b(0xbed)]),this['_alphaState']['alphaBlend']=!0x0;break;case _0x49cbc2['g']['ALPHA_ONEONE_ONEONE']:this['_alphaState']['setAlphaBlendFunctionParameters'](this[_0x44e20b(0xb99)]['ONE'],this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)],this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)],this['_gl']['ONE']),this['_alphaState'][_0x44e20b(0x3c0)]=!0x0;break;case _0x49cbc2['g'][_0x44e20b(0x504)]:this['_alphaState'][_0x44e20b(0x619)](this[_0x44e20b(0xb99)][_0x44e20b(0x8ad)],this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)],this[_0x44e20b(0xb99)][_0x44e20b(0x39d)],this['_gl'][_0x44e20b(0x39d)]),this[_0x44e20b(0x8a8)][_0x44e20b(0x3c0)]=!0x0;break;case _0x49cbc2['g'][_0x44e20b(0x27f)]:this[_0x44e20b(0x8a8)][_0x44e20b(0x619)](this[_0x44e20b(0xb99)][_0x44e20b(0x977)],this[_0x44e20b(0xb99)][_0x44e20b(0x726)],this[_0x44e20b(0xb99)]['ONE_MINUS_DST_ALPHA'],this[_0x44e20b(0xb99)]['ONE_MINUS_SRC_ALPHA']),this['_alphaState'][_0x44e20b(0x3c0)]=!0x0;break;case _0x49cbc2['g'][_0x44e20b(0xbf7)]:this[_0x44e20b(0x8a8)][_0x44e20b(0x619)](this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)],this[_0x44e20b(0xb99)][_0x44e20b(0xbed)],this['_gl']['ONE'],this[_0x44e20b(0xb99)][_0x44e20b(0xbed)]),this['_alphaState'][_0x44e20b(0x3c0)]=!0x0;break;case _0x49cbc2['g'][_0x44e20b(0x478)]:this['_alphaState'][_0x44e20b(0x619)](this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)],this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)],this['_gl'][_0x44e20b(0x6ea)],this[_0x44e20b(0xb99)][_0x44e20b(0x39d)]),this[_0x44e20b(0x8a8)][_0x44e20b(0x3c0)]=!0x0;break;case _0x49cbc2['g'][_0x44e20b(0xb1d)]:this[_0x44e20b(0x8a8)]['setAlphaBlendFunctionParameters'](this[_0x44e20b(0xb99)][_0x44e20b(0x977)],this[_0x44e20b(0xb99)][_0x44e20b(0x726)],this['_gl'][_0x44e20b(0x39d)],this[_0x44e20b(0xb99)][_0x44e20b(0x6ea)]),this[_0x44e20b(0x8a8)][_0x44e20b(0x3c0)]=!0x0;break;case _0x49cbc2['g'][_0x44e20b(0x762)]:this[_0x44e20b(0x8a8)][_0x44e20b(0x619)](this[_0x44e20b(0xb99)]['SRC_ALPHA'],this[_0x44e20b(0xb99)][_0x44e20b(0xbed)],this[_0x44e20b(0xb99)]['ONE'],this[_0x44e20b(0xb99)][_0x44e20b(0xbed)]),this[_0x44e20b(0x8a8)][_0x44e20b(0x3c0)]=!0x0;}_0x1b22ac||(this[_0x44e20b(0xb2a)]['depthMask']=_0xbacc48===_0x49cbc2['g'][_0x44e20b(0x230)]),this[_0x44e20b(0x6af)]=_0xbacc48;}},_0x4847ee['B'][_0x56f731(0x40f)][_0x56f731(0x6ff)]=function(){var _0x1a57d2=_0x56f731;return this[_0x1a57d2(0x6af)];},_0x4847ee['B'][_0x56f731(0x40f)]['setAlphaEquation']=function(_0x3951f2){var _0x2d6578=_0x56f731;if(this['_alphaEquation']!==_0x3951f2){switch(_0x3951f2){case _0x49cbc2['g']['ALPHA_EQUATION_ADD']:this['_alphaState'][_0x2d6578(0xb2c)](_0x49cbc2['g'][_0x2d6578(0x2be)],_0x49cbc2['g']['GL_ALPHA_EQUATION_ADD']);break;case _0x49cbc2['g'][_0x2d6578(0x4e1)]:this[_0x2d6578(0x8a8)][_0x2d6578(0xb2c)](_0x49cbc2['g'][_0x2d6578(0xc4c)],_0x49cbc2['g'][_0x2d6578(0xc4c)]);break;case _0x49cbc2['g'][_0x2d6578(0xbe2)]:this[_0x2d6578(0x8a8)]['setAlphaEquationParameters'](_0x49cbc2['g'][_0x2d6578(0xa9c)],_0x49cbc2['g'][_0x2d6578(0xa9c)]);break;case _0x49cbc2['g'][_0x2d6578(0x995)]:this[_0x2d6578(0x8a8)][_0x2d6578(0xb2c)](_0x49cbc2['g'][_0x2d6578(0x2e1)],_0x49cbc2['g'][_0x2d6578(0x2e1)]);break;case _0x49cbc2['g']['ALPHA_EQUATION_MIN']:this['_alphaState'][_0x2d6578(0xb2c)](_0x49cbc2['g']['GL_ALPHA_EQUATION_MIN'],_0x49cbc2['g'][_0x2d6578(0x627)]);break;case _0x49cbc2['g']['ALPHA_EQUATION_DARKEN']:this['_alphaState'][_0x2d6578(0xb2c)](_0x49cbc2['g'][_0x2d6578(0x627)],_0x49cbc2['g'][_0x2d6578(0x2be)]);}this['_alphaEquation']=_0x3951f2;}},_0x4847ee['B']['prototype']['getAlphaEquation']=function(){var _0x56c224=_0x56f731;return this[_0x56c224(0x209)];};},0x4dec:(_0x37ce09,_0x3d1ea8,_0x362eff)=>{var _0x2023be=a6_0x36115b,_0x16e017=_0x362eff(0x202a),_0xf6fa4f=_0x362eff(0x25b1),_0x38eb67=_0x362eff(0x10ea4),_0x249ccf=_0x362eff(0x2560),_0x55aa99=_0x362eff(0x9f19),_0x376ed7=_0x362eff(0x77a5);_0x16e017['B']['prototype'][_0x2023be(0xc02)]=function(_0x118405,_0x53fdef,_0x5af4c0){var _0x46779f=_0x2023be;const _0x1bff89=new _0xf6fa4f['l'](this,_0xf6fa4f['S'][_0x46779f(0x7ec)]);if(_0x1bff89[_0x46779f(0x7ed)]=!0x0,0x1===this['webGLVersion'])return _0x38eb67['Y'][_0x46779f(0x358)](_0x46779f(0xbd2)),_0x1bff89;var _0x350156=Object[_0x46779f(0x9d9)]({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1},_0x53fdef);const _0x304deb=this[_0x46779f(0xb99)];this[_0x46779f(0x8be)](_0x304deb['TEXTURE_CUBE_MAP'],_0x1bff89,!0x0),this[_0x46779f(0x163)](_0x1bff89,_0x118405,_0x350156['generateStencil'],_0x350156[_0x46779f(0x6cc)],_0x350156[_0x46779f(0x4a0)]),_0x5af4c0[_0x46779f(0x93c)]=_0x1bff89,_0x5af4c0[_0x46779f(0x615)]=_0x350156[_0x46779f(0x5f3)];for(let _0x555ad1=0x0;_0x555ad1<0x6;_0x555ad1++)_0x350156[_0x46779f(0x5f3)]?_0x304deb['texImage2D'](_0x304deb[_0x46779f(0x4e4)]+_0x555ad1,0x0,_0x304deb['DEPTH24_STENCIL8'],_0x118405,_0x118405,0x0,_0x304deb[_0x46779f(0x4a7)],_0x304deb[_0x46779f(0xb1b)],null):_0x304deb[_0x46779f(0x227)](_0x304deb[_0x46779f(0x4e4)]+_0x555ad1,0x0,_0x304deb['DEPTH_COMPONENT24'],_0x118405,_0x118405,0x0,_0x304deb[_0x46779f(0x5a2)],_0x304deb[_0x46779f(0x7cf)],null);return this[_0x46779f(0x8be)](_0x304deb[_0x46779f(0x25e)],null),this[_0x46779f(0x2bd)][_0x46779f(0x731)](_0x1bff89),_0x1bff89;},_0x16e017['B']['prototype'][_0x2023be(0xd6)]=function(_0xc5f52f,_0x411ee4,_0x828f0d,_0x523f95,_0x9fba2b=null){this['_loadFile'](_0xc5f52f,_0x544b77=>{var _0x235ee1=a6_0x238e;_0x828f0d[_0x411ee4]=_0x544b77,_0x828f0d[_0x235ee1(0x8c8)]++,0x6===_0x828f0d[_0x235ee1(0x8c8)]&&_0x523f95(_0x828f0d);},void 0x0,void 0x0,!0x0,(_0x4cd27b,_0x471014)=>{var _0x2de959=a6_0x238e;_0x9fba2b&&_0x4cd27b&&_0x9fba2b(_0x4cd27b[_0x2de959(0x67a)]+'\x20'+_0x4cd27b[_0x2de959(0x816)],_0x471014);});},_0x16e017['B'][_0x2023be(0x40f)]['_cascadeLoadFiles']=function(_0x44152a,_0xcc1731,_0x122b9f,_0x22d970=null){var _0x42c7ca=_0x2023be;const _0x4adc37=[];for(let _0x4a99ee=_0x4adc37[_0x42c7ca(0x8c8)]=0x0;_0x4a99ee<0x6;_0x4a99ee++)this['_partialLoadFile'](_0x122b9f[_0x4a99ee],_0x4a99ee,_0x4adc37,_0xcc1731,_0x22d970);},_0x16e017['B'][_0x2023be(0x40f)][_0x2023be(0x766)]=function(_0x1307e8,_0x3efb74,_0x49db2d,_0x52529c,_0x13b729=null,_0x1f0af0){var _0x35ed26=_0x2023be;const _0x1b8f47=[];for(let _0x1f6113=_0x1b8f47[_0x35ed26(0x8c8)]=0x0;_0x1f6113<0x6;_0x1f6113++)this['_partialLoadImg'](_0x52529c[_0x1f6113],_0x1f6113,_0x1b8f47,_0x1307e8,_0x3efb74,_0x49db2d,_0x13b729,_0x1f0af0);},_0x16e017['B'][_0x2023be(0x40f)][_0x2023be(0xa7a)]=function(_0xde7794,_0x26c807,_0x4cc298,_0x1288f7,_0x1da22f,_0x32f615,_0x2e35ae=null,_0x3d815d){var _0x9653b3=_0x2023be;const _0x1bd886=(0x0,_0x55aa99['f'])();(0x0,_0x249ccf['r6'])(_0xde7794,_0x513453=>{var _0x28f36e=a6_0x238e;_0x4cc298[_0x26c807]=_0x513453,_0x4cc298[_0x28f36e(0x8c8)]++,_0x1288f7&&_0x1288f7[_0x28f36e(0x6fe)](_0x1bd886),0x6===_0x4cc298[_0x28f36e(0x8c8)]&&_0x32f615&&_0x32f615(_0x1da22f,_0x4cc298);},(_0x1f290e,_0x654e50)=>{_0x1288f7&&_0x1288f7['removePendingData'](_0x1bd886),_0x2e35ae&&_0x2e35ae(_0x1f290e,_0x654e50);},_0x1288f7?_0x1288f7[_0x9653b3(0x3f5)]:null,_0x3d815d),_0x1288f7&&_0x1288f7['addPendingData'](_0x1bd886);},_0x16e017['B'][_0x2023be(0x40f)][_0x2023be(0xa67)]=function(_0xb37670,_0x2a11a2,_0x5a722b){var _0x3ea17b=_0x2023be;const _0x10ed3c=this['_gl'];_0x10ed3c['texParameteri'](_0x10ed3c[_0x3ea17b(0x25e)],_0x10ed3c[_0x3ea17b(0x286)],_0x10ed3c['LINEAR']),_0x10ed3c['texParameteri'](_0x10ed3c[_0x3ea17b(0x25e)],_0x10ed3c[_0x3ea17b(0x48f)],_0x2a11a2?_0x10ed3c[_0x3ea17b(0x399)]:_0x10ed3c[_0x3ea17b(0xd5)]),_0x10ed3c[_0x3ea17b(0x6b4)](_0x10ed3c[_0x3ea17b(0x25e)],_0x10ed3c[_0x3ea17b(0x285)],_0x10ed3c['CLAMP_TO_EDGE']),_0x10ed3c[_0x3ea17b(0x6b4)](_0x10ed3c[_0x3ea17b(0x25e)],_0x10ed3c[_0x3ea17b(0x4a1)],_0x10ed3c['CLAMP_TO_EDGE']),_0xb37670['samplingMode']=_0x2a11a2?_0x376ed7['g'][_0x3ea17b(0x23b)]:_0x376ed7['g'][_0x3ea17b(0x8e7)],_0x2a11a2&&this[_0x3ea17b(0x7ac)]()[_0x3ea17b(0x690)]&&void 0x0!==_0x5a722b&&0x0<_0x5a722b&&(_0x10ed3c[_0x3ea17b(0x6b4)](_0x10ed3c[_0x3ea17b(0x25e)],_0x10ed3c[_0x3ea17b(0x21c)],_0x5a722b),_0xb37670[_0x3ea17b(0x44f)]=_0x5a722b),this[_0x3ea17b(0x8be)](_0x10ed3c['TEXTURE_CUBE_MAP'],null);},_0x16e017['B'][_0x2023be(0x40f)][_0x2023be(0xb1e)]=function(_0x184e15,_0x423bce,_0x5c1f4b,_0x24d4b0,_0x18264e=null,_0x55c20d=null,_0x2533c9,_0x12d09a=null,_0xbd322e=!0x1,_0x3a72c1=0x0,_0x21e968=0x0,_0x801920=null,_0x46dc2c=null,_0x52c224=null,_0xbab430=!0x1){var _0x73e5d9=_0x2023be;const _0x1aead8=_0x801920||new _0xf6fa4f['l'](this,_0xf6fa4f['S'][_0x73e5d9(0x17c)]),_0x57d9e5=(_0x1aead8[_0x73e5d9(0x7ed)]=!0x0,_0x1aead8[_0x73e5d9(0x1e5)]=_0x184e15,_0x1aead8[_0x73e5d9(0xb73)]=!_0x24d4b0,_0x1aead8['_lodGenerationScale']=_0x3a72c1,_0x1aead8['_lodGenerationOffset']=_0x21e968,_0x1aead8[_0x73e5d9(0xbba)]=!!_0xbab430&&this[_0x73e5d9(0xb4c)][_0x73e5d9(0x74d)]&&(0x1<this[_0x73e5d9(0x2c8)]||this[_0x73e5d9(0x8e8)]||!!_0x24d4b0),_0x1aead8!==_0x801920&&(_0x1aead8[_0x73e5d9(0xa45)]=_0x184e15['substring'](0x0,0x3c)),this[_0x73e5d9(0xb06)]||(_0x1aead8['_extension']=_0x12d09a,_0x1aead8[_0x73e5d9(0x9a1)]=_0x5c1f4b),_0x184e15),_0x1552ec=(_0x184e15=this[_0x73e5d9(0x8e9)]&&!_0x801920?this[_0x73e5d9(0x8e9)](_0x184e15):_0x184e15)[_0x73e5d9(0x9fa)]('?')[0x0];var _0x801920=_0x1552ec[_0x73e5d9(0x2fc)]('.'),_0x5e423b=_0x12d09a||(-0x1<_0x801920?_0x1552ec['substring'](_0x801920)[_0x73e5d9(0x95e)]():'');let _0x4165b8=null;for(const _0x1c8718 of _0x16e017['B'][_0x73e5d9(0x18d)])if(_0x1c8718[_0x73e5d9(0x423)](_0x5e423b)){_0x4165b8=_0x1c8718;break;}_0x801920=(_0x54e63c,_0x556aaa)=>{var _0x13f851=_0x73e5d9;_0x184e15===_0x57d9e5?_0x55c20d&&_0x54e63c&&_0x55c20d(_0x54e63c[_0x13f851(0x67a)]+'\x20'+_0x54e63c[_0x13f851(0x816)],_0x556aaa):(_0x38eb67['Y'][_0x13f851(0x2e9)]('Failed\x20to\x20load\x20'+_0x184e15+_0x13f851(0x2b2)+_0x57d9e5),this['createCubeTextureBase'](_0x57d9e5,_0x423bce,_0x5c1f4b,!!_0x24d4b0,_0x18264e,_0x55c20d,_0x2533c9,_0x12d09a,_0xbd322e,_0x3a72c1,_0x21e968,_0x1aead8,_0x46dc2c,_0x52c224,_0xbab430));};if(_0x4165b8){const _0x587b27=_0x57ea98=>{var _0x37a7f4=_0x73e5d9;_0x46dc2c&&_0x46dc2c(_0x1aead8,_0x57ea98),_0x4165b8[_0x37a7f4(0xc8c)](_0x57ea98,_0x1aead8,_0xbd322e,_0x18264e,_0x55c20d);};_0x5c1f4b&&0x6===_0x5c1f4b[_0x73e5d9(0xb85)]?_0x4165b8[_0x73e5d9(0x377)]?this[_0x73e5d9(0xa84)](_0x423bce,_0xc996b7=>_0x587b27(_0xc996b7[_0x73e5d9(0x851)](_0x3ae35e=>new Uint8Array(_0x3ae35e))),_0x5c1f4b,_0x55c20d):_0x55c20d?_0x55c20d(_0x73e5d9(0x948)):_0x38eb67['Y']['Warn'](_0x73e5d9(0x32f)):this[_0x73e5d9(0x84f)](_0x184e15,_0xa7b900=>_0x587b27(new Uint8Array(_0xa7b900)),void 0x0,void 0x0,!0x0,_0x801920);}else{if(!_0x5c1f4b)throw new Error('Cannot\x20load\x20cubemap\x20because\x20files\x20were\x20not\x20defined');this[_0x73e5d9(0x766)](_0x423bce,_0x1aead8,(_0x4130d2,_0x661f1)=>{_0x52c224&&_0x52c224(_0x4130d2,_0x661f1);},_0x5c1f4b,_0x55c20d);}return this[_0x73e5d9(0x2bd)][_0x73e5d9(0x731)](_0x1aead8),_0x1aead8;},_0x16e017['B'][_0x2023be(0x40f)][_0x2023be(0xb43)]=function(_0x2d1d15,_0x466352,_0x56e7ab,_0x385b5b,_0xc5c133=null,_0x4e111d=null,_0x26d7a4,_0x2a347d=null,_0x2d4a0b=!0x1,_0x20e994=0x0,_0x19f0b2=0x0,_0x1a42ca=null,_0x7be09b,_0x4005fd=!0x1){var _0x20f061=_0x2023be;const _0x2cea9e=this[_0x20f061(0xb99)];return this[_0x20f061(0xb1e)](_0x2d1d15,_0x466352,_0x56e7ab,!!_0x385b5b,_0xc5c133,_0x4e111d,_0x26d7a4,_0x2a347d,_0x2d4a0b,_0x20e994,_0x19f0b2,_0x1a42ca,_0xcfb27e=>this[_0x20f061(0x8be)](_0x2cea9e[_0x20f061(0x25e)],_0xcfb27e,!0x0),(_0x2b83ee,_0x3c33e9)=>{var _0xdfe7f2=_0x20f061,_0x4686d6=this[_0xdfe7f2(0x476)]?_0x16e017['B'][_0xdfe7f2(0x155)](_0x3c33e9[0x0][_0xdfe7f2(0x781)],this[_0xdfe7f2(0xb4c)][_0xdfe7f2(0x18b)]):_0x3c33e9[0x0]['width'],_0x54002b=_0x4686d6,_0x519f34=[_0x2cea9e[_0xdfe7f2(0x4e4)],_0x2cea9e[_0xdfe7f2(0x72d)],_0x2cea9e['TEXTURE_CUBE_MAP_POSITIVE_Z'],_0x2cea9e[_0xdfe7f2(0x4e0)],_0x2cea9e['TEXTURE_CUBE_MAP_NEGATIVE_Y'],_0x2cea9e[_0xdfe7f2(0x560)]],_0x40020d=(this[_0xdfe7f2(0x8be)](_0x2cea9e[_0xdfe7f2(0x25e)],_0x2b83ee,!0x0),this[_0xdfe7f2(0x71f)](!0x1),_0x26d7a4?this['_getInternalFormat'](_0x26d7a4,_0x2b83ee[_0xdfe7f2(0xbba)]):_0x2b83ee[_0xdfe7f2(0xbba)]?_0x2cea9e[_0xdfe7f2(0x5aa)]:_0x2cea9e['RGBA']);let _0x44c278=_0x26d7a4?this[_0xdfe7f2(0x28f)](_0x26d7a4):_0x2cea9e['RGBA'];_0x2b83ee[_0xdfe7f2(0xbba)]&&0x1===this[_0xdfe7f2(0x2c8)]&&(_0x44c278=_0x40020d);for(let _0x23c54e=0x0;_0x23c54e<_0x519f34[_0xdfe7f2(0xb85)];_0x23c54e++)if(_0x3c33e9[_0x23c54e][_0xdfe7f2(0x781)]!==_0x4686d6||_0x3c33e9[_0x23c54e]['height']!==_0x54002b){if(this[_0xdfe7f2(0x29e)](),!this[_0xdfe7f2(0x698)]||!this[_0xdfe7f2(0x9f4)])return void _0x38eb67['Y']['Warn'](_0xdfe7f2(0x536));this[_0xdfe7f2(0x698)][_0xdfe7f2(0x781)]=_0x4686d6,this[_0xdfe7f2(0x698)][_0xdfe7f2(0x831)]=_0x54002b,this[_0xdfe7f2(0x9f4)]['drawImage'](_0x3c33e9[_0x23c54e],0x0,0x0,_0x3c33e9[_0x23c54e]['width'],_0x3c33e9[_0x23c54e][_0xdfe7f2(0x831)],0x0,0x0,_0x4686d6,_0x54002b),_0x2cea9e['texImage2D'](_0x519f34[_0x23c54e],0x0,_0x40020d,_0x44c278,_0x2cea9e[_0xdfe7f2(0x24a)],this[_0xdfe7f2(0x698)]);}else _0x2cea9e[_0xdfe7f2(0x227)](_0x519f34[_0x23c54e],0x0,_0x40020d,_0x44c278,_0x2cea9e['UNSIGNED_BYTE'],_0x3c33e9[_0x23c54e]);_0x385b5b||_0x2cea9e['generateMipmap'](_0x2cea9e['TEXTURE_CUBE_MAP']),this[_0xdfe7f2(0xa67)](_0x2b83ee,!_0x385b5b),_0x2b83ee[_0xdfe7f2(0x781)]=_0x4686d6,_0x2b83ee[_0xdfe7f2(0x831)]=_0x54002b,_0x2b83ee[_0xdfe7f2(0x682)]=!0x0,_0x26d7a4&&(_0x2b83ee[_0xdfe7f2(0x3be)]=_0x26d7a4),_0x2b83ee['onLoadedObservable'][_0xdfe7f2(0x575)](_0x2b83ee),_0x2b83ee[_0xdfe7f2(0xc2e)]['clear'](),_0xc5c133&&_0xc5c133();},!!_0x4005fd);};},0x1410a:(_0x2f6f84,_0x1cee49,_0x349c9b)=>{var _0x376cc5=a6_0x36115b;_0x349c9b=_0x349c9b(0x202a),(_0x349c9b['B'][_0x376cc5(0x40f)][_0x376cc5(0xc8f)]=function(_0xc3523b,_0x38b008){},_0x349c9b['B'][_0x376cc5(0x40f)]['_debugPopGroup']=function(_0x33afd5){},_0x349c9b['B']['prototype'][_0x376cc5(0xc22)]=function(_0xb62601,_0xc8680d){},_0x349c9b['B']['prototype']['_debugFlushPendingCommands']=function(){});},0x13479:(_0x415b3a,_0x26a163,_0x257a55)=>{var _0x1494c8=a6_0x36115b;_0x257a55=_0x257a55(0x202a),(_0x257a55['B'][_0x1494c8(0x40f)][_0x1494c8(0x2cb)]=function(_0x56a6f0,_0xb1b260,_0x511726=0x0){var _0xb0827c=_0x1494c8;this[_0xb0827c(0x737)][this[_0xb0827c(0xb99)]['ELEMENT_ARRAY_BUFFER']]=null,this[_0xb0827c(0xbc8)](_0x56a6f0),_0x56a6f0=_0xb1b260 instanceof Uint16Array||_0xb1b260 instanceof Uint32Array?_0xb1b260:new(_0x56a6f0['is32Bits']?Uint32Array:Uint16Array)(_0xb1b260),this[_0xb0827c(0xb99)][_0xb0827c(0xa22)](this[_0xb0827c(0xb99)]['ELEMENT_ARRAY_BUFFER'],_0x511726,_0x56a6f0),this[_0xb0827c(0x2d1)]();},_0x257a55['B']['prototype'][_0x1494c8(0xa5c)]=function(_0x2e0497,_0x1eb509,_0x5cb959,_0xd8f034){var _0x5853e2=_0x1494c8;this[_0x5853e2(0x69c)](_0x2e0497),void 0x0===_0x5cb959&&(_0x5cb959=0x0),_0x2e0497=_0x1eb509[_0x5853e2(0xabb)]||_0x1eb509['length'],(void 0x0===_0xd8f034||_0x2e0497<=_0xd8f034&&0x0===_0x5cb959?_0x1eb509 instanceof Array?this[_0x5853e2(0xb99)][_0x5853e2(0xa22)](this[_0x5853e2(0xb99)][_0x5853e2(0xcc0)],_0x5cb959,new Float32Array(_0x1eb509)):this[_0x5853e2(0xb99)][_0x5853e2(0xa22)](this[_0x5853e2(0xb99)]['ARRAY_BUFFER'],_0x5cb959,_0x1eb509):_0x1eb509 instanceof Array?this[_0x5853e2(0xb99)][_0x5853e2(0xa22)](this['_gl'][_0x5853e2(0xcc0)],0x0,new Float32Array(_0x1eb509)['subarray'](_0x5cb959,_0x5cb959+_0xd8f034)):(_0x1eb509=_0x1eb509 instanceof ArrayBuffer?new Uint8Array(_0x1eb509,_0x5cb959,_0xd8f034):new Uint8Array(_0x1eb509[_0x5853e2(0xa92)],_0x1eb509[_0x5853e2(0xa9e)]+_0x5cb959,_0xd8f034),this[_0x5853e2(0xb99)][_0x5853e2(0xa22)](this[_0x5853e2(0xb99)][_0x5853e2(0xcc0)],0x0,_0x1eb509)),this[_0x5853e2(0x2d6)]());});},0xecbf:(_0x303c01,_0x320222,_0x15501b)=>{var _0x229f68=a6_0x36115b,_0x1d7497=_0x15501b(0x202a),_0x541017=_0x15501b(0x25b1);_0x1d7497['B'][_0x229f68(0x40f)][_0x229f68(0x4eb)]=function(_0x305b0c,_0x306c22,_0x48a8b1,_0x2a4a27){var _0x1912e0=_0x229f68;const _0x39d61f=new _0x541017['l'](this,_0x541017['S']['Dynamic']);return _0x39d61f[_0x1912e0(0x412)]=_0x305b0c,_0x39d61f[_0x1912e0(0x30a)]=_0x306c22,_0x48a8b1&&(_0x305b0c=this[_0x1912e0(0x476)]?_0x1d7497['B'][_0x1912e0(0x155)](_0x305b0c,this[_0x1912e0(0xb4c)][_0x1912e0(0xa93)]):_0x305b0c,_0x306c22=this[_0x1912e0(0x476)]?_0x1d7497['B'][_0x1912e0(0x155)](_0x306c22,this[_0x1912e0(0xb4c)][_0x1912e0(0xa93)]):_0x306c22),_0x39d61f[_0x1912e0(0x781)]=_0x305b0c,_0x39d61f[_0x1912e0(0x831)]=_0x306c22,_0x39d61f[_0x1912e0(0x682)]=!0x1,_0x39d61f[_0x1912e0(0xb73)]=_0x48a8b1,_0x39d61f[_0x1912e0(0x12a)]=_0x2a4a27,this[_0x1912e0(0xca1)](_0x2a4a27,_0x39d61f),this[_0x1912e0(0x2bd)]['push'](_0x39d61f),_0x39d61f;},_0x1d7497['B'][_0x229f68(0x40f)][_0x229f68(0xab3)]=function(_0x587bc6,_0x27ec0e,_0x1dea3d,_0x6ca376=!0x1,_0x44d60d,_0x302084=!0x1,_0xdec709){var _0x3b88cc=_0x229f68;if(_0x587bc6){const _0xa84af7=this[_0x3b88cc(0xb99)];var _0x3df326=_0xa84af7['TEXTURE_2D'],_0x302084=this['_bindTextureDirectly'](_0x3df326,_0x587bc6,!0x0,_0x302084),_0x1dea3d=(this[_0x3b88cc(0x71f)](void 0x0===_0x1dea3d?_0x587bc6[_0x3b88cc(0xae5)]:_0x1dea3d),_0x6ca376&&_0xa84af7[_0x3b88cc(0x14c)](_0xa84af7['UNPACK_PREMULTIPLY_ALPHA_WEBGL'],0x1),this[_0x3b88cc(0x439)](_0x587bc6['type'])),_0x44d60d=this['_getInternalFormat'](_0x44d60d||_0x587bc6['format']),_0x35e655=this[_0x3b88cc(0x705)](_0x587bc6[_0x3b88cc(0x6a4)],_0x44d60d);_0xa84af7[_0x3b88cc(0x227)](_0x3df326,0x0,_0x35e655,_0x44d60d,_0x1dea3d,_0x27ec0e),_0x587bc6[_0x3b88cc(0xb73)]&&_0xa84af7['generateMipmap'](_0x3df326),_0x302084||this[_0x3b88cc(0x8be)](_0x3df326,null),_0x6ca376&&_0xa84af7[_0x3b88cc(0x14c)](_0xa84af7['UNPACK_PREMULTIPLY_ALPHA_WEBGL'],0x0),_0x587bc6[_0x3b88cc(0x682)]=!0x0;}};},0x64df:(_0x1f283a,_0x3c7bf2,_0x5cad20)=>{var _0x3cefeb=a6_0x36115b;_0x5cad20=_0x5cad20(0x202a),(_0x5cad20['B']['prototype']['createExternalTexture']=function(_0x3a39ee){return null;},_0x5cad20['B'][_0x3cefeb(0x40f)][_0x3cefeb(0xa6a)]=function(_0x1c6f61,_0x110071){var _0x32ff10=_0x3cefeb;throw new Error(_0x32ff10(0x3e7));});},0x39f0:(_0x3cb21e,_0x5d2d70,_0x4eb6d5)=>{var _0xaba680=a6_0x36115b,_0x58ce0e=_0x4eb6d5(0x25b1),_0x567e9a=_0x4eb6d5(0x10ea4),_0x4aa835=_0x4eb6d5(0x77a5),_0x4eb6d5=_0x4eb6d5(0x202a);_0x4eb6d5['B'][_0xaba680(0x40f)]['restoreSingleAttachment']=function(){var _0x2e1015=_0xaba680,_0x68fad=this['_gl'];this[_0x2e1015(0x8a2)]([_0x68fad[_0x2e1015(0x75e)]]);},_0x4eb6d5['B'][_0xaba680(0x40f)][_0xaba680(0xbb5)]=function(){var _0x20f2d4=_0xaba680,_0x10f01f=this[_0x20f2d4(0xb99)];this['bindAttachments']([_0x10f01f['COLOR_ATTACHMENT0']]);},_0x4eb6d5['B'][_0xaba680(0x40f)][_0xaba680(0x712)]=function(_0x269e3b){var _0x315fc1=_0xaba680,_0x582ad5=this[_0x315fc1(0xb99)];const _0x445aff=[];for(let _0x5f384f=0x0;_0x5f384f<_0x269e3b[_0x315fc1(0xb85)];_0x5f384f++)_0x269e3b[_0x5f384f]?_0x445aff[_0x315fc1(0x731)](_0x582ad5[_0x315fc1(0x97b)+_0x5f384f]):_0x445aff[_0x315fc1(0x731)](_0x582ad5[_0x315fc1(0x5b5)]);return _0x445aff;},_0x4eb6d5['B'][_0xaba680(0x40f)]['bindAttachments']=function(_0x1375ab){var _0xb077db=_0xaba680;const _0x4bcb64=this[_0xb077db(0xb99)];_0x4bcb64[_0xb077db(0xc3c)](_0x1375ab);},_0x4eb6d5['B']['prototype'][_0xaba680(0x8fb)]=function(_0x4e055f,_0x29b4e9=!0x1,_0x59de1b){var _0x26a8ff=_0xaba680;this[_0x26a8ff(0x526)]=null;const _0x5eceaf=this[_0x26a8ff(0xb99)],_0x6531ac=_0x4e055f[_0x26a8ff(0x69b)];var _0x402b8f=_0x6531ac[_0x26a8ff(0xb85)];if(_0x4e055f[_0x26a8ff(0x701)]){_0x5eceaf[_0x26a8ff(0x8cf)](_0x5eceaf[_0x26a8ff(0x1fc)],_0x4e055f[_0x26a8ff(0x701)]),_0x5eceaf[_0x26a8ff(0x8cf)](_0x5eceaf[_0x26a8ff(0x696)],_0x4e055f[_0x26a8ff(0x86c)]);for(let _0x480595=0x0;_0x480595<_0x402b8f;_0x480595++){var _0x3668ec=_0x4e055f[_0x26a8ff(0x345)][_0x480595];for(let _0x59a789=0x0;_0x59a789<_0x402b8f;_0x59a789++)_0x6531ac[_0x59a789]=_0x5eceaf[_0x26a8ff(0x5b5)];_0x6531ac[_0x480595]=_0x5eceaf[0x1<this[_0x26a8ff(0x2c8)]?_0x26a8ff(0x97b)+_0x480595:_0x26a8ff(0x97b)+_0x480595+_0x26a8ff(0x382)],_0x5eceaf['readBuffer'](_0x6531ac[_0x480595]),_0x5eceaf[_0x26a8ff(0xc3c)](_0x6531ac),_0x5eceaf[_0x26a8ff(0x491)](0x0,0x0,_0x3668ec[_0x26a8ff(0x781)],_0x3668ec['height'],0x0,0x0,_0x3668ec[_0x26a8ff(0x781)],_0x3668ec['height'],_0x5eceaf[_0x26a8ff(0x942)],_0x5eceaf[_0x26a8ff(0x62e)]);}for(let _0x482252=0x0;_0x482252<_0x402b8f;_0x482252++)_0x6531ac[_0x482252]=_0x5eceaf[0x1<this[_0x26a8ff(0x2c8)]?'COLOR_ATTACHMENT'+_0x482252:'COLOR_ATTACHMENT'+_0x482252+'_WEBGL'];_0x5eceaf[_0x26a8ff(0xc3c)](_0x6531ac);}for(let _0x50dc47=0x0;_0x50dc47<_0x402b8f;_0x50dc47++){var _0x447665=_0x4e055f['textures'][_0x50dc47];null==_0x447665||!_0x447665['generateMipMaps']||_0x29b4e9||_0x447665[_0x26a8ff(0x7ed)]||(this[_0x26a8ff(0x8be)](_0x5eceaf['TEXTURE_2D'],_0x447665,!0x0),_0x5eceaf[_0x26a8ff(0xcae)](_0x5eceaf[_0x26a8ff(0xa38)]),this[_0x26a8ff(0x8be)](_0x5eceaf[_0x26a8ff(0xa38)],null));}_0x59de1b&&(_0x4e055f[_0x26a8ff(0x701)]&&this[_0x26a8ff(0x34c)](_0x4e055f['_framebuffer']),_0x59de1b()),this[_0x26a8ff(0x34c)](null);},_0x4eb6d5['B'][_0xaba680(0x40f)]['createMultipleRenderTarget']=function(_0x4f5542,_0x5900fa,_0x27cf5f=!0x0){var _0x443c34=_0xaba680;let _0x52151a=!0x1,_0x53f045=!0x0,_0x4431fb=!0x1,_0x41e0f1=!0x1,_0x1e52d1=_0x4aa835['g'][_0x443c34(0x21f)],_0x27fddb=0x1;var _0xb7656f=_0x4aa835['g'][_0x443c34(0x312)],_0x4604a5=_0x4aa835['g'][_0x443c34(0x23b)],_0x4144e9=_0x4aa835['g']['TEXTUREFORMAT_RGBA'],_0x42d2ae=_0x4aa835['g'][_0x443c34(0xa38)];let _0x20d3c0=new Array(),_0x4f82ad=new Array(),_0x31148d=new Array(),_0x5bf93e=new Array(),_0x2f291e=new Array(),_0x4fd9f3=new Array(),_0x1aa9f2=new Array(),_0x25fdab=new Array();const _0x598c27=this[_0x443c34(0xc47)](!0x0,!0x1,_0x4f5542),_0x7b3dad=(void 0x0!==_0x5900fa&&(_0x52151a=void 0x0!==_0x5900fa[_0x443c34(0xb73)]&&_0x5900fa[_0x443c34(0xb73)],_0x53f045=void 0x0===_0x5900fa['generateDepthBuffer']||_0x5900fa[_0x443c34(0x97f)],_0x4431fb=void 0x0!==_0x5900fa[_0x443c34(0x69e)]&&_0x5900fa[_0x443c34(0x69e)],_0x41e0f1=void 0x0!==_0x5900fa[_0x443c34(0x6cf)]&&_0x5900fa[_0x443c34(0x6cf)],_0x27fddb=_0x5900fa[_0x443c34(0x471)]||0x1,_0x5900fa[_0x443c34(0x549)]&&(_0x20d3c0=_0x5900fa['types']),_0x5900fa['samplingModes']&&(_0x4f82ad=_0x5900fa[_0x443c34(0x199)]),_0x5900fa['useSRGBBuffers']&&(_0x31148d=_0x5900fa[_0x443c34(0x47c)]),_0x5900fa[_0x443c34(0xc3a)]&&(_0x5bf93e=_0x5900fa['formats']),_0x5900fa[_0x443c34(0x8dc)]&&(_0x2f291e=_0x5900fa[_0x443c34(0x8dc)]),_0x5900fa['faceIndex']&&(_0x4fd9f3=_0x5900fa[_0x443c34(0x4b9)]),_0x5900fa['layerIndex']&&(_0x1aa9f2=_0x5900fa[_0x443c34(0x7e3)]),_0x5900fa[_0x443c34(0x34f)]&&(_0x25fdab=_0x5900fa[_0x443c34(0x34f)]),0x1<this[_0x443c34(0x2c8)]&&(_0x5900fa[_0x443c34(0x3d7)]===_0x4aa835['g'][_0x443c34(0xc98)]||_0x5900fa['depthTextureFormat']===_0x4aa835['g'][_0x443c34(0xd2)]||_0x5900fa[_0x443c34(0x3d7)]===_0x4aa835['g'][_0x443c34(0x1c6)]||_0x5900fa[_0x443c34(0x3d7)]===_0x4aa835['g'][_0x443c34(0xb94)]||_0x5900fa['depthTextureFormat']===_0x4aa835['g'][_0x443c34(0x1aa)])&&(_0x1e52d1=_0x5900fa[_0x443c34(0x3d7)])),this['_gl']);var _0x264f78=_0x7b3dad[_0x443c34(0x50a)](),_0x38ec9e=(this[_0x443c34(0x34c)](_0x264f78),_0x4f5542[_0x443c34(0x781)]||_0x4f5542),_0x279554=_0x4f5542['height']||_0x4f5542;const _0x393a7a=[],_0x56efe3=[];_0x4f5542=0x1<this[_0x443c34(0x2c8)]&&_0x41e0f1&&(_0x5900fa[_0x443c34(0x3d7)]===_0x4aa835['g'][_0x443c34(0xc98)]||_0x5900fa[_0x443c34(0x3d7)]===_0x4aa835['g'][_0x443c34(0xd2)]||_0x5900fa[_0x443c34(0x3d7)]===_0x4aa835['g'][_0x443c34(0x1aa)]),_0x5900fa=this[_0x443c34(0x4cb)](!_0x4f5542&&_0x4431fb,!_0x41e0f1&&_0x53f045,_0x38ec9e,_0x279554),(_0x598c27[_0x443c34(0x86c)]=_0x264f78,_0x598c27[_0x443c34(0x854)]=_0x5900fa,_0x598c27[_0x443c34(0xcd7)]=!_0x41e0f1&&_0x53f045,_0x598c27['_generateStencilBuffer']=!_0x4f5542&&_0x4431fb,_0x598c27['_attachments']=_0x56efe3);for(let _0x223216=0x0;_0x223216<_0x27fddb;_0x223216++){let _0x2b4523=_0x4f82ad[_0x223216]||_0x4604a5,_0x26e13f=_0x20d3c0[_0x223216]||_0xb7656f;var _0x2953c7=_0x31148d[_0x223216]||!0x1,_0x12e935=_0x5bf93e[_0x223216]||_0x4144e9,_0xcc0921=_0x2f291e[_0x223216]||_0x42d2ae,_0x92d4af=null!=(_0x92d4af=_0x25fdab[_0x223216])?_0x92d4af:0x1,_0x4b6daf=((_0x26e13f===_0x4aa835['g']['TEXTURETYPE_FLOAT']&&!this['_caps'][_0x443c34(0x63b)]||_0x26e13f===_0x4aa835['g']['TEXTURETYPE_HALF_FLOAT']&&!this[_0x443c34(0xb4c)][_0x443c34(0x9ca)])&&(_0x2b4523=_0x4aa835['g']['TEXTURE_NEAREST_SAMPLINGMODE']),this[_0x443c34(0x396)](_0x2b4523,_0x52151a)),_0x5a6c6f=(_0x26e13f!==_0x4aa835['g']['TEXTURETYPE_FLOAT']||this[_0x443c34(0xb4c)]['textureFloat']||(_0x26e13f=_0x4aa835['g']['TEXTURETYPE_UNSIGNED_INT'],_0x567e9a['Y'][_0x443c34(0x2e9)](_0x443c34(0x8b9))),_0x2953c7=_0x2953c7&&this[_0x443c34(0xb4c)][_0x443c34(0x74d)]&&(0x1<this[_0x443c34(0x2c8)]||this[_0x443c34(0x8e8)]),0x1<this[_0x443c34(0x2c8)]),_0x18b508=_0x7b3dad[_0x5a6c6f?_0x443c34(0x97b)+_0x223216:_0x443c34(0x97b)+_0x223216+_0x443c34(0x382)];if(_0x56efe3[_0x443c34(0x731)](_0x18b508),-0x1!==_0xcc0921){const _0x5d0786=new _0x58ce0e['l'](this,_0x58ce0e['S'][_0x443c34(0xb36)]);_0x393a7a[_0x223216]=_0x5d0786,_0x7b3dad[_0x443c34(0x2f9)](_0x7b3dad[_0x443c34(0x4a2)+_0x223216]),_0x7b3dad[_0x443c34(0x17d)](_0xcc0921,_0x5d0786[_0x443c34(0x372)][_0x443c34(0x22a)]),_0x7b3dad[_0x443c34(0x6b4)](_0xcc0921,_0x7b3dad[_0x443c34(0x286)],_0x4b6daf[_0x443c34(0xb32)]),_0x7b3dad[_0x443c34(0x6b4)](_0xcc0921,_0x7b3dad[_0x443c34(0x48f)],_0x4b6daf[_0x443c34(0x280)]),_0x7b3dad[_0x443c34(0x6b4)](_0xcc0921,_0x7b3dad['TEXTURE_WRAP_S'],_0x7b3dad[_0x443c34(0x15c)]),_0x7b3dad[_0x443c34(0x6b4)](_0xcc0921,_0x7b3dad['TEXTURE_WRAP_T'],_0x7b3dad[_0x443c34(0x15c)]);var _0x3d1dbe=this[_0x443c34(0x705)](_0x26e13f,_0x12e935,_0x2953c7),_0x396eb7=this[_0x443c34(0x28f)](_0x12e935),_0x42e79d=this['_getWebGLTextureType'](_0x26e13f);if(!_0x5a6c6f||_0xcc0921!==_0x4aa835['g'][_0x443c34(0x202)]&&_0xcc0921!==_0x4aa835['g'][_0x443c34(0x8fc)]){if(_0xcc0921===_0x4aa835['g'][_0x443c34(0x25e)]){for(let _0x4409be=0x0;_0x4409be<0x6;_0x4409be++)_0x7b3dad[_0x443c34(0x227)](_0x7b3dad[_0x443c34(0x4e4)]+_0x4409be,0x0,_0x3d1dbe,_0x38ec9e,_0x279554,0x0,_0x396eb7,_0x42e79d,null);_0x5d0786[_0x443c34(0x7ed)]=!0x0;}else _0x7b3dad[_0x443c34(0x227)](_0x7b3dad[_0x443c34(0xa38)],0x0,_0x3d1dbe,_0x38ec9e,_0x279554,0x0,_0x396eb7,_0x42e79d,null);}else _0xcc0921===_0x4aa835['g']['TEXTURE_2D_ARRAY']?_0x5d0786[_0x443c34(0x5a4)]=!0x0:_0x5d0786[_0x443c34(0x1ce)]=!0x0,_0x5d0786[_0x443c34(0x4f1)]=_0x5d0786[_0x443c34(0x67b)]=_0x92d4af,_0x7b3dad[_0x443c34(0x9ee)](_0xcc0921,0x0,_0x3d1dbe,_0x38ec9e,_0x279554,_0x92d4af,0x0,_0x396eb7,_0x42e79d,null);_0x52151a&&_0x7b3dad[_0x443c34(0xcae)](_0xcc0921),this[_0x443c34(0x8be)](_0xcc0921,null),_0x5d0786[_0x443c34(0x412)]=_0x38ec9e,_0x5d0786[_0x443c34(0x30a)]=_0x279554,_0x5d0786[_0x443c34(0x781)]=_0x38ec9e,_0x5d0786['height']=_0x279554,_0x5d0786[_0x443c34(0x682)]=!0x0,_0x5d0786[_0x443c34(0x819)]=0x1,_0x5d0786[_0x443c34(0xb73)]=_0x52151a,_0x5d0786[_0x443c34(0x12a)]=_0x2b4523,_0x5d0786[_0x443c34(0x6a4)]=_0x26e13f,_0x5d0786['_useSRGBBuffer']=_0x2953c7,_0x5d0786[_0x443c34(0x3be)]=_0x12e935,this['_internalTexturesCache']['push'](_0x5d0786);}}if(_0x41e0f1&&this['_caps'][_0x443c34(0xb3a)]){const _0x4e58e4=new _0x58ce0e['l'](this,_0x58ce0e['S'][_0x443c34(0x6a7)]);let _0x49c494=_0x4aa835['g'][_0x443c34(0x101)],_0xc4c3f0=_0x7b3dad[_0x443c34(0x630)],_0x5c1303=_0x7b3dad[_0x443c34(0x5a2)],_0x21b57d=_0x7b3dad[_0x443c34(0xb63)],_0x51000e=_0x7b3dad[_0x443c34(0xb35)];this['webGLVersion']<0x2?_0xc4c3f0=_0x7b3dad[_0x443c34(0x5a2)]:_0x1e52d1===_0x4aa835['g']['TEXTUREFORMAT_DEPTH32_FLOAT']?(_0x49c494=_0x4aa835['g'][_0x443c34(0x940)],_0x21b57d=_0x7b3dad[_0x443c34(0x7be)],_0xc4c3f0=_0x7b3dad['DEPTH_COMPONENT32F']):_0x1e52d1===_0x4aa835['g'][_0x443c34(0x1aa)]?(_0x49c494=_0x4aa835['g'][_0x443c34(0x312)],_0x21b57d=_0x7b3dad['FLOAT_32_UNSIGNED_INT_24_8_REV'],_0xc4c3f0=_0x7b3dad[_0x443c34(0x604)],_0x5c1303=_0x7b3dad['DEPTH_STENCIL'],_0x51000e=_0x7b3dad[_0x443c34(0xe1)]):_0x1e52d1===_0x4aa835['g'][_0x443c34(0x1c6)]?(_0x49c494=_0x4aa835['g'][_0x443c34(0x312)],_0x21b57d=_0x7b3dad[_0x443c34(0x7cf)],_0xc4c3f0=_0x7b3dad[_0x443c34(0x375)],_0x51000e=_0x7b3dad[_0x443c34(0xb35)]):_0x1e52d1!==_0x4aa835['g']['TEXTUREFORMAT_DEPTH24_STENCIL8']&&_0x1e52d1!==_0x4aa835['g'][_0x443c34(0xd2)]||(_0x49c494=_0x4aa835['g'][_0x443c34(0xb4d)],_0x21b57d=_0x7b3dad[_0x443c34(0xb1b)],_0xc4c3f0=_0x7b3dad['DEPTH24_STENCIL8'],_0x5c1303=_0x7b3dad[_0x443c34(0x4a7)],_0x51000e=_0x7b3dad[_0x443c34(0xe1)]),_0x7b3dad['activeTexture'](_0x7b3dad['TEXTURE0']),_0x7b3dad[_0x443c34(0x17d)](_0x7b3dad[_0x443c34(0xa38)],_0x4e58e4['_hardwareTexture'][_0x443c34(0x22a)]),_0x7b3dad[_0x443c34(0x6b4)](_0x7b3dad[_0x443c34(0xa38)],_0x7b3dad[_0x443c34(0x286)],_0x7b3dad['NEAREST']),_0x7b3dad[_0x443c34(0x6b4)](_0x7b3dad[_0x443c34(0xa38)],_0x7b3dad['TEXTURE_MIN_FILTER'],_0x7b3dad[_0x443c34(0x62e)]),_0x7b3dad['texParameteri'](_0x7b3dad['TEXTURE_2D'],_0x7b3dad[_0x443c34(0x285)],_0x7b3dad[_0x443c34(0x15c)]),_0x7b3dad[_0x443c34(0x6b4)](_0x7b3dad[_0x443c34(0xa38)],_0x7b3dad[_0x443c34(0x4a1)],_0x7b3dad[_0x443c34(0x15c)]),_0x7b3dad['texImage2D'](_0x7b3dad[_0x443c34(0xa38)],0x0,_0xc4c3f0,_0x38ec9e,_0x279554,0x0,_0x5c1303,_0x21b57d,null),_0x7b3dad['framebufferTexture2D'](_0x7b3dad[_0x443c34(0x248)],_0x51000e,_0x7b3dad['TEXTURE_2D'],_0x4e58e4[_0x443c34(0x372)][_0x443c34(0x22a)],0x0),_0x4e58e4['baseWidth']=_0x38ec9e,_0x4e58e4[_0x443c34(0x30a)]=_0x279554,_0x4e58e4['width']=_0x38ec9e,_0x4e58e4[_0x443c34(0x831)]=_0x279554,_0x4e58e4[_0x443c34(0x682)]=!0x0,_0x4e58e4[_0x443c34(0x819)]=0x1,_0x4e58e4[_0x443c34(0xb73)]=_0x52151a,_0x4e58e4[_0x443c34(0x12a)]=_0x4aa835['g'][_0x443c34(0x3bd)],_0x4e58e4[_0x443c34(0x3be)]=_0x1e52d1,_0x4e58e4['type']=_0x49c494,_0x393a7a[_0x27fddb]=_0x4e58e4,this['_internalTexturesCache']['push'](_0x4e58e4);}return _0x598c27[_0x443c34(0x6b5)](_0x393a7a),_0x27cf5f&&_0x7b3dad['drawBuffers'](_0x56efe3),this[_0x443c34(0x34c)](null),_0x598c27['setLayerAndFaceIndices'](_0x1aa9f2,_0x4fd9f3),this['resetTextureCache'](),_0x598c27;},_0x4eb6d5['B'][_0xaba680(0x40f)][_0xaba680(0x847)]=function(_0x16b568,_0x4ae323,_0xebaee4=!0x0){var _0x42d257=_0xaba680;if(this[_0x42d257(0x2c8)]<0x2||!_0x16b568||!_0x16b568[_0x42d257(0xa91)])return 0x1;if(_0x16b568[_0x42d257(0x819)]===_0x4ae323)return _0x4ae323;var _0x2e2aab=_0x16b568[_0x42d257(0x69b)]['length'];if(0x0===_0x2e2aab)return 0x1;const _0x2535cf=this[_0x42d257(0xb99)];_0x4ae323=Math[_0x42d257(0x280)](_0x4ae323,this[_0x42d257(0x7ac)]()['maxMSAASamples']);var _0x4bd2d8=!!_0x16b568['_depthStencilBuffer'];if(_0x4bd2d8&&(_0x2535cf[_0x42d257(0x148)](_0x16b568['_depthStencilBuffer']),_0x16b568['_depthStencilBuffer']=null),_0x16b568['_MSAAFramebuffer']&&(_0x2535cf[_0x42d257(0x915)](_0x16b568[_0x42d257(0x701)]),_0x16b568[_0x42d257(0x701)]=null),0x1<_0x4ae323&&_0x42d257(0x153)==typeof _0x2535cf[_0x42d257(0x551)]){var _0x3e15c9=_0x2535cf[_0x42d257(0x50a)]();if(!_0x3e15c9)throw new Error(_0x42d257(0x6c9));_0x16b568['_MSAAFramebuffer']=_0x3e15c9,this[_0x42d257(0x34c)](_0x3e15c9);const _0x1513b9=[];for(let _0x10466f=0x0;_0x10466f<_0x2e2aab;_0x10466f++){const _0x2f85d6=_0x16b568[_0x42d257(0x345)][_0x10466f][_0x42d257(0x372)];_0x2f85d6[_0x42d257(0xbe7)]();}for(let _0x4c5602=0x0;_0x4c5602<_0x2e2aab;_0x4c5602++){const _0x1d2b29=_0x16b568[_0x42d257(0x345)][_0x4c5602],_0x277cc2=_0x1d2b29['_hardwareTexture'];var _0x22c77c=_0x2535cf[0x1<this['webGLVersion']?'COLOR_ATTACHMENT'+_0x4c5602:_0x42d257(0x97b)+_0x4c5602+_0x42d257(0x382)],_0x173412=this['_createRenderBuffer'](_0x1d2b29[_0x42d257(0x781)],_0x1d2b29['height'],_0x4ae323,-0x1,this[_0x42d257(0x149)](_0x1d2b29[_0x42d257(0x6a4)]),_0x22c77c);if(!_0x173412)throw new Error(_0x42d257(0x6c9));_0x277cc2[_0x42d257(0x861)](_0x173412),_0x1d2b29[_0x42d257(0x819)]=_0x4ae323,_0x1513b9[_0x42d257(0x731)](_0x22c77c);}_0xebaee4&&_0x2535cf[_0x42d257(0xc3c)](_0x1513b9);}else this[_0x42d257(0x34c)](_0x16b568[_0x42d257(0x86c)]);return _0x4bd2d8&&(_0x16b568['_depthStencilBuffer']=this['_setupFramebufferDepthAttachments'](_0x16b568[_0x42d257(0x314)],_0x16b568[_0x42d257(0xcd7)],_0x16b568['texture'][_0x42d257(0x781)],_0x16b568[_0x42d257(0xa91)]['height'],_0x4ae323)),this['_bindUnboundFramebuffer'](null),_0x4ae323;};},0x17cc7:(_0x53f46c,_0x12fc2b,_0x2826c4)=>{var _0x57c4da=a6_0x36115b,_0x2f11c9=_0x2826c4(0xdef7),_0x3342d4=_0x2826c4(0xee04),_0xdfe07e=_0x2826c4(0x1446b),_0x17d5df=_0x2826c4(0x25b1),_0x413bff=_0x2826c4(0x9fd1),_0x53bf27=_0x2826c4(0x149c5),_0x32d125=_0x2826c4(0x15556),_0x200188=_0x2826c4(0x126cd);function _0x1f0532(_0x2eb290,_0x2c6724){var _0x353d1a=a6_0x238e;const _0x183d94=new _0x53bf27['M'](_0x2eb290,void 0x0,!0x0,_0x2c6724);return _0x183d94[_0x353d1a(0xbe8)](_0x353d1a(0x147),0x10),_0x183d94[_0x353d1a(0xbe8)](_0x353d1a(0xcb0),0x10),_0x183d94[_0x353d1a(0xbe8)](_0x353d1a(0x389),0x10),_0x183d94['addUniform'](_0x353d1a(0x799),0x10),_0x183d94[_0x353d1a(0xbe8)](_0x353d1a(0x5cb),0x4),_0x183d94;}_0x3342d4['D'][_0x57c4da(0x40f)][_0x57c4da(0x259)]=function(_0x5c8875,_0x4284a0){var _0xa18c29=_0x57c4da;const _0x3ecb26=this[_0xa18c29(0xb99)];if(!this['getCaps']()[_0xa18c29(0x25b)])throw _0xa18c29(0x61c);const _0x5b4d3c=this[_0xa18c29(0xc47)](!0x1,!0x1,{'width':_0x5c8875,'height':_0x4284a0}),_0xcd5554=(_0x5b4d3c[_0xa18c29(0x86c)]=_0x3ecb26[_0xa18c29(0x50a)](),new _0x17d5df['l'](this,_0x17d5df['S'][_0xa18c29(0xab6)],!0x0));return _0xcd5554[_0xa18c29(0x781)]=_0x5c8875,_0xcd5554[_0xa18c29(0x831)]=_0x4284a0,_0xcd5554[_0xa18c29(0xad5)]=!0x0,_0x5b4d3c['_colorTextureArray']=_0x3ecb26[_0xa18c29(0xaf5)](),_0x3ecb26[_0xa18c29(0x17d)](_0x3ecb26[_0xa18c29(0x202)],_0x5b4d3c['_colorTextureArray']),_0x3ecb26[_0xa18c29(0x7a9)](_0x3ecb26[_0xa18c29(0x202)],0x1,_0x3ecb26[_0xa18c29(0x8bc)],_0x5c8875,_0x4284a0,0x2),_0x5b4d3c[_0xa18c29(0x31f)]=_0x3ecb26[_0xa18c29(0xaf5)](),_0x3ecb26['bindTexture'](_0x3ecb26[_0xa18c29(0x202)],_0x5b4d3c[_0xa18c29(0x31f)]),_0x3ecb26[_0xa18c29(0x7a9)](_0x3ecb26[_0xa18c29(0x202)],0x1,_0x3ecb26['DEPTH24_STENCIL8'],_0x5c8875,_0x4284a0,0x2),_0xcd5554['isReady']=!0x0,_0x5b4d3c[_0xa18c29(0x6b5)](_0xcd5554),_0x5b4d3c[_0xa18c29(0x93c)]=_0xcd5554,_0x5b4d3c;},_0x3342d4['D'][_0x57c4da(0x40f)][_0x57c4da(0xa49)]=function(_0x45c238){var _0x514ca1=_0x57c4da;const _0x344d18=this[_0x514ca1(0xb99)],_0x48aba8=this[_0x514ca1(0x7ac)]()[_0x514ca1(0x302)]||this[_0x514ca1(0x7ac)]()['multiview'];if(this[_0x514ca1(0x8cf)](_0x45c238,void 0x0,void 0x0,void 0x0,!0x0),_0x344d18['bindFramebuffer'](_0x344d18[_0x514ca1(0x696)],_0x45c238[_0x514ca1(0x86c)]),!_0x45c238['_colorTextureArray']||!_0x45c238['_depthStencilTextureArray'])throw _0x514ca1(0xb49);this[_0x514ca1(0x7ac)]()[_0x514ca1(0x302)]?(_0x48aba8[_0x514ca1(0xb26)](_0x344d18[_0x514ca1(0x696)],_0x344d18[_0x514ca1(0x45a)],_0x45c238[_0x514ca1(0x5df)],0x0,_0x45c238[_0x514ca1(0x819)],0x0,0x2),_0x48aba8[_0x514ca1(0xb26)](_0x344d18[_0x514ca1(0x696)],_0x344d18[_0x514ca1(0xe1)],_0x45c238[_0x514ca1(0x31f)],0x0,_0x45c238['samples'],0x0,0x2)):(_0x48aba8['framebufferTextureMultiviewOVR'](_0x344d18[_0x514ca1(0x696)],_0x344d18['COLOR_ATTACHMENT0'],_0x45c238[_0x514ca1(0x5df)],0x0,0x0,0x2),_0x48aba8[_0x514ca1(0x475)](_0x344d18[_0x514ca1(0x696)],_0x344d18[_0x514ca1(0xe1)],_0x45c238['_depthStencilTextureArray'],0x0,0x0,0x2));},_0x2f11c9['V'][_0x57c4da(0x40f)][_0x57c4da(0x467)]=!0x1,_0x2f11c9['V'][_0x57c4da(0x40f)][_0x57c4da(0x25f)]=null,_0x2f11c9['V'][_0x57c4da(0x40f)][_0x57c4da(0x5a7)]=function(_0x8f6e81,_0xd34f7e){var _0x34817f=_0x57c4da;this[_0x34817f(0x25f)]?this[_0x34817f(0x25f)][_0x34817f(0xa50)]()==_0x8f6e81&&this['_multiviewTexture'][_0x34817f(0xd3)]()==_0xd34f7e||(this[_0x34817f(0x25f)][_0x34817f(0xae6)](),this[_0x34817f(0x25f)]=new _0x32d125['x'](this[_0x34817f(0xa8b)](),{'width':_0x8f6e81,'height':_0xd34f7e})):this[_0x34817f(0x25f)]=new _0x32d125['x'](this['getScene'](),{'width':_0x8f6e81,'height':_0xd34f7e});};const _0x3b374a=_0xdfe07e['x']['prototype'][_0x57c4da(0x801)];_0xdfe07e['x'][_0x57c4da(0x40f)]['_transformMatrixR']=_0x413bff['y3'][_0x57c4da(0x90f)](),_0xdfe07e['x'][_0x57c4da(0x40f)][_0x57c4da(0x6c5)]=null,_0xdfe07e['x'][_0x57c4da(0x40f)]['_createMultiviewUbo']=function(){var _0x28ed51=_0x57c4da;this[_0x28ed51(0x6c5)]=_0x1f0532(this['getEngine'](),_0x28ed51(0xbbd));},_0xdfe07e['x'][_0x57c4da(0x40f)][_0x57c4da(0x801)]=function(_0x508acf){var _0x5420a2=_0x57c4da;return this[_0x5420a2(0x6c5)]?_0x1f0532(this[_0x5420a2(0x5e8)](),_0x508acf):_0x3b374a['bind'](this)(_0x508acf);},_0xdfe07e['x'][_0x57c4da(0x40f)][_0x57c4da(0xb45)]=function(_0x5ef10f,_0x78c25d){var _0x295068=_0x57c4da;_0x5ef10f&&_0x78c25d&&_0x5ef10f['multiplyToRef'](_0x78c25d,this[_0x295068(0x265)]),_0x5ef10f&&_0x78c25d&&(_0x5ef10f[_0x295068(0xa70)](_0x78c25d,_0x413bff['jp'][_0x295068(0x7c6)][0x0]),_0x200188['i'][_0x295068(0x862)](_0x413bff['jp'][_0x295068(0x7c6)][0x0],this[_0x295068(0x362)][0x3])),this[_0x295068(0x6c5)]&&(this['_multiviewSceneUbo'][_0x295068(0xc97)](_0x295068(0x147),this[_0x295068(0x55d)]()),this[_0x295068(0x6c5)][_0x295068(0xc97)](_0x295068(0xcb0),this[_0x295068(0x265)]),this[_0x295068(0x6c5)][_0x295068(0xc97)](_0x295068(0x389),this['_viewMatrix']),this[_0x295068(0x6c5)][_0x295068(0xc97)](_0x295068(0x799),this[_0x295068(0x1af)]));},_0xdfe07e['x'][_0x57c4da(0x40f)][_0x57c4da(0x264)]=function(_0x5cab5d){var _0x446cf2=_0x57c4da;_0x5cab5d[_0x446cf2(0x5a7)](_0x5cab5d[_0x446cf2(0x812)]&&_0x5cab5d[_0x446cf2(0x812)]&&0x0<_0x5cab5d[_0x446cf2(0x812)][_0x446cf2(0x781)]?_0x5cab5d[_0x446cf2(0x812)][_0x446cf2(0x781)]:this['getEngine']()[_0x446cf2(0xa50)](!0x0),_0x5cab5d[_0x446cf2(0x812)]&&_0x5cab5d[_0x446cf2(0x812)]&&0x0<_0x5cab5d[_0x446cf2(0x812)][_0x446cf2(0x831)]?_0x5cab5d[_0x446cf2(0x812)][_0x446cf2(0x831)]:this['getEngine']()[_0x446cf2(0xd3)](!0x0)),this[_0x446cf2(0x6c5)]||this[_0x446cf2(0x4fa)](),_0x5cab5d[_0x446cf2(0x555)]=_0x5cab5d[_0x446cf2(0x25f)],this['_renderForCamera'](_0x5cab5d),_0x5cab5d[_0x446cf2(0x555)]=null;for(let _0x210c53=0x0;_0x210c53<_0x5cab5d[_0x446cf2(0x367)][_0x446cf2(0xb85)];_0x210c53++){const _0x8343e=this['getEngine']();this[_0x446cf2(0x435)]=_0x5cab5d[_0x446cf2(0x367)][_0x210c53],_0x8343e[_0x446cf2(0x82b)](this[_0x446cf2(0x435)][_0x446cf2(0x545)]),this[_0x446cf2(0x108)]&&(this[_0x446cf2(0x108)][_0x446cf2(0xb54)](),this['postProcessManager'][_0x446cf2(0xae0)](this[_0x446cf2(0x435)][_0x446cf2(0x3c3)]));}};},0x1293:(_0x445a82,_0x3fb6ea,_0x1921ba)=>{var _0x48728a=a6_0x36115b,_0x4be94f=_0x1921ba(0x25b1),_0x3dd290=_0x1921ba(0x10ea4),_0x37c4de=_0x1921ba(0xe222),_0x4658e0=_0x1921ba(0x77a5),_0x1921ba=_0x1921ba(0x202a);function _0x414161(_0x5d4667,_0x4ad9b7,_0x1c7ad9,_0xf4959f){var _0x137b88=a6_0x238e;let _0x447c7f,_0x3c5fd2=0x1;_0xf4959f===_0x4658e0['g'][_0x137b88(0x940)]?_0x447c7f=new Float32Array(_0x4ad9b7*_0x1c7ad9*0x4):_0xf4959f===_0x4658e0['g'][_0x137b88(0x1d6)]?(_0x447c7f=new Uint16Array(_0x4ad9b7*_0x1c7ad9*0x4),_0x3c5fd2=0x3c00):_0x447c7f=new(_0xf4959f===_0x4658e0['g'][(_0x137b88(0xac7))]?Uint32Array:Uint8Array)(_0x4ad9b7*_0x1c7ad9*0x4);for(let _0x17044d=0x0;_0x17044d<_0x4ad9b7;_0x17044d++)for(let _0x2f9dab=0x0;_0x2f9dab<_0x1c7ad9;_0x2f9dab++){var _0x141dff=0x3*(_0x2f9dab*_0x4ad9b7+_0x17044d),_0x1a7036=0x4*(_0x2f9dab*_0x4ad9b7+_0x17044d);_0x447c7f[0x0+_0x1a7036]=_0x5d4667[0x0+_0x141dff],_0x447c7f[0x1+_0x1a7036]=_0x5d4667[0x1+_0x141dff],_0x447c7f[0x2+_0x1a7036]=_0x5d4667[0x2+_0x141dff],_0x447c7f[0x3+_0x1a7036]=_0x3c5fd2;}return _0x447c7f;}function _0x29a7f8(_0x46055a){return function(_0x35bd8f,_0x57f6c9,_0x229c09,_0x353025,_0x492b08,_0x2789cf,_0x452d95,_0x2c23d0,_0x1bf186=null,_0x4215bd=_0x4658e0['g']['TEXTURETYPE_UNSIGNED_INT']){var _0x30b30d=a6_0x238e,_0x52af95=_0x46055a?this[_0x30b30d(0xb99)][_0x30b30d(0x8fc)]:this[_0x30b30d(0xb99)][_0x30b30d(0x202)],_0x46642d=_0x46055a?_0x4be94f['S']['Raw3D']:_0x4be94f['S'][_0x30b30d(0x53c)];const _0x11ded2=new _0x4be94f['l'](this,_0x46642d);return _0x11ded2['baseWidth']=_0x57f6c9,_0x11ded2[_0x30b30d(0x30a)]=_0x229c09,_0x11ded2[_0x30b30d(0x4f1)]=_0x353025,_0x11ded2[_0x30b30d(0x781)]=_0x57f6c9,_0x11ded2['height']=_0x229c09,_0x11ded2[_0x30b30d(0x67b)]=_0x353025,_0x11ded2[_0x30b30d(0x3be)]=_0x492b08,_0x11ded2[_0x30b30d(0x6a4)]=_0x4215bd,_0x11ded2[_0x30b30d(0xb73)]=_0x2789cf,_0x11ded2['samplingMode']=_0x2c23d0,_0x46055a?_0x11ded2[_0x30b30d(0x1ce)]=!0x0:_0x11ded2['is2DArray']=!0x0,this[_0x30b30d(0xb06)]||(_0x11ded2['_bufferView']=_0x35bd8f),_0x46055a?this['updateRawTexture3D'](_0x11ded2,_0x35bd8f,_0x492b08,_0x452d95,_0x1bf186,_0x4215bd):this[_0x30b30d(0x59e)](_0x11ded2,_0x35bd8f,_0x492b08,_0x452d95,_0x1bf186,_0x4215bd),this['_bindTextureDirectly'](_0x52af95,_0x11ded2,!0x0),_0x46642d=this[_0x30b30d(0x396)](_0x2c23d0,_0x2789cf),(this[_0x30b30d(0xb99)][_0x30b30d(0x6b4)](_0x52af95,this[_0x30b30d(0xb99)][_0x30b30d(0x286)],_0x46642d[_0x30b30d(0xb32)]),this[_0x30b30d(0xb99)][_0x30b30d(0x6b4)](_0x52af95,this[_0x30b30d(0xb99)][_0x30b30d(0x48f)],_0x46642d[_0x30b30d(0x280)]),_0x2789cf&&this['_gl'][_0x30b30d(0xcae)](_0x52af95),this['_bindTextureDirectly'](_0x52af95,null),this[_0x30b30d(0x2bd)][_0x30b30d(0x731)](_0x11ded2),_0x11ded2);};}function _0x576c8f(_0x52daa0){return function(_0x143fdc,_0x3a07e1,_0x3a178a,_0x40fb73,_0x31a048=null,_0x256f7f=_0x4658e0['g']['TEXTURETYPE_UNSIGNED_INT']){var _0x25f01a=a6_0x238e,_0x37afad=_0x52daa0?this[_0x25f01a(0xb99)][_0x25f01a(0x8fc)]:this[_0x25f01a(0xb99)]['TEXTURE_2D_ARRAY'],_0x5c52c4=this[_0x25f01a(0x439)](_0x256f7f),_0x5d2917=this['_getInternalFormat'](_0x3a178a),_0x256f7f=this[_0x25f01a(0x705)](_0x256f7f,_0x3a178a);this['_bindTextureDirectly'](_0x37afad,_0x143fdc,!0x0),this[_0x25f01a(0x71f)](void 0x0===_0x40fb73||!!_0x40fb73),this[_0x25f01a(0xb06)]||(_0x143fdc[_0x25f01a(0x269)]=_0x3a07e1,_0x143fdc[_0x25f01a(0x3be)]=_0x3a178a,_0x143fdc['invertY']=_0x40fb73,_0x143fdc[_0x25f01a(0x78a)]=_0x31a048),_0x143fdc['width']%0x4!=0x0&&this['_gl'][_0x25f01a(0x14c)](this[_0x25f01a(0xb99)]['UNPACK_ALIGNMENT'],0x1),_0x31a048&&_0x3a07e1?this[_0x25f01a(0xb99)][_0x25f01a(0x9c3)](_0x37afad,0x0,this[_0x25f01a(0x7ac)]()[_0x25f01a(0xaf4)][_0x31a048],_0x143fdc[_0x25f01a(0x781)],_0x143fdc[_0x25f01a(0x831)],_0x143fdc['depth'],0x0,_0x3a07e1):this[_0x25f01a(0xb99)][_0x25f01a(0x9ee)](_0x37afad,0x0,_0x256f7f,_0x143fdc['width'],_0x143fdc[_0x25f01a(0x831)],_0x143fdc[_0x25f01a(0x67b)],0x0,_0x5d2917,_0x5c52c4,_0x3a07e1),_0x143fdc['generateMipMaps']&&this[_0x25f01a(0xb99)]['generateMipmap'](_0x37afad),this[_0x25f01a(0x8be)](_0x37afad,null),_0x143fdc[_0x25f01a(0x682)]=!0x0;};}_0x1921ba['B'][_0x48728a(0x40f)][_0x48728a(0x70f)]=function(_0x122044,_0x3512eb,_0x1b5384,_0x460a2d,_0xa9397c=null,_0x26d767=_0x4658e0['g'][_0x48728a(0x312)],_0x4e9ebf=!0x1){var _0x1401d5=_0x48728a,_0x1e39a8,_0x27d611;_0x122044&&(_0x4e9ebf=this[_0x1401d5(0x705)](_0x26d767,_0x1b5384,_0x4e9ebf),_0x1e39a8=this[_0x1401d5(0x28f)](_0x1b5384),_0x27d611=this[_0x1401d5(0x439)](_0x26d767),this[_0x1401d5(0x8be)](this[_0x1401d5(0xb99)]['TEXTURE_2D'],_0x122044,!0x0),this[_0x1401d5(0x71f)](void 0x0===_0x460a2d||!!_0x460a2d),this[_0x1401d5(0xb06)]||(_0x122044['_bufferView']=_0x3512eb,_0x122044[_0x1401d5(0x3be)]=_0x1b5384,_0x122044[_0x1401d5(0x6a4)]=_0x26d767,_0x122044['invertY']=_0x460a2d,_0x122044[_0x1401d5(0x78a)]=_0xa9397c),_0x122044['width']%0x4!=0x0&&this[_0x1401d5(0xb99)][_0x1401d5(0x14c)](this['_gl']['UNPACK_ALIGNMENT'],0x1),_0xa9397c&&_0x3512eb?this['_gl'][_0x1401d5(0x994)](this[_0x1401d5(0xb99)][_0x1401d5(0xa38)],0x0,this[_0x1401d5(0x7ac)]()[_0x1401d5(0xaf4)][_0xa9397c],_0x122044[_0x1401d5(0x781)],_0x122044[_0x1401d5(0x831)],0x0,_0x3512eb):this[_0x1401d5(0xb99)][_0x1401d5(0x227)](this['_gl']['TEXTURE_2D'],0x0,_0x4e9ebf,_0x122044['width'],_0x122044[_0x1401d5(0x831)],0x0,_0x1e39a8,_0x27d611,_0x3512eb),_0x122044[_0x1401d5(0xb73)]&&this['_gl'][_0x1401d5(0xcae)](this[_0x1401d5(0xb99)][_0x1401d5(0xa38)]),this['_bindTextureDirectly'](this[_0x1401d5(0xb99)][_0x1401d5(0xa38)],null),_0x122044['isReady']=!0x0);},_0x1921ba['B']['prototype'][_0x48728a(0xae3)]=function(_0x1dd620,_0x1c1d52,_0x283bcb,_0x25748b,_0x554f25,_0x2da417,_0x94d291,_0xd483ef=null,_0x352bde=_0x4658e0['g'][_0x48728a(0x312)],_0x796dbc,_0x46e1d3=!0x1){var _0x108283=_0x48728a;const _0x4f096a=new _0x4be94f['l'](this,_0x4be94f['S'][_0x108283(0x9f9)]);return _0x4f096a[_0x108283(0x412)]=_0x1c1d52,_0x4f096a['baseHeight']=_0x283bcb,_0x4f096a['width']=_0x1c1d52,_0x4f096a[_0x108283(0x831)]=_0x283bcb,_0x4f096a['format']=_0x25748b,_0x4f096a[_0x108283(0xb73)]=_0x554f25,_0x4f096a[_0x108283(0x12a)]=_0x94d291,_0x4f096a['invertY']=_0x2da417,_0x4f096a[_0x108283(0x78a)]=_0xd483ef,_0x4f096a[_0x108283(0x6a4)]=_0x352bde,_0x4f096a[_0x108283(0xbba)]=this[_0x108283(0x41e)](_0x46e1d3,!_0x554f25),this[_0x108283(0xb06)]||(_0x4f096a[_0x108283(0x269)]=_0x1dd620),this[_0x108283(0x70f)](_0x4f096a,_0x1dd620,_0x25748b,_0x2da417,_0xd483ef,_0x352bde,_0x4f096a[_0x108283(0xbba)]),this[_0x108283(0x8be)](this['_gl'][_0x108283(0xa38)],_0x4f096a,!0x0),_0x1c1d52=this['_getSamplingParameters'](_0x94d291,_0x554f25),(this['_gl'][_0x108283(0x6b4)](this['_gl'][_0x108283(0xa38)],this[_0x108283(0xb99)][_0x108283(0x286)],_0x1c1d52['mag']),this[_0x108283(0xb99)][_0x108283(0x6b4)](this[_0x108283(0xb99)][_0x108283(0xa38)],this['_gl'][_0x108283(0x48f)],_0x1c1d52[_0x108283(0x280)]),_0x554f25&&this[_0x108283(0xb99)][_0x108283(0xcae)](this[_0x108283(0xb99)]['TEXTURE_2D']),this['_bindTextureDirectly'](this[_0x108283(0xb99)]['TEXTURE_2D'],null),this[_0x108283(0x2bd)][_0x108283(0x731)](_0x4f096a),_0x4f096a);},_0x1921ba['B'][_0x48728a(0x40f)][_0x48728a(0x8ca)]=function(_0x1cbae0,_0x14235a,_0x2c57d4,_0x5c19a7,_0xdbb6fd,_0x197cce,_0x280599,_0x19228e=null){var _0xd4d01e=_0x48728a;const _0x37070c=this['_gl'],_0x219b86=new _0x4be94f['l'](this,_0x4be94f['S']['CubeRaw']);_0x219b86[_0xd4d01e(0x7ed)]=!0x0,_0x219b86[_0xd4d01e(0x3be)]=_0x2c57d4,_0x219b86['type']=_0x5c19a7,this[_0xd4d01e(0xb06)]||(_0x219b86[_0xd4d01e(0x2ed)]=_0x1cbae0);var _0x4cc8df=this[_0xd4d01e(0x439)](_0x5c19a7);let _0x29722f=this[_0xd4d01e(0x28f)](_0x2c57d4);_0x29722f===_0x37070c['RGB']&&(_0x29722f=_0x37070c[_0xd4d01e(0xb48)]),_0x4cc8df!==_0x37070c[_0xd4d01e(0x7be)]||this[_0xd4d01e(0xb4c)]['textureFloatLinearFiltering']?_0x4cc8df!==this[_0xd4d01e(0xb99)]['HALF_FLOAT_OES']||this[_0xd4d01e(0xb4c)]['textureHalfFloatLinearFiltering']?_0x4cc8df!==_0x37070c[_0xd4d01e(0x7be)]||this['_caps']['textureFloatRender']?_0x4cc8df!==_0x37070c[_0xd4d01e(0xb10)]||this[_0xd4d01e(0xb4c)][_0xd4d01e(0x44e)]||(_0xdbb6fd=!0x1,_0x3dd290['Y'][_0xd4d01e(0x2e9)]('Render\x20to\x20half\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.')):(_0xdbb6fd=!0x1,_0x3dd290['Y'][_0xd4d01e(0x2e9)]('Render\x20to\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.')):(_0xdbb6fd=!0x1,_0x280599=_0x4658e0['g']['TEXTURE_NEAREST_SAMPLINGMODE'],_0x3dd290['Y'][_0xd4d01e(0x2e9)](_0xd4d01e(0xb00))):(_0xdbb6fd=!0x1,_0x280599=_0x4658e0['g'][_0xd4d01e(0x3bd)],_0x3dd290['Y'][_0xd4d01e(0x2e9)]('Float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.'));var _0xfa178c=_0x14235a;if(_0x219b86[_0xd4d01e(0x781)]=_0x14235a,_0x219b86[_0xd4d01e(0x831)]=_0xfa178c,_0x219b86['invertY']=_0x197cce,_0x219b86[_0xd4d01e(0x78a)]=_0x19228e,!this[_0xd4d01e(0x476)]||_0x37c4de['w1'][_0xd4d01e(0x6ba)](_0x219b86[_0xd4d01e(0x781)])&&_0x37c4de['w1'][_0xd4d01e(0x6ba)](_0x219b86[_0xd4d01e(0x831)])||(_0xdbb6fd=!0x1),_0x1cbae0)this[_0xd4d01e(0x15a)](_0x219b86,_0x1cbae0,_0x2c57d4,_0x5c19a7,_0x197cce,_0x19228e);else{var _0x5320b5=this[_0xd4d01e(0x705)](_0x5c19a7);this[_0xd4d01e(0x8be)](_0x37070c[_0xd4d01e(0x25e)],_0x219b86,!0x0);for(let _0x5c199c=0x0;_0x5c199c<0x6;_0x5c199c++)_0x19228e?_0x37070c['compressedTexImage2D'](_0x37070c['TEXTURE_CUBE_MAP_POSITIVE_X']+_0x5c199c,0x0,this[_0xd4d01e(0x7ac)]()[_0xd4d01e(0xaf4)][_0x19228e],_0x219b86[_0xd4d01e(0x781)],_0x219b86['height'],0x0,void 0x0):_0x37070c[_0xd4d01e(0x227)](_0x37070c[_0xd4d01e(0x4e4)]+_0x5c199c,0x0,_0x5320b5,_0x219b86[_0xd4d01e(0x781)],_0x219b86[_0xd4d01e(0x831)],0x0,_0x29722f,_0x4cc8df,null);this[_0xd4d01e(0x8be)](this[_0xd4d01e(0xb99)][_0xd4d01e(0x25e)],null);}return this[_0xd4d01e(0x8be)](this['_gl'][_0xd4d01e(0x25e)],_0x219b86,!0x0),_0x1cbae0&&_0xdbb6fd&&this[_0xd4d01e(0xb99)][_0xd4d01e(0xcae)](this['_gl']['TEXTURE_CUBE_MAP']),_0x14235a=this[_0xd4d01e(0x396)](_0x280599,_0xdbb6fd),(_0x37070c[_0xd4d01e(0x6b4)](_0x37070c[_0xd4d01e(0x25e)],_0x37070c[_0xd4d01e(0x286)],_0x14235a[_0xd4d01e(0xb32)]),_0x37070c[_0xd4d01e(0x6b4)](_0x37070c[_0xd4d01e(0x25e)],_0x37070c['TEXTURE_MIN_FILTER'],_0x14235a[_0xd4d01e(0x280)]),_0x37070c[_0xd4d01e(0x6b4)](_0x37070c[_0xd4d01e(0x25e)],_0x37070c[_0xd4d01e(0x285)],_0x37070c[_0xd4d01e(0x15c)]),_0x37070c[_0xd4d01e(0x6b4)](_0x37070c['TEXTURE_CUBE_MAP'],_0x37070c[_0xd4d01e(0x4a1)],_0x37070c[_0xd4d01e(0x15c)]),this[_0xd4d01e(0x8be)](_0x37070c['TEXTURE_CUBE_MAP'],null),_0x219b86[_0xd4d01e(0xb73)]=_0xdbb6fd,_0x219b86[_0xd4d01e(0x12a)]=_0x280599,_0x219b86[_0xd4d01e(0x682)]=!0x0,_0x219b86);},_0x1921ba['B']['prototype']['updateRawCubeTexture']=function(_0x173839,_0x3a8207,_0x4430e3,_0x7f0549,_0x4e7476,_0x1fe2c6=null,_0x1c8674=0x0){var _0x5be886=_0x48728a;_0x173839[_0x5be886(0x2ed)]=_0x3a8207,_0x173839[_0x5be886(0x3be)]=_0x4430e3,_0x173839[_0x5be886(0x6a4)]=_0x7f0549,_0x173839[_0x5be886(0xae5)]=_0x4e7476,_0x173839[_0x5be886(0x78a)]=_0x1fe2c6;const _0x22852a=this[_0x5be886(0xb99)];var _0x298d79=this[_0x5be886(0x439)](_0x7f0549);let _0x1dec57=this['_getInternalFormat'](_0x4430e3);var _0x4ae740=this[_0x5be886(0x705)](_0x7f0549);let _0x440cf0=!0x1;_0x1dec57===_0x22852a[_0x5be886(0x9ab)]&&(_0x1dec57=_0x22852a[_0x5be886(0xb48)],_0x440cf0=!0x0),this[_0x5be886(0x8be)](_0x22852a[_0x5be886(0x25e)],_0x173839,!0x0),this[_0x5be886(0x71f)](void 0x0===_0x4e7476||!!_0x4e7476),_0x173839[_0x5be886(0x781)]%0x4!=0x0&&_0x22852a[_0x5be886(0x14c)](_0x22852a[_0x5be886(0x233)],0x1);for(let _0x666eae=0x0;_0x666eae<0x6;_0x666eae++){let _0x4ea567=_0x3a8207[_0x666eae];_0x1fe2c6?_0x22852a[_0x5be886(0x994)](_0x22852a[_0x5be886(0x4e4)]+_0x666eae,_0x1c8674,this[_0x5be886(0x7ac)]()['s3tc'][_0x1fe2c6],_0x173839[_0x5be886(0x781)],_0x173839[_0x5be886(0x831)],0x0,_0x4ea567):(_0x440cf0&&(_0x4ea567=_0x414161(_0x4ea567,_0x173839[_0x5be886(0x781)],_0x173839[_0x5be886(0x831)],_0x7f0549)),_0x22852a[_0x5be886(0x227)](_0x22852a[_0x5be886(0x4e4)]+_0x666eae,_0x1c8674,_0x4ae740,_0x173839['width'],_0x173839['height'],0x0,_0x1dec57,_0x298d79,_0x4ea567));}(!this[_0x5be886(0x476)]||_0x37c4de['w1'][_0x5be886(0x6ba)](_0x173839[_0x5be886(0x781)])&&_0x37c4de['w1']['IsExponentOfTwo'](_0x173839[_0x5be886(0x831)]))&&_0x173839[_0x5be886(0xb73)]&&0x0===_0x1c8674&&this['_gl'][_0x5be886(0xcae)](this[_0x5be886(0xb99)][_0x5be886(0x25e)]),this[_0x5be886(0x8be)](this[_0x5be886(0xb99)]['TEXTURE_CUBE_MAP'],null),_0x173839[_0x5be886(0x682)]=!0x0;},_0x1921ba['B'][_0x48728a(0x40f)]['createRawCubeTextureFromUrl']=function(_0x39689c,_0x4cf4c0,_0x26e54f,_0x5dfd58,_0x21ec3a,_0xc3903f,_0xfa475d,_0x22a21e,_0x1e87aa=null,_0x38f67f=null,_0x505a16=_0x4658e0['g'][_0x48728a(0x23b)],_0x34e8bb=!0x1){var _0x4f7207=_0x48728a;const _0x2b76e5=this[_0x4f7207(0xb99)],_0xa252a1=this[_0x4f7207(0x8ca)](null,_0x26e54f,_0x5dfd58,_0x21ec3a,!_0xc3903f,_0x34e8bb,_0x505a16,null),_0x2eea66=(null!=_0x4cf4c0&&_0x4cf4c0['addPendingData'](_0xa252a1),_0xa252a1[_0x4f7207(0x1e5)]=_0x39689c,this['_internalTexturesCache'][_0x4f7207(0x731)](_0xa252a1),_0xc7c576=>{var _0x164a31=_0x4f7207,_0x54e40c=_0xa252a1[_0x164a31(0x781)],_0xc7c576=_0xfa475d(_0xc7c576);if(_0xc7c576){if(_0x22a21e){var _0x491ddc=this[_0x164a31(0x439)](_0x21ec3a);let _0x25e1f9=this[_0x164a31(0x28f)](_0x5dfd58);var _0x3c5b9f=this[_0x164a31(0x705)](_0x21ec3a);let _0x4de6ad=!0x1;_0x25e1f9===_0x2b76e5[_0x164a31(0x9ab)]&&(_0x25e1f9=_0x2b76e5['RGBA'],_0x4de6ad=!0x0),this[_0x164a31(0x8be)](_0x2b76e5[_0x164a31(0x25e)],_0xa252a1,!0x0),this[_0x164a31(0x71f)](!0x1);var _0x249bad=_0x22a21e(_0xc7c576);for(let _0x4a4288=0x0;_0x4a4288<_0x249bad[_0x164a31(0xb85)];_0x4a4288++){var _0x1abd73=_0x54e40c>>_0x4a4288;for(let _0x4db507=0x0;_0x4db507<0x6;_0x4db507++){let _0x250d46=_0x249bad[_0x4a4288][_0x4db507];_0x4de6ad&&(_0x250d46=_0x414161(_0x250d46,_0x1abd73,_0x1abd73,_0x21ec3a)),_0x2b76e5[_0x164a31(0x227)](_0x4db507,_0x4a4288,_0x3c5b9f,_0x1abd73,_0x1abd73,0x0,_0x25e1f9,_0x491ddc,_0x250d46);}}this[_0x164a31(0x8be)](_0x2b76e5['TEXTURE_CUBE_MAP'],null);}else this[_0x164a31(0x15a)](_0xa252a1,_0xc7c576,_0x5dfd58,_0x21ec3a,_0x34e8bb);_0xa252a1['isReady']=!0x0,null!=_0x4cf4c0&&_0x4cf4c0['removePendingData'](_0xa252a1),_0xa252a1[_0x164a31(0xc2e)][_0x164a31(0x575)](_0xa252a1),_0xa252a1[_0x164a31(0xc2e)][_0x164a31(0x20f)](),_0x1e87aa&&_0x1e87aa();}});return this[_0x4f7207(0x84f)](_0x39689c,_0x7db2e4=>{_0x2eea66(_0x7db2e4);},void 0x0,null==_0x4cf4c0?void 0x0:_0x4cf4c0[_0x4f7207(0x3f5)],!0x0,(_0x3ca18f,_0x9a1483)=>{var _0x13b6d7=_0x4f7207;null!=_0x4cf4c0&&_0x4cf4c0['removePendingData'](_0xa252a1),_0x38f67f&&_0x3ca18f&&_0x38f67f(_0x3ca18f['status']+'\x20'+_0x3ca18f[_0x13b6d7(0x816)],_0x9a1483);}),_0xa252a1;},_0x1921ba['B'][_0x48728a(0x40f)][_0x48728a(0xad0)]=_0x29a7f8(!0x1),_0x1921ba['B'][_0x48728a(0x40f)][_0x48728a(0x632)]=_0x29a7f8(!0x0),_0x1921ba['B'][_0x48728a(0x40f)]['updateRawTexture2DArray']=_0x576c8f(!0x1),_0x1921ba['B']['prototype']['updateRawTexture3D']=_0x576c8f(!0x0);},0x3c27:(_0x2e4f98,_0x4ea31f,_0x2199dc)=>{var _0x9b3806=a6_0x36115b;_0x2199dc['d'](_0x4ea31f,{'A':()=>_0x24e4cc});var _0x4ea31f=_0x2199dc(0x202a),_0x489c03=_0x2199dc(0x77a5);function _0x24e4cc(_0x9dfce6,_0x1a983d,_0x5c9888=!0x1,_0x59336f){var _0x3cdf82=a6_0x238e;switch(_0x9dfce6){case _0x489c03['g'][_0x3cdf82(0x1b0)]:{ArrayBuffer;const _0x3e196d=new Int8Array(_0x1a983d);return _0x59336f&&_0x3e196d[_0x3cdf82(0xd4)](new Int8Array(_0x59336f)),_0x3e196d;}case _0x489c03['g'][_0x3cdf82(0x4ca)]:{ArrayBuffer;const _0x50094f=new Uint8Array(_0x1a983d);return _0x59336f&&_0x50094f[_0x3cdf82(0xd4)](new Uint8Array(_0x59336f)),_0x50094f;}case _0x489c03['g'][_0x3cdf82(0x3dd)]:{const _0x1500ad=_0x1a983d instanceof ArrayBuffer?new Int16Array(_0x1a983d):new Int16Array(_0x5c9888?_0x1a983d/0x2:_0x1a983d);return _0x59336f&&_0x1500ad['set'](new Int16Array(_0x59336f)),_0x1500ad;}case _0x489c03['g'][_0x3cdf82(0x101)]:case _0x489c03['g'][_0x3cdf82(0x276)]:case _0x489c03['g'][_0x3cdf82(0x1bb)]:case _0x489c03['g'][_0x3cdf82(0x1cc)]:case _0x489c03['g']['TEXTURETYPE_HALF_FLOAT']:{const _0x2a6833=_0x1a983d instanceof ArrayBuffer?new Uint16Array(_0x1a983d):new Uint16Array(_0x5c9888?_0x1a983d/0x2:_0x1a983d);return _0x59336f&&_0x2a6833[_0x3cdf82(0xd4)](new Uint16Array(_0x59336f)),_0x2a6833;}case _0x489c03['g'][_0x3cdf82(0x385)]:{const _0x4c1b8c=_0x1a983d instanceof ArrayBuffer?new Int32Array(_0x1a983d):new Int32Array(_0x5c9888?_0x1a983d/0x4:_0x1a983d);return _0x59336f&&_0x4c1b8c[_0x3cdf82(0xd4)](new Int32Array(_0x59336f)),_0x4c1b8c;}case _0x489c03['g'][_0x3cdf82(0xac7)]:case _0x489c03['g'][_0x3cdf82(0x713)]:case _0x489c03['g'][_0x3cdf82(0xb4d)]:case _0x489c03['g'][_0x3cdf82(0xc99)]:case _0x489c03['g'][_0x3cdf82(0x7e1)]:case _0x489c03['g']['TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV']:{const _0x4e0026=_0x1a983d instanceof ArrayBuffer?new Uint32Array(_0x1a983d):new Uint32Array(_0x5c9888?_0x1a983d/0x4:_0x1a983d);return _0x59336f&&_0x4e0026[_0x3cdf82(0xd4)](new Uint32Array(_0x59336f)),_0x4e0026;}case _0x489c03['g']['TEXTURETYPE_FLOAT']:{const _0x3f9be4=_0x1a983d instanceof ArrayBuffer?new Float32Array(_0x1a983d):new Float32Array(_0x5c9888?_0x1a983d/0x4:_0x1a983d);return _0x59336f&&_0x3f9be4['set'](new Float32Array(_0x59336f)),_0x3f9be4;}}ArrayBuffer;const _0x471910=new Uint8Array(_0x1a983d);return _0x59336f&&_0x471910[_0x3cdf82(0xd4)](new Uint8Array(_0x59336f)),_0x471910;}_0x4ea31f['B'][_0x9b3806(0x40f)][_0x9b3806(0xcb7)]=function(_0x244c80,_0x42ea24,_0x2ec764,_0x3f2e13=-0x1,_0x336033=0x0,_0x2675b4=null,_0x49033e=!0x0,_0x225919=!0x1,_0xc27a63=0x0,_0x20e53d=0x0){var _0x5abf44=_0x9b3806;const _0x547871=this['_gl'];if(!_0x547871)throw new Error('Engine\x20does\x20not\x20have\x20gl\x20rendering\x20context.');if(!this['_dummyFramebuffer']){var _0x240cee=_0x547871[_0x5abf44(0x50a)]();if(!_0x240cee)throw new Error(_0x5abf44(0x9f3));this[_0x5abf44(0x56e)]=_0x240cee;}_0x547871[_0x5abf44(0x8cf)](_0x547871[_0x5abf44(0x248)],this[_0x5abf44(0x56e)]),-0x1<_0x3f2e13?_0x547871[_0x5abf44(0x20a)](_0x547871[_0x5abf44(0x248)],_0x547871['COLOR_ATTACHMENT0'],_0x547871[_0x5abf44(0x4e4)]+_0x3f2e13,null==(_0x240cee=_0x244c80[_0x5abf44(0x372)])?void 0x0:_0x240cee[_0x5abf44(0x22a)],_0x336033):_0x547871[_0x5abf44(0x20a)](_0x547871['FRAMEBUFFER'],_0x547871[_0x5abf44(0x45a)],_0x547871['TEXTURE_2D'],null==(_0x3f2e13=_0x244c80[_0x5abf44(0x372)])?void 0x0:_0x3f2e13[_0x5abf44(0x22a)],_0x336033);let _0x183e4e=void 0x0!==_0x244c80['type']?this[_0x5abf44(0x439)](_0x244c80[_0x5abf44(0x6a4)]):_0x547871[_0x5abf44(0x24a)];return _0x225919?_0x2675b4=_0x2675b4||_0x24e4cc(_0x244c80['type'],0x4*_0x42ea24*_0x2ec764):_0x183e4e=_0x183e4e===_0x547871['UNSIGNED_BYTE']?(_0x2675b4=_0x2675b4||new Uint8Array(0x4*_0x42ea24*_0x2ec764),_0x547871[_0x5abf44(0x24a)]):(_0x2675b4=_0x2675b4||new Float32Array(0x4*_0x42ea24*_0x2ec764),_0x547871[_0x5abf44(0x7be)]),_0x49033e&&this['flushFramebuffer'](),_0x547871[_0x5abf44(0x5ac)](_0xc27a63,_0x20e53d,_0x42ea24,_0x2ec764,_0x547871[_0x5abf44(0xb48)],_0x183e4e,_0x2675b4),_0x547871[_0x5abf44(0x8cf)](_0x547871[_0x5abf44(0x248)],this['_currentFramebuffer']),_0x2675b4;},_0x4ea31f['B'][_0x9b3806(0x40f)][_0x9b3806(0x2a1)]=function(_0x1f97f3,_0x24f7f7,_0x27a01b,_0x340df9=-0x1,_0x2aaa40=0x0,_0x54f0e7=null,_0x4247de=!0x0,_0x2f0b7d=!0x1,_0x16bc6d=0x0,_0x4681b6=0x0){var _0xbdc4c6=_0x9b3806;return Promise['resolve'](this[_0xbdc4c6(0xcb7)](_0x1f97f3,_0x24f7f7,_0x27a01b,_0x340df9,_0x2aaa40,_0x54f0e7,_0x4247de,_0x2f0b7d,_0x16bc6d,_0x4681b6));};},0xd75:(_0x9d6052,_0x55270b,_0x3a231d)=>{var _0x2ca852=a6_0x36115b,_0xefd495=_0x3a231d(0x25b1),_0x28848b=_0x3a231d(0x10ea4),_0x22fa36=_0x3a231d(0x202a);class _0x14e5d5 extends _0x3a231d(0x758)['r']{constructor(_0x5299ba,_0x4fa0cf,_0x408314,_0x339357,_0x5c7889){var _0x8dd3df=a6_0x238e;super(_0x5299ba,_0x4fa0cf,_0x408314,_0x339357),this[_0x8dd3df(0x86c)]=null,this[_0x8dd3df(0x854)]=null,this[_0x8dd3df(0x701)]=null,this[_0x8dd3df(0x5df)]=null,this[_0x8dd3df(0x31f)]=null,this[_0x8dd3df(0x343)]=_0x5c7889;}[_0x2ca852(0x374)](){var _0x1bb780=_0x2ca852;let _0x3a063b=null;return this['_colorTextureArray']&&this[_0x1bb780(0x31f)]?(_0x3a063b=this[_0x1bb780(0x4ae)][_0x1bb780(0x259)](this[_0x1bb780(0x781)],this['height']))[_0x1bb780(0xa91)][_0x1bb780(0x682)]=!0x0:_0x3a063b=super[_0x1bb780(0x374)](),_0x3a063b;}[_0x2ca852(0x6ae)](_0x519261){var _0x4a18fa=_0x2ca852;super[_0x4a18fa(0x6ae)](_0x519261),_0x519261[_0x4a18fa(0x86c)]=this[_0x4a18fa(0x86c)],_0x519261[_0x4a18fa(0x854)]=this[_0x4a18fa(0x854)],_0x519261[_0x4a18fa(0x701)]=this[_0x4a18fa(0x701)],_0x519261[_0x4a18fa(0x5df)]=this[_0x4a18fa(0x5df)],_0x519261['_depthStencilTextureArray']=this[_0x4a18fa(0x31f)],this[_0x4a18fa(0x86c)]=this[_0x4a18fa(0x854)]=this[_0x4a18fa(0x701)]=this['_colorTextureArray']=this[_0x4a18fa(0x31f)]=null;}[_0x2ca852(0x742)](_0x547078){var _0x318340=_0x2ca852;super[_0x318340(0x742)](_0x547078);const _0x50e06f=this[_0x318340(0x343)];var _0x544bcf=this[_0x318340(0x854)],_0x526e5c=_0x547078[_0x318340(0x701)]||_0x547078[_0x318340(0x86c)];_0x547078[_0x318340(0x854)]&&_0x50e06f[_0x318340(0x148)](_0x547078[_0x318340(0x854)]),_0x547078[_0x318340(0x854)]=this['_depthStencilBuffer'],this[_0x318340(0x4ae)][_0x318340(0x34c)](_0x526e5c),_0x50e06f[_0x318340(0x83f)](_0x50e06f[_0x318340(0x248)],_0x50e06f[_0x318340(0xb35)],_0x50e06f[_0x318340(0x11c)],_0x544bcf),this[_0x318340(0x4ae)][_0x318340(0x34c)](null);}[_0x2ca852(0xcdd)](_0x399518,_0x5ba739=0x0,_0x67e2d0,_0x4dbe05=0x0){var _0x44135f=_0x2ca852;if(_0x399518[_0x44135f(0x372)]){var _0x262721=this[_0x44135f(0x86c)],_0x197fd4=this[_0x44135f(0x4ae)]['_currentFramebuffer'];if(this['_engine'][_0x44135f(0x34c)](_0x262721),0x1<this['_engine'][_0x44135f(0x2c8)]){const _0x3aee48=this[_0x44135f(0x343)];_0x262721=_0x3aee48['COLOR_ATTACHMENT'+_0x5ba739],_0x399518[_0x44135f(0x5a4)]||_0x399518['is3D']?(_0x67e2d0=null!=(_0x16500d=null!=_0x67e2d0?_0x67e2d0:null==(_0x16500d=this[_0x44135f(0xa3e)])?void 0x0:_0x16500d[_0x5ba739])?_0x16500d:0x0,_0x3aee48[_0x44135f(0x7a6)](_0x3aee48[_0x44135f(0x248)],_0x262721,_0x399518[_0x44135f(0x372)][_0x44135f(0x22a)],_0x4dbe05,_0x67e2d0)):_0x399518[_0x44135f(0x7ed)]?(_0x67e2d0=null!=(_0x16500d=null!=_0x67e2d0?_0x67e2d0:null==(_0x16500d=this[_0x44135f(0x465)])?void 0x0:_0x16500d[_0x5ba739])?_0x16500d:0x0,_0x3aee48[_0x44135f(0x20a)](_0x3aee48[_0x44135f(0x248)],_0x262721,_0x3aee48[_0x44135f(0x4e4)]+_0x67e2d0,_0x399518[_0x44135f(0x372)][_0x44135f(0x22a)],_0x4dbe05)):_0x3aee48['framebufferTexture2D'](_0x3aee48[_0x44135f(0x248)],_0x262721,_0x3aee48[_0x44135f(0xa38)],_0x399518['_hardwareTexture'][_0x44135f(0x22a)],_0x4dbe05);}else{const _0x4c03ca=this[_0x44135f(0x343)];var _0x16500d=_0x4c03ca['COLOR_ATTACHMENT'+_0x5ba739+_0x44135f(0x382)],_0x262721=void 0x0!==_0x67e2d0?_0x4c03ca['TEXTURE_CUBE_MAP_POSITIVE_X']+_0x67e2d0:_0x4c03ca[_0x44135f(0xa38)];_0x4c03ca[_0x44135f(0x20a)](_0x4c03ca[_0x44135f(0x248)],_0x16500d,_0x262721,_0x399518[_0x44135f(0x372)][_0x44135f(0x22a)],_0x4dbe05);}this[_0x44135f(0x4ae)][_0x44135f(0x34c)](_0x197fd4);}}[_0x2ca852(0x3ac)](_0x17ce80,_0x5c6de0=0x0,_0x20cc17=!0x0){var _0x9276c2=_0x2ca852;super[_0x9276c2(0x3ac)](_0x17ce80,_0x5c6de0,_0x20cc17),this[_0x9276c2(0xcdd)](_0x17ce80,_0x5c6de0);}['setLayerAndFaceIndices'](_0x1ccc45,_0x105f77){var _0x5de4f4=_0x2ca852;if(super[_0x5de4f4(0x1d5)](_0x1ccc45,_0x105f77),this['textures']&&this[_0x5de4f4(0xa3e)]&&this['faceIndices']){var _0x40953d=null!=(_0x105f77=null==(_0x1ccc45=this['_attachments'])?void 0x0:_0x1ccc45['length'])?_0x105f77:this['textures'][_0x5de4f4(0xb85)];for(let _0x18bd0a=0x0;_0x18bd0a<_0x40953d;_0x18bd0a++){var _0x437387=this[_0x5de4f4(0x345)][_0x18bd0a];_0x437387&&(_0x437387[_0x5de4f4(0x5a4)]||_0x437387['is3D']?this['_bindTextureRenderTarget'](_0x437387,_0x18bd0a,this[_0x5de4f4(0xa3e)][_0x18bd0a]):_0x437387[_0x5de4f4(0x7ed)]?this[_0x5de4f4(0xcdd)](_0x437387,_0x18bd0a,this['faceIndices'][_0x18bd0a]):this[_0x5de4f4(0xcdd)](_0x437387,_0x18bd0a));}}}[_0x2ca852(0x8f1)](_0x40539f=0x0,_0x1e854f,_0x172a4b){var _0x5e8a43=_0x2ca852;super[_0x5e8a43(0x8f1)](_0x40539f,_0x1e854f,_0x172a4b),this['textures']&&this['layerIndices']&&this['faceIndices']&&((_0x1e854f=this[_0x5e8a43(0x345)][_0x40539f])[_0x5e8a43(0x5a4)]||_0x1e854f[_0x5e8a43(0x1ce)]?this['_bindTextureRenderTarget'](this[_0x5e8a43(0x345)][_0x40539f],_0x40539f,this[_0x5e8a43(0xa3e)][_0x40539f]):_0x1e854f[_0x5e8a43(0x7ed)]&&this['_bindTextureRenderTarget'](this[_0x5e8a43(0x345)][_0x40539f],_0x40539f,this[_0x5e8a43(0x465)][_0x40539f]));}[_0x2ca852(0xae6)](_0x1e51e9=!0x1){var _0x5e7255=_0x2ca852;const _0x13c90b=this[_0x5e7255(0x343)];_0x1e51e9||(this[_0x5e7255(0x5df)]&&(this[_0x5e7255(0x343)][_0x5e7255(0xa89)](this['_colorTextureArray']),this['_colorTextureArray']=null),this[_0x5e7255(0x31f)]&&(this[_0x5e7255(0x343)][_0x5e7255(0xa89)](this[_0x5e7255(0x31f)]),this[_0x5e7255(0x31f)]=null)),this[_0x5e7255(0x86c)]&&(_0x13c90b[_0x5e7255(0x915)](this[_0x5e7255(0x86c)]),this[_0x5e7255(0x86c)]=null),this[_0x5e7255(0x854)]&&(_0x13c90b[_0x5e7255(0x148)](this[_0x5e7255(0x854)]),this[_0x5e7255(0x854)]=null),this[_0x5e7255(0x701)]&&(_0x13c90b[_0x5e7255(0x915)](this['_MSAAFramebuffer']),this[_0x5e7255(0x701)]=null),super['dispose'](_0x1e51e9);}}var _0x55e074=_0x3a231d(0x77a5);_0x22fa36['B'][_0x2ca852(0x40f)][_0x2ca852(0xc47)]=function(_0x51d164,_0x68adce,_0x462064){var _0x5f2466=_0x2ca852;return _0x51d164=new _0x14e5d5(_0x51d164,_0x68adce,_0x462064,this,this[_0x5f2466(0xb99)]),(this[_0x5f2466(0x9a3)][_0x5f2466(0x731)](_0x51d164),_0x51d164);},_0x22fa36['B'][_0x2ca852(0x40f)][_0x2ca852(0x1cd)]=function(_0xc3c552,_0x346781){var _0x1bdc7e=_0x2ca852;const _0x2e3f7c=this['_createHardwareRenderTargetWrapper'](!0x1,!0x1,_0xc3c552);let _0x23092e=!0x0,_0x16ad0f=!0x1,_0x4d2643=!0x1,_0x3f1bb5=void 0x0,_0xfd1c95=0x1;void 0x0!==_0x346781&&_0x1bdc7e(0x2fd)==typeof _0x346781&&(_0x23092e=null==(_0x41af43=_0x346781[_0x1bdc7e(0x97f)])||_0x41af43,_0x16ad0f=!!_0x346781[_0x1bdc7e(0x69e)],_0x4d2643=!!_0x346781[_0x1bdc7e(0x154)],_0x3f1bb5=_0x346781[_0x1bdc7e(0x9ba)],_0xfd1c95=null!=(_0x41af43=_0x346781[_0x1bdc7e(0x819)])?_0x41af43:0x1);var _0x41af43=_0x3f1bb5||(_0x4d2643?null:this[_0x1bdc7e(0x9ae)](_0xc3c552,_0x346781,!0x0,_0xefd495['S'][_0x1bdc7e(0x20c)])),_0x346781=_0xc3c552[_0x1bdc7e(0x781)]||_0xc3c552,_0xc3c552=_0xc3c552[_0x1bdc7e(0x831)]||_0xc3c552,_0x5b169c=this[_0x1bdc7e(0x1ec)];const _0xfaa29f=this[_0x1bdc7e(0xb99)];var _0xa1d416=_0xfaa29f[_0x1bdc7e(0x50a)]();return this[_0x1bdc7e(0x34c)](_0xa1d416),_0x2e3f7c[_0x1bdc7e(0x854)]=this[_0x1bdc7e(0x4cb)](_0x16ad0f,_0x23092e,_0x346781,_0xc3c552),_0x41af43&&!_0x41af43[_0x1bdc7e(0x5a4)]&&_0xfaa29f[_0x1bdc7e(0x20a)](_0xfaa29f[_0x1bdc7e(0x248)],_0xfaa29f[_0x1bdc7e(0x45a)],_0xfaa29f[_0x1bdc7e(0xa38)],_0x41af43[_0x1bdc7e(0x372)][_0x1bdc7e(0x22a)],0x0),this['_bindUnboundFramebuffer'](_0x5b169c),_0x2e3f7c[_0x1bdc7e(0x86c)]=_0xa1d416,_0x2e3f7c[_0x1bdc7e(0xcd7)]=_0x23092e,_0x2e3f7c[_0x1bdc7e(0x314)]=_0x16ad0f,_0x2e3f7c['setTextures'](_0x41af43),this[_0x1bdc7e(0x3ad)](_0x2e3f7c,_0xfd1c95),_0x2e3f7c;},_0x22fa36['B'][_0x2ca852(0x40f)][_0x2ca852(0x5ad)]=function(_0x3c010e,_0x291a4a,_0x32bb23){var _0x59753d=_0x2ca852,_0x2d6ffe;return _0x291a4a[_0x59753d(0x7ed)]?(_0x2d6ffe=_0x3c010e[_0x59753d(0x781)]||_0x3c010e,this[_0x59753d(0xc02)](_0x2d6ffe,_0x291a4a,_0x32bb23)):this['_createDepthStencilTexture'](_0x3c010e,_0x291a4a,_0x32bb23);},_0x22fa36['B'][_0x2ca852(0x40f)][_0x2ca852(0x82f)]=function(_0x40068e,_0x4254c1,_0x25f89d){var _0x30aa1d=_0x2ca852;const _0x5264f0=this[_0x30aa1d(0xb99)];var _0x1116c3=_0x40068e[_0x30aa1d(0x3a2)]||0x0,_0x557638=0x0!==_0x1116c3?_0x5264f0['TEXTURE_2D_ARRAY']:_0x5264f0[_0x30aa1d(0xa38)];const _0x2ce431=new _0xefd495['l'](this,_0xefd495['S']['DepthStencil']);if(!this['_caps'][_0x30aa1d(0xb3a)])return _0x28848b['Y'][_0x30aa1d(0x358)]('Depth\x20texture\x20is\x20not\x20supported\x20by\x20your\x20browser\x20or\x20hardware.'),_0x2ce431;_0x4254c1=Object['assign']({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1},_0x4254c1);if(this[_0x30aa1d(0x8be)](_0x557638,_0x2ce431,!0x0),this[_0x30aa1d(0x163)](_0x2ce431,_0x40068e,_0x4254c1[_0x30aa1d(0x5f3)],0x0!==_0x4254c1[_0x30aa1d(0x4a0)]&&_0x4254c1[_0x30aa1d(0x6cc)],_0x4254c1[_0x30aa1d(0x4a0)],_0x4254c1['samples']),void 0x0!==_0x4254c1[_0x30aa1d(0x3d7)]){if(_0x4254c1[_0x30aa1d(0x3d7)]!==_0x55e074['g'][_0x30aa1d(0x21f)]&&_0x4254c1[_0x30aa1d(0x3d7)]!==_0x55e074['g'][_0x30aa1d(0x1c6)]&&_0x4254c1['depthTextureFormat']!==_0x55e074['g'][_0x30aa1d(0xd2)]&&_0x4254c1[_0x30aa1d(0x3d7)]!==_0x55e074['g'][_0x30aa1d(0xc98)]&&_0x4254c1[_0x30aa1d(0x3d7)]!==_0x55e074['g']['TEXTUREFORMAT_DEPTH32_FLOAT']&&_0x4254c1['depthTextureFormat']!==_0x55e074['g']['TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8'])return _0x28848b['Y'][_0x30aa1d(0x358)](_0x30aa1d(0x327)),_0x2ce431;_0x2ce431[_0x30aa1d(0x3be)]=_0x4254c1['depthTextureFormat'];}else _0x2ce431[_0x30aa1d(0x3be)]=_0x4254c1[_0x30aa1d(0x5f3)]?_0x55e074['g'][_0x30aa1d(0xc98)]:_0x55e074['g'][_0x30aa1d(0x1c6)];_0x40068e=_0x2ce431[_0x30aa1d(0x3be)]===_0x55e074['g'][_0x30aa1d(0xd2)]||_0x2ce431['format']===_0x55e074['g'][_0x30aa1d(0xc98)]||_0x2ce431[_0x30aa1d(0x3be)]===_0x55e074['g'][_0x30aa1d(0x1aa)],(_0x25f89d['_depthStencilTexture']=_0x2ce431,_0x25f89d[_0x30aa1d(0x615)]=_0x40068e);let _0x35043e=_0x5264f0[_0x30aa1d(0x7cf)];_0x2ce431[_0x30aa1d(0x3be)]===_0x55e074['g'][_0x30aa1d(0x21f)]?_0x35043e=_0x5264f0['UNSIGNED_SHORT']:_0x2ce431[_0x30aa1d(0x3be)]===_0x55e074['g'][_0x30aa1d(0xd2)]||_0x2ce431[_0x30aa1d(0x3be)]===_0x55e074['g'][_0x30aa1d(0xc98)]?_0x35043e=_0x5264f0['UNSIGNED_INT_24_8']:_0x2ce431['format']===_0x55e074['g'][_0x30aa1d(0xb94)]?_0x35043e=_0x5264f0['FLOAT']:_0x2ce431['format']===_0x55e074['g'][_0x30aa1d(0x1aa)]&&(_0x35043e=_0x5264f0[_0x30aa1d(0x3ee)]),_0x4254c1=_0x40068e?_0x5264f0[_0x30aa1d(0x4a7)]:_0x5264f0['DEPTH_COMPONENT'];let _0x57f6a8=_0x4254c1;0x1<this[_0x30aa1d(0x2c8)]&&(_0x2ce431[_0x30aa1d(0x3be)]===_0x55e074['g'][_0x30aa1d(0x21f)]?_0x57f6a8=_0x5264f0[_0x30aa1d(0x630)]:_0x2ce431['format']===_0x55e074['g']['TEXTUREFORMAT_DEPTH24']?_0x57f6a8=_0x5264f0['DEPTH_COMPONENT24']:_0x2ce431['format']===_0x55e074['g'][_0x30aa1d(0xd2)]||_0x2ce431[_0x30aa1d(0x3be)]===_0x55e074['g'][_0x30aa1d(0xc98)]?_0x57f6a8=_0x5264f0[_0x30aa1d(0xb67)]:_0x2ce431['format']===_0x55e074['g'][_0x30aa1d(0xb94)]?_0x57f6a8=_0x5264f0[_0x30aa1d(0x8ff)]:_0x2ce431[_0x30aa1d(0x3be)]===_0x55e074['g'][_0x30aa1d(0x1aa)]&&(_0x57f6a8=_0x5264f0[_0x30aa1d(0x604)])),_0x2ce431[_0x30aa1d(0x5a4)]?_0x5264f0[_0x30aa1d(0x9ee)](_0x557638,0x0,_0x57f6a8,_0x2ce431['width'],_0x2ce431[_0x30aa1d(0x831)],_0x1116c3,0x0,_0x4254c1,_0x35043e,null):_0x5264f0[_0x30aa1d(0x227)](_0x557638,0x0,_0x57f6a8,_0x2ce431['width'],_0x2ce431[_0x30aa1d(0x831)],0x0,_0x4254c1,_0x35043e,null),this['_bindTextureDirectly'](_0x557638,null),this[_0x30aa1d(0x2bd)][_0x30aa1d(0x731)](_0x2ce431);const _0x42f84f=_0x25f89d;return _0x42f84f[_0x30aa1d(0x854)]&&(_0x40068e=this[_0x30aa1d(0x1ec)],this['_bindUnboundFramebuffer'](_0x42f84f['_framebuffer']),_0x5264f0['framebufferRenderbuffer'](_0x5264f0[_0x30aa1d(0x248)],_0x5264f0[_0x30aa1d(0xe1)],_0x5264f0[_0x30aa1d(0x11c)],null),_0x5264f0[_0x30aa1d(0x83f)](_0x5264f0[_0x30aa1d(0x248)],_0x5264f0[_0x30aa1d(0xb35)],_0x5264f0[_0x30aa1d(0x11c)],null),_0x5264f0[_0x30aa1d(0x83f)](_0x5264f0[_0x30aa1d(0x248)],_0x5264f0[_0x30aa1d(0x8ec)],_0x5264f0[_0x30aa1d(0x11c)],null),this[_0x30aa1d(0x34c)](_0x40068e),_0x5264f0[_0x30aa1d(0x148)](_0x42f84f[_0x30aa1d(0x854)]),_0x42f84f[_0x30aa1d(0x854)]=null),_0x2ce431;},_0x22fa36['B'][_0x2ca852(0x40f)][_0x2ca852(0x3ad)]=function(_0x6a5e96,_0x47085b){var _0x4972f1=_0x2ca852;if(this[_0x4972f1(0x2c8)]<0x2||!_0x6a5e96||!_0x6a5e96[_0x4972f1(0xa91)])return 0x1;if(_0x6a5e96[_0x4972f1(0x819)]===_0x47085b)return _0x47085b;const _0x2a4919=this[_0x4972f1(0xb99)],_0xcc0ae4=(_0x47085b=Math['min'](_0x47085b,this[_0x4972f1(0x7ac)]()[_0x4972f1(0x860)]),_0x6a5e96[_0x4972f1(0x854)]&&(_0x2a4919[_0x4972f1(0x148)](_0x6a5e96[_0x4972f1(0x854)]),_0x6a5e96[_0x4972f1(0x854)]=null),_0x6a5e96[_0x4972f1(0x701)]&&(_0x2a4919['deleteFramebuffer'](_0x6a5e96[_0x4972f1(0x701)]),_0x6a5e96[_0x4972f1(0x701)]=null),_0x6a5e96['texture'][_0x4972f1(0x372)]);if(_0xcc0ae4[_0x4972f1(0xbe7)](),0x1<_0x47085b&&'function'==typeof _0x2a4919['renderbufferStorageMultisample']){var _0x212ac2=_0x2a4919[_0x4972f1(0x50a)]();if(!_0x212ac2)throw new Error('Unable\x20to\x20create\x20multi\x20sampled\x20framebuffer');_0x6a5e96['_MSAAFramebuffer']=_0x212ac2,this[_0x4972f1(0x34c)](_0x6a5e96[_0x4972f1(0x701)]),_0x212ac2=this[_0x4972f1(0xace)](_0x6a5e96['texture'][_0x4972f1(0x781)],_0x6a5e96['texture'][_0x4972f1(0x831)],_0x47085b,-0x1,this[_0x4972f1(0x149)](_0x6a5e96[_0x4972f1(0xa91)][_0x4972f1(0x6a4)]),_0x2a4919[_0x4972f1(0x45a)],!0x1);if(!_0x212ac2)throw new Error('Unable\x20to\x20create\x20multi\x20sampled\x20framebuffer');_0xcc0ae4[_0x4972f1(0x861)](_0x212ac2);}else this[_0x4972f1(0x34c)](_0x6a5e96[_0x4972f1(0x86c)]);return _0x6a5e96['texture'][_0x4972f1(0x819)]=_0x47085b,_0x6a5e96[_0x4972f1(0x340)]=_0x47085b,_0x6a5e96[_0x4972f1(0x854)]=this[_0x4972f1(0x4cb)](_0x6a5e96[_0x4972f1(0x314)],_0x6a5e96[_0x4972f1(0xcd7)],_0x6a5e96[_0x4972f1(0xa91)][_0x4972f1(0x781)],_0x6a5e96[_0x4972f1(0xa91)]['height'],_0x47085b),this[_0x4972f1(0x34c)](null),_0x47085b;};},0xf29:(_0x5ae0e3,_0x257584,_0x859fdf)=>{var _0xce822e=a6_0x36115b,_0x140c3d=_0x859fdf(0x25b1),_0x26548c=_0x859fdf(0x10ea4),_0x28052a=_0x859fdf(0x77a5);_0x859fdf(0x202a)['B'][_0xce822e(0x40f)][_0xce822e(0x579)]=function(_0x39939d,_0x2f63ae){var _0x4dac98=_0xce822e;const _0x537175=this[_0x4dac98(0xc47)](!0x1,!0x0,_0x39939d),_0x3dd575=Object[_0x4dac98(0x9d9)]({'generateMipMaps':!0x0,'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'type':_0x28052a['g'][_0x4dac98(0x312)],'samplingMode':_0x28052a['g'][_0x4dac98(0x23b)],'format':_0x28052a['g'][_0x4dac98(0x692)]},_0x2f63ae),_0x3dda67=(_0x3dd575['generateStencilBuffer']=_0x3dd575['generateDepthBuffer']&&_0x3dd575['generateStencilBuffer'],(_0x3dd575['type']===_0x28052a['g'][_0x4dac98(0x940)]&&!this[_0x4dac98(0xb4c)][_0x4dac98(0x63b)]||_0x3dd575[_0x4dac98(0x6a4)]===_0x28052a['g'][_0x4dac98(0x1d6)]&&!this[_0x4dac98(0xb4c)][_0x4dac98(0x9ca)])&&(_0x3dd575[_0x4dac98(0x12a)]=_0x28052a['g'][_0x4dac98(0x3bd)]),this['_gl']),_0x1fa020=new _0x140c3d['l'](this,_0x140c3d['S'][_0x4dac98(0x20c)]);this[_0x4dac98(0x8be)](_0x3dda67['TEXTURE_CUBE_MAP'],_0x1fa020,!0x0),_0x2f63ae=this[_0x4dac98(0x396)](_0x3dd575[_0x4dac98(0x12a)],_0x3dd575['generateMipMaps']),(_0x3dd575[_0x4dac98(0x6a4)]!==_0x28052a['g']['TEXTURETYPE_FLOAT']||this[_0x4dac98(0xb4c)][_0x4dac98(0x1da)]||(_0x3dd575['type']=_0x28052a['g'][_0x4dac98(0x312)],_0x26548c['Y'][_0x4dac98(0x2e9)](_0x4dac98(0x58e))),_0x3dda67['texParameteri'](_0x3dda67['TEXTURE_CUBE_MAP'],_0x3dda67[_0x4dac98(0x286)],_0x2f63ae[_0x4dac98(0xb32)]),_0x3dda67[_0x4dac98(0x6b4)](_0x3dda67['TEXTURE_CUBE_MAP'],_0x3dda67[_0x4dac98(0x48f)],_0x2f63ae[_0x4dac98(0x280)]),_0x3dda67[_0x4dac98(0x6b4)](_0x3dda67[_0x4dac98(0x25e)],_0x3dda67[_0x4dac98(0x285)],_0x3dda67[_0x4dac98(0x15c)]),_0x3dda67[_0x4dac98(0x6b4)](_0x3dda67[_0x4dac98(0x25e)],_0x3dda67['TEXTURE_WRAP_T'],_0x3dda67[_0x4dac98(0x15c)]));for(let _0x248e1a=0x0;_0x248e1a<0x6;_0x248e1a++)_0x3dda67['texImage2D'](_0x3dda67[_0x4dac98(0x4e4)]+_0x248e1a,0x0,this[_0x4dac98(0x705)](_0x3dd575[_0x4dac98(0x6a4)],_0x3dd575[_0x4dac98(0x3be)]),_0x39939d,_0x39939d,0x0,this[_0x4dac98(0x28f)](_0x3dd575[_0x4dac98(0x3be)]),this['_getWebGLTextureType'](_0x3dd575[_0x4dac98(0x6a4)]),null);return _0x2f63ae=_0x3dda67['createFramebuffer'](),(this[_0x4dac98(0x34c)](_0x2f63ae),_0x537175[_0x4dac98(0x854)]=this[_0x4dac98(0x4cb)](_0x3dd575[_0x4dac98(0x69e)],_0x3dd575['generateDepthBuffer'],_0x39939d,_0x39939d),_0x3dd575[_0x4dac98(0xb73)]&&_0x3dda67[_0x4dac98(0xcae)](_0x3dda67[_0x4dac98(0x25e)]),this[_0x4dac98(0x8be)](_0x3dda67['TEXTURE_CUBE_MAP'],null),this[_0x4dac98(0x34c)](null),_0x537175['_framebuffer']=_0x2f63ae,_0x537175[_0x4dac98(0xcd7)]=_0x3dd575[_0x4dac98(0x97f)],_0x537175[_0x4dac98(0x314)]=_0x3dd575[_0x4dac98(0x69e)],_0x1fa020[_0x4dac98(0x781)]=_0x39939d,_0x1fa020[_0x4dac98(0x831)]=_0x39939d,_0x1fa020[_0x4dac98(0x682)]=!0x0,_0x1fa020[_0x4dac98(0x7ed)]=!0x0,_0x1fa020[_0x4dac98(0x819)]=0x1,_0x1fa020[_0x4dac98(0xb73)]=_0x3dd575[_0x4dac98(0xb73)],_0x1fa020['samplingMode']=_0x3dd575['samplingMode'],_0x1fa020['type']=_0x3dd575[_0x4dac98(0x6a4)],_0x1fa020[_0x4dac98(0x3be)]=_0x3dd575['format'],this[_0x4dac98(0x2bd)]['push'](_0x1fa020),_0x537175[_0x4dac98(0x6b5)](_0x1fa020),_0x537175);};},0x2505:(_0x54b7bc,_0xd5f77d,_0x4ee4f5)=>{var _0x20a5eb=a6_0x36115b;_0x4ee4f5=_0x4ee4f5(0x202a),(_0x4ee4f5['B'][_0x20a5eb(0x40f)][_0x20a5eb(0xc3b)]=function(_0x58ebf5,_0x171fde){var _0x28bb77=_0x20a5eb;throw new Error(_0x28bb77(0xc4d));},_0x4ee4f5['B'][_0x20a5eb(0x40f)][_0x20a5eb(0x6bb)]=function(_0x47c3b7,_0x6188b,_0x1d199a,_0x37b174){},_0x4ee4f5['B']['prototype'][_0x20a5eb(0x5e7)]=function(_0x18b744,_0xf14b65,_0x1e6c8e,_0x2c378b){var _0x33ba9e=_0x20a5eb;throw new Error(_0x33ba9e(0xa41));},_0x4ee4f5['B'][_0x20a5eb(0x40f)][_0x20a5eb(0x652)]=function(_0xbc670c,_0x1c301f){var _0x237e66=_0x20a5eb;throw new Error(_0x237e66(0x60c));});},0x100b5:(_0x51e5ae,_0x50d6ec,_0x4fe20c)=>{_0x4fe20c(0x202a)['B']['prototype']['setTextureSampler']=function(_0x430a17,_0x37b1bd){throw new Error('setTextureSampler:\x20This\x20engine\x20does\x20not\x20support\x20separate\x20texture\x20sampler\x20objects!');};},0x4c3:(_0x2c525e,_0x3add61,_0xaf52cf)=>{var _0x3d9327=a6_0x36115b;_0xaf52cf=_0xaf52cf(0xee04);function _0xb15064(_0x5c54fd){var _0x1578ff=a6_0x238e;if(this[_0x1578ff(0x55a)]&&this[_0x1578ff(0x55a)][_0x1578ff(0x809)](_0x23f2fb=>_0x5c54fd&&(_0x5c54fd===_0x23f2fb||_0x5c54fd['match'](new RegExp('\x5cb'+_0x23f2fb+'\x5cb','g')))))return _0x5c54fd;var _0x42e2c9=_0x5c54fd['lastIndexOf']('.'),_0x278475=_0x5c54fd[_0x1578ff(0x2fc)]('?'),_0x278475=-0x1<_0x278475?_0x5c54fd[_0x1578ff(0x622)](_0x278475,_0x5c54fd[_0x1578ff(0xb85)]):'';return(-0x1<_0x42e2c9?_0x5c54fd['substring'](0x0,_0x42e2c9):_0x5c54fd)+this[_0x1578ff(0x469)]+_0x278475;}Object[_0x3d9327(0x939)](_0xaf52cf['D'][_0x3d9327(0x40f)],_0x3d9327(0x5ca),{'get':function(){var _0xf850d4=_0x3d9327;const _0x656e61=new Array();return this[_0xf850d4(0xb4c)][_0xf850d4(0xb30)]&&_0x656e61[_0xf850d4(0x731)](_0xf850d4(0xe9)),this['_caps'][_0xf850d4(0xaf4)]&&_0x656e61[_0xf850d4(0x731)](_0xf850d4(0x5b9)),this[_0xf850d4(0xb4c)][_0xf850d4(0x442)]&&_0x656e61[_0xf850d4(0x731)](_0xf850d4(0x4b2)),this[_0xf850d4(0xb4c)]['etc2']&&_0x656e61['push'](_0xf850d4(0xb71)),this['_caps']['etc1']&&_0x656e61['push']('-etc1.ktx'),_0x656e61;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x3d9327(0x939)](_0xaf52cf['D'][_0x3d9327(0x40f)],_0x3d9327(0x7bf),{'get':function(){var _0x25afdc=_0x3d9327;return this[_0x25afdc(0x469)]||null;},'enumerable':!0x0,'configurable':!0x0}),_0xaf52cf['D'][_0x3d9327(0x40f)][_0x3d9327(0x982)]=function(_0x3d867b){var _0x51cf5b=_0x3d9327;this[_0x51cf5b(0x55a)]=_0x3d867b;},_0xaf52cf['D'][_0x3d9327(0x40f)][_0x3d9327(0x451)]=function(_0x32eea6){var _0x5c3686=_0x3d9327,_0xfff7cc=this[_0x5c3686(0x5ca)];for(let _0x5e9591=0x0,_0x235d4d=_0xfff7cc[_0x5c3686(0xb85)];_0x5e9591<_0x235d4d;_0x5e9591++)for(let _0x13c307=0x0,_0x141a24=_0x32eea6[_0x5c3686(0xb85)];_0x13c307<_0x141a24;_0x13c307++)if(_0xfff7cc[_0x5e9591]===_0x32eea6[_0x13c307][_0x5c3686(0x95e)]())return this[_0x5c3686(0x8e9)]=_0xb15064['bind'](this),this[_0x5c3686(0x469)]=_0xfff7cc[_0x5e9591];return this[_0x5c3686(0x469)]='',this[_0x5c3686(0x8e9)]=null;};},0xa758:(_0x38aa7a,_0x45a6b7,_0x295c5b)=>{var _0x3c9c36=a6_0x36115b,_0x5b0bd6=_0x295c5b(0x202a),_0x5d3cd4=_0x295c5b(0xc7ed);_0x5b0bd6['B']['prototype']['createUniformBuffer']=function(_0x1fa24e){var _0x19baf3=a6_0x238e,_0x40f27f=this['_gl'][_0x19baf3(0x9bf)]();if(!_0x40f27f)throw new Error(_0x19baf3(0xc08));const _0x4eccaa=new _0x5d3cd4['M'](_0x40f27f);return this['bindUniformBuffer'](_0x4eccaa),_0x1fa24e instanceof Float32Array?this[_0x19baf3(0xb99)][_0x19baf3(0x9ea)](this[_0x19baf3(0xb99)][_0x19baf3(0x98b)],_0x1fa24e,this[_0x19baf3(0xb99)][_0x19baf3(0x17e)]):this['_gl']['bufferData'](this['_gl'][_0x19baf3(0x98b)],new Float32Array(_0x1fa24e),this[_0x19baf3(0xb99)][_0x19baf3(0x17e)]),this['bindUniformBuffer'](null),_0x4eccaa[_0x19baf3(0x592)]=0x1,_0x4eccaa;},_0x5b0bd6['B'][_0x3c9c36(0x40f)]['createDynamicUniformBuffer']=function(_0x4fc9b6){var _0x1a6a6d=_0x3c9c36,_0x4c4af3=this['_gl'][_0x1a6a6d(0x9bf)]();if(!_0x4c4af3)throw new Error(_0x1a6a6d(0xc2c));const _0x17b30c=new _0x5d3cd4['M'](_0x4c4af3);return this[_0x1a6a6d(0x64a)](_0x17b30c),_0x4fc9b6 instanceof Float32Array?this[_0x1a6a6d(0xb99)][_0x1a6a6d(0x9ea)](this['_gl'][_0x1a6a6d(0x98b)],_0x4fc9b6,this[_0x1a6a6d(0xb99)]['DYNAMIC_DRAW']):this[_0x1a6a6d(0xb99)][_0x1a6a6d(0x9ea)](this['_gl'][_0x1a6a6d(0x98b)],new Float32Array(_0x4fc9b6),this['_gl'][_0x1a6a6d(0x383)]),this[_0x1a6a6d(0x64a)](null),_0x17b30c[_0x1a6a6d(0x592)]=0x1,_0x17b30c;},_0x5b0bd6['B'][_0x3c9c36(0x40f)][_0x3c9c36(0x962)]=function(_0x5b2046,_0x297710,_0x3be290,_0x3607c7){var _0x51638a=_0x3c9c36;this[_0x51638a(0x64a)](_0x5b2046),void 0x0===_0x3be290&&(_0x3be290=0x0),void 0x0===_0x3607c7?_0x297710 instanceof Float32Array?this[_0x51638a(0xb99)][_0x51638a(0xa22)](this[_0x51638a(0xb99)][_0x51638a(0x98b)],_0x3be290,_0x297710):this[_0x51638a(0xb99)][_0x51638a(0xa22)](this[_0x51638a(0xb99)][_0x51638a(0x98b)],_0x3be290,new Float32Array(_0x297710)):_0x297710 instanceof Float32Array?this[_0x51638a(0xb99)][_0x51638a(0xa22)](this[_0x51638a(0xb99)][_0x51638a(0x98b)],0x0,_0x297710['subarray'](_0x3be290,_0x3be290+_0x3607c7)):this['_gl']['bufferSubData'](this[_0x51638a(0xb99)][_0x51638a(0x98b)],0x0,new Float32Array(_0x297710)[_0x51638a(0x597)](_0x3be290,_0x3be290+_0x3607c7)),this[_0x51638a(0x64a)](null);},_0x5b0bd6['B']['prototype'][_0x3c9c36(0x64a)]=function(_0x509f13){var _0x564eb9=_0x3c9c36;this[_0x564eb9(0xb99)][_0x564eb9(0x5da)](this['_gl'][_0x564eb9(0x98b)],_0x509f13?_0x509f13[_0x564eb9(0x22a)]:null);},_0x5b0bd6['B']['prototype'][_0x3c9c36(0x254)]=function(_0x1cd0fe,_0x3b025b,_0x5055a7){var _0x1f92e6=_0x3c9c36;this[_0x1f92e6(0xb99)][_0x1f92e6(0x21b)](this[_0x1f92e6(0xb99)][_0x1f92e6(0x98b)],_0x3b025b,_0x1cd0fe?_0x1cd0fe['underlyingResource']:null);},_0x5b0bd6['B']['prototype'][_0x3c9c36(0x2a4)]=function(_0x211e6e,_0x5be52f,_0xe63024){var _0xac03ea=_0x3c9c36;_0x211e6e=_0x211e6e[_0xac03ea(0x9fe)],_0x5be52f=this['_gl']['getUniformBlockIndex'](_0x211e6e,_0x5be52f),0xffffffff!==_0x5be52f&&this[_0xac03ea(0xb99)]['uniformBlockBinding'](_0x211e6e,_0x5be52f,_0xe63024);};},0x89d3:(_0x2c6185,_0x291edc,_0x448094)=>{var _0x2479fe=a6_0x36115b,_0x39bad4=_0x448094(0x202a),_0x40798d=_0x448094(0x77a5);_0x39bad4['B'][_0x2479fe(0x40f)]['updateVideoTexture']=function(_0x2fe055,_0x1f4807,_0x48fc43){var _0x4b5f3e=_0x2479fe;if(_0x2fe055&&!_0x2fe055[_0x4b5f3e(0x6fd)]){var _0x5a586c=this[_0x4b5f3e(0x28f)](_0x2fe055[_0x4b5f3e(0x3be)]),_0x464fbf=this['_getRGBABufferInternalSizedFormat'](_0x40798d['g'][_0x4b5f3e(0x4ca)],_0x2fe055[_0x4b5f3e(0x3be)]),_0x306809=this['_bindTextureDirectly'](this[_0x4b5f3e(0xb99)][_0x4b5f3e(0xa38)],_0x2fe055,!0x0);this[_0x4b5f3e(0x71f)](!_0x48fc43);try{if(void 0x0===this['_videoTextureSupported']&&(this[_0x4b5f3e(0xb99)][_0x4b5f3e(0x270)](),this[_0x4b5f3e(0xb99)][_0x4b5f3e(0x227)](this[_0x4b5f3e(0xb99)]['TEXTURE_2D'],0x0,_0x464fbf,_0x5a586c,this[_0x4b5f3e(0xb99)][_0x4b5f3e(0x24a)],_0x1f4807),0x0!==this['_gl']['getError']()?this['_videoTextureSupported']=!0x1:this[_0x4b5f3e(0x972)]=!0x0),this['_videoTextureSupported'])this[_0x4b5f3e(0xb99)][_0x4b5f3e(0x227)](this[_0x4b5f3e(0xb99)]['TEXTURE_2D'],0x0,_0x464fbf,_0x5a586c,this[_0x4b5f3e(0xb99)][_0x4b5f3e(0x24a)],_0x1f4807);else{if(!_0x2fe055['_workingCanvas']){_0x2fe055[_0x4b5f3e(0x698)]=this[_0x4b5f3e(0x6b6)](_0x2fe055[_0x4b5f3e(0x781)],_0x2fe055['height']);var _0x4001da=_0x2fe055[_0x4b5f3e(0x698)]['getContext']('2d');if(!_0x4001da)throw new Error(_0x4b5f3e(0xca5));_0x2fe055[_0x4b5f3e(0x9f4)]=_0x4001da,_0x2fe055[_0x4b5f3e(0x698)][_0x4b5f3e(0x781)]=_0x2fe055[_0x4b5f3e(0x781)],_0x2fe055[_0x4b5f3e(0x698)][_0x4b5f3e(0x831)]=_0x2fe055['height'];}_0x2fe055[_0x4b5f3e(0x9f4)][_0x4b5f3e(0xa59)](0x0,0x0,_0x2fe055['width'],_0x2fe055['height']),_0x2fe055['_workingContext'][_0x4b5f3e(0x8bd)](_0x1f4807,0x0,0x0,_0x1f4807[_0x4b5f3e(0x422)],_0x1f4807['videoHeight'],0x0,0x0,_0x2fe055[_0x4b5f3e(0x781)],_0x2fe055['height']),this[_0x4b5f3e(0xb99)][_0x4b5f3e(0x227)](this[_0x4b5f3e(0xb99)][_0x4b5f3e(0xa38)],0x0,_0x464fbf,_0x5a586c,this[_0x4b5f3e(0xb99)][_0x4b5f3e(0x24a)],_0x2fe055[_0x4b5f3e(0x698)]);}_0x2fe055[_0x4b5f3e(0xb73)]&&this[_0x4b5f3e(0xb99)][_0x4b5f3e(0xcae)](this[_0x4b5f3e(0xb99)]['TEXTURE_2D']),_0x306809||this[_0x4b5f3e(0x8be)](this[_0x4b5f3e(0xb99)][_0x4b5f3e(0xa38)],null),_0x2fe055['isReady']=!0x0;}catch(_0x538d2b){_0x2fe055[_0x4b5f3e(0x6fd)]=!0x0;}}};},0xeefc:(_0x3f93d3,_0x38ac87,_0xae775e)=>{var _0x55a868=a6_0x36115b,_0x2b5769=_0xae775e(0xee04),_0xca6cab=_0xae775e(0xceed),_0x356cc2=_0xae775e(0xf96c),_0x1cd1d0=_0xae775e(0xe222),_0x2355c5=_0xae775e(0x18233);Object['defineProperty'](_0x2b5769['D'][_0x55a868(0x40f)],'isInVRExclusivePointerMode',{'get':function(){return this['_vrExclusivePointerMode'];},'enumerable':!0x0,'configurable':!0x0}),_0x2b5769['D'][_0x55a868(0x40f)][_0x55a868(0x157)]=function(){var _0xe9235c=_0x55a868;this[_0xe9235c(0x4a9)]=!0x1,this['_vrExclusivePointerMode']=!0x1,this[_0xe9235c(0x9b1)]=new _0x356cc2['y$'](),this[_0xe9235c(0x3ed)]=new _0x356cc2['y$'](),this[_0xe9235c(0x5d2)]=new _0x356cc2['y$']();},_0x2b5769['D']['prototype'][_0x55a868(0x64f)]=function(){var _0x521bf6=_0x55a868;return!!this[_0x521bf6(0x339)];},_0x2b5769['D']['prototype'][_0x55a868(0x5db)]=function(){return this['_vrDisplay'];},_0x2b5769['D'][_0x55a868(0x40f)][_0x55a868(0x256)]=function(){var _0x4f1906=_0x55a868;return this['initWebVRAsync'](),this[_0x4f1906(0x9b1)];},_0x2b5769['D'][_0x55a868(0x40f)][_0x55a868(0x7a8)]=function(){var _0x27dc45=_0x55a868;const _0x31e05e=()=>{var _0x4631ee=a6_0x238e;const _0x4658e1={'vrDisplay':this[_0x4631ee(0x339)],'vrSupported':this[_0x4631ee(0x4a9)]};this[_0x4631ee(0x9b1)][_0x4631ee(0x575)](_0x4658e1),this[_0x4631ee(0x787)]=new Promise(_0x5231e9=>{_0x5231e9(_0x4658e1);});};if(!this[_0x27dc45(0x694)]){this['_onVrDisplayConnect']=_0x2fe251=>{var _0x232cdd=_0x27dc45;this[_0x232cdd(0x339)]=_0x2fe251['display'],_0x31e05e();},this[_0x27dc45(0x307)]=()=>{var _0x125ad6=_0x27dc45;this['_vrDisplay']['cancelAnimationFrame'](this['_frameHandler']),this[_0x125ad6(0x339)]=void 0x0,this[_0x125ad6(0xc8b)]=_0x2b5769['D'][_0x125ad6(0x8d8)](this['_boundRenderFunction']),_0x31e05e();},this[_0x27dc45(0xa2c)]=()=>{var _0x47c193=_0x27dc45;this[_0x47c193(0x50e)]=this[_0x47c193(0x339)]&&this[_0x47c193(0x339)][_0x47c193(0xafa)];};const _0x3095da=this[_0x27dc45(0xcc4)]();_0x3095da&&(_0x3095da[_0x27dc45(0x759)]('vrdisplayconnect',this[_0x27dc45(0x694)]),_0x3095da['addEventListener']('vrdisplaydisconnect',this[_0x27dc45(0x307)]),_0x3095da['addEventListener']('vrdisplaypresentchange',this[_0x27dc45(0xa2c)]));}return this['_webVRInitPromise']=this[_0x27dc45(0x787)]||this[_0x27dc45(0x88e)](),this[_0x27dc45(0x787)][_0x27dc45(0x322)](_0x31e05e),this[_0x27dc45(0x787)];},_0x2b5769['D'][_0x55a868(0x40f)]['_getVRDisplaysAsync']=function(){return new Promise(_0x11ec9e=>{var _0x3ee78c=a6_0x238e;navigator[_0x3ee78c(0xe0)]?navigator[_0x3ee78c(0xe0)]()[_0x3ee78c(0x322)](_0xfa5008=>{var _0x599eb3=_0x3ee78c;this['_vrSupported']=!0x0,this[_0x599eb3(0x339)]=_0xfa5008[0x0],_0x11ec9e({'vrDisplay':this['_vrDisplay'],'vrSupported':this[_0x599eb3(0x4a9)]});}):(this['_vrDisplay']=void 0x0,this[_0x3ee78c(0x4a9)]=!0x1,_0x11ec9e({'vrDisplay':this['_vrDisplay'],'vrSupported':this['_vrSupported']}));});},_0x2b5769['D'][_0x55a868(0x40f)][_0x55a868(0x32e)]=function(_0x1a8289){var _0x1e894e=_0x55a868;this[_0x1e894e(0x339)]&&!this['_vrDisplay']['isPresenting']&&(this[_0x1e894e(0x5d2)][_0x1e894e(0x575)](this),_0x1a8289={'highRefreshRate':!!this[_0x1e894e(0x9ed)]&&this[_0x1e894e(0x9ed)][_0x1e894e(0xb9d)],'foveationLevel':this[_0x1e894e(0x9ed)]?this[_0x1e894e(0x9ed)][_0x1e894e(0x2cc)]:0x1,'multiview':(this[_0x1e894e(0x7ac)]()[_0x1e894e(0x25b)]||this[_0x1e894e(0x7ac)]()[_0x1e894e(0x302)])&&_0x1a8289['useMultiview']},this['_vrDisplay']['requestPresent']([Object[_0x1e894e(0x9d9)]({'source':this['getRenderingCanvas'](),'attributes':_0x1a8289},_0x1a8289)])[_0x1e894e(0x322)](()=>{var _0x58ff3a=_0x1e894e;this[_0x58ff3a(0x3ed)][_0x58ff3a(0x575)](!0x0),this[_0x58ff3a(0x660)]();})['catch'](()=>{var _0x342993=_0x1e894e;this[_0x342993(0x3ed)][_0x342993(0x575)](!0x1);}));},_0x2b5769['D'][_0x55a868(0x40f)][_0x55a868(0x660)]=function(){var _0x5b8f43=_0x55a868,_0x2fe921;this['_vrDisplay']&&this[_0x5b8f43(0x339)][_0x5b8f43(0xafa)]?(this[_0x5b8f43(0x12b)]=new _0xca6cab['$'](this[_0x5b8f43(0xa50)](),this[_0x5b8f43(0xd3)]()),this[_0x5b8f43(0x8de)]=this[_0x5b8f43(0x16c)](),_0x2fe921=this[_0x5b8f43(0x339)]['getEyeParameters'](_0x5b8f43(0x93e)),this[_0x5b8f43(0xc8e)](0x1),this[_0x5b8f43(0x6f9)](0x2*_0x2fe921[_0x5b8f43(0x881)],_0x2fe921[_0x5b8f43(0x823)])):(this[_0x5b8f43(0xc8e)](this[_0x5b8f43(0x8de)]),this[_0x5b8f43(0x6f9)](this['_oldSize'][_0x5b8f43(0x781)],this[_0x5b8f43(0x12b)][_0x5b8f43(0x831)]));},_0x2b5769['D'][_0x55a868(0x40f)][_0x55a868(0x848)]=function(){var _0x3ff383=_0x55a868;this[_0x3ff383(0x339)]&&this[_0x3ff383(0x339)][_0x3ff383(0xafa)]&&this[_0x3ff383(0x339)][_0x3ff383(0xb8c)]()[_0x3ff383(0x322)](()=>this[_0x3ff383(0x660)]())[_0x3ff383(0x173)](()=>this[_0x3ff383(0x660)]()),(0x0,_0x2355c5['CG'])()&&(window[_0x3ff383(0x95a)]('vrdisplaypointerrestricted',this[_0x3ff383(0x9d6)]),window['removeEventListener'](_0x3ff383(0x91f),this[_0x3ff383(0x7ad)]),this[_0x3ff383(0x694)]&&(window['removeEventListener'](_0x3ff383(0x4d8),this[_0x3ff383(0x694)]),this['_onVrDisplayDisconnect']&&window[_0x3ff383(0x95a)](_0x3ff383(0x798),this[_0x3ff383(0x307)]),this[_0x3ff383(0xa2c)]&&window[_0x3ff383(0x95a)](_0x3ff383(0x7db),this[_0x3ff383(0xa2c)]),this[_0x3ff383(0x694)]=null,this['_onVrDisplayDisconnect']=null));},_0x2b5769['D'][_0x55a868(0x40f)][_0x55a868(0x8c5)]=function(_0x402086,_0x47c543){var _0x15fc64=_0x55a868;if(this[_0x15fc64(0x9d6)]=()=>{var _0x2f966f=_0x15fc64;_0x402086&&_0x402086[_0x2f966f(0x488)]();},this[_0x15fc64(0x7ad)]=()=>{var _0x4a2e42=_0x15fc64;if(_0x47c543)_0x47c543[_0x4a2e42(0x1f6)]&&_0x47c543[_0x4a2e42(0x1f6)]();else{const _0x170bb9=this[_0x4a2e42(0xcc4)]();_0x170bb9['document']&&_0x170bb9[_0x4a2e42(0x9ff)][_0x4a2e42(0x1f6)]&&_0x170bb9[_0x4a2e42(0x9ff)][_0x4a2e42(0x1f6)]();}},(0x0,_0x2355c5['CG'])()){const _0x517bf0=this[_0x15fc64(0xcc4)]();_0x517bf0[_0x15fc64(0x759)](_0x15fc64(0x2c1),this[_0x15fc64(0x9d6)],!0x1),_0x517bf0[_0x15fc64(0x759)]('vrdisplaypointerunrestricted',this[_0x15fc64(0x7ad)],!0x1);}},_0x2b5769['D'][_0x55a868(0x40f)][_0x55a868(0x3cb)]=function(){var _0x419466=_0x55a868;if(this[_0x419466(0x339)]&&this[_0x419466(0x339)][_0x419466(0xafa)])try{this[_0x419466(0x339)][_0x419466(0xa9b)]();}catch(_0x1de066){_0x1cd1d0['w1'][_0x419466(0x2e9)]('webVR\x20submitFrame\x20has\x20had\x20an\x20unexpected\x20failure:\x20'+_0x1de066);}},_0x2b5769['D'][_0x55a868(0x40f)]['isVRPresenting']=function(){var _0x5ab471=_0x55a868;return this['_vrDisplay']&&this['_vrDisplay'][_0x5ab471(0xafa)];},_0x2b5769['D'][_0x55a868(0x40f)][_0x55a868(0xb6c)]=function(){var _0x32a1e8=_0x55a868;this[_0x32a1e8(0xc8b)]=_0x2b5769['D'][_0x32a1e8(0x8d8)](this[_0x32a1e8(0xa7e)],this[_0x32a1e8(0x339)]);};},0x16651:(_0x24e383,_0x1a272f,_0x33d7c9)=>{var _0x5cb3b8=a6_0x36115b;_0x33d7c9['d'](_0x1a272f,{'E':()=>_0x21bed6});class _0x21bed6{constructor(_0xb976f0,_0x4d8dd3){var _0x23a67d=a6_0x238e;this[_0x23a67d(0x4ae)]=_0x4d8dd3,this[_0x23a67d(0xd4)](_0xb976f0);}get['underlyingResource'](){var _0xc416f4=a6_0x238e;return this[_0xc416f4(0x72b)];}['setUsage'](){}['set'](_0x1aa505){var _0x59b670=a6_0x238e;this[_0x59b670(0x72b)]=_0x1aa505;}[_0x5cb3b8(0x40b)](){var _0x299f64=_0x5cb3b8;this[_0x299f64(0x72b)]=null;}[_0x5cb3b8(0x6cb)](){var _0x404974=_0x5cb3b8;this[_0x404974(0x72b)]&&this[_0x404974(0x4ae)][_0x404974(0xa89)](this[_0x404974(0x72b)]),this[_0x404974(0x40b)]();}}},0xa218:(_0x2a77af,_0x5374ef,_0xb7b145)=>{var _0x31f0f3=a6_0x36115b;_0xb7b145['d'](_0x5374ef,{'G':()=>_0x28f1f0});class _0x28f1f0{constructor(_0x3c9eb5){var _0x5a9498=a6_0x238e;this['isParallelCompiled']=!0x0,this['isCompiled']=!0x1,this[_0x5a9498(0xb38)]={},this[_0x5a9498(0x4ae)]=_0x3c9eb5;}get['isAsync'](){var _0x14b191=a6_0x238e;return this[_0x14b191(0x16f)];}get[_0x31f0f3(0x682)](){var _0x1b0299=_0x31f0f3,_0x21b416;if(this['compilationError'])throw _0x21b416=this['compilationError'][_0x1b0299(0x746)],new Error(_0x1b0299(0x10e)+('string'==typeof _0x21b416?'\x0a'+_0x21b416:''));return this[_0x1b0299(0x318)];}[_0x31f0f3(0x3a8)](){return null;}[_0x31f0f3(0x65a)](){return null;}[_0x31f0f3(0x1df)](_0x34274d){var _0x4edb41=_0x31f0f3;throw new Error(_0x4edb41(0x951));}[_0x31f0f3(0xc0d)](_0x576bac,_0x5e3c46,_0x3e215f,_0xc3657f,_0x2ba415,_0x459153,_0x496ac6,_0x19e69d){var _0x37d7e1=_0x31f0f3;const _0x215f95=this[_0x37d7e1(0x4ae)];if(_0x215f95[_0x37d7e1(0xbb6)]){for(const _0x2e6be9 in _0x5e3c46)_0x576bac['bindUniformBlock'](_0x2e6be9,_0x5e3c46[_0x2e6be9]);}const _0x3ec188=this[_0x37d7e1(0x4ae)][_0x37d7e1(0xaf9)](this,_0x3e215f);_0x3ec188['forEach']((_0x339ecf,_0x1ff80f)=>{_0xc3657f[_0x3e215f[_0x1ff80f]]=_0x339ecf;}),this[_0x37d7e1(0x6eb)]=_0xc3657f;let _0x5f583d;for(_0x5f583d=0x0;_0x5f583d<_0x2ba415[_0x37d7e1(0xb85)];_0x5f583d++)null==_0x576bac[_0x37d7e1(0xada)](_0x2ba415[_0x5f583d])&&(_0x2ba415[_0x37d7e1(0x557)](_0x5f583d,0x1),_0x5f583d--);_0x2ba415['forEach']((_0x14227e,_0x3125dd)=>{_0x459153[_0x14227e]=_0x3125dd;}),_0x19e69d[_0x37d7e1(0x731)](..._0x215f95[_0x37d7e1(0xb1f)](this,_0x496ac6));}['dispose'](){var _0x50ec89=_0x31f0f3;this[_0x50ec89(0x6eb)]={};}[_0x31f0f3(0x23d)](_0x1bd859,_0x311d4a){var _0x598b3d=_0x31f0f3,_0x338599=this[_0x598b3d(0xb38)][_0x1bd859],_0x311d4a=_0x311d4a[_0x598b3d(0xc18)];return(void 0x0===_0x338599||_0x338599!==_0x311d4a)&&(this[_0x598b3d(0xb38)][_0x1bd859]=_0x311d4a,!0x0);}[_0x31f0f3(0x65b)](_0x48058b,_0x5f0589,_0xfdae91){var _0x1c862d=_0x31f0f3;let _0x87ba6=this[_0x1c862d(0xb38)][_0x48058b];if(!_0x87ba6)return _0x87ba6=[_0x5f0589,_0xfdae91],this[_0x1c862d(0xb38)][_0x48058b]=_0x87ba6,!0x0;let _0x2e2ba9=!0x1;return _0x87ba6[0x0]!==_0x5f0589&&(_0x87ba6[0x0]=_0x5f0589,_0x2e2ba9=!0x0),_0x87ba6[0x1]!==_0xfdae91&&(_0x87ba6[0x1]=_0xfdae91,_0x2e2ba9=!0x0),_0x2e2ba9;}[_0x31f0f3(0x44d)](_0x11d133,_0x3ddfd7,_0x1e43f1,_0x41dd3d){var _0x569d22=_0x31f0f3;let _0x10df40=this[_0x569d22(0xb38)][_0x11d133];if(!_0x10df40)return _0x10df40=[_0x3ddfd7,_0x1e43f1,_0x41dd3d],this[_0x569d22(0xb38)][_0x11d133]=_0x10df40,!0x0;let _0x2796cc=!0x1;return _0x10df40[0x0]!==_0x3ddfd7&&(_0x10df40[0x0]=_0x3ddfd7,_0x2796cc=!0x0),_0x10df40[0x1]!==_0x1e43f1&&(_0x10df40[0x1]=_0x1e43f1,_0x2796cc=!0x0),_0x10df40[0x2]!==_0x41dd3d&&(_0x10df40[0x2]=_0x41dd3d,_0x2796cc=!0x0),_0x2796cc;}[_0x31f0f3(0xa82)](_0x56711f,_0x31d189,_0x467017,_0x4e130e,_0x515a61){var _0x136a5f=_0x31f0f3;let _0x3de11c=this[_0x136a5f(0xb38)][_0x56711f];if(!_0x3de11c)return _0x3de11c=[_0x31d189,_0x467017,_0x4e130e,_0x515a61],this[_0x136a5f(0xb38)][_0x56711f]=_0x3de11c,!0x0;let _0x3e887f=!0x1;return _0x3de11c[0x0]!==_0x31d189&&(_0x3de11c[0x0]=_0x31d189,_0x3e887f=!0x0),_0x3de11c[0x1]!==_0x467017&&(_0x3de11c[0x1]=_0x467017,_0x3e887f=!0x0),_0x3de11c[0x2]!==_0x4e130e&&(_0x3de11c[0x2]=_0x4e130e,_0x3e887f=!0x0),_0x3de11c[0x3]!==_0x515a61&&(_0x3de11c[0x3]=_0x515a61,_0x3e887f=!0x0),_0x3e887f;}[_0x31f0f3(0xa3c)](_0x5732fe,_0x45bd46){var _0x184227=_0x31f0f3,_0x33bf92=this[_0x184227(0xb38)][_0x5732fe];void 0x0!==_0x33bf92&&_0x33bf92===_0x45bd46||this[_0x184227(0x4ae)][_0x184227(0xa3c)](this[_0x184227(0x6eb)][_0x5732fe],_0x45bd46)&&(this[_0x184227(0xb38)][_0x5732fe]=_0x45bd46);}[_0x31f0f3(0xac2)](_0x251c87,_0x280039,_0x3ba787){var _0x274415=_0x31f0f3;this[_0x274415(0x65b)](_0x251c87,_0x280039,_0x3ba787)&&!this['_engine'][_0x274415(0xac2)](this[_0x274415(0x6eb)][_0x251c87],_0x280039,_0x3ba787)&&(this[_0x274415(0xb38)][_0x251c87]=null);}[_0x31f0f3(0xc25)](_0xf72d41,_0x527e65,_0x4b3069,_0x4d1427){var _0x5c77f7=_0x31f0f3;this[_0x5c77f7(0x44d)](_0xf72d41,_0x527e65,_0x4b3069,_0x4d1427)&&!this[_0x5c77f7(0x4ae)]['setInt3'](this[_0x5c77f7(0x6eb)][_0xf72d41],_0x527e65,_0x4b3069,_0x4d1427)&&(this['_valueCache'][_0xf72d41]=null);}[_0x31f0f3(0xbfb)](_0x456818,_0x55ae31,_0x1be8bd,_0x1a242a,_0x10a9d5){var _0x405417=_0x31f0f3;this[_0x405417(0xa82)](_0x456818,_0x55ae31,_0x1be8bd,_0x1a242a,_0x10a9d5)&&!this[_0x405417(0x4ae)][_0x405417(0xbfb)](this['_uniforms'][_0x456818],_0x55ae31,_0x1be8bd,_0x1a242a,_0x10a9d5)&&(this[_0x405417(0xb38)][_0x456818]=null);}[_0x31f0f3(0x84a)](_0x332905,_0x264a94){var _0x1ead3e=_0x31f0f3;this['_valueCache'][_0x332905]=null,this[_0x1ead3e(0x4ae)][_0x1ead3e(0x84a)](this[_0x1ead3e(0x6eb)][_0x332905],_0x264a94);}[_0x31f0f3(0x1e3)](_0x1bd61f,_0x2cfba0){var _0x287e95=_0x31f0f3;this[_0x287e95(0xb38)][_0x1bd61f]=null,this['_engine'][_0x287e95(0x1e3)](this[_0x287e95(0x6eb)][_0x1bd61f],_0x2cfba0);}['setIntArray3'](_0x18065f,_0x2f1a17){var _0x4f3795=_0x31f0f3;this['_valueCache'][_0x18065f]=null,this[_0x4f3795(0x4ae)][_0x4f3795(0xca4)](this[_0x4f3795(0x6eb)][_0x18065f],_0x2f1a17);}['setIntArray4'](_0x5c2bad,_0x27c726){var _0x4748f4=_0x31f0f3;this[_0x4748f4(0xb38)][_0x5c2bad]=null,this['_engine'][_0x4748f4(0x222)](this[_0x4748f4(0x6eb)][_0x5c2bad],_0x27c726);}[_0x31f0f3(0x4b4)](_0x94334b,_0xebe049){var _0x587a01=_0x31f0f3,_0x554a85=this['_valueCache'][_0x94334b];void 0x0!==_0x554a85&&_0x554a85===_0xebe049||this[_0x587a01(0x4ae)][_0x587a01(0x4b4)](this['_uniforms'][_0x94334b],_0xebe049)&&(this[_0x587a01(0xb38)][_0x94334b]=_0xebe049);}[_0x31f0f3(0x897)](_0x4bcb76,_0x2c637d,_0x52cb2e){var _0x27ab6a=_0x31f0f3;this[_0x27ab6a(0x65b)](_0x4bcb76,_0x2c637d,_0x52cb2e)&&!this[_0x27ab6a(0x4ae)][_0x27ab6a(0x897)](this[_0x27ab6a(0x6eb)][_0x4bcb76],_0x2c637d,_0x52cb2e)&&(this[_0x27ab6a(0xb38)][_0x4bcb76]=null);}['setUInt3'](_0x1eefa5,_0x24f489,_0x98299d,_0x308bc2){var _0x44a078=_0x31f0f3;this[_0x44a078(0x44d)](_0x1eefa5,_0x24f489,_0x98299d,_0x308bc2)&&!this[_0x44a078(0x4ae)][_0x44a078(0x234)](this['_uniforms'][_0x1eefa5],_0x24f489,_0x98299d,_0x308bc2)&&(this[_0x44a078(0xb38)][_0x1eefa5]=null);}[_0x31f0f3(0x2c5)](_0x2d7819,_0x525531,_0x513d64,_0x59ed70,_0x2adf36){var _0x1c24f9=_0x31f0f3;this[_0x1c24f9(0xa82)](_0x2d7819,_0x525531,_0x513d64,_0x59ed70,_0x2adf36)&&!this['_engine'][_0x1c24f9(0x2c5)](this[_0x1c24f9(0x6eb)][_0x2d7819],_0x525531,_0x513d64,_0x59ed70,_0x2adf36)&&(this[_0x1c24f9(0xb38)][_0x2d7819]=null);}['setUIntArray'](_0x58ec62,_0x2a6da4){var _0x5651c5=_0x31f0f3;this[_0x5651c5(0xb38)][_0x58ec62]=null,this[_0x5651c5(0x4ae)][_0x5651c5(0x14e)](this[_0x5651c5(0x6eb)][_0x58ec62],_0x2a6da4);}[_0x31f0f3(0x83a)](_0x1c5e20,_0x376fc4){var _0x17bca9=_0x31f0f3;this['_valueCache'][_0x1c5e20]=null,this[_0x17bca9(0x4ae)]['setUIntArray2'](this['_uniforms'][_0x1c5e20],_0x376fc4);}[_0x31f0f3(0x9b2)](_0x30adff,_0x8f84f4){var _0x3e126f=_0x31f0f3;this[_0x3e126f(0xb38)][_0x30adff]=null,this[_0x3e126f(0x4ae)][_0x3e126f(0x9b2)](this[_0x3e126f(0x6eb)][_0x30adff],_0x8f84f4);}[_0x31f0f3(0xc3d)](_0x40ef80,_0x3ae172){var _0x159ef8=_0x31f0f3;this['_valueCache'][_0x40ef80]=null,this[_0x159ef8(0x4ae)][_0x159ef8(0xc3d)](this[_0x159ef8(0x6eb)][_0x40ef80],_0x3ae172);}['setFloatArray'](_0x1daf9f,_0x15461e){var _0x819edc=_0x31f0f3;this[_0x819edc(0xb38)][_0x1daf9f]=null,this[_0x819edc(0x4ae)][_0x819edc(0x27c)](this['_uniforms'][_0x1daf9f],_0x15461e);}[_0x31f0f3(0x7ea)](_0x2b31c7,_0x3d8c10){var _0x11f79f=_0x31f0f3;this[_0x11f79f(0xb38)][_0x2b31c7]=null,this[_0x11f79f(0x4ae)][_0x11f79f(0x7ea)](this[_0x11f79f(0x6eb)][_0x2b31c7],_0x3d8c10);}['setFloatArray3'](_0x4289d4,_0xfb10c3){var _0x333ae4=_0x31f0f3;this[_0x333ae4(0xb38)][_0x4289d4]=null,this[_0x333ae4(0x4ae)]['setFloatArray3'](this[_0x333ae4(0x6eb)][_0x4289d4],_0xfb10c3);}[_0x31f0f3(0x60d)](_0x24fdcf,_0x32b7be){var _0x40e816=_0x31f0f3;this['_valueCache'][_0x24fdcf]=null,this['_engine'][_0x40e816(0x60d)](this['_uniforms'][_0x24fdcf],_0x32b7be);}[_0x31f0f3(0x43f)](_0x184860,_0x3b6984){var _0x48ae10=_0x31f0f3;this[_0x48ae10(0xb38)][_0x184860]=null,this[_0x48ae10(0x4ae)][_0x48ae10(0x43f)](this['_uniforms'][_0x184860],_0x3b6984);}[_0x31f0f3(0x27a)](_0x48abeb,_0x166e21){var _0x3d4a20=_0x31f0f3;this[_0x3d4a20(0xb38)][_0x48abeb]=null,this[_0x3d4a20(0x4ae)]['setArray2'](this[_0x3d4a20(0x6eb)][_0x48abeb],_0x166e21);}[_0x31f0f3(0x290)](_0x342104,_0x3ab2b9){var _0x45e993=_0x31f0f3;this[_0x45e993(0xb38)][_0x342104]=null,this[_0x45e993(0x4ae)][_0x45e993(0x290)](this[_0x45e993(0x6eb)][_0x342104],_0x3ab2b9);}[_0x31f0f3(0xafb)](_0xfcc2b7,_0x21b9b2){var _0x429bac=_0x31f0f3;this[_0x429bac(0xb38)][_0xfcc2b7]=null,this[_0x429bac(0x4ae)][_0x429bac(0xafb)](this[_0x429bac(0x6eb)][_0xfcc2b7],_0x21b9b2);}['setMatrices'](_0x12de67,_0xeaa3c9){var _0x244d8e=_0x31f0f3;_0xeaa3c9&&(this[_0x244d8e(0xb38)][_0x12de67]=null,this['_engine'][_0x244d8e(0x220)](this[_0x244d8e(0x6eb)][_0x12de67],_0xeaa3c9));}[_0x31f0f3(0xc1f)](_0x73649,_0x391c16){var _0x5c712e=_0x31f0f3;this[_0x5c712e(0x23d)](_0x73649,_0x391c16)&&!this[_0x5c712e(0x4ae)][_0x5c712e(0x220)](this['_uniforms'][_0x73649],_0x391c16[_0x5c712e(0x1b5)]())&&(this[_0x5c712e(0xb38)][_0x73649]=null);}['setMatrix3x3'](_0x5be7d3,_0x512f8f){var _0x2d1f8a=_0x31f0f3;this[_0x2d1f8a(0xb38)][_0x5be7d3]=null,this['_engine'][_0x2d1f8a(0x128)](this[_0x2d1f8a(0x6eb)][_0x5be7d3],_0x512f8f);}[_0x31f0f3(0x5b7)](_0x21c356,_0x119026){var _0x220333=_0x31f0f3;this['_valueCache'][_0x21c356]=null,this['_engine'][_0x220333(0x5b7)](this['_uniforms'][_0x21c356],_0x119026);}[_0x31f0f3(0x2ea)](_0x3a1f07,_0x1e2991){var _0x3dfa03=_0x31f0f3,_0x4bc5f6=this[_0x3dfa03(0xb38)][_0x3a1f07];void 0x0!==_0x4bc5f6&&_0x4bc5f6===_0x1e2991||this[_0x3dfa03(0x4ae)][_0x3dfa03(0x2ea)](this[_0x3dfa03(0x6eb)][_0x3a1f07],_0x1e2991)&&(this[_0x3dfa03(0xb38)][_0x3a1f07]=_0x1e2991);}[_0x31f0f3(0x556)](_0x1535ca,_0x37ce0e){var _0x19f184=_0x31f0f3,_0xa0bc8c=this[_0x19f184(0xb38)][_0x1535ca];void 0x0!==_0xa0bc8c&&_0xa0bc8c===_0x37ce0e||this['_engine']['setInt'](this['_uniforms'][_0x1535ca],_0x37ce0e?0x1:0x0)&&(this[_0x19f184(0xb38)][_0x1535ca]=_0x37ce0e?0x1:0x0);}['setVector2'](_0x3da096,_0x29dd63){var _0x1f1c76=_0x31f0f3;this['_cacheFloat2'](_0x3da096,_0x29dd63['x'],_0x29dd63['y'])&&!this['_engine'][_0x1f1c76(0x6da)](this[_0x1f1c76(0x6eb)][_0x3da096],_0x29dd63['x'],_0x29dd63['y'])&&(this[_0x1f1c76(0xb38)][_0x3da096]=null);}[_0x31f0f3(0x6da)](_0x3387a5,_0x532a61,_0xde3080){var _0xad422a=_0x31f0f3;this['_cacheFloat2'](_0x3387a5,_0x532a61,_0xde3080)&&!this['_engine'][_0xad422a(0x6da)](this[_0xad422a(0x6eb)][_0x3387a5],_0x532a61,_0xde3080)&&(this[_0xad422a(0xb38)][_0x3387a5]=null);}[_0x31f0f3(0x36f)](_0x4fd92f,_0x232f6e){var _0x3fc836=_0x31f0f3;this[_0x3fc836(0x44d)](_0x4fd92f,_0x232f6e['x'],_0x232f6e['y'],_0x232f6e['z'])&&!this['_engine'][_0x3fc836(0x328)](this['_uniforms'][_0x4fd92f],_0x232f6e['x'],_0x232f6e['y'],_0x232f6e['z'])&&(this['_valueCache'][_0x4fd92f]=null);}[_0x31f0f3(0x328)](_0x344c42,_0x91630,_0x11d436,_0x6e85fa){var _0x442e98=_0x31f0f3;this[_0x442e98(0x44d)](_0x344c42,_0x91630,_0x11d436,_0x6e85fa)&&!this[_0x442e98(0x4ae)][_0x442e98(0x328)](this[_0x442e98(0x6eb)][_0x344c42],_0x91630,_0x11d436,_0x6e85fa)&&(this['_valueCache'][_0x344c42]=null);}[_0x31f0f3(0xb0a)](_0x1860a5,_0x2f4f61){var _0x4d10f6=_0x31f0f3;this[_0x4d10f6(0xa82)](_0x1860a5,_0x2f4f61['x'],_0x2f4f61['y'],_0x2f4f61['z'],_0x2f4f61['w'])&&!this[_0x4d10f6(0x4ae)][_0x4d10f6(0x1d7)](this[_0x4d10f6(0x6eb)][_0x1860a5],_0x2f4f61['x'],_0x2f4f61['y'],_0x2f4f61['z'],_0x2f4f61['w'])&&(this[_0x4d10f6(0xb38)][_0x1860a5]=null);}[_0x31f0f3(0x64e)](_0x1f2e0f,_0x3d1127){var _0x1ecd04=_0x31f0f3;this['_cacheFloat4'](_0x1f2e0f,_0x3d1127['x'],_0x3d1127['y'],_0x3d1127['z'],_0x3d1127['w'])&&!this[_0x1ecd04(0x4ae)]['setFloat4'](this[_0x1ecd04(0x6eb)][_0x1f2e0f],_0x3d1127['x'],_0x3d1127['y'],_0x3d1127['z'],_0x3d1127['w'])&&(this[_0x1ecd04(0xb38)][_0x1f2e0f]=null);}['setFloat4'](_0x359f86,_0x477025,_0x129366,_0x30f7a4,_0x498b06){var _0x574679=_0x31f0f3;this[_0x574679(0xa82)](_0x359f86,_0x477025,_0x129366,_0x30f7a4,_0x498b06)&&!this[_0x574679(0x4ae)][_0x574679(0x1d7)](this[_0x574679(0x6eb)][_0x359f86],_0x477025,_0x129366,_0x30f7a4,_0x498b06)&&(this['_valueCache'][_0x359f86]=null);}['setColor3'](_0x2233c6,_0x241e24){var _0x577820=_0x31f0f3;this[_0x577820(0x44d)](_0x2233c6,_0x241e24['r'],_0x241e24['g'],_0x241e24['b'])&&!this['_engine'][_0x577820(0x328)](this[_0x577820(0x6eb)][_0x2233c6],_0x241e24['r'],_0x241e24['g'],_0x241e24['b'])&&(this[_0x577820(0xb38)][_0x2233c6]=null);}[_0x31f0f3(0x462)](_0x5f1629,_0x4ca962,_0x50dfc0){var _0x25fd37=_0x31f0f3;this[_0x25fd37(0xa82)](_0x5f1629,_0x4ca962['r'],_0x4ca962['g'],_0x4ca962['b'],_0x50dfc0)&&!this[_0x25fd37(0x4ae)][_0x25fd37(0x1d7)](this[_0x25fd37(0x6eb)][_0x5f1629],_0x4ca962['r'],_0x4ca962['g'],_0x4ca962['b'],_0x50dfc0)&&(this['_valueCache'][_0x5f1629]=null);}[_0x31f0f3(0x5d4)](_0x530e5b,_0x1b41b0){var _0x378265=_0x31f0f3;this[_0x378265(0xa82)](_0x530e5b,_0x1b41b0['r'],_0x1b41b0['g'],_0x1b41b0['b'],_0x1b41b0['a'])&&!this[_0x378265(0x4ae)][_0x378265(0x1d7)](this[_0x378265(0x6eb)][_0x530e5b],_0x1b41b0['r'],_0x1b41b0['g'],_0x1b41b0['b'],_0x1b41b0['a'])&&(this[_0x378265(0xb38)][_0x530e5b]=null);}}},0x1581f:(_0x3da476,_0x2da83f,_0x2805a3)=>{var _0x2cb226=a6_0x36115b;_0x2805a3['d'](_0x2da83f,{'o':()=>_0x4ac1a9});class _0x4ac1a9 extends _0x2805a3(0x758)['r']{constructor(_0xc66837,_0x31a73b,_0x5aefbb,_0x5723ab){var _0x574682=a6_0x238e;super(_0xc66837,_0x31a73b,_0x5aefbb,_0x5723ab),this[_0x574682(0x644)]=null,this[_0x574682(0xa02)]=null,this['_engine']=_0x5723ab;}get[_0x2cb226(0x86c)](){return this['__framebuffer'];}set[_0x2cb226(0x86c)](_0x596fcd){var _0x40b44d=_0x2cb226;this['__framebuffer']&&this['_engine'][_0x40b44d(0x89d)](this[_0x40b44d(0x644)]),this[_0x40b44d(0x644)]=_0x596fcd;}get[_0x2cb226(0x6c1)](){var _0xf0e30=_0x2cb226;return this[_0xf0e30(0xa02)];}set[_0x2cb226(0x6c1)](_0x21d914){var _0x284e8d=_0x2cb226;this[_0x284e8d(0xa02)]&&this[_0x284e8d(0x4ae)][_0x284e8d(0x89d)](this['__framebufferDepthStencil']),this[_0x284e8d(0xa02)]=_0x21d914;}[_0x2cb226(0xae6)](_0x3ed22a=!0x1){var _0x2a579b=_0x2cb226;this[_0x2a579b(0x86c)]=null,this[_0x2a579b(0x6c1)]=null,super['dispose'](_0x3ed22a);}}},0x5c6e:(_0x3c62d5,_0x2b82a7,_0x561fe2)=>{var _0x1b2308=a6_0x36115b;_0x561fe2['d'](_0x2b82a7,{'L':()=>_0x24afd0});class _0x3804e2{constructor(){this['children']=[];}[_0x1b2308(0xb12)](_0x4cbcb2){return!0x0;}[_0x1b2308(0x788)](_0x478df3,_0x42e55c){var _0x4089f6=_0x1b2308;let _0x4b115c='';if(this['line']){let _0x135ede=this['line'];const _0x5adcfa=_0x42e55c[_0x4089f6(0x92a)];if(_0x5adcfa){_0x5adcfa['lineProcessor']&&(_0x135ede=_0x5adcfa[_0x4089f6(0xcd6)](_0x135ede,_0x42e55c['isFragment'],_0x42e55c[_0x4089f6(0x6e2)]));var _0x3bc00f=null!=(_0x3bc00f=null==(_0x3bc00f=_0x42e55c[_0x4089f6(0x92a)])?void 0x0:_0x3bc00f[_0x4089f6(0xc28)])?_0x3bc00f:'attribute',_0x53d488=_0x42e55c[_0x4089f6(0x7c8)]&&null!=(_0x53d488=_0x42e55c['processor'])&&_0x53d488[_0x4089f6(0xafc)]?null==(_0x53d488=_0x42e55c[_0x4089f6(0x92a)])?void 0x0:_0x53d488['varyingFragmentKeywordName']:!_0x42e55c[_0x4089f6(0x7c8)]&&null!=(_0x53d488=_0x42e55c[_0x4089f6(0x92a)])&&_0x53d488['varyingVertexKeywordName']?null==(_0x53d488=_0x42e55c[_0x4089f6(0x92a)])?void 0x0:_0x53d488[_0x4089f6(0x539)]:_0x4089f6(0x34e);if(!_0x42e55c[_0x4089f6(0x7c8)]&&_0x5adcfa[_0x4089f6(0x1e6)]&&this[_0x4089f6(0xb56)][_0x4089f6(0x709)](_0x3bc00f))_0x135ede=_0x5adcfa[_0x4089f6(0x1e6)](this[_0x4089f6(0xb56)],_0x478df3,_0x42e55c[_0x4089f6(0x6e2)]);else{if(_0x5adcfa[_0x4089f6(0x1a5)]&&this['line'][_0x4089f6(0x709)](_0x53d488))_0x135ede=_0x5adcfa[_0x4089f6(0x1a5)](this[_0x4089f6(0xb56)],_0x42e55c[_0x4089f6(0x7c8)],_0x478df3,_0x42e55c[_0x4089f6(0x6e2)]);else{if(_0x5adcfa[_0x4089f6(0x8b7)]&&_0x5adcfa[_0x4089f6(0xb0f)]&&_0x5adcfa[_0x4089f6(0xb0f)]['test'](this[_0x4089f6(0xb56)]))_0x42e55c[_0x4089f6(0x446)]||(_0x135ede=_0x5adcfa[_0x4089f6(0x8b7)](this[_0x4089f6(0xb56)],_0x42e55c[_0x4089f6(0x7c8)],_0x478df3,_0x42e55c[_0x4089f6(0x6e2)]));else{if(_0x5adcfa[_0x4089f6(0xcda)]&&_0x5adcfa[_0x4089f6(0x96a)]&&_0x5adcfa[_0x4089f6(0x96a)][_0x4089f6(0xa4f)](this[_0x4089f6(0xb56)]))_0x42e55c[_0x4089f6(0x446)]||(_0x135ede=_0x5adcfa['uniformBufferProcessor'](this[_0x4089f6(0xb56)],_0x42e55c[_0x4089f6(0x7c8)],_0x42e55c['processingContext']),_0x42e55c[_0x4089f6(0x446)]=!0x0);else{if(_0x5adcfa[_0x4089f6(0x102)]&&_0x5adcfa['textureRegexp']&&_0x5adcfa['textureRegexp'][_0x4089f6(0xa4f)](this['line']))_0x135ede=_0x5adcfa[_0x4089f6(0x102)](this[_0x4089f6(0xb56)],_0x42e55c['isFragment'],_0x478df3,_0x42e55c['processingContext']);else{if((_0x5adcfa[_0x4089f6(0x8b7)]||_0x5adcfa['uniformBufferProcessor'])&&this[_0x4089f6(0xb56)][_0x4089f6(0x709)]('uniform')&&!_0x42e55c[_0x4089f6(0x446)]){const _0x761c3a=/uniform\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/;_0x761c3a[_0x4089f6(0xa4f)](this[_0x4089f6(0xb56)])?_0x5adcfa[_0x4089f6(0x8b7)]&&(_0x135ede=_0x5adcfa[_0x4089f6(0x8b7)](this['line'],_0x42e55c[_0x4089f6(0x7c8)],_0x478df3,_0x42e55c['processingContext'])):_0x5adcfa[_0x4089f6(0xcda)]&&(_0x135ede=_0x5adcfa[_0x4089f6(0xcda)](this[_0x4089f6(0xb56)],_0x42e55c[_0x4089f6(0x7c8)],_0x42e55c['processingContext']),_0x42e55c[_0x4089f6(0x446)]=!0x0);}}}}}}_0x42e55c[_0x4089f6(0x446)]&&-0x1!==this[_0x4089f6(0xb56)][_0x4089f6(0x168)]('}')&&(_0x42e55c[_0x4089f6(0x446)]=!0x1,_0x5adcfa['endOfUniformBufferProcessor']&&(_0x135ede=_0x5adcfa[_0x4089f6(0x67d)](this[_0x4089f6(0xb56)],_0x42e55c[_0x4089f6(0x7c8)],_0x42e55c[_0x4089f6(0x6e2)])));}_0x4b115c+=_0x135ede+'\x0d\x0a';}return this[_0x4089f6(0x425)]['forEach'](_0x2549fb=>{var _0x5370ea=_0x4089f6;_0x4b115c+=_0x2549fb[_0x5370ea(0x788)](_0x478df3,_0x42e55c);}),this[_0x4089f6(0x137)]&&(_0x478df3[this[_0x4089f6(0x137)]]=this[_0x4089f6(0x76f)]||'true'),_0x4b115c;}}class _0x4465dd{constructor(){this['_lines']=[];}get['currentLine'](){var _0x42dd5b=_0x1b2308;return this[_0x42dd5b(0x4c7)][this[_0x42dd5b(0x21a)]];}get['canRead'](){return this['lineIndex']<this['_lines']['length']-0x1;}set['lines'](_0x1f4c8c){var _0x2ea72b=_0x1b2308;this[_0x2ea72b(0x4c7)][_0x2ea72b(0xb85)]=0x0;for(const _0x19f16f of _0x1f4c8c)if('#'===_0x19f16f[0x0])this[_0x2ea72b(0x4c7)][_0x2ea72b(0x731)](_0x19f16f);else{if(_0x19f16f[_0x2ea72b(0xa2e)]()[_0x2ea72b(0x709)]('//'))this[_0x2ea72b(0x4c7)]['push'](_0x19f16f);else{var _0xef53ad=_0x19f16f[_0x2ea72b(0x9fa)](';');for(let _0x460331=0x0;_0x460331<_0xef53ad[_0x2ea72b(0xb85)];_0x460331++){let _0x5ee9f2=_0xef53ad[_0x460331];(_0x5ee9f2=_0x5ee9f2['trim']())&&this[_0x2ea72b(0x4c7)][_0x2ea72b(0x731)](_0x5ee9f2+(_0x460331!==_0xef53ad[_0x2ea72b(0xb85)]-0x1?';':''));}}}}}class _0x23f2a9 extends _0x3804e2{[_0x1b2308(0x788)](_0x123d2c,_0x288902){var _0x137333=_0x1b2308;for(let _0x39bf2c=0x0;_0x39bf2c<this[_0x137333(0x425)][_0x137333(0xb85)];_0x39bf2c++){const _0x414ab7=this[_0x137333(0x425)][_0x39bf2c];if(_0x414ab7[_0x137333(0xb12)](_0x123d2c))return _0x414ab7[_0x137333(0x788)](_0x123d2c,_0x288902);}return'';}}class _0x1dcbcf extends _0x3804e2{[_0x1b2308(0xb12)](_0x5e633d){var _0x44ac4a=_0x1b2308;return this[_0x44ac4a(0x225)][_0x44ac4a(0x815)](_0x5e633d);}}class _0x3c9ca6{[_0x1b2308(0x815)](_0x3ce132){return!0x0;}static[_0x1b2308(0x5d3)](_0xe53d44){var _0x572e64=_0x1b2308;const _0x1c411f=[];for(const _0xa51342 of _0xe53d44){var _0x23f078,_0x4a5e98;void 0x0===_0x3c9ca6[_0x572e64(0x9b3)][_0xa51342]?_0x1c411f['push'](_0xa51342):(_0x23f078=_0x1c411f[_0x1c411f[_0x572e64(0xb85)]-0x1],_0x4a5e98=_0x1c411f[_0x1c411f[_0x572e64(0xb85)]-0x2],_0x1c411f[_0x572e64(0xb85)]-=0x2,_0x1c411f['push']('('+_0x4a5e98+_0xa51342+_0x23f078+')'));}return _0x1c411f[_0x1c411f['length']-0x1];}static[_0x1b2308(0xc7b)](_0x5176bc){var _0x5e48a2=_0x1b2308;const _0x4e14bc=[];let _0xda191a=-0x1;var _0x5931ca=()=>{var _0x5d1df6=a6_0x238e;''!==(_0x161a11=_0x161a11[_0x5d1df6(0xa2e)]())&&(_0x4e14bc[_0x5d1df6(0x731)](_0x161a11),_0x161a11='');},_0x1c8ca9=_0x329bf9=>{var _0x310f96=a6_0x238e;_0xda191a<_0x3c9ca6[_0x310f96(0x17b)][_0x310f96(0xb85)]-0x1&&(_0x3c9ca6[_0x310f96(0x17b)][++_0xda191a]=_0x329bf9);},_0x1ac3d5=()=>_0x3c9ca6[_0x5e48a2(0x17b)][_0xda191a],_0x55b92f=()=>-0x1===_0xda191a?_0x5e48a2(0x7cd):_0x3c9ca6[_0x5e48a2(0x17b)][_0xda191a--];let _0xc53918=0x0,_0x161a11='';for(;_0xc53918<_0x5176bc[_0x5e48a2(0xb85)];){var _0x103b9d=_0x5176bc[_0x5e48a2(0x734)](_0xc53918),_0x38fca8=_0xc53918<_0x5176bc['length']-0x1?_0x5176bc['substr'](_0xc53918,0x2):'';if('('===_0x103b9d)_0x161a11='',_0x1c8ca9(_0x103b9d);else{if(')'===_0x103b9d){for(_0x5931ca();-0x1!==_0xda191a&&'('!==_0x1ac3d5();)_0x4e14bc[_0x5e48a2(0x731)](_0x55b92f());_0x55b92f();}else{if(0x1<_0x3c9ca6[_0x5e48a2(0x9b3)][_0x38fca8]){for(_0x5931ca();-0x1!==_0xda191a&&_0x3c9ca6[_0x5e48a2(0x9b3)][_0x1ac3d5()]>=_0x3c9ca6[_0x5e48a2(0x9b3)][_0x38fca8];)_0x4e14bc[_0x5e48a2(0x731)](_0x55b92f());_0x1c8ca9(_0x38fca8),_0xc53918++;}else _0x161a11+=_0x103b9d;}}_0xc53918++;}for(_0x5931ca();-0x1!==_0xda191a;)'('===_0x1ac3d5()?_0x55b92f():_0x4e14bc['push'](_0x55b92f());return _0x4e14bc;}}_0x3c9ca6[_0x1b2308(0x9b3)]={')':0x0,'(':0x1,'||':0x2,'&&':0x3},_0x3c9ca6['_Stack']=['','','','','','','','','','','','','','','','','','','',''];class _0x386e06 extends _0x3c9ca6{constructor(_0x560403,_0x585086=!0x1){var _0x4c4da9=_0x1b2308;super(),this[_0x4c4da9(0x28a)]=_0x560403,this[_0x4c4da9(0xa18)]=_0x585086;}['isTrue'](_0x59dc05){var _0x11d7cb=_0x1b2308;let _0x3997b9=void 0x0!==_0x59dc05[this['define']];return _0x3997b9=this[_0x11d7cb(0xa18)]?!_0x3997b9:_0x3997b9;}}class _0x51920b extends _0x3c9ca6{['isTrue'](_0x52f600){var _0x1264c6=_0x1b2308;return this['leftOperand'][_0x1264c6(0x815)](_0x52f600)||this[_0x1264c6(0x1c2)][_0x1264c6(0x815)](_0x52f600);}}class _0x33daa8 extends _0x3c9ca6{[_0x1b2308(0x815)](_0x54990c){var _0x533c62=_0x1b2308;return this[_0x533c62(0xabc)][_0x533c62(0x815)](_0x54990c)&&this[_0x533c62(0x1c2)]['isTrue'](_0x54990c);}}class _0x4a9396 extends _0x3c9ca6{constructor(_0x3638be,_0x4a960b,_0x254196){var _0x22ad54=_0x1b2308;super(),this[_0x22ad54(0x28a)]=_0x3638be,this['operand']=_0x4a960b,this[_0x22ad54(0x93a)]=_0x254196;}[_0x1b2308(0x815)](_0x456afd){var _0x264e3d=_0x1b2308;let _0x32f090=_0x456afd[this[_0x264e3d(0x28a)]],_0x46fcd3=(void 0x0===_0x32f090&&(_0x32f090=this['define']),!0x1);var _0x517c12=parseInt(_0x32f090),_0x39b44a=parseInt(this[_0x264e3d(0x93a)]);switch(this[_0x264e3d(0x62f)]){case'>':_0x46fcd3=_0x39b44a<_0x517c12;break;case'<':_0x46fcd3=_0x517c12<_0x39b44a;break;case'<=':_0x46fcd3=_0x517c12<=_0x39b44a;break;case'>=':_0x46fcd3=_0x39b44a<=_0x517c12;break;case'==':_0x46fcd3=_0x517c12===_0x39b44a;}return _0x46fcd3;}}var _0x20b53b=_0x561fe2(0x15cb9),_0x3b6c88=_0x561fe2(0x11722);const _0xfc6950=/defined\s*?\((.+?)\)/g,_0x1c56f3=/defined\s*?\[(.+?)\]/g,_0x1b9225=/#include\s?<(.+)>(\((.*)\))*(\[(.*)\])*/g;class _0x24afd0{static['Initialize'](_0xab0b9e){var _0x579815=_0x1b2308;_0xab0b9e[_0x579815(0x92a)]&&_0xab0b9e[_0x579815(0x92a)]['initializeShaders']&&_0xab0b9e[_0x579815(0x92a)][_0x579815(0x94e)](_0xab0b9e['processingContext']);}static['Process'](_0x247dcc,_0x10c1f1,_0x29207c,_0x33d176){var _0x41eb63=_0x1b2308,_0x36ff86;null!=(_0x36ff86=_0x10c1f1[_0x41eb63(0x92a)])&&_0x36ff86[_0x41eb63(0xb87)]&&(_0x247dcc=_0x10c1f1[_0x41eb63(0x92a)][_0x41eb63(0xb87)](_0x247dcc,_0x10c1f1['isFragment'])),this[_0x41eb63(0x2c2)](_0x247dcc,_0x10c1f1,_0x1b3e85=>{var _0x3e1c5e=_0x41eb63;_0x10c1f1[_0x3e1c5e(0xa7b)]&&(_0x1b3e85=_0x10c1f1[_0x3e1c5e(0xa7b)](_0x10c1f1['isFragment']?_0x3e1c5e(0x791):_0x3e1c5e(0x133),_0x1b3e85));var _0x226f0a=this[_0x3e1c5e(0x8c3)](_0x1b3e85,_0x10c1f1,_0x33d176);_0x29207c(_0x226f0a,_0x1b3e85);});}static[_0x1b2308(0x60a)](_0x5e6e00,_0xbc1aa4,_0x10be0f,_0x179940){var _0x2a5e62=_0x1b2308,_0x4184cd;null!=(_0x4184cd=_0xbc1aa4[_0x2a5e62(0x92a)])&&_0x4184cd[_0x2a5e62(0xb87)]&&(_0x5e6e00=_0xbc1aa4[_0x2a5e62(0x92a)][_0x2a5e62(0xb87)](_0x5e6e00,_0xbc1aa4[_0x2a5e62(0x7c8)])),this[_0x2a5e62(0x2c2)](_0x5e6e00,_0xbc1aa4,_0x2f6170=>{var _0x2f4bdf=_0x2a5e62;_0xbc1aa4[_0x2f4bdf(0xa7b)]&&(_0x2f6170=_0xbc1aa4[_0x2f4bdf(0xa7b)](_0xbc1aa4[_0x2f4bdf(0x7c8)]?_0x2f4bdf(0x791):_0x2f4bdf(0x133),_0x2f6170));var _0x3eb7ea=this[_0x2f4bdf(0x689)](_0x2f6170,_0xbc1aa4,_0x179940);_0x10be0f(_0x3eb7ea,_0x2f6170);});}static[_0x1b2308(0xc86)](_0x300dca,_0x2da20d,_0x5bccf1){var _0x1e6795=_0x1b2308;return _0x5bccf1[_0x1e6795(0x92a)]&&_0x5bccf1[_0x1e6795(0x92a)][_0x1e6795(0xa72)]?_0x5bccf1['processor'][_0x1e6795(0xa72)](_0x300dca,_0x2da20d,_0x5bccf1['processingContext']):{'vertexCode':_0x300dca,'fragmentCode':_0x2da20d};}static[_0x1b2308(0x51f)](_0x4565b4,_0x473d17){var _0x1c09ee=_0x1b2308;if(null!=(_0x24cd51=_0x473d17[_0x1c09ee(0x92a)])&&_0x24cd51['noPrecision'])return _0x4565b4;var _0x24cd51=_0x473d17['shouldUseHighPrecisionShader'];return-0x1===_0x4565b4['indexOf'](_0x1c09ee(0xf3))?_0x4565b4=_0x24cd51?_0x1c09ee(0x3c4)+_0x4565b4:_0x1c09ee(0x4da)+_0x4565b4:_0x24cd51||(_0x4565b4=_0x4565b4[_0x1c09ee(0xc73)](_0x1c09ee(0xf3),'precision\x20mediump\x20float')),_0x4565b4;}static[_0x1b2308(0x6d9)](_0x2d7af6){var _0x27da7b=_0x1b2308;const _0x50fdd6=/defined\((.+)\)/[_0x27da7b(0xa97)](_0x2d7af6);if(_0x50fdd6&&_0x50fdd6[_0x27da7b(0xb85)])return new _0x386e06(_0x50fdd6[0x1][_0x27da7b(0xa2e)](),'!'===_0x2d7af6[0x0]);let _0x13b5fc='',_0x56c31e=0x0;for(_0x13b5fc of['==','>=','<=','<','>'])if(-0x1<(_0x56c31e=_0x2d7af6[_0x27da7b(0x168)](_0x13b5fc)))break;if(-0x1===_0x56c31e)return new _0x386e06(_0x2d7af6);var _0x4a2b5a=_0x2d7af6[_0x27da7b(0x622)](0x0,_0x56c31e)[_0x27da7b(0xa2e)](),_0x2c11fb=_0x2d7af6[_0x27da7b(0x622)](_0x56c31e+_0x13b5fc[_0x27da7b(0xb85)])[_0x27da7b(0xa2e)]();return new _0x4a9396(_0x4a2b5a,_0x13b5fc,_0x2c11fb);}static['_BuildSubExpression'](_0x35f13b){var _0x3cf20f=_0x1b2308;_0x35f13b=_0x35f13b[_0x3cf20f(0xc73)](_0xfc6950,_0x3cf20f(0x21e));const _0x1068c9=[];for(const _0x5b15e1 of _0x3c9ca6['infixToPostfix'](_0x35f13b))if('||'!==_0x5b15e1&&'&&'!==_0x5b15e1)_0x1068c9[_0x3cf20f(0x731)](_0x5b15e1);else{if(0x2<=_0x1068c9[_0x3cf20f(0xb85)]){let _0x520721=_0x1068c9[_0x1068c9[_0x3cf20f(0xb85)]-0x1],_0x3ba687=_0x1068c9[_0x1068c9[_0x3cf20f(0xb85)]-0x2];_0x1068c9[_0x3cf20f(0xb85)]-=0x2;const _0x2be4df=new('&&'==_0x5b15e1?_0x33daa8:_0x51920b)();_0x3cf20f(0x1d3)==typeof _0x520721&&(_0x520721=_0x520721['replace'](_0x1c56f3,'defined($1)')),'string'==typeof _0x3ba687&&(_0x3ba687=_0x3ba687['replace'](_0x1c56f3,'defined($1)')),_0x2be4df[_0x3cf20f(0xabc)]=_0x3cf20f(0x1d3)==typeof _0x3ba687?this[_0x3cf20f(0x6d9)](_0x3ba687):_0x3ba687,_0x2be4df[_0x3cf20f(0x1c2)]='string'==typeof _0x520721?this[_0x3cf20f(0x6d9)](_0x520721):_0x520721,_0x1068c9['push'](_0x2be4df);}}let _0x2ae7e9=_0x1068c9[_0x1068c9[_0x3cf20f(0xb85)]-0x1];return _0x3cf20f(0x1d3)==typeof(_0x2ae7e9=_0x3cf20f(0x1d3)==typeof _0x2ae7e9?_0x2ae7e9[_0x3cf20f(0xc73)](_0x1c56f3,'defined($1)'):_0x2ae7e9)?this[_0x3cf20f(0x6d9)](_0x2ae7e9):_0x2ae7e9;}static['_BuildExpression'](_0x3d694f,_0x60c79b){var _0x4db336=_0x1b2308;const _0x2c6d48=new _0x1dcbcf();var _0x28c39f=_0x3d694f[_0x4db336(0x622)](0x0,_0x60c79b);let _0x3ff8da=_0x3d694f[_0x4db336(0x622)](_0x60c79b);return _0x3ff8da=_0x3ff8da[_0x4db336(0x622)](0x0,(_0x3ff8da[_0x4db336(0x168)]('//')+0x1||_0x3ff8da['length']+0x1)-0x1)[_0x4db336(0xa2e)](),_0x2c6d48[_0x4db336(0x225)]='#ifdef'===_0x28c39f?new _0x386e06(_0x3ff8da):_0x4db336(0x601)===_0x28c39f?new _0x386e06(_0x3ff8da,!0x0):this[_0x4db336(0x2b6)](_0x3ff8da),_0x2c6d48;}static[_0x1b2308(0x5c1)](_0x1b0d58,_0x20033b,_0x2937d3){var _0x24de55=_0x1b2308;let _0x2d64c2=_0x1b0d58[_0x24de55(0x472)];for(;this[_0x24de55(0x4bb)](_0x1b0d58,_0x2937d3);){var _0xdf5e60,_0x3ffad5=(_0x2d64c2=_0x1b0d58[_0x24de55(0x472)])[_0x24de55(0x622)](0x0,0x5)['toLowerCase']();if(_0x24de55(0x761)===_0x3ffad5)return _0xdf5e60=new _0x3804e2(),_0x20033b[_0x24de55(0x425)][_0x24de55(0x731)](_0xdf5e60),void this[_0x24de55(0x4bb)](_0x1b0d58,_0xdf5e60);_0x24de55(0x57c)===_0x3ffad5&&(_0xdf5e60=this['_BuildExpression'](_0x2d64c2,0x5),_0x20033b[_0x24de55(0x425)][_0x24de55(0x731)](_0xdf5e60),_0x2937d3=_0xdf5e60);}}static[_0x1b2308(0x4bb)](_0x33f8eb,_0x3a1ad9){var _0x4e57dd=_0x1b2308;for(;_0x33f8eb['canRead'];){_0x33f8eb[_0x4e57dd(0x21a)]++;const _0x4a2715=_0x33f8eb[_0x4e57dd(0x472)],_0x5b622d=/(#ifdef)|(#else)|(#elif)|(#endif)|(#ifndef)|(#if)/;var _0x13ef6f=_0x5b622d[_0x4e57dd(0xa97)](_0x4a2715);if(_0x13ef6f&&_0x13ef6f[_0x4e57dd(0xb85)])switch(_0x13ef6f[0x0]){case _0x4e57dd(0xb20):{const _0xf97bfc=new _0x23f2a9();_0x3a1ad9[_0x4e57dd(0x425)][_0x4e57dd(0x731)](_0xf97bfc);var _0x42e019=this['_BuildExpression'](_0x4a2715,0x6);_0xf97bfc[_0x4e57dd(0x425)]['push'](_0x42e019),this['_MoveCursorWithinIf'](_0x33f8eb,_0xf97bfc,_0x42e019);break;}case _0x4e57dd(0x761):case _0x4e57dd(0x57c):return!0x0;case _0x4e57dd(0x459):return!0x1;case _0x4e57dd(0x601):{const _0x4a20b4=new _0x23f2a9();_0x3a1ad9[_0x4e57dd(0x425)]['push'](_0x4a20b4),_0x42e019=this[_0x4e57dd(0x71a)](_0x4a2715,0x7),(_0x4a20b4[_0x4e57dd(0x425)][_0x4e57dd(0x731)](_0x42e019),this[_0x4e57dd(0x5c1)](_0x33f8eb,_0x4a20b4,_0x42e019));break;}case _0x4e57dd(0x9f7):{const _0x2cb43b=new _0x23f2a9();var _0x4eca4f=this[_0x4e57dd(0x71a)](_0x4a2715,0x3);_0x3a1ad9[_0x4e57dd(0x425)][_0x4e57dd(0x731)](_0x2cb43b),_0x2cb43b[_0x4e57dd(0x425)][_0x4e57dd(0x731)](_0x4eca4f),this[_0x4e57dd(0x5c1)](_0x33f8eb,_0x2cb43b,_0x4eca4f);break;}}else{const _0x40afd7=new _0x3804e2();_0x40afd7['line']=_0x4a2715,_0x3a1ad9[_0x4e57dd(0x425)][_0x4e57dd(0x731)](_0x40afd7),'#'===_0x4a2715[0x0]&&'d'===_0x4a2715[0x1]&&(_0x13ef6f=_0x4a2715[_0x4e57dd(0xc73)](';','')[_0x4e57dd(0x9fa)]('\x20'),_0x40afd7[_0x4e57dd(0x137)]=_0x13ef6f[0x1],0x3===_0x13ef6f[_0x4e57dd(0xb85)]&&(_0x40afd7[_0x4e57dd(0x76f)]=_0x13ef6f[0x2]));}}return!0x1;}static[_0x1b2308(0xa61)](_0x4de1bd,_0x35f8cf,_0x269094){var _0x27e8a5=_0x1b2308;const _0x3cfb5e=new _0x3804e2(),_0x18aad5=new _0x4465dd();return _0x18aad5[_0x27e8a5(0x21a)]=-0x1,_0x18aad5[_0x27e8a5(0x12f)]=_0x4de1bd[_0x27e8a5(0x9fa)]('\x0a'),this[_0x27e8a5(0x4bb)](_0x18aad5,_0x3cfb5e),_0x3cfb5e[_0x27e8a5(0x788)](_0x35f8cf,_0x269094);}static['_PreparePreProcessors'](_0x3843db,_0x2a106c){var _0x2d24a7=_0x1b2308,_0x3bcae6;const _0x45e87f={};for(const _0x35f85a of _0x3843db[_0x2d24a7(0xae8)]){const _0x17e838=_0x35f85a['replace']('#define','')['replace'](';','')[_0x2d24a7(0xa2e)]();var _0x44f437=_0x17e838[_0x2d24a7(0x9fa)]('\x20');_0x45e87f[_0x44f437[0x0]]=0x1<_0x44f437['length']?_0x44f437[0x1]:'';}return(null==(_0x3bcae6=_0x3843db['processor'])?void 0x0:_0x3bcae6[_0x2d24a7(0x474)])===_0x3b6c88['x']['GLSL']&&(_0x45e87f['GL_ES']=_0x2d24a7(0x7e7)),_0x45e87f[_0x2d24a7(0x1ff)]=_0x3843db[_0x2d24a7(0x969)],_0x45e87f[_0x3843db[_0x2d24a7(0xc12)]]=_0x2d24a7(0x7e7),_0x2a106c['_getGlobalDefines'](_0x45e87f),_0x45e87f;}static[_0x1b2308(0x8c3)](_0x50411a,_0x14363a,_0x55e8eb){var _0xf29bdd=_0x1b2308;let _0x137705=this[_0xf29bdd(0x51f)](_0x50411a,_0x14363a);if(!_0x14363a[_0xf29bdd(0x92a)])return _0x137705;if(_0x14363a[_0xf29bdd(0x92a)][_0xf29bdd(0x474)]===_0x3b6c88['x']['GLSL']&&-0x1!==_0x137705[_0xf29bdd(0x168)](_0xf29bdd(0xb76))&&(_0x137705=_0x137705[_0xf29bdd(0xc73)](_0xf29bdd(0xc23),''),!_0x14363a[_0xf29bdd(0x92a)][_0xf29bdd(0x66e)]))return _0x137705;var _0x50411a=_0x14363a[_0xf29bdd(0xae8)],_0x4a43ea=this[_0xf29bdd(0xc6c)](_0x14363a,_0x55e8eb);return _0x14363a[_0xf29bdd(0x92a)][_0xf29bdd(0x500)]&&(_0x137705=_0x14363a[_0xf29bdd(0x92a)][_0xf29bdd(0x500)](_0x137705,_0x50411a,_0x14363a[_0xf29bdd(0x7c8)],_0x14363a['processingContext'])),_0x137705=this[_0xf29bdd(0xa61)](_0x137705,_0x4a43ea,_0x14363a),_0x14363a['processor'][_0xf29bdd(0x3d6)]&&(_0x137705=_0x14363a[_0xf29bdd(0x92a)]['postProcessor'](_0x137705,_0x50411a,_0x14363a[_0xf29bdd(0x7c8)],_0x14363a[_0xf29bdd(0x6e2)],_0x55e8eb)),_0x137705=_0x55e8eb[_0xf29bdd(0x991)]['needShaderCodeInlining']?_0x55e8eb[_0xf29bdd(0x120)](_0x137705):_0x137705;}static['_ApplyPreProcessing'](_0x564626,_0x3538c7,_0x285786){var _0x20b9f7=_0x1b2308,_0x29a652;let _0x4b1e64=_0x564626;var _0x564626=_0x3538c7[_0x20b9f7(0xae8)],_0x4e8ebf=this[_0x20b9f7(0xc6c)](_0x3538c7,_0x285786);return null!=(_0x29a652=_0x3538c7[_0x20b9f7(0x92a)])&&_0x29a652[_0x20b9f7(0x500)]&&(_0x4b1e64=_0x3538c7[_0x20b9f7(0x92a)][_0x20b9f7(0x500)](_0x4b1e64,_0x564626,_0x3538c7['isFragment'],_0x3538c7[_0x20b9f7(0x6e2)])),_0x4b1e64=this[_0x20b9f7(0xa61)](_0x4b1e64,_0x4e8ebf,_0x3538c7),null!=(_0x29a652=_0x3538c7['processor'])&&_0x29a652[_0x20b9f7(0x3d6)]&&(_0x4b1e64=_0x3538c7[_0x20b9f7(0x92a)]['postProcessor'](_0x4b1e64,_0x564626,_0x3538c7[_0x20b9f7(0x7c8)],_0x3538c7['processingContext'],_0x285786)),_0x4b1e64=_0x285786['_features'][_0x20b9f7(0x4ef)]?_0x285786[_0x20b9f7(0x120)](_0x4b1e64):_0x4b1e64;}static[_0x1b2308(0x2c2)](_0x1313f0,_0x89a1ce,_0x1f8ff5){var _0x2d300e=_0x1b2308;let _0x34b920=_0x1b9225[_0x2d300e(0xa97)](_0x1313f0),_0x371b9d=new String(_0x1313f0),_0x5dbb18=!0x1;for(;null!=_0x34b920;){let _0x15ee4a=_0x34b920[0x1];if(-0x1!==_0x15ee4a[_0x2d300e(0x168)](_0x2d300e(0x1fb))&&(_0x15ee4a=_0x15ee4a[_0x2d300e(0xc73)](/__decl__/,''),_0x89a1ce[_0x2d300e(0xbb6)]&&(_0x15ee4a=(_0x15ee4a=_0x15ee4a['replace'](/Vertex/,_0x2d300e(0x841)))[_0x2d300e(0xc73)](/Fragment/,_0x2d300e(0x841))),_0x15ee4a+=_0x2d300e(0x595)),!_0x89a1ce['includesShadersStore'][_0x15ee4a])return _0x2949fb=_0x89a1ce[_0x2d300e(0x79a)]+_0x2d300e(0xc10)+_0x15ee4a+'.fx',void _0x24afd0[_0x2d300e(0x857)](_0x2949fb,_0x120446=>{var _0x42dbef=_0x2d300e;_0x89a1ce[_0x42dbef(0xc39)][_0x15ee4a]=_0x120446,this[_0x42dbef(0x2c2)](_0x371b9d,_0x89a1ce,_0x1f8ff5);});{let _0x5009e0=_0x89a1ce['includesShadersStore'][_0x15ee4a];if(_0x34b920[0x2]){var _0x1df360=_0x34b920[0x3][_0x2d300e(0x9fa)](',');for(let _0x4b4d0e=0x0;_0x4b4d0e<_0x1df360['length'];_0x4b4d0e+=0x2){var _0x2f0531=new RegExp(_0x1df360[_0x4b4d0e],'g'),_0x42680b=_0x1df360[_0x4b4d0e+0x1];_0x5009e0=_0x5009e0[_0x2d300e(0xc73)](_0x2f0531,_0x42680b);}}if(_0x34b920[0x4]){const _0x201992=_0x34b920[0x5];if(-0x1!==_0x201992[_0x2d300e(0x168)]('..')){var _0x2949fb=_0x201992[_0x2d300e(0x9fa)]('..'),_0x11c35b=parseInt(_0x2949fb[0x0]);let _0x451be7=parseInt(_0x2949fb[0x1]),_0x1c5b2e=_0x5009e0[_0x2d300e(0x7ff)](0x0);_0x5009e0='',isNaN(_0x451be7)&&(_0x451be7=_0x89a1ce[_0x2d300e(0x6a2)][_0x2949fb[0x1]]);for(let _0xd70e4d=_0x11c35b;_0xd70e4d<_0x451be7;_0xd70e4d++)_0x89a1ce['supportsUniformBuffers']||(_0x1c5b2e=_0x1c5b2e['replace'](/light\{X\}.(\w*)/g,(_0x10d473,_0x462256)=>_0x462256+_0x2d300e(0x124))),_0x5009e0+=_0x1c5b2e['replace'](/\{X\}/g,_0xd70e4d[_0x2d300e(0x4c9)]())+'\x0a';}else _0x5009e0=(_0x5009e0=_0x89a1ce[_0x2d300e(0xbb6)]?_0x5009e0:_0x5009e0['replace'](/light\{X\}.(\w*)/g,(_0x518c66,_0x2edf77)=>_0x2edf77+'{X}'))[_0x2d300e(0xc73)](/\{X\}/g,_0x201992);}_0x371b9d=_0x371b9d[_0x2d300e(0xc73)](_0x34b920[0x0],_0x5009e0),_0x5dbb18=_0x5dbb18||0x0<=_0x5009e0[_0x2d300e(0x168)](_0x2d300e(0x8d7))||0x0<=_0x5009e0[_0x2d300e(0x168)](_0x2d300e(0x840));}_0x34b920=_0x1b9225[_0x2d300e(0xa97)](_0x1313f0);}_0x5dbb18?this[_0x2d300e(0x2c2)](_0x371b9d[_0x2d300e(0x4c9)](),_0x89a1ce,_0x1f8ff5):_0x1f8ff5(_0x371b9d);}static['_FileToolsLoadFile'](_0x1b1a8d,_0x42d30d,_0x9dd1f7,_0x424511,_0x4c919b,_0x3e97cd){var _0x447f8f=_0x1b2308;throw(0x0,_0x20b53b['S'])(_0x447f8f(0x325));}}},0xc627:(_0x1c0df4,_0x349207,_0x4a367e)=>{var _0x3c240d=a6_0x36115b;_0x4a367e['d'](_0x349207,{'B':()=>_0x3444b6});class _0x3444b6{constructor(_0x3a4e69=null,_0x1b2197){var _0x44337a=a6_0x238e;if(this[_0x44337a(0xb8b)]=null,this[_0x44337a(0x343)]=_0x1b2197,!_0x3a4e69&&!(_0x3a4e69=_0x1b2197[_0x44337a(0xaf5)]()))throw new Error('Unable\x20to\x20create\x20webGL\x20texture');this[_0x44337a(0xd4)](_0x3a4e69);}get['underlyingResource'](){var _0x2a73d8=a6_0x238e;return this[_0x2a73d8(0x105)];}[_0x3c240d(0xa52)](){}[_0x3c240d(0xd4)](_0xc0d5b){var _0x1289bf=_0x3c240d;this[_0x1289bf(0x105)]=_0xc0d5b;}[_0x3c240d(0x40b)](){var _0x3aac1e=_0x3c240d;this['_webGLTexture']=null,this[_0x3aac1e(0xb8b)]=null;}[_0x3c240d(0x861)](_0x36124a){var _0x35f7b2=_0x3c240d;this['_MSAARenderBuffers']||(this[_0x35f7b2(0xb8b)]=[]),this[_0x35f7b2(0xb8b)][_0x35f7b2(0x731)](_0x36124a);}[_0x3c240d(0xbe7)](){var _0x45456d=_0x3c240d;if(this[_0x45456d(0xb8b)]){for(const _0x8f84b7 of this[_0x45456d(0xb8b)])this[_0x45456d(0x343)][_0x45456d(0x148)](_0x8f84b7);this[_0x45456d(0xb8b)]=null;}}[_0x3c240d(0x6cb)](){var _0x38f34c=_0x3c240d;this['releaseMSAARenderBuffers'](),this[_0x38f34c(0x105)]&&this['_context'][_0x38f34c(0xa89)](this[_0x38f34c(0x105)]),this[_0x38f34c(0x40b)]();}}},0x2df4:(_0x54b2ab,_0x2d4aad,_0x239b31)=>{var _0x33d8b0=a6_0x36115b;_0x239b31['d'](_0x2d4aad,{'y':()=>_0x335932});class _0x335932{constructor(){var _0x2b9fb5=a6_0x238e;this[_0x2b9fb5(0xb38)]={},this[_0x2b9fb5(0x895)]=null,this[_0x2b9fb5(0xc07)]=null,this[_0x2b9fb5(0x600)]=null,this[_0x2b9fb5(0x903)]=null;}get[_0x33d8b0(0x6e3)](){var _0xb4eb0=_0x33d8b0;return this[_0xb4eb0(0x16f)];}get[_0x33d8b0(0x682)](){var _0x452193=_0x33d8b0;return!!this[_0x452193(0x9fe)]&&(!this[_0x452193(0x16f)]||this[_0x452193(0x7d6)][_0x452193(0xc06)](this));}['_handlesSpectorRebuildCallback'](_0x36003e){var _0x226c8f=_0x33d8b0;_0x36003e&&this[_0x226c8f(0x9fe)]&&_0x36003e(this['program']);}['_fillEffectInformation'](_0x14bca5,_0x204195,_0x5e2da2,_0x2ae519,_0x4b615d,_0x15ddb5,_0x924828,_0x38dd42){var _0xb7a19f=_0x33d8b0;const _0x202474=this[_0xb7a19f(0x7d6)];if(_0x202474[_0xb7a19f(0xbb6)]){for(const _0x341466 in _0x204195)_0x14bca5[_0xb7a19f(0x2a4)](_0x341466,_0x204195[_0x341466]);}const _0x238497=this[_0xb7a19f(0x7d6)][_0xb7a19f(0xaf9)](this,_0x5e2da2);_0x238497[_0xb7a19f(0x9cd)]((_0x421b9b,_0x1553d6)=>{_0x2ae519[_0x5e2da2[_0x1553d6]]=_0x421b9b;}),this[_0xb7a19f(0x6eb)]=_0x2ae519;let _0x1c6a50;for(_0x1c6a50=0x0;_0x1c6a50<_0x4b615d[_0xb7a19f(0xb85)];_0x1c6a50++)null==_0x14bca5[_0xb7a19f(0xada)](_0x4b615d[_0x1c6a50])&&(_0x4b615d['splice'](_0x1c6a50,0x1),_0x1c6a50--);_0x4b615d[_0xb7a19f(0x9cd)]((_0x26de57,_0x5571d4)=>{_0x15ddb5[_0x26de57]=_0x5571d4;});for(const _0x9fc6af of _0x202474['getAttributes'](this,_0x924828))_0x38dd42[_0xb7a19f(0x731)](_0x9fc6af);}[_0x33d8b0(0xae6)](){var _0x4d5038=_0x33d8b0;this[_0x4d5038(0x6eb)]={};}[_0x33d8b0(0x23d)](_0x2c8148,_0x21cfe7){var _0x1d00db=_0x33d8b0,_0x13bc8e=this['_valueCache'][_0x2c8148],_0x21cfe7=_0x21cfe7[_0x1d00db(0xc18)];return(void 0x0===_0x13bc8e||_0x13bc8e!==_0x21cfe7)&&(this[_0x1d00db(0xb38)][_0x2c8148]=_0x21cfe7,!0x0);}[_0x33d8b0(0x65b)](_0x4ac55c,_0x835caa,_0x319107){var _0x4ae37f=_0x33d8b0;let _0x2b9cc8=this['_valueCache'][_0x4ac55c];if(!_0x2b9cc8||0x2!==_0x2b9cc8['length'])return _0x2b9cc8=[_0x835caa,_0x319107],this[_0x4ae37f(0xb38)][_0x4ac55c]=_0x2b9cc8,!0x0;let _0x1ad0a5=!0x1;return _0x2b9cc8[0x0]!==_0x835caa&&(_0x2b9cc8[0x0]=_0x835caa,_0x1ad0a5=!0x0),_0x2b9cc8[0x1]!==_0x319107&&(_0x2b9cc8[0x1]=_0x319107,_0x1ad0a5=!0x0),_0x1ad0a5;}['_cacheFloat3'](_0x4f9562,_0x343639,_0x2e7933,_0x1a4832){var _0x327f06=_0x33d8b0;let _0x1c2945=this['_valueCache'][_0x4f9562];if(!_0x1c2945||0x3!==_0x1c2945[_0x327f06(0xb85)])return _0x1c2945=[_0x343639,_0x2e7933,_0x1a4832],this[_0x327f06(0xb38)][_0x4f9562]=_0x1c2945,!0x0;let _0x245168=!0x1;return _0x1c2945[0x0]!==_0x343639&&(_0x1c2945[0x0]=_0x343639,_0x245168=!0x0),_0x1c2945[0x1]!==_0x2e7933&&(_0x1c2945[0x1]=_0x2e7933,_0x245168=!0x0),_0x1c2945[0x2]!==_0x1a4832&&(_0x1c2945[0x2]=_0x1a4832,_0x245168=!0x0),_0x245168;}['_cacheFloat4'](_0x3e33e8,_0x4fc56a,_0x509437,_0x269ca9,_0x3ecf3d){var _0x6aa46d=_0x33d8b0;let _0x4734d9=this[_0x6aa46d(0xb38)][_0x3e33e8];if(!_0x4734d9||0x4!==_0x4734d9['length'])return _0x4734d9=[_0x4fc56a,_0x509437,_0x269ca9,_0x3ecf3d],this[_0x6aa46d(0xb38)][_0x3e33e8]=_0x4734d9,!0x0;let _0x20f1fb=!0x1;return _0x4734d9[0x0]!==_0x4fc56a&&(_0x4734d9[0x0]=_0x4fc56a,_0x20f1fb=!0x0),_0x4734d9[0x1]!==_0x509437&&(_0x4734d9[0x1]=_0x509437,_0x20f1fb=!0x0),_0x4734d9[0x2]!==_0x269ca9&&(_0x4734d9[0x2]=_0x269ca9,_0x20f1fb=!0x0),_0x4734d9[0x3]!==_0x3ecf3d&&(_0x4734d9[0x3]=_0x3ecf3d,_0x20f1fb=!0x0),_0x20f1fb;}[_0x33d8b0(0xa3c)](_0x17b20b,_0x44f8d6){var _0x2bfee2=_0x33d8b0,_0x5c4bd0=this[_0x2bfee2(0xb38)][_0x17b20b];void 0x0!==_0x5c4bd0&&_0x5c4bd0===_0x44f8d6||this['engine']['setInt'](this[_0x2bfee2(0x6eb)][_0x17b20b],_0x44f8d6)&&(this[_0x2bfee2(0xb38)][_0x17b20b]=_0x44f8d6);}[_0x33d8b0(0xac2)](_0x121d86,_0xac04ab,_0xcce357){var _0x3950e7=_0x33d8b0;this['_cacheFloat2'](_0x121d86,_0xac04ab,_0xcce357)&&!this[_0x3950e7(0x7d6)][_0x3950e7(0xac2)](this['_uniforms'][_0x121d86],_0xac04ab,_0xcce357)&&(this['_valueCache'][_0x121d86]=null);}[_0x33d8b0(0xc25)](_0x5059a9,_0x5b3fe4,_0x44758e,_0x5dafa0){var _0x3d7d27=_0x33d8b0;this['_cacheFloat3'](_0x5059a9,_0x5b3fe4,_0x44758e,_0x5dafa0)&&!this['engine'][_0x3d7d27(0xc25)](this[_0x3d7d27(0x6eb)][_0x5059a9],_0x5b3fe4,_0x44758e,_0x5dafa0)&&(this['_valueCache'][_0x5059a9]=null);}[_0x33d8b0(0xbfb)](_0x42ad49,_0x254c43,_0x7e5bf7,_0x18308c,_0x43c97d){var _0xeacef=_0x33d8b0;this[_0xeacef(0xa82)](_0x42ad49,_0x254c43,_0x7e5bf7,_0x18308c,_0x43c97d)&&!this[_0xeacef(0x7d6)][_0xeacef(0xbfb)](this[_0xeacef(0x6eb)][_0x42ad49],_0x254c43,_0x7e5bf7,_0x18308c,_0x43c97d)&&(this['_valueCache'][_0x42ad49]=null);}[_0x33d8b0(0x84a)](_0x2d5efa,_0x322c00){var _0x148494=_0x33d8b0;this[_0x148494(0xb38)][_0x2d5efa]=null,this[_0x148494(0x7d6)][_0x148494(0x84a)](this['_uniforms'][_0x2d5efa],_0x322c00);}[_0x33d8b0(0x1e3)](_0x53e02f,_0xc5fe13){var _0x5a0fb0=_0x33d8b0;this[_0x5a0fb0(0xb38)][_0x53e02f]=null,this[_0x5a0fb0(0x7d6)][_0x5a0fb0(0x1e3)](this[_0x5a0fb0(0x6eb)][_0x53e02f],_0xc5fe13);}[_0x33d8b0(0xca4)](_0x5bfce7,_0x358979){var _0x571487=_0x33d8b0;this[_0x571487(0xb38)][_0x5bfce7]=null,this[_0x571487(0x7d6)]['setIntArray3'](this['_uniforms'][_0x5bfce7],_0x358979);}[_0x33d8b0(0x222)](_0x593984,_0x448bc0){var _0x1c8926=_0x33d8b0;this['_valueCache'][_0x593984]=null,this[_0x1c8926(0x7d6)][_0x1c8926(0x222)](this[_0x1c8926(0x6eb)][_0x593984],_0x448bc0);}[_0x33d8b0(0x4b4)](_0x4ee8e3,_0x2322f2){var _0x237efe=_0x33d8b0,_0xc4cdf6=this[_0x237efe(0xb38)][_0x4ee8e3];void 0x0!==_0xc4cdf6&&_0xc4cdf6===_0x2322f2||this[_0x237efe(0x7d6)][_0x237efe(0x4b4)](this[_0x237efe(0x6eb)][_0x4ee8e3],_0x2322f2)&&(this['_valueCache'][_0x4ee8e3]=_0x2322f2);}['setUInt2'](_0x11f6be,_0x5e3be9,_0x4aa89e){var _0x202a72=_0x33d8b0;this[_0x202a72(0x65b)](_0x11f6be,_0x5e3be9,_0x4aa89e)&&!this[_0x202a72(0x7d6)][_0x202a72(0x897)](this[_0x202a72(0x6eb)][_0x11f6be],_0x5e3be9,_0x4aa89e)&&(this['_valueCache'][_0x11f6be]=null);}[_0x33d8b0(0x234)](_0x538571,_0x7d791,_0x480fdd,_0x4df868){var _0x30a1f3=_0x33d8b0;this[_0x30a1f3(0x44d)](_0x538571,_0x7d791,_0x480fdd,_0x4df868)&&!this[_0x30a1f3(0x7d6)][_0x30a1f3(0x234)](this[_0x30a1f3(0x6eb)][_0x538571],_0x7d791,_0x480fdd,_0x4df868)&&(this[_0x30a1f3(0xb38)][_0x538571]=null);}[_0x33d8b0(0x2c5)](_0x14f17,_0xd5e294,_0x27ec72,_0x2506f5,_0x54a7b3){var _0x10f0d8=_0x33d8b0;this[_0x10f0d8(0xa82)](_0x14f17,_0xd5e294,_0x27ec72,_0x2506f5,_0x54a7b3)&&!this['engine'][_0x10f0d8(0x2c5)](this[_0x10f0d8(0x6eb)][_0x14f17],_0xd5e294,_0x27ec72,_0x2506f5,_0x54a7b3)&&(this[_0x10f0d8(0xb38)][_0x14f17]=null);}[_0x33d8b0(0x14e)](_0x37bb7c,_0x293710){var _0x1100eb=_0x33d8b0;this['_valueCache'][_0x37bb7c]=null,this[_0x1100eb(0x7d6)]['setUIntArray'](this['_uniforms'][_0x37bb7c],_0x293710);}[_0x33d8b0(0x83a)](_0x4a3271,_0x20e87f){var _0x1d6a02=_0x33d8b0;this[_0x1d6a02(0xb38)][_0x4a3271]=null,this[_0x1d6a02(0x7d6)][_0x1d6a02(0x83a)](this[_0x1d6a02(0x6eb)][_0x4a3271],_0x20e87f);}[_0x33d8b0(0x9b2)](_0x236d36,_0xf13c6b){var _0x23daa2=_0x33d8b0;this[_0x23daa2(0xb38)][_0x236d36]=null,this[_0x23daa2(0x7d6)]['setUIntArray3'](this[_0x23daa2(0x6eb)][_0x236d36],_0xf13c6b);}[_0x33d8b0(0xc3d)](_0x1abef0,_0x5736ae){var _0x3349ee=_0x33d8b0;this[_0x3349ee(0xb38)][_0x1abef0]=null,this[_0x3349ee(0x7d6)]['setUIntArray4'](this[_0x3349ee(0x6eb)][_0x1abef0],_0x5736ae);}[_0x33d8b0(0x43f)](_0xf492e4,_0x22bf59){var _0x5672b5=_0x33d8b0;this[_0x5672b5(0xb38)][_0xf492e4]=null,this[_0x5672b5(0x7d6)]['setArray'](this[_0x5672b5(0x6eb)][_0xf492e4],_0x22bf59);}[_0x33d8b0(0x27a)](_0x1f54e7,_0x42cb35){var _0x56a842=_0x33d8b0;this[_0x56a842(0xb38)][_0x1f54e7]=null,this['engine'][_0x56a842(0x27a)](this[_0x56a842(0x6eb)][_0x1f54e7],_0x42cb35);}['setArray3'](_0xc3d119,_0x21a8a1){var _0x543465=_0x33d8b0;this[_0x543465(0xb38)][_0xc3d119]=null,this[_0x543465(0x7d6)][_0x543465(0x290)](this['_uniforms'][_0xc3d119],_0x21a8a1);}['setArray4'](_0x49612f,_0x1173b){var _0x12f488=_0x33d8b0;this[_0x12f488(0xb38)][_0x49612f]=null,this[_0x12f488(0x7d6)][_0x12f488(0xafb)](this['_uniforms'][_0x49612f],_0x1173b);}[_0x33d8b0(0x220)](_0x4bb614,_0x571b81){var _0x24933c=_0x33d8b0;_0x571b81&&(this[_0x24933c(0xb38)][_0x4bb614]=null,this[_0x24933c(0x7d6)]['setMatrices'](this[_0x24933c(0x6eb)][_0x4bb614],_0x571b81));}[_0x33d8b0(0xc1f)](_0x1fba7e,_0x17546d){var _0xa8c237=_0x33d8b0;this[_0xa8c237(0x23d)](_0x1fba7e,_0x17546d)&&!this[_0xa8c237(0x7d6)][_0xa8c237(0x220)](this['_uniforms'][_0x1fba7e],_0x17546d[_0xa8c237(0x1b5)]())&&(this[_0xa8c237(0xb38)][_0x1fba7e]=null);}[_0x33d8b0(0x128)](_0x39485c,_0x43f81e){var _0x452fb7=_0x33d8b0;this[_0x452fb7(0xb38)][_0x39485c]=null,this[_0x452fb7(0x7d6)]['setMatrix3x3'](this[_0x452fb7(0x6eb)][_0x39485c],_0x43f81e);}['setMatrix2x2'](_0x1b3f3d,_0xd344ca){var _0x4f7f3a=_0x33d8b0;this[_0x4f7f3a(0xb38)][_0x1b3f3d]=null,this[_0x4f7f3a(0x7d6)]['setMatrix2x2'](this[_0x4f7f3a(0x6eb)][_0x1b3f3d],_0xd344ca);}[_0x33d8b0(0x2ea)](_0x51dc6a,_0x55e42f){var _0x1d12f9=_0x33d8b0,_0x5598d3=this['_valueCache'][_0x51dc6a];void 0x0!==_0x5598d3&&_0x5598d3===_0x55e42f||this[_0x1d12f9(0x7d6)][_0x1d12f9(0x2ea)](this[_0x1d12f9(0x6eb)][_0x51dc6a],_0x55e42f)&&(this[_0x1d12f9(0xb38)][_0x51dc6a]=_0x55e42f);}[_0x33d8b0(0x2e2)](_0x1909b1,_0x47d50f){var _0x2ba420=_0x33d8b0;this[_0x2ba420(0x65b)](_0x1909b1,_0x47d50f['x'],_0x47d50f['y'])&&!this[_0x2ba420(0x7d6)][_0x2ba420(0x6da)](this[_0x2ba420(0x6eb)][_0x1909b1],_0x47d50f['x'],_0x47d50f['y'])&&(this[_0x2ba420(0xb38)][_0x1909b1]=null);}[_0x33d8b0(0x6da)](_0x22981b,_0x45f5be,_0x1051a8){var _0x1d6743=_0x33d8b0;this[_0x1d6743(0x65b)](_0x22981b,_0x45f5be,_0x1051a8)&&!this[_0x1d6743(0x7d6)][_0x1d6743(0x6da)](this[_0x1d6743(0x6eb)][_0x22981b],_0x45f5be,_0x1051a8)&&(this[_0x1d6743(0xb38)][_0x22981b]=null);}[_0x33d8b0(0x36f)](_0x5e0f2e,_0xce54b3){var _0x275404=_0x33d8b0;this[_0x275404(0x44d)](_0x5e0f2e,_0xce54b3['x'],_0xce54b3['y'],_0xce54b3['z'])&&!this[_0x275404(0x7d6)]['setFloat3'](this['_uniforms'][_0x5e0f2e],_0xce54b3['x'],_0xce54b3['y'],_0xce54b3['z'])&&(this[_0x275404(0xb38)][_0x5e0f2e]=null);}[_0x33d8b0(0x328)](_0x48e48f,_0x1a78dd,_0x2f8346,_0x101564){var _0x2cbb9e=_0x33d8b0;this[_0x2cbb9e(0x44d)](_0x48e48f,_0x1a78dd,_0x2f8346,_0x101564)&&!this[_0x2cbb9e(0x7d6)][_0x2cbb9e(0x328)](this[_0x2cbb9e(0x6eb)][_0x48e48f],_0x1a78dd,_0x2f8346,_0x101564)&&(this['_valueCache'][_0x48e48f]=null);}[_0x33d8b0(0xb0a)](_0x27223c,_0xf1d658){var _0x17bc35=_0x33d8b0;this[_0x17bc35(0xa82)](_0x27223c,_0xf1d658['x'],_0xf1d658['y'],_0xf1d658['z'],_0xf1d658['w'])&&!this[_0x17bc35(0x7d6)][_0x17bc35(0x1d7)](this[_0x17bc35(0x6eb)][_0x27223c],_0xf1d658['x'],_0xf1d658['y'],_0xf1d658['z'],_0xf1d658['w'])&&(this[_0x17bc35(0xb38)][_0x27223c]=null);}[_0x33d8b0(0x64e)](_0x16f02d,_0x2d4d79){var _0x507bca=_0x33d8b0;this[_0x507bca(0xa82)](_0x16f02d,_0x2d4d79['x'],_0x2d4d79['y'],_0x2d4d79['z'],_0x2d4d79['w'])&&!this[_0x507bca(0x7d6)][_0x507bca(0x1d7)](this['_uniforms'][_0x16f02d],_0x2d4d79['x'],_0x2d4d79['y'],_0x2d4d79['z'],_0x2d4d79['w'])&&(this[_0x507bca(0xb38)][_0x16f02d]=null);}[_0x33d8b0(0x1d7)](_0x4b76a9,_0x5a8f44,_0x474ce0,_0x4322dd,_0x31806a){var _0x48543a=_0x33d8b0;this[_0x48543a(0xa82)](_0x4b76a9,_0x5a8f44,_0x474ce0,_0x4322dd,_0x31806a)&&!this['engine'][_0x48543a(0x1d7)](this[_0x48543a(0x6eb)][_0x4b76a9],_0x5a8f44,_0x474ce0,_0x4322dd,_0x31806a)&&(this['_valueCache'][_0x4b76a9]=null);}[_0x33d8b0(0x2f5)](_0x13cb47,_0x2a3a9b){var _0x3480d4=_0x33d8b0;this['_cacheFloat3'](_0x13cb47,_0x2a3a9b['r'],_0x2a3a9b['g'],_0x2a3a9b['b'])&&!this['engine'][_0x3480d4(0x328)](this['_uniforms'][_0x13cb47],_0x2a3a9b['r'],_0x2a3a9b['g'],_0x2a3a9b['b'])&&(this['_valueCache'][_0x13cb47]=null);}[_0x33d8b0(0x462)](_0x1cccaa,_0x28b2c9,_0x368a2c){var _0x4f4571=_0x33d8b0;this[_0x4f4571(0xa82)](_0x1cccaa,_0x28b2c9['r'],_0x28b2c9['g'],_0x28b2c9['b'],_0x368a2c)&&!this[_0x4f4571(0x7d6)]['setFloat4'](this['_uniforms'][_0x1cccaa],_0x28b2c9['r'],_0x28b2c9['g'],_0x28b2c9['b'],_0x368a2c)&&(this[_0x4f4571(0xb38)][_0x1cccaa]=null);}[_0x33d8b0(0x5d4)](_0x1938ac,_0x28ae29){var _0x5a5230=_0x33d8b0;this['_cacheFloat4'](_0x1938ac,_0x28ae29['r'],_0x28ae29['g'],_0x28ae29['b'],_0x28ae29['a'])&&!this[_0x5a5230(0x7d6)]['setFloat4'](this[_0x5a5230(0x6eb)][_0x1938ac],_0x28ae29['r'],_0x28ae29['g'],_0x28ae29['b'],_0x28ae29['a'])&&(this['_valueCache'][_0x1938ac]=null);}['_getVertexShaderCode'](){var _0xcc2439=_0x33d8b0;return this[_0xcc2439(0x5c5)]?this[_0xcc2439(0x7d6)]['_getShaderSource'](this[_0xcc2439(0x5c5)]):null;}[_0x33d8b0(0x65a)](){var _0x2243dc=_0x33d8b0;return this[_0x2243dc(0x35d)]?this[_0x2243dc(0x7d6)][_0x2243dc(0x955)](this[_0x2243dc(0x35d)]):null;}}},0xb7b8:(_0x539f34,_0x2a5ac2,_0x3f45b3)=>{var _0x1f6940=a6_0x36115b;_0x3f45b3['d'](_0x2a5ac2,{'f':()=>_0x585d2d});var _0x30ef8b=_0x3f45b3(0x11722);class _0x585d2d{constructor(){this['shaderLanguage']=_0x30ef8b['x']['GLSL'];}[_0x1f6940(0x3d6)](_0x2851cb,_0x22ba77,_0x5648df,_0x1ab3e4,_0x2f38c0){var _0x34f14a=_0x1f6940;return _0x2f38c0['getCaps']()[_0x34f14a(0x104)]?_0x2851cb:_0x2851cb[_0x34f14a(0xc73)](/#extension.+GL_EXT_draw_buffers.+(enable|require)/g,'');}}},0x15e6f:(_0x51e39c,_0x1760b9,_0x6ee876)=>{var _0x3a8c06=a6_0x36115b,_0x2168cc=_0x6ee876(0x77a5),_0x4740c3=_0x6ee876(0xee04),_0x2542d8=_0x6ee876(0x9957),_0x5b9eee=(_0x2542d8['f']['prototype'][_0x3a8c06(0x437)]=function(_0x50cb3e,_0x3a2115=!0x1){var _0x289f31=_0x3a8c06,_0x2d1329;if(this['_alphaMode']===_0x50cb3e&&(_0x50cb3e===_0x2168cc['g'][_0x289f31(0x230)]&&!this[_0x289f31(0x8a8)]['alphaBlend']||_0x50cb3e!==_0x2168cc['g']['ALPHA_DISABLE']&&this[_0x289f31(0x8a8)][_0x289f31(0x3c0)]))_0x3a2115||(_0x2d1329=_0x50cb3e===_0x2168cc['g'][_0x289f31(0x230)],this[_0x289f31(0xb2a)][_0x289f31(0x573)]!==_0x2d1329&&(this[_0x289f31(0xa73)](_0x2d1329),this['_cacheRenderPipeline'][_0x289f31(0x8da)](_0x2d1329)));else{switch(_0x50cb3e){case _0x2168cc['g'][_0x289f31(0x230)]:this[_0x289f31(0x8a8)]['alphaBlend']=!0x1;break;case _0x2168cc['g'][_0x289f31(0xbef)]:this['_alphaState']['setAlphaBlendFunctionParameters'](0x1,_0x2168cc['g'][_0x289f31(0x863)],0x1,0x1),this[_0x289f31(0x8a8)][_0x289f31(0x3c0)]=!0x0;break;case _0x2168cc['g']['ALPHA_PREMULTIPLIED_PORTERDUFF']:this[_0x289f31(0x8a8)][_0x289f31(0x619)](0x1,_0x2168cc['g'][_0x289f31(0x863)],0x1,_0x2168cc['g'][_0x289f31(0x863)]),this[_0x289f31(0x8a8)][_0x289f31(0x3c0)]=!0x0;break;case _0x2168cc['g']['ALPHA_COMBINE']:this[_0x289f31(0x8a8)][_0x289f31(0x619)](_0x2168cc['g']['GL_ALPHA_FUNCTION_SRC_ALPHA'],_0x2168cc['g'][_0x289f31(0x863)],0x1,0x1),this[_0x289f31(0x8a8)]['alphaBlend']=!0x0;break;case _0x2168cc['g'][_0x289f31(0x59f)]:this['_alphaState'][_0x289f31(0x619)](0x1,0x1,0x0,0x1),this['_alphaState']['alphaBlend']=!0x0;break;case _0x2168cc['g'][_0x289f31(0x8e1)]:this['_alphaState'][_0x289f31(0x619)](_0x2168cc['g']['GL_ALPHA_FUNCTION_SRC_ALPHA'],0x1,0x0,0x1),this[_0x289f31(0x8a8)]['alphaBlend']=!0x0;break;case _0x2168cc['g'][_0x289f31(0x296)]:this['_alphaState']['setAlphaBlendFunctionParameters'](0x0,_0x2168cc['g'][_0x289f31(0xa23)],0x1,0x1),this[_0x289f31(0x8a8)][_0x289f31(0x3c0)]=!0x0;break;case _0x2168cc['g'][_0x289f31(0xa9a)]:this[_0x289f31(0x8a8)][_0x289f31(0x619)](_0x2168cc['g'][_0x289f31(0x1c7)],0x0,0x1,0x1),this[_0x289f31(0x8a8)][_0x289f31(0x3c0)]=!0x0;break;case _0x2168cc['g']['ALPHA_MAXIMIZED']:this[_0x289f31(0x8a8)]['setAlphaBlendFunctionParameters'](_0x2168cc['g']['GL_ALPHA_FUNCTION_SRC_ALPHA'],_0x2168cc['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR'],0x1,0x1),this[_0x289f31(0x8a8)][_0x289f31(0x3c0)]=!0x0;break;case _0x2168cc['g'][_0x289f31(0x1e8)]:this[_0x289f31(0x8a8)]['setAlphaBlendFunctionParameters'](_0x2168cc['g']['GL_ALPHA_FUNCTION_CONSTANT_COLOR'],_0x2168cc['g']['GL_ALPHA_FUNCTION_ONE_MINUS_CONSTANT_COLOR'],_0x2168cc['g'][_0x289f31(0x99c)],_0x2168cc['g'][_0x289f31(0x936)]),this[_0x289f31(0x8a8)][_0x289f31(0x3c0)]=!0x0;break;case _0x2168cc['g'][_0x289f31(0x252)]:this['_alphaState'][_0x289f31(0x619)](0x1,_0x2168cc['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR'],0x1,_0x2168cc['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA']),this['_alphaState'][_0x289f31(0x3c0)]=!0x0;break;case _0x2168cc['g']['ALPHA_ONEONE_ONEONE']:this['_alphaState'][_0x289f31(0x619)](0x1,0x1,0x1,0x1),this[_0x289f31(0x8a8)]['alphaBlend']=!0x0;break;case _0x2168cc['g'][_0x289f31(0x504)]:this[_0x289f31(0x8a8)][_0x289f31(0x619)](_0x2168cc['g']['GL_ALPHA_FUNCTION_DST_ALPHA'],0x1,0x0,0x0),this[_0x289f31(0x8a8)][_0x289f31(0x3c0)]=!0x0;break;case _0x2168cc['g'][_0x289f31(0x27f)]:this['_alphaState'][_0x289f31(0x619)](_0x2168cc['g']['GL_ALPHA_FUNCTION_ONE_MINUS_DST_COLOR'],_0x2168cc['g'][_0x289f31(0xa23)],_0x2168cc['g'][_0x289f31(0xea)],_0x2168cc['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA']),this['_alphaState'][_0x289f31(0x3c0)]=!0x0;break;case _0x2168cc['g'][_0x289f31(0xbf7)]:this[_0x289f31(0x8a8)][_0x289f31(0x619)](0x1,_0x2168cc['g'][_0x289f31(0x863)],0x1,_0x2168cc['g'][_0x289f31(0x863)]),this[_0x289f31(0x8a8)][_0x289f31(0x3c0)]=!0x0;break;case _0x2168cc['g'][_0x289f31(0x478)]:this[_0x289f31(0x8a8)][_0x289f31(0x619)](0x1,0x1,0x1,0x0),this[_0x289f31(0x8a8)][_0x289f31(0x3c0)]=!0x0;break;case _0x2168cc['g']['ALPHA_EXCLUSION']:this[_0x289f31(0x8a8)][_0x289f31(0x619)](_0x2168cc['g']['GL_ALPHA_FUNCTION_ONE_MINUS_DST_COLOR'],_0x2168cc['g'][_0x289f31(0xa23)],0x0,0x1),this[_0x289f31(0x8a8)][_0x289f31(0x3c0)]=!0x0;break;case _0x2168cc['g']['ALPHA_LAYER_ACCUMULATE']:this[_0x289f31(0x8a8)][_0x289f31(0x619)](_0x2168cc['g'][_0x289f31(0x96e)],_0x2168cc['g'][_0x289f31(0x863)],0x1,_0x2168cc['g'][_0x289f31(0x863)]),this[_0x289f31(0x8a8)]['alphaBlend']=!0x0;}_0x3a2115||(this[_0x289f31(0xa73)](_0x50cb3e===_0x4740c3['D']['ALPHA_DISABLE']),this[_0x289f31(0xb91)][_0x289f31(0x8da)](_0x50cb3e===_0x4740c3['D'][_0x289f31(0x230)])),this['_alphaMode']=_0x50cb3e,this[_0x289f31(0xb91)]['setAlphaBlendEnabled'](this[_0x289f31(0x8a8)][_0x289f31(0x3c0)]),this[_0x289f31(0xb91)]['setAlphaBlendFactors'](this[_0x289f31(0x8a8)]['_blendFunctionParameters'],this[_0x289f31(0x8a8)][_0x289f31(0x42d)]);}},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x6e7)]=function(_0x535549){var _0x399afd=_0x3a8c06;_0x4740c3['D']['prototype'][_0x399afd(0x6e7)]['call'](this,_0x535549),this['_cacheRenderPipeline'][_0x399afd(0x1bc)](this[_0x399afd(0x8a8)][_0x399afd(0x240)],this['_alphaState'][_0x399afd(0x42d)]);},_0x6ee876(0x7755)),_0x1130f3=_0x6ee876(0x10ea4),_0x7f6bb9=_0x6ee876(0xe34c),_0x45ff6c=_0x6ee876(0x89a1);class _0x4155d7{constructor(_0x54daf8,_0x968f93){var _0x317313=_0x3a8c06;this[_0x317313(0xaf7)]=_0x54daf8,this[_0x317313(0x9ac)]=_0x968f93,this[_0x317313(0x84b)]=_0x4155d7[_0x317313(0x196)]++,this['_bindGroupEntries']=[],this[_0x317313(0x20f)]();}[_0x3a8c06(0x4b1)](_0x5e975f,_0x4adf5b,_0x589cef){var _0x5527f4=_0x3a8c06;if(!_0x589cef)throw new Error(_0x5527f4(0x231));if(0x0===this[_0x5527f4(0xafe)][_0x5527f4(0xb85)]){var _0x1b1490=0x0<this[_0x5527f4(0x5ef)][_0x5527f4(0xb85)];for(const _0x1a7c27 in _0x5e975f){const _0x3ba715=_0x5e975f[_0x1a7c27],_0x9fc375=_0x589cef[_0x1a7c27],_0x5aab80=_0x9fc375[_0x5527f4(0x3f8)],_0x5517ad=_0x9fc375[_0x5527f4(0x85c)],_0x456397=_0x3ba715[_0x5527f4(0x6a4)],_0x5cb0cb=_0x3ba715['object'];let _0x546a3e=_0x3ba715[_0x5527f4(0x785)],_0x12bc77=this['_bindGroupEntries'][_0x5aab80];switch(_0x12bc77=_0x12bc77||(this[_0x5527f4(0x5ef)][_0x5aab80]=[]),_0x456397){case _0x7f6bb9['t']['Sampler']:var _0x3d00d0=_0x5cb0cb;void 0x0!==_0x546a3e&&_0x1b1490?_0x12bc77[_0x546a3e][_0x5527f4(0x2d0)]=this['_cacheSampler'][_0x5527f4(0x569)](_0x3d00d0):(_0x3ba715[_0x5527f4(0x785)]=_0x12bc77['length'],_0x12bc77[_0x5527f4(0x731)]({'binding':_0x5517ad,'resource':this[_0x5527f4(0x9ac)][_0x5527f4(0x569)](_0x3d00d0)}));break;case _0x7f6bb9['t'][_0x5527f4(0x29d)]:case _0x7f6bb9['t'][_0x5527f4(0x7b6)]:var _0x3d00d0=_0x5cb0cb,_0x575dee=_0x3d00d0[_0x5527f4(0x913)][_0x5527f4(0x372)];void 0x0!==_0x546a3e&&_0x1b1490?(_0x456397===_0x7f6bb9['t'][_0x5527f4(0x29d)]&&(_0x12bc77[_0x546a3e++][_0x5527f4(0x2d0)]=this[_0x5527f4(0x9ac)]['getSampler'](_0x3d00d0[_0x5527f4(0x913)])),_0x12bc77[_0x546a3e][_0x5527f4(0x2d0)]=_0x575dee[_0x5527f4(0x389)]):(_0x3ba715[_0x5527f4(0x785)]=_0x12bc77[_0x5527f4(0xb85)],_0x456397===_0x7f6bb9['t']['Texture']&&_0x12bc77[_0x5527f4(0x731)]({'binding':_0x5517ad-0x1,'resource':this[_0x5527f4(0x9ac)]['getSampler'](_0x3d00d0['_texture'])}),_0x12bc77[_0x5527f4(0x731)]({'binding':_0x5517ad,'resource':_0x575dee[_0x5527f4(0x389)]}));break;case _0x7f6bb9['t'][_0x5527f4(0xbc7)]:_0x575dee=_0x5cb0cb[_0x5527f4(0x913)]['_hardwareTexture'],(0x0==(_0x575dee[_0x5527f4(0xb84)]&_0x45ff6c['v2'][_0x5527f4(0xa98)])&&_0x1130f3['Y']['Error'](_0x5527f4(0xacb)+_0x5cb0cb['name']+',\x20uniqueId='+_0x5cb0cb['uniqueId']+_0x5527f4(0xfc),0x32),void 0x0!==_0x546a3e&&_0x1b1490?_0x12bc77[_0x546a3e][_0x5527f4(0x2d0)]=_0x575dee[_0x5527f4(0x9e2)]:(_0x3ba715[_0x5527f4(0x785)]=_0x12bc77[_0x5527f4(0xb85)],_0x12bc77[_0x5527f4(0x731)]({'binding':_0x5517ad,'resource':_0x575dee['viewForWriting']})));break;case _0x7f6bb9['t'][_0x5527f4(0x218)]:case _0x7f6bb9['t'][_0x5527f4(0x96c)]:{_0x7f6bb9['t']['UniformBuffer'];const _0x185170=_0x5cb0cb;var _0x44cefe=_0x185170[_0x5527f4(0x8a7)](),_0x20e852=_0x44cefe[_0x5527f4(0x22a)];void 0x0!==_0x546a3e&&_0x1b1490?(_0x12bc77[_0x546a3e][_0x5527f4(0x2d0)][_0x5527f4(0xa92)]=_0x20e852,_0x12bc77[_0x546a3e]['resource'][_0x5527f4(0x683)]=_0x44cefe[_0x5527f4(0x523)]):(_0x3ba715[_0x5527f4(0x785)]=_0x12bc77[_0x5527f4(0xb85)],_0x12bc77['push']({'binding':_0x5517ad,'resource':{'buffer':_0x20e852,'offset':0x0,'size':_0x44cefe['capacity']}}));break;}}}for(let _0xeefc54=0x0;_0xeefc54<this[_0x5527f4(0x5ef)][_0x5527f4(0xb85)];++_0xeefc54){var _0x3b4f4e=this[_0x5527f4(0x5ef)][_0xeefc54];this['_bindGroups'][_0xeefc54]=_0x3b4f4e?this[_0x5527f4(0xaf7)][_0x5527f4(0x1e1)]({'layout':_0x4adf5b[_0x5527f4(0x28d)](_0xeefc54),'entries':_0x3b4f4e}):void 0x0;}this['_bindGroups'][_0x5527f4(0xb85)]=this[_0x5527f4(0x5ef)][_0x5527f4(0xb85)];}return this['_bindGroups'];}[_0x3a8c06(0x20f)](){var _0xcb3282=_0x3a8c06;this[_0xcb3282(0xafe)]=[];}}_0x4155d7[_0x3a8c06(0x196)]=0x0;class _0x22e514{constructor(_0x1347e4){var _0x3622a7=_0x3a8c06;this[_0x3622a7(0x67e)]=_0x3622a7(0x132),this[_0x3622a7(0x7d6)]=_0x1347e4;}get[_0x3a8c06(0x6e3)](){return!0x1;}get[_0x3a8c06(0x682)](){var _0x4692f7=_0x3a8c06;return!!this[_0x4692f7(0x486)];}[_0x3a8c06(0x990)](){var _0x149657=_0x3a8c06,_0x15471e;return null==(_0x15471e=this[_0x149657(0x63d)])?void 0x0:_0x15471e['compute'];}[_0x3a8c06(0xae6)](){}}var _0x5d30d0=_0x6ee876(0x6214),_0x46037e=(_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x976)]=function(){var _0x2847f7=_0x3a8c06;return new _0x4155d7(this['_device'],this[_0x2847f7(0x9ac)]);},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x6ca)]=function(_0xeb918c,_0x110197){var _0x35e020=_0x3a8c06,_0x5ad98c=(_0xeb918c[_0x35e020(0x3a4)]||_0xeb918c[_0x35e020(0xcb8)]||_0xeb918c[_0x35e020(0x135)]||_0xeb918c[_0x35e020(0xbc6)]||_0xeb918c)+'@'+_0x110197[_0x35e020(0xae8)];if(this[_0x35e020(0xb69)][_0x5ad98c]){const _0x1b263d=this[_0x35e020(0xb69)][_0x5ad98c];return _0x110197['onCompiled']&&_0x1b263d[_0x35e020(0x682)]()&&_0x110197[_0x35e020(0x629)](_0x1b263d),_0x1b263d;}return _0xeb918c=new _0x5b9eee['n'](_0xeb918c,_0x110197,this,_0x5ad98c),this['_compiledComputeEffects'][_0x5ad98c]=_0xeb918c;},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x4be)]=function(){return new _0x22e514(this);},_0x2542d8['f']['prototype'][_0x3a8c06(0x750)]=function(){var _0x80a513=_0x3a8c06;for(const _0x4a6abd in this['_compiledComputeEffects']){const _0x39bbdb=this[_0x80a513(0xb69)][_0x4a6abd];if(!_0x39bbdb[_0x80a513(0x682)]())return!0x1;}return!0x0;},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x98c)]=function(_0x392389,_0xe37c8,_0x490cbf,_0xe5d99c,_0x400197,_0x27e058,_0x2f76bd){var _0x3ab613=_0x3a8c06;if(this[_0x3ab613(0x526)])this['_onAfterUnbindFrameBufferObservable'][_0x3ab613(0x7d4)](()=>{var _0x2ed8f7=_0x3ab613;this[_0x2ed8f7(0x98c)](_0x392389,_0xe37c8,_0x490cbf,_0xe5d99c,_0x400197,_0x27e058,_0x2f76bd);});else{const _0x2d7e63=_0x392389[_0x3ab613(0x2f7)],_0x435e9e=_0xe37c8,_0x3dc753=(_0x2d7e63[_0x3ab613(0x75d)]||(_0x2d7e63[_0x3ab613(0x75d)]=this[_0x3ab613(0xaf7)][_0x3ab613(0x6f5)]({'layout':_0x45ff6c['fu'][_0x3ab613(0x304)],'compute':_0x2d7e63[_0x3ab613(0x486)]})),this[_0x3ab613(0x171)]),_0xad3e8c=_0x3dc753[_0x3ab613(0x376)]();_0xad3e8c['setPipeline'](_0x2d7e63[_0x3ab613(0x75d)]);var _0x4a07ce=_0x435e9e[_0x3ab613(0x4b1)](_0x490cbf,_0x2d7e63[_0x3ab613(0x75d)],_0x2f76bd);for(let _0x361ff0=0x0;_0x361ff0<_0x4a07ce[_0x3ab613(0xb85)];++_0x361ff0){var _0x5142c1=_0x4a07ce[_0x361ff0];_0x5142c1&&_0xad3e8c[_0x3ab613(0x8d9)](_0x361ff0,_0x5142c1);}_0xad3e8c[_0x3ab613(0xc40)](_0xe5d99c,_0x400197,_0x27e058),_0xad3e8c[_0x3ab613(0xca0)]();}},_0x2542d8['f']['prototype'][_0x3a8c06(0x7fe)]=function(){var _0x2ce0b4=_0x3a8c06;for(const _0x390a99 in this[_0x2ce0b4(0xb69)]){var _0x156fea=this['_compiledComputeEffects'][_0x390a99]['getPipelineContext']();this[_0x2ce0b4(0x9bd)](_0x156fea);}this[_0x2ce0b4(0xb69)]={};},_0x2542d8['f'][_0x3a8c06(0x40f)]['_prepareComputePipelineContext']=function(_0x449f97,_0xc9fe5b,_0x11455e,_0x1692bb,_0x447f69){var _0x529631=_0x3a8c06;const _0x3dde0c=_0x449f97;this[_0x529631(0xb52)]&&(_0x5d30d0[_0x529631(0x9a0)](_0x1692bb),_0x5d30d0['log'](_0xc9fe5b)),_0x3dde0c[_0x529631(0x63d)]={'compute':_0xc9fe5b,'rawCompute':_0x11455e},_0x3dde0c['stage']=this['_createComputePipelineStageDescriptor'](_0xc9fe5b,_0x1692bb,_0x447f69);},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0xaaf)]=function(_0x8f3a9e){var _0x4792c9=_0x3a8c06;this['_compiledComputeEffects'][_0x8f3a9e[_0x4792c9(0x26d)]]&&(delete this[_0x4792c9(0xb69)][_0x8f3a9e['_key']],this[_0x4792c9(0x9bd)](_0x8f3a9e[_0x4792c9(0x843)]()));},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x12c)]=function(){var _0x946739=_0x3a8c06;for(const _0x4a6937 in this[_0x946739(0xb69)]){const _0x170bd8=this[_0x946739(0xb69)][_0x4a6937];_0x170bd8[_0x946739(0x2f7)]=null,_0x170bd8[_0x946739(0x219)]=!0x1,_0x170bd8[_0x946739(0x711)]();}},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x9bd)]=function(_0x31c72d){var _0x2616a8=_0x3a8c06;_0x31c72d&&_0x31c72d[_0x2616a8(0xae6)]();},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x93b)]=function(_0x4175a7,_0x2347e8,_0x184327){var _0x46f3ea=_0x3a8c06;return _0x2347e8=_0x2347e8?'//'+_0x2347e8[_0x46f3ea(0x9fa)]('\x0a')['join']('\x0a//')+'\x0a':'',{'module':this[_0x46f3ea(0xaf7)]['createShaderModule']({'code':_0x2347e8+_0x4175a7}),'entryPoint':_0x184327};},_0x6ee876(0x25b1));_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0xc02)]=function(_0x64bd9,_0x4d50df){var _0x171f87=_0x3a8c06;const _0xc23cea=new _0x46037e['l'](this,_0x46037e['S'][_0x171f87(0x7ec)]);return _0xc23cea[_0x171f87(0x7ed)]=!0x0,_0x4d50df=Object['assign']({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1,'samples':0x1},_0x4d50df),(_0xc23cea[_0x171f87(0x3be)]=_0x4d50df[_0x171f87(0x5f3)]?_0x2168cc['g'][_0x171f87(0xc98)]:_0x2168cc['g'][_0x171f87(0xb94)],this[_0x171f87(0x163)](_0xc23cea,_0x64bd9,_0x4d50df['generateStencil'],_0x4d50df[_0x171f87(0x6cc)],_0x4d50df[_0x171f87(0x4a0)],_0x4d50df['samples']),this[_0x171f87(0x5b0)]['createGPUTextureForInternalTexture'](_0xc23cea),this['_internalTexturesCache']['push'](_0xc23cea),_0xc23cea);},_0x2542d8['f']['prototype']['createCubeTexture']=function(_0x5abe5d,_0x48ad92,_0x2652cd,_0x12d2af,_0x3a2a63=null,_0x493b07=null,_0x1a60d2,_0x5e7f79=null,_0x335744=!0x1,_0x3765f8=0x0,_0x4e0324=0x0,_0x123f74=null,_0x26b4aa=!0x1){var _0x474f5c=_0x3a8c06;return this[_0x474f5c(0xb1e)](_0x5abe5d,_0x48ad92,_0x2652cd,!!_0x12d2af,_0x3a2a63,_0x493b07,_0x1a60d2,_0x5e7f79,_0x335744,_0x3765f8,_0x4e0324,_0x123f74,null,(_0x2215c1,_0x1f1a0f)=>{var _0x1ae7f7=_0x474f5c,_0x32a912=_0x1f1a0f[0x0][_0x1ae7f7(0x781)],_0x347f34=_0x32a912,_0x7c989f=(this[_0x1ae7f7(0xa67)](_0x2215c1,!_0x12d2af),_0x2215c1[_0x1ae7f7(0x3be)]=null!=_0x1a60d2?_0x1a60d2:-0x1,this[_0x1ae7f7(0x5b0)][_0x1ae7f7(0x58f)](_0x2215c1,_0x32a912,_0x347f34));this[_0x1ae7f7(0x5b0)][_0x1ae7f7(0x808)](_0x1f1a0f,_0x7c989f['underlyingResource'],_0x32a912,_0x347f34,_0x7c989f[_0x1ae7f7(0x3be)],!0x1,!0x1,0x0,0x0),_0x12d2af||this[_0x1ae7f7(0xb6e)](_0x2215c1,this[_0x1ae7f7(0x684)]),_0x2215c1['isReady']=!0x0,_0x2215c1[_0x1ae7f7(0xc2e)]['notifyObservers'](_0x2215c1),_0x2215c1['onLoadedObservable'][_0x1ae7f7(0x20f)](),_0x3a2a63&&_0x3a2a63();},!!_0x26b4aa);},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0xa67)]=function(_0xfcfb15,_0x3e7e46,_0x3375c7){var _0x197b44=_0x3a8c06;_0xfcfb15[_0x197b44(0x12a)]=_0x3e7e46?_0x2168cc['g']['TEXTURE_TRILINEAR_SAMPLINGMODE']:_0x2168cc['g'][_0x197b44(0x7b7)],_0xfcfb15[_0x197b44(0x9e0)]=_0x2168cc['g'][_0x197b44(0x152)],_0xfcfb15[_0x197b44(0x5d6)]=_0x2168cc['g']['TEXTURE_CLAMP_ADDRESSMODE'],_0x3375c7&&(_0xfcfb15[_0x197b44(0x44f)]=_0x3375c7);},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0xc8f)]=function(_0x201dcf,_0x3db653){var _0x5dc91c=_0x3a8c06;if(this['_options'][_0x5dc91c(0x1fa)]){if(0x0===_0x3db653||0x1===_0x3db653){const _0x378c24=0x0===_0x3db653?this['_renderEncoder']:this['_renderTargetEncoder'];_0x378c24[_0x5dc91c(0x997)](_0x201dcf);}else this['_currentRenderPass']?this[_0x5dc91c(0x14a)][_0x5dc91c(0x997)](_0x201dcf):this[_0x5dc91c(0x4d7)][_0x5dc91c(0x731)]([_0x5dc91c(0x731),_0x201dcf]);}},_0x2542d8['f'][_0x3a8c06(0x40f)]['_debugPopGroup']=function(_0x974da6){var _0x5135fa=_0x3a8c06;if(this[_0x5135fa(0x371)]['enableGPUDebugMarkers']){if(0x0===_0x974da6||0x1===_0x974da6){const _0x497ce3=0x0===_0x974da6?this[_0x5135fa(0x326)]:this[_0x5135fa(0x171)];_0x497ce3[_0x5135fa(0x680)]();}else this[_0x5135fa(0x14a)]?this[_0x5135fa(0x14a)][_0x5135fa(0x680)]():this[_0x5135fa(0x4d7)]['push']([_0x5135fa(0x45c),null]);}},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0xc22)]=function(_0x378ec9,_0x28d1a2){var _0x33972c=_0x3a8c06;if(this[_0x33972c(0x371)][_0x33972c(0x1fa)]){if(0x0===_0x28d1a2||0x1===_0x28d1a2){const _0x459e8e=0x0===_0x28d1a2?this[_0x33972c(0x326)]:this[_0x33972c(0x171)];_0x459e8e[_0x33972c(0x52d)](_0x378ec9);}else this['_currentRenderPass']?this[_0x33972c(0x14a)][_0x33972c(0x52d)](_0x378ec9):this[_0x33972c(0x4d7)]['push']([_0x33972c(0x2aa),_0x378ec9]);}},_0x2542d8['f']['prototype'][_0x3a8c06(0x818)]=function(){var _0xe57ca8=_0x3a8c06;for(let _0x265363=0x0;_0x265363<this[_0xe57ca8(0x4d7)]['length'];++_0x265363){var [_0x909236,_0x56794f]=this[_0xe57ca8(0x4d7)][_0x265363];switch(_0x909236){case _0xe57ca8(0x731):this[_0xe57ca8(0xc8f)](_0x56794f);break;case _0xe57ca8(0x45c):this[_0xe57ca8(0xcd0)]();break;case _0xe57ca8(0x2aa):this[_0xe57ca8(0xc22)](_0x56794f);}}this[_0xe57ca8(0x4d7)][_0xe57ca8(0xb85)]=0x0;},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x2cb)]=function(_0x2e5cb8,_0x301c9d,_0x4c0ac3=0x0){var _0x589b4c=_0x3a8c06,_0x2f9cd8=_0x2e5cb8,_0x2e5cb8=_0x2e5cb8[_0x589b4c(0xbfe)]?_0x301c9d instanceof Uint32Array?_0x301c9d:new Uint32Array(_0x301c9d):_0x301c9d instanceof Uint16Array?_0x301c9d:new Uint16Array(_0x301c9d);this[_0x589b4c(0x501)][_0x589b4c(0x1d9)](_0x2f9cd8,_0x4c0ac3,_0x2e5cb8);},_0x2542d8['f'][_0x3a8c06(0x40f)]['updateDynamicVertexBuffer']=function(_0x5c7364,_0x3984e,_0x266e73,_0x5845c8){var _0x24c905=_0x3a8c06;void 0x0===_0x266e73&&(_0x266e73=0x0);let _0x40ccb7;void 0x0===_0x5845c8?_0x5845c8=(_0x40ccb7=_0x3984e instanceof Array?new Float32Array(_0x3984e):_0x3984e instanceof ArrayBuffer?new Uint8Array(_0x3984e):_0x3984e)[_0x24c905(0xabb)]:_0x40ccb7=_0x3984e instanceof Array?new Float32Array(_0x3984e):_0x3984e instanceof ArrayBuffer?new Uint8Array(_0x3984e):_0x3984e,this[_0x24c905(0x501)][_0x24c905(0x1d9)](_0x5c7364,_0x266e73,_0x40ccb7,0x0,_0x5845c8);},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0xab3)]=function(_0x450812,_0x31f770,_0xe4737a,_0x5ddfda=!0x1,_0xf6042d,_0x1b3cae,_0x43105a){var _0xba9c2c=_0x3a8c06,_0x2d0a75;if(_0x450812){var _0xdb2240=_0x31f770[_0xba9c2c(0x781)],_0x3043ea=_0x31f770[_0xba9c2c(0x831)];let _0x186121=_0x450812[_0xba9c2c(0x372)];null!=(_0x2d0a75=_0x450812[_0xba9c2c(0x372)])&&_0x2d0a75[_0xba9c2c(0x22a)]||(_0x186121=this[_0xba9c2c(0x5b0)][_0xba9c2c(0x58f)](_0x450812,_0xdb2240,_0x3043ea)),this[_0xba9c2c(0x5b0)]['updateTexture'](_0x31f770,_0x450812,_0xdb2240,_0x3043ea,_0x450812[_0xba9c2c(0x67b)],_0x186121['format'],0x0,0x0,_0xe4737a,_0x5ddfda,0x0,0x0,_0x43105a),_0x450812[_0xba9c2c(0xb73)]&&this[_0xba9c2c(0xb6e)](_0x450812,this[_0xba9c2c(0x684)]),_0x450812[_0xba9c2c(0x682)]=!0x0;}};class _0x4965a8 extends _0x6ee876(0x22dd)['x']{constructor(_0x10d8b1){super(_0x10d8b1);}}var _0x2adec1=_0x6ee876(0xf75c),_0x1f9407=(_0x2adec1['Q'][_0x3a8c06(0x40f)][_0x3a8c06(0xa6a)]=function(_0x4429c0,_0x1a2c9e){var _0x4ceb7e=_0x3a8c06;this[_0x4ceb7e(0x4ae)][_0x4ceb7e(0xa6a)](_0x4429c0,_0x1a2c9e);},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x6d7)]=function(_0x2a5f6e){return new _0x4965a8(_0x2a5f6e);},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0xa6a)]=function(_0x156d5e,_0x50104e){var _0x462f20=_0x3a8c06;_0x50104e?this['_setInternalTexture'](_0x156d5e,_0x50104e):this[_0x462f20(0x482)]['setTexture'](_0x156d5e,null);},_0x2542d8['f']['prototype'][_0x3a8c06(0x8fb)]=function(_0x106e8a,_0x2f9349=!0x1,_0x55f8ab){var _0x58cd2d=_0x3a8c06;_0x55f8ab&&_0x55f8ab();var _0x17cb37=_0x106e8a[_0x58cd2d(0x69b)][_0x58cd2d(0xb85)];this[_0x58cd2d(0x14a)]&&this[_0x58cd2d(0x14a)]!==this[_0x58cd2d(0xb72)][_0x58cd2d(0x548)]&&this[_0x58cd2d(0x1b8)]();for(let _0x108216=0x0;_0x108216<_0x17cb37;_0x108216++){var _0x3885d9=_0x106e8a[_0x58cd2d(0x345)][_0x108216];!_0x3885d9[_0x58cd2d(0xb73)]||_0x2f9349||_0x3885d9['isCube']||this[_0x58cd2d(0xb6e)](_0x3885d9);}this['_currentRenderTarget']=null,this['_mrtAttachments']=[],this[_0x58cd2d(0xb91)]['setMRT']([]),this[_0x58cd2d(0xb91)][_0x58cd2d(0xc9c)](this[_0x58cd2d(0x8b3)]),this[_0x58cd2d(0x14a)]=this[_0x58cd2d(0xb72)][_0x58cd2d(0x548)],this[_0x58cd2d(0x7aa)](this['_mainRenderPassWrapper']),this['_setColorFormat'](this[_0x58cd2d(0xb72)]);},_0x2542d8['f'][_0x3a8c06(0x40f)]['createMultipleRenderTarget']=function(_0x313906,_0x18c049,_0x2bea74){var _0x307fc7=_0x3a8c06,_0x504aff;let _0x21a38d=!0x1,_0x33055b=!0x0,_0x54aaf9=!0x1,_0x23aba7=!0x1,_0x1b4707=_0x2168cc['g']['TEXTUREFORMAT_DEPTH16'],_0x36e1ff=0x1;var _0x48ec=_0x2168cc['g'][_0x307fc7(0x312)],_0x57c163=_0x2168cc['g'][_0x307fc7(0x23b)],_0x5f217e=_0x2168cc['g'][_0x307fc7(0x692)];let _0x2c63a5=new Array(),_0xe0d443=new Array(),_0x5b22f5=new Array(),_0x4b9b97=new Array();const _0x544f48=this[_0x307fc7(0xc47)](!0x0,!0x1,_0x313906);void 0x0!==_0x18c049&&(_0x21a38d=void 0x0!==_0x18c049[_0x307fc7(0xb73)]&&_0x18c049[_0x307fc7(0xb73)],_0x33055b=void 0x0===_0x18c049['generateDepthBuffer']||_0x18c049['generateDepthBuffer'],_0x54aaf9=void 0x0!==_0x18c049[_0x307fc7(0x69e)]&&_0x18c049[_0x307fc7(0x69e)],_0x23aba7=void 0x0!==_0x18c049[_0x307fc7(0x6cf)]&&_0x18c049['generateDepthTexture'],_0x36e1ff=_0x18c049[_0x307fc7(0x471)]||0x1,_0x1b4707=null!=(_0x504aff=_0x18c049[_0x307fc7(0x3d7)])?_0x504aff:_0x2168cc['g'][_0x307fc7(0x21f)],_0x18c049[_0x307fc7(0x549)]&&(_0x2c63a5=_0x18c049[_0x307fc7(0x549)]),_0x18c049[_0x307fc7(0x199)]&&(_0xe0d443=_0x18c049[_0x307fc7(0x199)]),_0x18c049[_0x307fc7(0x47c)]&&(_0x5b22f5=_0x18c049['useSRGBBuffers']),_0x18c049[_0x307fc7(0xc3a)]&&(_0x4b9b97=_0x18c049[_0x307fc7(0xc3a)]));var _0x2a5063=_0x313906[_0x307fc7(0x781)]||_0x313906,_0x372970=_0x313906[_0x307fc7(0x831)]||_0x313906;let _0x2010cb=null;(_0x33055b||_0x54aaf9||_0x23aba7)&&(_0x23aba7||(_0x1b4707=_0x33055b&&_0x54aaf9?_0x2168cc['g'][_0x307fc7(0xc98)]:_0x33055b?_0x2168cc['g']['TEXTUREFORMAT_DEPTH32_FLOAT']:_0x2168cc['g'][_0x307fc7(0x3e9)]),_0x2010cb=_0x544f48[_0x307fc7(0x5ad)](0x0,!0x1,_0x54aaf9,0x1,_0x1b4707));const _0x278c6a=[],_0x172b18=[],_0x193480=[];_0x544f48[_0x307fc7(0xcd7)]=_0x33055b,_0x544f48[_0x307fc7(0x314)]=_0x54aaf9,_0x544f48[_0x307fc7(0x69b)]=_0x172b18,_0x544f48['_defaultAttachments']=_0x193480;for(let _0x364442=0x0;_0x364442<_0x36e1ff;_0x364442++){let _0x130ddf=_0xe0d443[_0x364442]||_0x57c163,_0x8912e1=_0x2c63a5[_0x364442]||_0x48ec;var _0x2ccdaa=_0x5b22f5[_0x364442]||!0x1,_0x2e206f=_0x4b9b97[_0x364442]||_0x5f217e;(_0x8912e1===_0x2168cc['g'][_0x307fc7(0x940)]&&!this[_0x307fc7(0xb4c)]['textureFloatLinearFiltering']||_0x8912e1===_0x2168cc['g'][_0x307fc7(0x1d6)]&&!this['_caps'][_0x307fc7(0x9ca)])&&(_0x130ddf=_0x2168cc['g'][_0x307fc7(0x3bd)]),_0x8912e1!==_0x2168cc['g']['TEXTURETYPE_FLOAT']||this['_caps'][_0x307fc7(0x1da)]||(_0x8912e1=_0x2168cc['g']['TEXTURETYPE_UNSIGNED_INT'],_0x1130f3['Y']['Warn'](_0x307fc7(0x8b9)));const _0x2f2c94=new _0x46037e['l'](this,_0x46037e['S'][_0x307fc7(0xb36)]);_0x278c6a['push'](_0x2f2c94),_0x172b18['push'](_0x364442+0x1),_0x193480[_0x307fc7(0x731)](_0x2bea74?_0x364442+0x1:0x0===_0x364442?0x1:0x0),_0x2f2c94[_0x307fc7(0x412)]=_0x2a5063,_0x2f2c94[_0x307fc7(0x30a)]=_0x372970,_0x2f2c94['width']=_0x2a5063,_0x2f2c94[_0x307fc7(0x831)]=_0x372970,_0x2f2c94[_0x307fc7(0x682)]=!0x0,_0x2f2c94['samples']=0x1,_0x2f2c94[_0x307fc7(0xb73)]=_0x21a38d,_0x2f2c94[_0x307fc7(0x12a)]=_0x130ddf,_0x2f2c94[_0x307fc7(0x6a4)]=_0x8912e1,_0x2f2c94[_0x307fc7(0x9e0)]=_0x2168cc['g'][_0x307fc7(0x152)],_0x2f2c94['_cachedWrapV']=_0x2168cc['g'][_0x307fc7(0x152)],_0x2f2c94['_useSRGBBuffer']=_0x2ccdaa,_0x2f2c94[_0x307fc7(0x3be)]=_0x2e206f,this[_0x307fc7(0x2bd)][_0x307fc7(0x731)](_0x2f2c94),this['_textureHelper'][_0x307fc7(0x58f)](_0x2f2c94);}return _0x2010cb&&(_0x2010cb[_0x307fc7(0x8f6)](),_0x278c6a[_0x307fc7(0x731)](_0x2010cb),this['_internalTexturesCache'][_0x307fc7(0x731)](_0x2010cb)),_0x544f48[_0x307fc7(0x6b5)](_0x278c6a),_0x544f48;},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x847)]=function(_0x3147a0,_0xd09089){var _0x2273bb=_0x3a8c06;if(!_0x3147a0||!_0x3147a0[_0x2273bb(0x345)]||_0x3147a0[_0x2273bb(0x345)][0x0][_0x2273bb(0x819)]===_0xd09089)return _0xd09089;var _0x325916=_0x3147a0['textures'][_0x2273bb(0xb85)];if(0x0===_0x325916)return 0x1;_0xd09089=Math[_0x2273bb(0x280)](_0xd09089,this[_0x2273bb(0x7ac)]()[_0x2273bb(0x860)]);for(let _0x6d96c0=0x0;_0x6d96c0<_0x325916;++_0x6d96c0){const _0x14c85f=_0x3147a0[_0x2273bb(0x345)][_0x6d96c0];this[_0x2273bb(0x5b0)]['createMSAATexture'](_0x14c85f,_0xd09089),_0x14c85f[_0x2273bb(0x819)]=_0xd09089;}return _0x3147a0[_0x2273bb(0x93c)]&&_0x3147a0[_0x2273bb(0x93c)]!==_0x3147a0[_0x2273bb(0x345)][_0x3147a0[_0x2273bb(0x345)][_0x2273bb(0xb85)]-0x1]&&(this['_textureHelper'][_0x2273bb(0x923)](_0x3147a0[_0x2273bb(0x93c)],_0xd09089),_0x3147a0['_depthStencilTexture'][_0x2273bb(0x819)]=_0xd09089),_0xd09089;},_0x2542d8['f'][_0x3a8c06(0x40f)]['bindAttachments']=function(_0x517f47){var _0x4e47b8=_0x3a8c06;0x0!==_0x517f47[_0x4e47b8(0xb85)]&&this['_currentRenderTarget']&&(this[_0x4e47b8(0x8b3)]=_0x517f47,this[_0x4e47b8(0x14a)]&&this['_cacheRenderPipeline'][_0x4e47b8(0xc9c)](_0x517f47));},_0x2542d8['f']['prototype'][_0x3a8c06(0x712)]=function(_0x56e3de){var _0x21b31e=_0x3a8c06;const _0x3f99a2=[];for(let _0x3d0ca5=0x0;_0x3d0ca5<_0x56e3de[_0x21b31e(0xb85)];_0x3d0ca5++)_0x56e3de[_0x3d0ca5]?_0x3f99a2[_0x21b31e(0x731)](_0x3d0ca5+0x1):_0x3f99a2[_0x21b31e(0x731)](0x0);return _0x3f99a2;},_0x2542d8['f']['prototype']['restoreSingleAttachment']=function(){},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0xbb5)]=function(){},_0x6ee876(0x742a));function _0x5772df(_0x49f109,_0x341e3a,_0x4f9e21,_0x14c027){var _0x1e35d6=_0x3a8c06;let _0xdcd66,_0x1496c1=0x1;_0x14c027===_0x2168cc['g'][_0x1e35d6(0x940)]?_0xdcd66=new Float32Array(_0x341e3a*_0x4f9e21*0x4):_0x14c027===_0x2168cc['g'][_0x1e35d6(0x1d6)]?(_0xdcd66=new Uint16Array(_0x341e3a*_0x4f9e21*0x4),_0x1496c1=0x3c00):_0xdcd66=new(_0x14c027===_0x2168cc['g'][(_0x1e35d6(0xac7))]?Uint32Array:Uint8Array)(_0x341e3a*_0x4f9e21*0x4);for(let _0x2a6ee4=0x0;_0x2a6ee4<_0x341e3a;_0x2a6ee4++)for(let _0x442eba=0x0;_0x442eba<_0x4f9e21;_0x442eba++){var _0x1e5f24=0x3*(_0x442eba*_0x341e3a+_0x2a6ee4),_0x2d846a=0x4*(_0x442eba*_0x341e3a+_0x2a6ee4);_0xdcd66[0x0+_0x2d846a]=_0x49f109[0x0+_0x1e5f24],_0xdcd66[0x1+_0x2d846a]=_0x49f109[0x1+_0x1e5f24],_0xdcd66[0x2+_0x2d846a]=_0x49f109[0x2+_0x1e5f24],_0xdcd66[0x3+_0x2d846a]=_0x1496c1;}return _0xdcd66;}_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x9c9)]=function(){var _0x22b30b=_0x3a8c06;return this['_timestampQuery'][_0x22b30b(0x9f2)];},_0x2542d8['f']['prototype']['captureGPUFrameTime']=function(_0x4de168){var _0x15db9f=_0x3a8c06;this['_timestampQuery'][_0x15db9f(0x211)]=_0x4de168&&!!this[_0x15db9f(0xb4c)][_0x15db9f(0x5ec)];},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x1ca)]=function(){var _0x1497a2=_0x3a8c06;return this['_occlusionQuery'][_0x1497a2(0x1ca)]();},_0x2542d8['f']['prototype']['deleteQuery']=function(_0x546cc3){var _0x523eda=_0x3a8c06;return this[_0x523eda(0x516)]['deleteQuery'](_0x546cc3),this;},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0xa4e)]=function(_0x1f1fbb){return this['_occlusionQuery']['isQueryResultAvailable'](_0x1f1fbb);},_0x2542d8['f'][_0x3a8c06(0x40f)]['getQueryResult']=function(_0x5a8be5){var _0x193b85=_0x3a8c06;return this[_0x193b85(0x516)][_0x193b85(0x748)](_0x5a8be5);},_0x2542d8['f'][_0x3a8c06(0x40f)]['beginOcclusionQuery']=function(_0xa75022,_0x39298e){var _0x125022=_0x3a8c06,_0x1ec8f0;if(this[_0x125022(0x174)])return!!this['_occlusionQuery']['canBeginQuery']&&(null!=(_0x1ec8f0=this[_0x125022(0x14a)])&&_0x1ec8f0['beginOcclusionQuery'](_0x39298e),!0x0);{const _0x38de15=0x0===this[_0x125022(0xc69)]()?this[_0x125022(0x577)]:this[_0x125022(0x45b)];return _0x38de15[_0x125022(0x6bd)](new _0x1f9407['GB'](_0x39298e)),!0x0;}},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0xade)]=function(){var _0x21848d=_0x3a8c06,_0x3cff39;if(this[_0x21848d(0x174)])null!=(_0x3cff39=this[_0x21848d(0x14a)])&&_0x3cff39[_0x21848d(0xade)]();else{const _0x36f4b2=0x0===this[_0x21848d(0xc69)]()?this[_0x21848d(0x577)]:this[_0x21848d(0x45b)];_0x36f4b2[_0x21848d(0x6bd)](new _0x1f9407['fw']());}return this;},_0x2542d8['f']['prototype'][_0x3a8c06(0xae3)]=function(_0x3e91c8,_0x2fedab,_0x5d9727,_0x318f2d,_0x354e09,_0x4e76a1,_0x2a07ce,_0x5c545a=null,_0x2df334=_0x2168cc['g'][_0x3a8c06(0x312)],_0x4c685b=0x0,_0x56fdf3=!0x1){var _0x7548fd=_0x3a8c06;const _0x211ed0=new _0x46037e['l'](this,_0x46037e['S'][_0x7548fd(0x9f9)]);return _0x211ed0['baseWidth']=_0x2fedab,_0x211ed0[_0x7548fd(0x30a)]=_0x5d9727,_0x211ed0[_0x7548fd(0x781)]=_0x2fedab,_0x211ed0[_0x7548fd(0x831)]=_0x5d9727,_0x211ed0[_0x7548fd(0x3be)]=_0x318f2d,_0x211ed0[_0x7548fd(0xb73)]=_0x354e09,_0x211ed0[_0x7548fd(0x12a)]=_0x2a07ce,_0x211ed0[_0x7548fd(0xae5)]=_0x4e76a1,_0x211ed0[_0x7548fd(0x78a)]=_0x5c545a,_0x211ed0['type']=_0x2df334,_0x211ed0[_0x7548fd(0xbba)]=_0x56fdf3,this[_0x7548fd(0xb06)]||(_0x211ed0[_0x7548fd(0x269)]=_0x3e91c8),this[_0x7548fd(0x5b0)][_0x7548fd(0x58f)](_0x211ed0,_0x2fedab,_0x5d9727,void 0x0,_0x4c685b),this['updateRawTexture'](_0x211ed0,_0x3e91c8,_0x318f2d,_0x4e76a1,_0x5c545a,_0x2df334,_0x56fdf3),this['_internalTexturesCache'][_0x7548fd(0x731)](_0x211ed0),_0x211ed0;},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x70f)]=function(_0x139a6e,_0x370b74,_0x39e4ce,_0xb24ad7,_0x164fe4=null,_0x2c08ef=_0x2168cc['g'][_0x3a8c06(0x312)],_0x57eb08=!0x1){var _0x2bd8a3=_0x3a8c06;_0x139a6e&&(this[_0x2bd8a3(0xb06)]||(_0x139a6e[_0x2bd8a3(0x269)]=_0x370b74,_0x139a6e[_0x2bd8a3(0xae5)]=_0xb24ad7,_0x139a6e[_0x2bd8a3(0x78a)]=_0x164fe4,_0x139a6e[_0x2bd8a3(0xbba)]=_0x57eb08),_0x370b74&&(_0x164fe4=_0x139a6e[_0x2bd8a3(0x372)],_0x39e4ce===_0x2168cc['g'][_0x2bd8a3(0x657)]&&(_0x370b74=_0x5772df(_0x370b74,_0x139a6e['width'],_0x139a6e[_0x2bd8a3(0x831)],_0x2c08ef)),_0x57eb08=new Uint8Array(_0x370b74[_0x2bd8a3(0xa92)],_0x370b74[_0x2bd8a3(0xa9e)],_0x370b74[_0x2bd8a3(0xabb)]),this['_textureHelper'][_0x2bd8a3(0x517)](_0x57eb08,_0x139a6e,_0x139a6e[_0x2bd8a3(0x781)],_0x139a6e[_0x2bd8a3(0x831)],_0x139a6e[_0x2bd8a3(0x67b)],_0x164fe4['format'],0x0,0x0,_0xb24ad7,!0x1,0x0,0x0),_0x139a6e[_0x2bd8a3(0xb73)]&&this['_generateMipmaps'](_0x139a6e,this[_0x2bd8a3(0x684)])),_0x139a6e['isReady']=!0x0);},_0x2542d8['f'][_0x3a8c06(0x40f)]['createRawCubeTexture']=function(_0x154a70,_0x17e84c,_0x23d60f,_0x2e37d8,_0x192d44,_0x5d32e4,_0x37032d,_0x38119c=null){var _0xeacea1=_0x3a8c06;const _0xeb3810=new _0x46037e['l'](this,_0x46037e['S'][_0xeacea1(0xb3b)]);return _0x2e37d8!==_0x2168cc['g'][_0xeacea1(0x940)]||this[_0xeacea1(0xb4c)][_0xeacea1(0x63b)]?_0x2e37d8!==_0x2168cc['g'][_0xeacea1(0x1d6)]||this[_0xeacea1(0xb4c)][_0xeacea1(0x9ca)]?_0x2e37d8!==_0x2168cc['g'][_0xeacea1(0x940)]||this['_caps'][_0xeacea1(0x85a)]?_0x2e37d8!==_0x2168cc['g'][_0xeacea1(0x1d6)]||this['_caps'][_0xeacea1(0x44e)]||(_0x192d44=!0x1,_0x1130f3['Y'][_0xeacea1(0x2e9)](_0xeacea1(0xc4a))):(_0x192d44=!0x1,_0x1130f3['Y']['Warn'](_0xeacea1(0x4db))):(_0x192d44=!0x1,_0x37032d=_0x2168cc['g'][_0xeacea1(0x3bd)],_0x1130f3['Y']['Warn'](_0xeacea1(0xb00))):(_0x192d44=!0x1,_0x37032d=_0x2168cc['g']['TEXTURE_NEAREST_SAMPLINGMODE'],_0x1130f3['Y'][_0xeacea1(0x2e9)](_0xeacea1(0xc82))),_0xeb3810['isCube']=!0x0,_0xeb3810[_0xeacea1(0x3be)]=_0x23d60f===_0x2168cc['g'][_0xeacea1(0x657)]?_0x2168cc['g'][_0xeacea1(0x692)]:_0x23d60f,_0xeb3810[_0xeacea1(0x6a4)]=_0x2e37d8,_0xeb3810[_0xeacea1(0xb73)]=_0x192d44,_0xeb3810['width']=_0x17e84c,_0xeb3810[_0xeacea1(0x831)]=_0x17e84c,_0xeb3810['samplingMode']=_0x37032d,this[_0xeacea1(0xb06)]||(_0xeb3810['_bufferViewArray']=_0x154a70),_0xeb3810[_0xeacea1(0xae5)]=_0x5d32e4,_0xeb3810[_0xeacea1(0x78a)]=_0x38119c,_0xeb3810[_0xeacea1(0x9e0)]=_0x2168cc['g'][_0xeacea1(0x152)],_0xeb3810[_0xeacea1(0x5d6)]=_0x2168cc['g'][_0xeacea1(0x152)],this[_0xeacea1(0x5b0)][_0xeacea1(0x58f)](_0xeb3810),_0x154a70&&this[_0xeacea1(0x15a)](_0xeb3810,_0x154a70,_0x23d60f,_0x2e37d8,_0x5d32e4,_0x38119c),_0xeb3810[_0xeacea1(0x682)]=!0x0,_0xeb3810;},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x15a)]=function(_0x2bcd78,_0x4ae798,_0x495467,_0x41768f,_0x5a8862,_0x408cda=null){var _0x547eaf=_0x3a8c06;_0x2bcd78[_0x547eaf(0x2ed)]=_0x4ae798,_0x2bcd78[_0x547eaf(0xae5)]=_0x5a8862,_0x2bcd78['_compression']=_0x408cda;var _0x408cda=_0x2bcd78[_0x547eaf(0x372)],_0x44922f=_0x495467===_0x2168cc['g'][_0x547eaf(0x657)];const _0x59c8a6=[];for(let _0x116acf=0x0;_0x116acf<_0x4ae798['length'];++_0x116acf){let _0x5b970f=_0x4ae798[_0x116acf];_0x44922f&&(_0x5b970f=_0x5772df(_0x4ae798[_0x116acf],_0x2bcd78['width'],_0x2bcd78[_0x547eaf(0x831)],_0x41768f)),_0x59c8a6[_0x547eaf(0x731)](new Uint8Array(_0x5b970f['buffer'],_0x5b970f['byteOffset'],_0x5b970f[_0x547eaf(0xabb)]));}this[_0x547eaf(0x5b0)]['updateCubeTextures'](_0x59c8a6,_0x408cda['underlyingResource'],_0x2bcd78[_0x547eaf(0x781)],_0x2bcd78[_0x547eaf(0x831)],_0x408cda[_0x547eaf(0x3be)],_0x5a8862,!0x1,0x0,0x0),_0x2bcd78[_0x547eaf(0xb73)]&&this['_generateMipmaps'](_0x2bcd78,this[_0x547eaf(0x684)]),_0x2bcd78[_0x547eaf(0x682)]=!0x0;},_0x2542d8['f']['prototype'][_0x3a8c06(0xab9)]=function(_0x1bf859,_0x1c12bf,_0x4b21fa,_0x30e947,_0x38ec59,_0x74569a,_0x1d082d,_0x2d6132,_0x210b7e=null,_0x134a88=null,_0x3241ef=_0x2168cc['g'][_0x3a8c06(0x23b)],_0x316ed3=!0x1){var _0x2baf19=_0x3a8c06;const _0x5420ea=this[_0x2baf19(0x8ca)](null,_0x4b21fa,_0x30e947,_0x38ec59,!_0x74569a,_0x316ed3,_0x3241ef,null),_0x31748f=(null!=_0x1c12bf&&_0x1c12bf[_0x2baf19(0x2d9)](_0x5420ea),_0x5420ea['url']=_0x1bf859,this[_0x2baf19(0x2bd)][_0x2baf19(0x731)](_0x5420ea),_0x32368e=>{var _0x343126=_0x2baf19,_0x8c9466=_0x5420ea['width'],_0x4805a5=_0x1d082d(_0x32368e);if(_0x4805a5){var _0x353d89=[0x0,0x2,0x4,0x1,0x3,0x5];if(_0x2d6132){var _0x362f6e=_0x30e947===_0x2168cc['g'][_0x343126(0x657)],_0x26952f=_0x2d6132(_0x4805a5),_0x10293f=_0x5420ea[_0x343126(0x372)];const _0x67e07e=[0x0,0x1,0x2,0x3,0x4,0x5];for(let _0x5b1521=0x0;_0x5b1521<_0x26952f[_0x343126(0xb85)];_0x5b1521++){var _0x5c11dd=_0x8c9466>>_0x5b1521;const _0x5507b6=[];for(let _0xf4f163=0x0;_0xf4f163<0x6;_0xf4f163++){let _0x2bf833=_0x26952f[_0x5b1521][_0x67e07e[_0xf4f163]];_0x362f6e&&(_0x2bf833=_0x5772df(_0x2bf833,_0x5c11dd,_0x5c11dd,_0x38ec59)),_0x5507b6[_0x343126(0x731)](new Uint8Array(_0x2bf833['buffer'],_0x2bf833[_0x343126(0xa9e)],_0x2bf833[_0x343126(0xabb)]));}this[_0x343126(0x5b0)][_0x343126(0x808)](_0x5507b6,_0x10293f['underlyingResource'],_0x5c11dd,_0x5c11dd,_0x10293f[_0x343126(0x3be)],_0x316ed3,!0x1,0x0,0x0);}}else{const _0x5cd474=[];for(let _0x2b405f=0x0;_0x2b405f<0x6;_0x2b405f++)_0x5cd474[_0x343126(0x731)](_0x4805a5[_0x353d89[_0x2b405f]]);this[_0x343126(0x15a)](_0x5420ea,_0x5cd474,_0x30e947,_0x38ec59,_0x316ed3);}_0x5420ea[_0x343126(0x682)]=!0x0,null!=_0x1c12bf&&_0x1c12bf[_0x343126(0x6fe)](_0x5420ea),_0x210b7e&&_0x210b7e();}});return this[_0x2baf19(0x84f)](_0x1bf859,_0x42a5e9=>{_0x31748f(_0x42a5e9);},void 0x0,null==_0x1c12bf?void 0x0:_0x1c12bf[_0x2baf19(0x3f5)],!0x0,(_0x54dbe9,_0x10f3c7)=>{var _0x509769=_0x2baf19;null!=_0x1c12bf&&_0x1c12bf[_0x509769(0x6fe)](_0x5420ea),_0x134a88&&_0x54dbe9&&_0x134a88(_0x54dbe9[_0x509769(0x67a)]+'\x20'+_0x54dbe9['statusText'],_0x10f3c7);}),_0x5420ea;},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x632)]=function(_0x1d8881,_0x38d5b3,_0x32cc44,_0x221c61,_0x5aa926,_0x1c3648,_0x5245b2,_0x4c0b85,_0x21f593=null,_0x4ba504=_0x2168cc['g']['TEXTURETYPE_UNSIGNED_INT'],_0x596d92=0x0){var _0x51b03a=_0x3a8c06,_0x2a07b7=_0x46037e['S'][_0x51b03a(0xc2f)];const _0x2995ad=new _0x46037e['l'](this,_0x2a07b7);return _0x2995ad['baseWidth']=_0x38d5b3,_0x2995ad[_0x51b03a(0x30a)]=_0x32cc44,_0x2995ad['baseDepth']=_0x221c61,_0x2995ad['width']=_0x38d5b3,_0x2995ad[_0x51b03a(0x831)]=_0x32cc44,_0x2995ad['depth']=_0x221c61,_0x2995ad[_0x51b03a(0x3be)]=_0x5aa926,_0x2995ad[_0x51b03a(0x6a4)]=_0x4ba504,_0x2995ad[_0x51b03a(0xb73)]=_0x1c3648,_0x2995ad[_0x51b03a(0x12a)]=_0x4c0b85,_0x2995ad[_0x51b03a(0x1ce)]=!0x0,this[_0x51b03a(0xb06)]||(_0x2995ad['_bufferView']=_0x1d8881),this['_textureHelper'][_0x51b03a(0x58f)](_0x2995ad,_0x38d5b3,_0x32cc44,void 0x0,_0x596d92),this[_0x51b03a(0xb41)](_0x2995ad,_0x1d8881,_0x5aa926,_0x5245b2,_0x21f593,_0x4ba504),this['_internalTexturesCache'][_0x51b03a(0x731)](_0x2995ad),_0x2995ad;},_0x2542d8['f'][_0x3a8c06(0x40f)]['updateRawTexture3D']=function(_0x54951a,_0x1ca424,_0x584124,_0x1d34e0,_0x2dce29=null,_0x37b2ae=_0x2168cc['g'][_0x3a8c06(0x312)]){var _0x150b1b=_0x3a8c06;this['_doNotHandleContextLost']||(_0x54951a[_0x150b1b(0x269)]=_0x1ca424,_0x54951a['format']=_0x584124,_0x54951a[_0x150b1b(0xae5)]=_0x1d34e0,_0x54951a[_0x150b1b(0x78a)]=_0x2dce29),_0x1ca424&&(_0x2dce29=_0x54951a['_hardwareTexture'],_0x584124===_0x2168cc['g'][_0x150b1b(0x657)]&&(_0x1ca424=_0x5772df(_0x1ca424,_0x54951a[_0x150b1b(0x781)],_0x54951a[_0x150b1b(0x831)],_0x37b2ae)),_0x584124=new Uint8Array(_0x1ca424[_0x150b1b(0xa92)],_0x1ca424['byteOffset'],_0x1ca424[_0x150b1b(0xabb)]),this[_0x150b1b(0x5b0)][_0x150b1b(0x517)](_0x584124,_0x54951a,_0x54951a[_0x150b1b(0x781)],_0x54951a[_0x150b1b(0x831)],_0x54951a[_0x150b1b(0x67b)],_0x2dce29[_0x150b1b(0x3be)],0x0,0x0,_0x1d34e0,!0x1,0x0,0x0),_0x54951a[_0x150b1b(0xb73)]&&this[_0x150b1b(0xb6e)](_0x54951a,this[_0x150b1b(0x684)])),_0x54951a[_0x150b1b(0x682)]=!0x0;},_0x2542d8['f']['prototype'][_0x3a8c06(0xad0)]=function(_0x198076,_0x32bf7a,_0x2e9a88,_0x12942b,_0x11c652,_0x3e72dc,_0x901a66,_0x401e69,_0x1f7c23=null,_0x3c3a47=_0x2168cc['g'][_0x3a8c06(0x312)],_0x3564d7=0x0){var _0x40851a=_0x3a8c06,_0x2dbc7e=_0x46037e['S'][_0x40851a(0x53c)];const _0xc1ab39=new _0x46037e['l'](this,_0x2dbc7e);return _0xc1ab39[_0x40851a(0x412)]=_0x32bf7a,_0xc1ab39['baseHeight']=_0x2e9a88,_0xc1ab39[_0x40851a(0x4f1)]=_0x12942b,_0xc1ab39[_0x40851a(0x781)]=_0x32bf7a,_0xc1ab39[_0x40851a(0x831)]=_0x2e9a88,_0xc1ab39['depth']=_0x12942b,_0xc1ab39[_0x40851a(0x3be)]=_0x11c652,_0xc1ab39[_0x40851a(0x6a4)]=_0x3c3a47,_0xc1ab39['generateMipMaps']=_0x3e72dc,_0xc1ab39[_0x40851a(0x12a)]=_0x401e69,_0xc1ab39[_0x40851a(0x5a4)]=!0x0,this['_doNotHandleContextLost']||(_0xc1ab39[_0x40851a(0x269)]=_0x198076),this[_0x40851a(0x5b0)][_0x40851a(0x58f)](_0xc1ab39,_0x32bf7a,_0x2e9a88,_0x12942b,_0x3564d7),this[_0x40851a(0x59e)](_0xc1ab39,_0x198076,_0x11c652,_0x901a66,_0x1f7c23,_0x3c3a47),this[_0x40851a(0x2bd)]['push'](_0xc1ab39),_0xc1ab39;},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x59e)]=function(_0x41ca2d,_0x291807,_0x304298,_0x3de2a8,_0x247ef8=null,_0x5c7785=_0x2168cc['g'][_0x3a8c06(0x312)]){var _0x1ca7e3=_0x3a8c06;this[_0x1ca7e3(0xb06)]||(_0x41ca2d[_0x1ca7e3(0x269)]=_0x291807,_0x41ca2d[_0x1ca7e3(0x3be)]=_0x304298,_0x41ca2d[_0x1ca7e3(0xae5)]=_0x3de2a8,_0x41ca2d[_0x1ca7e3(0x78a)]=_0x247ef8),_0x291807&&(_0x247ef8=_0x41ca2d['_hardwareTexture'],_0x304298===_0x2168cc['g'][_0x1ca7e3(0x657)]&&(_0x291807=_0x5772df(_0x291807,_0x41ca2d[_0x1ca7e3(0x781)],_0x41ca2d['height'],_0x5c7785)),_0x304298=new Uint8Array(_0x291807[_0x1ca7e3(0xa92)],_0x291807[_0x1ca7e3(0xa9e)],_0x291807[_0x1ca7e3(0xabb)]),this[_0x1ca7e3(0x5b0)][_0x1ca7e3(0x517)](_0x304298,_0x41ca2d,_0x41ca2d[_0x1ca7e3(0x781)],_0x41ca2d[_0x1ca7e3(0x831)],_0x41ca2d[_0x1ca7e3(0x67b)],_0x247ef8[_0x1ca7e3(0x3be)],0x0,0x0,_0x3de2a8,!0x1,0x0,0x0),_0x41ca2d[_0x1ca7e3(0xb73)]&&this['_generateMipmaps'](_0x41ca2d,this[_0x1ca7e3(0x684)])),_0x41ca2d[_0x1ca7e3(0x682)]=!0x0;},_0x2542d8['f'][_0x3a8c06(0x40f)]['_readTexturePixels']=function(_0x3fc0f6,_0x366120,_0x58cb6f,_0x4b1a17=-0x1,_0x1aa700=0x0,_0x5dddbe=null,_0xd8340e=!0x0,_0x22760b=!0x1,_0x1a94b8=0x0,_0x25e44c=0x0){var _0x12fa5b=_0x3a8c06;return _0x3fc0f6=_0x3fc0f6[_0x12fa5b(0x372)],(_0xd8340e&&this[_0x12fa5b(0x19a)](),this[_0x12fa5b(0x5b0)]['readPixels'](_0x3fc0f6[_0x12fa5b(0x22a)],_0x1a94b8,_0x25e44c,_0x366120,_0x58cb6f,_0x3fc0f6[_0x12fa5b(0x3be)],_0x4b1a17,_0x1aa700,_0x5dddbe,_0x22760b));},_0x2542d8['f'][_0x3a8c06(0x40f)]['_readTexturePixelsSync']=function(){var _0x4d32ff=_0x3a8c06;throw _0x4d32ff(0x97e);};class _0x2517cf extends _0x6ee876(0x758)['r']{}_0x2542d8['f'][_0x3a8c06(0x40f)]['_createHardwareRenderTargetWrapper']=function(_0x58a747,_0xed371e,_0x368e0f){var _0x4539fb=_0x3a8c06;return _0x58a747=new _0x2517cf(_0x58a747,_0xed371e,_0x368e0f,this),(this[_0x4539fb(0x9a3)]['push'](_0x58a747),_0x58a747);},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x1cd)]=function(_0xc99bf1,_0x19f528){var _0x440d3f=_0x3a8c06,_0x5955dd;const _0x168d2d=this['_createHardwareRenderTargetWrapper'](!0x1,!0x1,_0xc99bf1),_0x254bd6={},_0x1e3a32=(void 0x0!==_0x19f528&&'object'==typeof _0x19f528?(_0x254bd6[_0x440d3f(0xb73)]=_0x19f528['generateMipMaps'],_0x254bd6['generateDepthBuffer']=void 0x0===_0x19f528[_0x440d3f(0x97f)]||_0x19f528[_0x440d3f(0x97f)],_0x254bd6['generateStencilBuffer']=_0x254bd6[_0x440d3f(0x97f)]&&_0x19f528[_0x440d3f(0x69e)],_0x254bd6['samplingMode']=void 0x0===_0x19f528[_0x440d3f(0x12a)]?_0x2168cc['g'][_0x440d3f(0x23b)]:_0x19f528[_0x440d3f(0x12a)],_0x254bd6[_0x440d3f(0x273)]=null!=(_0x5955dd=_0x19f528[_0x440d3f(0x273)])?_0x5955dd:0x0,_0x254bd6[_0x440d3f(0x154)]=!!_0x19f528[_0x440d3f(0x154)],_0x254bd6['samples']=_0x19f528[_0x440d3f(0x819)],_0x254bd6[_0x440d3f(0xa45)]=_0x19f528[_0x440d3f(0xa45)]):(_0x254bd6['generateMipMaps']=_0x19f528,_0x254bd6[_0x440d3f(0x97f)]=!0x0,_0x254bd6[_0x440d3f(0x69e)]=!0x1,_0x254bd6[_0x440d3f(0x12a)]=_0x2168cc['g'][_0x440d3f(0x23b)],_0x254bd6[_0x440d3f(0x273)]=0x0,_0x254bd6[_0x440d3f(0x154)]=!0x1),_0x254bd6['noColorAttachment']?null:this[_0x440d3f(0x9ae)](_0xc99bf1,_0x19f528,!0x0,_0x46037e['S'][_0x440d3f(0x20c)]));return _0x168d2d[_0x440d3f(0x340)]=null!=(_0x5955dd=_0x254bd6[_0x440d3f(0x819)])?_0x5955dd:0x1,_0x168d2d['_generateDepthBuffer']=_0x254bd6[_0x440d3f(0x97f)],_0x168d2d[_0x440d3f(0x314)]=!!_0x254bd6['generateStencilBuffer'],_0x168d2d[_0x440d3f(0x6b5)](_0x1e3a32),(_0x168d2d[_0x440d3f(0xcd7)]||_0x168d2d[_0x440d3f(0x314)])&&_0x168d2d['createDepthStencilTexture'](0x0,this[_0x440d3f(0xb4c)][_0x440d3f(0x63b)]&&(void 0x0===_0x254bd6[_0x440d3f(0x12a)]||_0x254bd6[_0x440d3f(0x12a)]===_0x2168cc['g'][_0x440d3f(0x7b7)]||_0x254bd6[_0x440d3f(0x12a)]===_0x2168cc['g'][_0x440d3f(0x8e7)]||_0x254bd6[_0x440d3f(0x12a)]===_0x2168cc['g'][_0x440d3f(0x23b)]||_0x254bd6[_0x440d3f(0x12a)]===_0x2168cc['g'][_0x440d3f(0x4cc)]||_0x254bd6[_0x440d3f(0x12a)]===_0x2168cc['g']['TEXTURE_NEAREST_LINEAR_MIPNEAREST']||_0x254bd6[_0x440d3f(0x12a)]===_0x2168cc['g'][_0x440d3f(0x2f3)]||_0x254bd6[_0x440d3f(0x12a)]===_0x2168cc['g'][_0x440d3f(0x119)]||_0x254bd6[_0x440d3f(0x12a)]===_0x2168cc['g']['TEXTURE_LINEAR_LINEAR_MIPNEAREST']),_0x168d2d[_0x440d3f(0x314)],_0x168d2d[_0x440d3f(0x819)],_0x254bd6[_0x440d3f(0x69e)]?_0x2168cc['g'][_0x440d3f(0xc98)]:_0x2168cc['g'][_0x440d3f(0xb94)],_0x254bd6[_0x440d3f(0xa45)]?_0x254bd6[_0x440d3f(0xa45)]+'-DepthStencil':void 0x0),_0x1e3a32&&(void 0x0!==_0x19f528&&_0x440d3f(0x2fd)==typeof _0x19f528&&_0x19f528[_0x440d3f(0xbae)]&&!_0x254bd6[_0x440d3f(0xb73)]&&(_0x1e3a32[_0x440d3f(0xb73)]=!0x0),this[_0x440d3f(0x5b0)][_0x440d3f(0x58f)](_0x1e3a32,void 0x0,void 0x0,void 0x0,_0x254bd6['creationFlags']),void 0x0!==_0x19f528&&'object'==typeof _0x19f528&&_0x19f528[_0x440d3f(0xbae)]&&!_0x254bd6[_0x440d3f(0xb73)]&&(_0x1e3a32['generateMipMaps']=!0x1)),_0x168d2d;},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x82f)]=function(_0x9456af,_0x4b7d50){var _0x1fb21b=_0x3a8c06;const _0x29b20b=new _0x46037e['l'](this,_0x46037e['S'][_0x1fb21b(0x7ec)]);return _0x29b20b['label']=_0x4b7d50[_0x1fb21b(0xa45)],_0x4b7d50=Object[_0x1fb21b(0x9d9)]({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1,'samples':0x1,'depthTextureFormat':_0x4b7d50[_0x1fb21b(0x5f3)]?_0x2168cc['g'][_0x1fb21b(0xc98)]:_0x2168cc['g'][_0x1fb21b(0xb94)]},_0x4b7d50),(_0x29b20b[_0x1fb21b(0x3be)]=_0x4b7d50[_0x1fb21b(0x3d7)],this['_setupDepthStencilTexture'](_0x29b20b,_0x9456af,_0x4b7d50[_0x1fb21b(0x5f3)],_0x4b7d50['bilinearFiltering'],_0x4b7d50['comparisonFunction'],_0x4b7d50[_0x1fb21b(0x819)]),this[_0x1fb21b(0x5b0)][_0x1fb21b(0x58f)](_0x29b20b),this[_0x1fb21b(0x2bd)][_0x1fb21b(0x731)](_0x29b20b),_0x29b20b);},_0x2542d8['f']['prototype'][_0x3a8c06(0x163)]=function(_0x519205,_0x77015,_0x34c4f2,_0x130f7d,_0x125a74,_0x5bccda=0x1){var _0x53cb58=_0x3a8c06,_0x24ce9e=_0x77015[_0x53cb58(0x781)]||_0x77015,_0x49b24e=_0x77015[_0x53cb58(0x831)]||_0x77015,_0x77015=_0x77015[_0x53cb58(0x3a2)]||0x0;_0x519205[_0x53cb58(0x412)]=_0x24ce9e,_0x519205[_0x53cb58(0x30a)]=_0x49b24e,_0x519205[_0x53cb58(0x781)]=_0x24ce9e,_0x519205[_0x53cb58(0x831)]=_0x49b24e,_0x519205[_0x53cb58(0x5a4)]=0x0<_0x77015,_0x519205[_0x53cb58(0x67b)]=_0x77015,_0x519205[_0x53cb58(0x682)]=!0x0,_0x519205[_0x53cb58(0x819)]=_0x5bccda,_0x519205['generateMipMaps']=!0x1,_0x519205[_0x53cb58(0x12a)]=_0x130f7d?_0x2168cc['g'][_0x53cb58(0x7b7)]:_0x2168cc['g'][_0x53cb58(0x3bd)],_0x519205[_0x53cb58(0x6a4)]=_0x2168cc['g'][_0x53cb58(0x940)],_0x519205[_0x53cb58(0x8e2)]=_0x125a74,_0x519205[_0x53cb58(0x9e0)]=_0x2168cc['g']['TEXTURE_CLAMP_ADDRESSMODE'],_0x519205[_0x53cb58(0x5d6)]=_0x2168cc['g']['TEXTURE_CLAMP_ADDRESSMODE'];},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x3ad)]=function(_0x10edf9,_0x56a195){var _0x4dd9ca=_0x3a8c06;return _0x10edf9&&_0x10edf9['texture']&&_0x10edf9['samples']!==_0x56a195?(_0x56a195=Math[_0x4dd9ca(0x280)](_0x56a195,this['getCaps']()[_0x4dd9ca(0x860)]),this[_0x4dd9ca(0x5b0)]['createMSAATexture'](_0x10edf9['texture'],_0x56a195),_0x10edf9['_depthStencilTexture']&&(this[_0x4dd9ca(0x5b0)][_0x4dd9ca(0x923)](_0x10edf9[_0x4dd9ca(0x93c)],_0x56a195),_0x10edf9['_depthStencilTexture'][_0x4dd9ca(0x819)]=_0x56a195),_0x10edf9[_0x4dd9ca(0x340)]=_0x56a195,_0x10edf9['texture'][_0x4dd9ca(0x819)]=_0x56a195):_0x56a195;},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x579)]=function(_0x43faa3,_0x4de43b){var _0x470747=_0x3a8c06;const _0x18d75b=this[_0x470747(0xc47)](!0x1,!0x0,_0x43faa3),_0x30e020=Object[_0x470747(0x9d9)]({'generateMipMaps':!0x0,'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'type':_0x2168cc['g']['TEXTURETYPE_UNSIGNED_INT'],'samplingMode':_0x2168cc['g'][_0x470747(0x23b)],'format':_0x2168cc['g'][_0x470747(0x692)],'samples':0x1},_0x4de43b),_0x2b6a10=(_0x30e020['generateStencilBuffer']=_0x30e020[_0x470747(0x97f)]&&_0x30e020['generateStencilBuffer'],_0x18d75b[_0x470747(0xcd7)]=_0x30e020[_0x470747(0x97f)],_0x18d75b[_0x470747(0x314)]=_0x30e020[_0x470747(0x69e)],new _0x46037e['l'](this,_0x46037e['S']['RenderTarget']));return _0x2b6a10[_0x470747(0x781)]=_0x43faa3,_0x2b6a10[_0x470747(0x831)]=_0x43faa3,_0x2b6a10['depth']=0x0,_0x2b6a10[_0x470747(0x682)]=!0x0,_0x2b6a10[_0x470747(0x7ed)]=!0x0,_0x2b6a10[_0x470747(0x819)]=_0x30e020[_0x470747(0x819)],_0x2b6a10[_0x470747(0xb73)]=_0x30e020['generateMipMaps'],_0x2b6a10['samplingMode']=_0x30e020[_0x470747(0x12a)],_0x2b6a10[_0x470747(0x6a4)]=_0x30e020[_0x470747(0x6a4)],_0x2b6a10[_0x470747(0x3be)]=_0x30e020[_0x470747(0x3be)],this[_0x470747(0x2bd)][_0x470747(0x731)](_0x2b6a10),_0x18d75b[_0x470747(0x6b5)](_0x2b6a10),(_0x18d75b[_0x470747(0xcd7)]||_0x18d75b[_0x470747(0x314)])&&_0x18d75b['createDepthStencilTexture'](0x0,void 0x0===_0x30e020[_0x470747(0x12a)]||_0x30e020[_0x470747(0x12a)]===_0x2168cc['g'][_0x470747(0x7b7)]||_0x30e020[_0x470747(0x12a)]===_0x2168cc['g']['TEXTURE_LINEAR_LINEAR']||_0x30e020['samplingMode']===_0x2168cc['g'][_0x470747(0x23b)]||_0x30e020[_0x470747(0x12a)]===_0x2168cc['g'][_0x470747(0x4cc)]||_0x30e020[_0x470747(0x12a)]===_0x2168cc['g']['TEXTURE_NEAREST_LINEAR_MIPNEAREST']||_0x30e020[_0x470747(0x12a)]===_0x2168cc['g'][_0x470747(0x2f3)]||_0x30e020[_0x470747(0x12a)]===_0x2168cc['g'][_0x470747(0x119)]||_0x30e020['samplingMode']===_0x2168cc['g'][_0x470747(0x415)],_0x18d75b[_0x470747(0x314)],_0x18d75b['samples']),_0x4de43b&&_0x4de43b[_0x470747(0xbae)]&&!_0x30e020[_0x470747(0xb73)]&&(_0x2b6a10[_0x470747(0xb73)]=!0x0),this[_0x470747(0x5b0)][_0x470747(0x58f)](_0x2b6a10),_0x4de43b&&_0x4de43b[_0x470747(0xbae)]&&!_0x30e020[_0x470747(0xb73)]&&(_0x2b6a10['generateMipMaps']=!0x1),_0x18d75b;},_0x2adec1['Q'][_0x3a8c06(0x40f)][_0x3a8c06(0x3fa)]=function(_0x4c6352,_0x709074){var _0x1c8f82=_0x3a8c06;this[_0x1c8f82(0x4ae)]['setTextureSampler'](_0x4c6352,_0x709074);},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x3fa)]=function(_0x1f7c79,_0x44dd8f){var _0x1d93b1=_0x3a8c06,_0x2918f5;null!=(_0x2918f5=this['_currentMaterialContext'])&&_0x2918f5[_0x1d93b1(0x66d)](_0x1f7c79,_0x44dd8f);},_0x2adec1['Q'][_0x3a8c06(0x40f)][_0x3a8c06(0x652)]=function(_0x52195d,_0x402fc4){var _0x40c78b=_0x3a8c06;this[_0x40c78b(0x4ae)][_0x40c78b(0x652)](_0x52195d,_0x402fc4);},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0xc3b)]=function(_0xf1d0d1,_0x32fff7){var _0x5c5cb0=_0x3a8c06;return this[_0x5c5cb0(0x448)](_0xf1d0d1,_0x32fff7|_0x2168cc['g']['BUFFER_CREATIONFLAG_STORAGE']);},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x6bb)]=function(_0x2c6f15,_0x5e72f7,_0x1f3e17,_0x119a36){var _0x15ee6c=_0x3a8c06;void 0x0===_0x1f3e17&&(_0x1f3e17=0x0);let _0x2a8626;void 0x0===_0x119a36?_0x119a36=(_0x2a8626=_0x5e72f7 instanceof Array?new Float32Array(_0x5e72f7):_0x5e72f7 instanceof ArrayBuffer?new Uint8Array(_0x5e72f7):_0x5e72f7)[_0x15ee6c(0xabb)]:_0x2a8626=_0x5e72f7 instanceof Array?new Float32Array(_0x5e72f7):_0x5e72f7 instanceof ArrayBuffer?new Uint8Array(_0x5e72f7):_0x5e72f7,this['_bufferManager'][_0x15ee6c(0x1d9)](_0x2c6f15,_0x1f3e17,_0x2a8626,0x0,_0x119a36);},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x5e7)]=function(_0x525ba2,_0xdc5be5,_0xe57df9,_0x5e8797){var _0x53fd24=_0x3a8c06;_0xe57df9=_0xe57df9||_0x525ba2[_0x53fd24(0x523)];const _0x41556b=this['_bufferManager'][_0x53fd24(0x521)](_0xe57df9,_0x45ff6c['FB']['MapRead']|_0x45ff6c['FB'][_0x53fd24(0x1dc)]);return this['_renderTargetEncoder'][_0x53fd24(0x512)](_0x525ba2[_0x53fd24(0x22a)],null!=_0xdc5be5?_0xdc5be5:0x0,_0x41556b,0x0,_0xe57df9),new Promise((_0x4dd408,_0x2af63d)=>{var _0x1d5093=_0x53fd24;this[_0x1d5093(0x720)][_0x1d5093(0x7d4)](()=>{var _0x1167a1=_0x1d5093;_0x41556b[_0x1167a1(0x81e)](_0x45ff6c['gc'][_0x1167a1(0x81a)],0x0,_0xe57df9)[_0x1167a1(0x322)](()=>{var _0xfdc468=_0x1167a1,_0x2dc448=_0x41556b[_0xfdc468(0x736)](0x0,_0xe57df9);let _0x54d042=_0x5e8797;if(void 0x0===_0x54d042)(_0x54d042=new Uint8Array(_0xe57df9))[_0xfdc468(0xd4)](new Uint8Array(_0x2dc448));else{const _0x31d848=_0x54d042['constructor'];(_0x54d042=new _0x31d848(_0x54d042[_0xfdc468(0xa92)]))[_0xfdc468(0xd4)](new _0x31d848(_0x2dc448));}_0x41556b[_0xfdc468(0x464)](),this[_0xfdc468(0x501)][_0xfdc468(0xcbf)](_0x41556b),_0x4dd408(_0x54d042);},_0x554d45=>_0x2af63d(_0x554d45));});});},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x652)]=function(_0x3a93e6,_0x250fae){var _0x4aa263=_0x3a8c06,_0x105923;null!=(_0x105923=this[_0x4aa263(0xa05)])&&_0x105923[_0x4aa263(0x79e)](_0x3a93e6,null!=(_0x105923=null==_0x250fae?void 0x0:_0x250fae[_0x4aa263(0x8a7)]())?_0x105923:null);},_0x2542d8['f']['prototype'][_0x3a8c06(0x3f6)]=function(_0x4c80bb){var _0x50dae9=_0x3a8c06;return _0x4c80bb=_0x4c80bb instanceof Array?new Float32Array(_0x4c80bb):_0x4c80bb,this['_bufferManager'][_0x50dae9(0x9bf)](_0x4c80bb,_0x45ff6c['FB'][_0x50dae9(0x8d0)]|_0x45ff6c['FB'][_0x50dae9(0x1dc)]);},_0x2542d8['f']['prototype'][_0x3a8c06(0x24f)]=function(_0xa56f33){var _0x4171d2=_0x3a8c06;return this[_0x4171d2(0x3f6)](_0xa56f33);},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x962)]=function(_0x570de6,_0x23dca7,_0x350eb5,_0x9c970d){var _0x8f8817=_0x3a8c06;void 0x0===_0x350eb5&&(_0x350eb5=0x0);let _0x2bd720;void 0x0===_0x9c970d?_0x9c970d=(_0x2bd720=_0x23dca7 instanceof Float32Array?_0x23dca7:new Float32Array(_0x23dca7))[_0x8f8817(0xabb)]:_0x2bd720=_0x23dca7 instanceof Float32Array?_0x23dca7:new Float32Array(_0x23dca7),this[_0x8f8817(0x501)][_0x8f8817(0x1d9)](_0x570de6,_0x350eb5,_0x2bd720,0x0,_0x9c970d);},_0x2542d8['f'][_0x3a8c06(0x40f)]['bindUniformBufferBase']=function(_0x31f242,_0x34285f,_0x5d536b){var _0xb374f4=_0x3a8c06;this[_0xb374f4(0xa05)][_0xb374f4(0x79e)](_0x5d536b,_0x31f242);},_0x2542d8['f'][_0x3a8c06(0x40f)][_0x3a8c06(0x2a4)]=function(){},_0x2542d8['f']['prototype'][_0x3a8c06(0x2f0)]=function(_0x3501e2,_0x10a62a,_0x3470e1){var _0x3a2a5f=_0x3a8c06,_0x5d2ff2;if(_0x3501e2&&!_0x3501e2[_0x3a2a5f(0x6fd)]){void 0x0===this[_0x3a2a5f(0x972)]&&(this[_0x3a2a5f(0x972)]=!0x0);let _0x5a2106=_0x3501e2[_0x3a2a5f(0x372)];null!=(_0x5d2ff2=_0x3501e2[_0x3a2a5f(0x372)])&&_0x5d2ff2[_0x3a2a5f(0x22a)]||(_0x5a2106=this['_textureHelper'][_0x3a2a5f(0x58f)](_0x3501e2)),_0x10a62a&&void 0x0!==_0x10a62a[_0x3a2a5f(0x22a)]?(this['_textureHelper'][_0x3a2a5f(0x50d)](_0x10a62a,_0x3501e2,_0x5a2106['format'],!_0x3470e1),_0x3501e2['generateMipMaps']&&this[_0x3a2a5f(0xb6e)](_0x3501e2,this[_0x3a2a5f(0x684)]),_0x3501e2[_0x3a2a5f(0x682)]=!0x0):_0x10a62a&&this[_0x3a2a5f(0xb89)](_0x10a62a)[_0x3a2a5f(0x322)](_0x438ecd=>{var _0x1cb726=_0x3a2a5f;this[_0x1cb726(0x5b0)]['updateTexture'](_0x438ecd,_0x3501e2,_0x3501e2['width'],_0x3501e2[_0x1cb726(0x831)],_0x3501e2[_0x1cb726(0x67b)],_0x5a2106[_0x1cb726(0x3be)],0x0,0x0,!_0x3470e1,!0x1,0x0,0x0),_0x3501e2[_0x1cb726(0xb73)]&&this[_0x1cb726(0xb6e)](_0x3501e2,this['_uploadEncoder']),_0x3501e2['isReady']=!0x0;})[_0x3a2a5f(0x173)](()=>{var _0x53ec86=_0x3a2a5f;_0x3501e2[_0x53ec86(0x682)]=!0x0;});}};},0x11376:(_0x2b5254,_0x1626c4,_0x25562e)=>{var _0x4c9c1a=a6_0x36115b;_0x25562e['d'](_0x1626c4,{'V':()=>_0x171ef5});var _0x2e46d9=_0x25562e(0x5e45),_0x2d37ca=_0x25562e(0x13869),_0x7c2662=_0x25562e(0x77a5),_0x541b6b=_0x25562e(0x3c27),_0x5de10d=_0x25562e(0x89a1);class _0x171ef5{constructor(_0x1c798e){var _0x447405=a6_0x238e;this['_deferredReleaseBuffers']=[],this[_0x447405(0xaf7)]=_0x1c798e;}static[_0x4c9c1a(0x32b)](_0x1dcc83){var _0x4fa316=_0x4c9c1a;return void 0x0===_0x1dcc83[_0x4fa316(0x22a)];}[_0x4c9c1a(0x521)](_0x1336aa,_0x24be1d,_0x4570e9=!0x1){var _0x51812c=_0x4c9c1a;return _0x1336aa=void 0x0!==_0x1336aa[_0x51812c(0xabb)]?_0x1336aa[_0x51812c(0xabb)]+0x3&-0x4:_0x1336aa+0x3&-0x4,this['_device'][_0x51812c(0x9bf)]({'mappedAtCreation':_0x4570e9,'size':_0x1336aa,'usage':_0x24be1d});}[_0x4c9c1a(0x9bf)](_0x406b28,_0x899d74){var _0x25ecf7=_0x4c9c1a,_0x19d738=void 0x0!==_0x406b28[_0x25ecf7(0xabb)],_0x899d74=this[_0x25ecf7(0x521)](_0x406b28,_0x899d74);const _0x30da53=new _0x2e46d9['C'](_0x899d74);return _0x30da53[_0x25ecf7(0x592)]=0x1,_0x30da53['capacity']=_0x19d738?_0x406b28[_0x25ecf7(0xabb)]:_0x406b28,_0x19d738&&this[_0x25ecf7(0x1d9)](_0x30da53,0x0,_0x406b28),_0x30da53;}['setRawData'](_0x77eae4,_0x544ef5,_0x3b568d,_0x2c1218,_0x5c1966){var _0x3807a0=_0x4c9c1a;this[_0x3807a0(0xaf7)]['queue'][_0x3807a0(0x999)](_0x77eae4,_0x544ef5,_0x3b568d[_0x3807a0(0xa92)],_0x2c1218,_0x5c1966);}[_0x4c9c1a(0x1d9)](_0x27e81f,_0x54f5eb,_0x33f791,_0x1ed8fe=0x0,_0x3d17d9=0x0){var _0x25f35e=_0x4c9c1a,_0x5ec493=_0x27e81f[_0x25f35e(0x22a)];_0x3d17d9=_0x3d17d9||_0x33f791[_0x25f35e(0xabb)],_0x3d17d9=Math[_0x25f35e(0x280)](_0x3d17d9,_0x27e81f['capacity']-_0x54f5eb);let _0x1954ea=_0x33f791[_0x25f35e(0xa9e)]+_0x1ed8fe,_0x3ff63d=_0x1954ea+_0x3d17d9;var _0x3c63ed,_0x27e81f=_0x3d17d9+0x3&-0x4,_0x45503e=(_0x27e81f!==_0x3d17d9&&(_0x3c63ed=new Uint8Array(_0x33f791['buffer'][_0x25f35e(0x7ff)](_0x1954ea,_0x3ff63d)),(_0x33f791=new Uint8Array(_0x27e81f))[_0x25f35e(0xd4)](_0x3c63ed),_0x1ed8fe=0x0,_0x1954ea=0x0,_0x3d17d9=_0x3ff63d=_0x27e81f),0xf00000);let _0x20da55=0x0;for(;_0x3ff63d-(_0x1954ea+_0x20da55)>_0x45503e;)this['_device']['queue'][_0x25f35e(0x999)](_0x5ec493,_0x54f5eb+_0x20da55,_0x33f791[_0x25f35e(0xa92)],_0x1954ea+_0x20da55,_0x45503e),_0x20da55+=_0x45503e;this[_0x25f35e(0xaf7)]['queue'][_0x25f35e(0x999)](_0x5ec493,_0x54f5eb+_0x20da55,_0x33f791[_0x25f35e(0xa92)],_0x1954ea+_0x20da55,_0x3d17d9-_0x20da55);}[_0x4c9c1a(0x6d0)](_0x52f0d7,_0x10edf4,_0x5242c2){_0x5242c2=_0x5242c2||new Float32Array(_0x52f0d7);for(var _0x4347c1=new Uint16Array(_0x10edf4);_0x52f0d7--;)_0x5242c2[_0x52f0d7]=(0x0,_0x2d37ca['qZ'])(_0x4347c1[_0x52f0d7]);return _0x5242c2;}[_0x4c9c1a(0x8a6)](_0x1662be,_0x1e5afd,_0x120cce,_0x40dc8b,_0x5c0ef5,_0x8c3104,_0x38159d=_0x7c2662['g'][_0x4c9c1a(0x4ca)],_0x42f81c=0x0,_0x473ec1=null,_0x1e89f0=!0x0,_0x36b523=!0x1){var _0x197a35=_0x4c9c1a;const _0x28a617=_0x38159d===_0x7c2662['g']['TEXTURETYPE_FLOAT']?0x2:_0x38159d===_0x7c2662['g'][_0x197a35(0x1d6)]?0x1:0x0;return new Promise((_0x4485aa,_0x374f63)=>{var _0xea7cb9=_0x197a35;_0x1662be[_0xea7cb9(0x81e)](_0x5de10d['gc'][_0xea7cb9(0x81a)],_0x42f81c,_0x1e5afd)[_0xea7cb9(0x322)](()=>{var _0x518799=_0xea7cb9,_0x46483c=_0x1662be[_0x518799(0x736)](_0x42f81c,_0x1e5afd);let _0x4c46ec=_0x473ec1;if(_0x36b523)_0x4c46ec=null===_0x4c46ec?(0x0,_0x541b6b['A'])(_0x38159d,_0x1e5afd,!0x0,_0x46483c):(0x0,_0x541b6b['A'])(_0x38159d,_0x4c46ec[_0x518799(0xa92)],void 0x0,_0x46483c);else{if(null===_0x4c46ec)switch(_0x28a617){case 0x0:(_0x4c46ec=new Uint8Array(_0x1e5afd))[_0x518799(0xd4)](new Uint8Array(_0x46483c));break;case 0x1:_0x4c46ec=this[_0x518799(0x6d0)](_0x1e5afd/0x2,_0x46483c);break;case 0x2:(_0x4c46ec=new Float32Array(_0x1e5afd/0x4))['set'](new Float32Array(_0x46483c));}else switch(_0x28a617){case 0x0:(_0x4c46ec=new Uint8Array(_0x4c46ec[_0x518799(0xa92)]))[_0x518799(0xd4)](new Uint8Array(_0x46483c));break;case 0x1:_0x4c46ec=this[_0x518799(0x6d0)](_0x1e5afd/0x2,_0x46483c,_0x473ec1);break;case 0x2:(_0x4c46ec=new Float32Array(_0x4c46ec[_0x518799(0xa92)]))[_0x518799(0xd4)](new Float32Array(_0x46483c));}}if(_0x5c0ef5!==_0x8c3104){0x1!=_0x28a617||_0x36b523||(_0x5c0ef5*=0x2,_0x8c3104*=0x2);const _0x36b538=new Uint8Array(_0x4c46ec[_0x518799(0xa92)]);let _0x7c00c4=_0x5c0ef5,_0x4ca41=0x0;for(let _0x1ea14b=0x1;_0x1ea14b<_0x40dc8b;++_0x1ea14b){_0x4ca41=_0x1ea14b*_0x8c3104;for(let _0x3a6514=0x0;_0x3a6514<_0x5c0ef5;++_0x3a6514)_0x36b538[_0x7c00c4++]=_0x36b538[_0x4ca41++];}_0x4c46ec=0x0==_0x28a617||_0x36b523?new Uint8Array(_0x36b538['buffer'],0x0,_0x7c00c4):new Float32Array(_0x36b538[_0x518799(0xa92)],0x0,_0x7c00c4/0x4);}_0x1662be[_0x518799(0x464)](),_0x1e89f0&&this[_0x518799(0xcbf)](_0x1662be),_0x4485aa(_0x4c46ec);},_0xb9c765=>_0x374f63(_0xb9c765));});}['releaseBuffer'](_0x48af2b){var _0x25477f=_0x4c9c1a;return _0x171ef5[_0x25477f(0x32b)](_0x48af2b)?(this['_deferredReleaseBuffers']['push'](_0x48af2b),!0x0):(_0x48af2b[_0x25477f(0x592)]--,0x0===_0x48af2b['references']&&(this[_0x25477f(0xc80)][_0x25477f(0x731)](_0x48af2b[_0x25477f(0x22a)]),!0x0));}[_0x4c9c1a(0x5c2)](){var _0x5e391d=_0x4c9c1a;for(let _0x2a98ba=0x0;_0x2a98ba<this['_deferredReleaseBuffers'][_0x5e391d(0xb85)];++_0x2a98ba)this['_deferredReleaseBuffers'][_0x2a98ba][_0x5e391d(0x3b2)]();this['_deferredReleaseBuffers'][_0x5e391d(0xb85)]=0x0;}}},0x742a:(_0x27cbb8,_0x3e3fec,_0x3a9453)=>{var _0x5cacd2=a6_0x36115b;_0x3a9453['d'](_0x3e3fec,{'GB':()=>_0x4f4b01,'fv':()=>_0x8566f6,'fw':()=>_0x3ad662,'kP':()=>_0x43203e,'me':()=>_0x3cc87b,'nt':()=>_0x5a6e20,'vr':()=>_0x11f955});class _0x8566f6{constructor(_0x294ebf,_0x4d8522,_0x19b1a4,_0x13d050){var _0x17bc12=a6_0x238e;this['x']=Math[_0x17bc12(0x90c)](_0x294ebf),this['y']=Math[_0x17bc12(0x90c)](_0x4d8522),this['w']=Math[_0x17bc12(0x90c)](_0x19b1a4),this['h']=Math['floor'](_0x13d050);}[_0x5cacd2(0xba6)](_0x2298d1){var _0x172516=_0x5cacd2;_0x2298d1[_0x172516(0x82b)](this['x'],this['y'],this['w'],this['h'],0x0,0x1);}[_0x5cacd2(0x21d)](){return new _0x8566f6(this['x'],this['y'],this['w'],this['h']);}}class _0x3cc87b{constructor(_0x203c01,_0xd0c709,_0x4dbe17,_0x14845b){this['x']=_0x203c01,this['y']=_0xd0c709,this['w']=_0x4dbe17,this['h']=_0x14845b;}[_0x5cacd2(0xba6)](_0x54af56){_0x54af56['setScissorRect'](this['x'],this['y'],this['w'],this['h']);}['clone'](){return new _0x3cc87b(this['x'],this['y'],this['w'],this['h']);}}class _0x11f955{constructor(_0x30ab30){var _0x182ac6=_0x5cacd2;this[_0x182ac6(0x8cb)]=_0x30ab30;}[_0x5cacd2(0xba6)](_0x32ec87){var _0x5a0221=_0x5cacd2;_0x32ec87[_0x5a0221(0xc7f)](this[_0x5a0221(0x8cb)]);}['clone'](){return new _0x11f955(this['ref']);}}class _0x43203e{constructor(_0x336574){var _0x58f51c=_0x5cacd2;this[_0x58f51c(0xac5)]=_0x336574;}[_0x5cacd2(0xba6)](_0x58eacb){var _0xf6bb06=_0x5cacd2;_0x58eacb[_0xf6bb06(0x7fb)](this[_0xf6bb06(0xac5)]);}['clone'](){var _0xf39812=_0x5cacd2;return new _0x43203e(this[_0xf39812(0xac5)]);}}class _0x4f4b01{constructor(_0xa03797){var _0x22dbe5=_0x5cacd2;this[_0x22dbe5(0x782)]=_0xa03797;}[_0x5cacd2(0xba6)](_0x14ef94){var _0x10cddb=_0x5cacd2;_0x14ef94[_0x10cddb(0xc1c)](this[_0x10cddb(0x782)]);}[_0x5cacd2(0x21d)](){var _0xe0e5df=_0x5cacd2;return new _0x4f4b01(this[_0xe0e5df(0x782)]);}}class _0x3ad662{constructor(){}[_0x5cacd2(0xba6)](_0x2adb12){var _0x2c4145=_0x5cacd2;_0x2adb12[_0x2c4145(0xade)]();}[_0x5cacd2(0x21d)](){return new _0x3ad662();}}class _0x272fee{constructor(){var _0x140e33=_0x5cacd2;this[_0x140e33(0xc59)]=[];}[_0x5cacd2(0xba6)](_0x11a979){var _0x51b026=_0x5cacd2;_0x11a979[_0x51b026(0x123)](this[_0x51b026(0xc59)]);}[_0x5cacd2(0x21d)](){var _0x1df7f8=_0x5cacd2;const _0x208ae5=new _0x272fee();return _0x208ae5[_0x1df7f8(0xc59)]=this[_0x1df7f8(0xc59)],_0x208ae5;}}class _0x5a6e20{constructor(_0x178a93){var _0x2d84e0=_0x5cacd2;this[_0x2d84e0(0x974)]=0x0,this['_device']=_0x178a93,this[_0x2d84e0(0x5b8)]=new Array(0xa),this['_listLength']=0x0;}[_0x5cacd2(0xbcc)](_0x2fc4f5){var _0x4e68c1=_0x5cacd2,_0x11a406;this['_currentItemIsBundle']||(_0x11a406=new _0x272fee(),this[_0x4e68c1(0x5b8)][this[_0x4e68c1(0x9d7)]++]=_0x11a406,this['_currentBundleList']=_0x11a406[_0x4e68c1(0xc59)],this[_0x4e68c1(0x429)]=!0x0),_0x2fc4f5&&this[_0x4e68c1(0xb57)]['push'](_0x2fc4f5);}[_0x5cacd2(0xbe0)](){var _0x453c69=_0x5cacd2;this[_0x453c69(0x429)]&&this[_0x453c69(0x9ad)]&&(this[_0x453c69(0xb57)][_0x453c69(0x731)](this[_0x453c69(0x9ad)][_0x453c69(0x43d)]()),this[_0x453c69(0x9ad)]=void 0x0,this[_0x453c69(0x429)]=!0x1);}[_0x5cacd2(0x6bd)](_0x97d77e){var _0x105a49=_0x5cacd2;this[_0x105a49(0xbe0)](),this[_0x105a49(0x5b8)][this[_0x105a49(0x9d7)]++]=_0x97d77e,this[_0x105a49(0x429)]=!0x1;}[_0x5cacd2(0x40c)](_0x7726bb,_0x530514,_0x38f5aa){var _0x2503df=_0x5cacd2;return this['_currentItemIsBundle']||(this['addBundle'](),this[_0x2503df(0x9ad)]=this[_0x2503df(0xaf7)][_0x2503df(0x4d4)]({'colorFormats':_0x7726bb,'depthStencilFormat':_0x530514,'sampleCount':_0x38f5aa})),this['_bundleEncoder'];}['close'](){var _0x442630=_0x5cacd2;this[_0x442630(0xbe0)]();}['run'](_0x2105ae){var _0x987cad=_0x5cacd2;this[_0x987cad(0xa71)]();for(let _0xb41111=0x0;_0xb41111<this['_listLength'];++_0xb41111)this[_0x987cad(0x5b8)][_0xb41111][_0x987cad(0xba6)](_0x2105ae);}['reset'](){var _0x22cc36=_0x5cacd2;this[_0x22cc36(0x9d7)]=0x0,this['_currentItemIsBundle']=!0x1,this['numDrawCalls']=0x0;}[_0x5cacd2(0x21d)](){var _0x5e913f=_0x5cacd2;this[_0x5e913f(0xa71)]();const _0x22c724=new _0x5a6e20(this[_0x5e913f(0xaf7)]);_0x22c724[_0x5e913f(0x5b8)]=new Array(this[_0x5e913f(0x9d7)]),_0x22c724[_0x5e913f(0x9d7)]=this[_0x5e913f(0x9d7)],_0x22c724[_0x5e913f(0x974)]=this['numDrawCalls'];for(let _0x41d4c2=0x0;_0x41d4c2<this['_listLength'];++_0x41d4c2)_0x22c724[_0x5e913f(0x5b8)][_0x41d4c2]=this[_0x5e913f(0x5b8)][_0x41d4c2][_0x5e913f(0x21d)]();return _0x22c724;}}},0xb194:(_0x33650b,_0x16fc31,_0x506dea)=>{var _0x10a272=a6_0x36115b;_0x506dea['d'](_0x16fc31,{'T':()=>_0x410dc0});var _0x26963f=_0x506dea(0x77a5),_0x285aa5=_0x506dea(0x9683),_0x2dd7c4=_0x506dea(0x1114f),_0x54106f=_0x506dea(0x59c6),_0x16fc31=_0x506dea(0x17a92);_0x16fc31['v']['ShadersStore']['clearQuadVertexShader']='uniform\x20float\x20depthValue;\x0aconst\x20vec2\x20pos[4]={\x0avec2(-1.0,1.0),\x0avec2(1.0,1.0),\x0avec2(-1.0,-1.0),\x0avec2(1.0,-1.0)\x0a};\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0agl_Position=vec4(pos[gl_VertexID],depthValue,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a',_0x16fc31['v'][_0x10a272(0x2dc)]['clearQuadPixelShader']=_0x10a272(0x594);class _0x410dc0{constructor(_0x144e8e,_0x201d36,_0x26f9b8){var _0x5d2df5=_0x10a272;this[_0x5d2df5(0xafe)]={},this[_0x5d2df5(0xaee)]={},this[_0x5d2df5(0x562)]=[],this['_device']=_0x144e8e,this[_0x5d2df5(0x4ae)]=_0x201d36,this[_0x5d2df5(0xb91)]=new _0x285aa5['H'](this[_0x5d2df5(0xaf7)],_0x26f9b8,!_0x201d36[_0x5d2df5(0xb4c)][_0x5d2df5(0x63b)]),this['_cacheRenderPipeline']['setDepthTestEnabled'](!0x1),this[_0x5d2df5(0xb91)][_0x5d2df5(0xaa9)](0xff),this['_effect']=_0x201d36[_0x5d2df5(0x6f2)](_0x5d2df5(0xaf2),[],[_0x5d2df5(0xac5),_0x5d2df5(0xb4b)]);}[_0x10a272(0xa3d)](_0x1e3f83){var _0x26bc3f=_0x10a272;this['_depthTextureFormat']=_0x1e3f83,this[_0x26bc3f(0xb91)][_0x26bc3f(0xa3d)](_0x1e3f83);}[_0x10a272(0xc31)](_0x3466e2){var _0x292b6d=_0x10a272;this['_cacheRenderPipeline'][_0x292b6d(0xc31)](_0x3466e2);}[_0x10a272(0xc9c)](_0x5f5cdc,_0x406dbc,_0x343c88){var _0x3ca4d0=_0x10a272;this['_cacheRenderPipeline'][_0x3ca4d0(0xda)](_0x406dbc,_0x343c88),this[_0x3ca4d0(0xb91)][_0x3ca4d0(0xc9c)](_0x5f5cdc);}[_0x10a272(0x20f)](_0x50f81c,_0x1eb28c,_0x1777ed,_0x47bfc6,_0x3da0f2=0x1){var _0x3857fe=_0x10a272,_0x4314f2;let _0x5fbc7e,_0x13b355=null,_0x3bdc26;var _0x262830=!!this[_0x3857fe(0x4ae)][_0x3857fe(0x526)];if(_0x50f81c)_0x5fbc7e=_0x50f81c;else{let _0x25b83c=0x0;for(let _0x350fc5=this[_0x3857fe(0x562)][_0x3857fe(0xb85)]=0x0;_0x350fc5<this['_cacheRenderPipeline']['colorFormats'][_0x3857fe(0xb85)];++_0x350fc5)this[_0x3857fe(0x562)][_0x25b83c++]=_0x54106f['U'][null!=(_0x4314f2=this[_0x3857fe(0xb91)]['colorFormats'][_0x350fc5])?_0x4314f2:''];var _0x427083=_0x54106f['U'][null!=(_0x427083=this[_0x3857fe(0x90d)])?_0x427083:0x0];if(this[_0x3857fe(0x562)][_0x25b83c]=(_0x1eb28c?_0x1eb28c['r']+0x100*_0x1eb28c['g']+0x100*_0x1eb28c['b']*0x100+0x100*_0x1eb28c['a']*0x100*0x100:0x0)+(_0x1777ed?Math[_0x3857fe(0xb70)](0x2,0x20):0x0)+(_0x47bfc6?Math['pow'](0x2,0x21):0x0)+(this[_0x3857fe(0x4ae)][_0x3857fe(0xcc2)]?Math[_0x3857fe(0xb70)](0x2,0x22):0x0)+(_0x262830?Math[_0x3857fe(0xb70)](0x2,0x23):0x0)+(0x1<_0x3da0f2?Math[_0x3857fe(0xb70)](0x2,0x24):0x0)+_0x427083*Math[_0x3857fe(0xb70)](0x2,0x25),_0x3bdc26=this[_0x3857fe(0x562)][_0x3857fe(0xb83)]('_'),_0x13b355=this[_0x3857fe(0xaee)][_0x3bdc26])return _0x13b355;_0x5fbc7e=this[_0x3857fe(0xaf7)]['createRenderBundleEncoder']({'colorFormats':this[_0x3857fe(0xb91)][_0x3857fe(0x9fd)],'depthStencilFormat':this[_0x3857fe(0x90d)],'sampleCount':_0x3da0f2});}this[_0x3857fe(0xb91)][_0x3857fe(0x8da)](!!_0x1777ed),this[_0x3857fe(0xb91)][_0x3857fe(0x786)](!!_0x47bfc6&&!!this[_0x3857fe(0x90d)]&&_0x54106f['D'][_0x3857fe(0xc9f)](this[_0x3857fe(0x90d)])),this[_0x3857fe(0xb91)][_0x3857fe(0x5b6)](_0x47bfc6?0xff:0x0),this[_0x3857fe(0xb91)][_0x3857fe(0x8b1)](_0x47bfc6?_0x26963f['g'][_0x3857fe(0x300)]:_0x26963f['g'][_0x3857fe(0x65f)]),this[_0x3857fe(0xb91)][_0x3857fe(0x245)](_0x47bfc6?_0x26963f['g'][_0x3857fe(0x338)]:_0x26963f['g'][_0x3857fe(0x899)]),this[_0x3857fe(0xb91)][_0x3857fe(0x6c4)](_0x1eb28c?0xf:0x0),_0x427083=this[_0x3857fe(0xb91)][_0x3857fe(0x305)](_0x26963f['g'][_0x3857fe(0x596)],this['_effect'],_0x3da0f2);const _0x6ab2a=this[_0x3857fe(0x7e8)][_0x3857fe(0x2f7)];_0x1eb28c&&this['_effect'][_0x3857fe(0x5d4)](_0x3857fe(0xac5),_0x1eb28c),this[_0x3857fe(0x7e8)][_0x3857fe(0x2ea)]('depthValue',this[_0x3857fe(0x4ae)][_0x3857fe(0xcc2)]?this['_engine'][_0x3857fe(0xe7)]:this[_0x3857fe(0x4ae)]['_clearDepthValue']),_0x6ab2a['uniformBuffer']['update'](),(_0x1777ed=_0x262830?this[_0x3857fe(0x4ae)][_0x3857fe(0x247)]:this['_engine']['_ubDontInvertY'],_0x47bfc6=_0x6ab2a['uniformBuffer'][_0x3857fe(0x8a7)](),_0x3da0f2=_0x47bfc6[_0x3857fe(0x84b)]+'-'+_0x1777ed[_0x3857fe(0x84b)]);let _0x4b0caa=this[_0x3857fe(0xafe)][_0x3da0f2];_0x4b0caa||(_0x1eb28c=_0x6ab2a['bindGroupLayouts'],(_0x4b0caa=this[_0x3857fe(0xafe)][_0x3da0f2]=[])['push'](this[_0x3857fe(0xaf7)][_0x3857fe(0x1e1)]({'layout':_0x1eb28c[0x0],'entries':[]})),_0x2dd7c4['d'][_0x3857fe(0xc24)]||_0x4b0caa['push'](this['_device'][_0x3857fe(0x1e1)]({'layout':_0x1eb28c[0x1],'entries':[]})),_0x4b0caa['push'](this[_0x3857fe(0xaf7)]['createBindGroup']({'layout':_0x1eb28c[_0x2dd7c4['d'][_0x3857fe(0xc24)]?0x1:0x2],'entries':[{'binding':0x0,'resource':{'buffer':_0x1777ed[_0x3857fe(0x22a)],'size':_0x1777ed['capacity']}},{'binding':0x1,'resource':{'buffer':_0x47bfc6[_0x3857fe(0x22a)],'size':_0x47bfc6[_0x3857fe(0x523)]}}]}))),_0x5fbc7e[_0x3857fe(0x59b)](_0x427083);for(let _0x155151=0x0;_0x155151<_0x4b0caa[_0x3857fe(0xb85)];++_0x155151)_0x5fbc7e[_0x3857fe(0x8d9)](_0x155151,_0x4b0caa[_0x155151]);return _0x5fbc7e[_0x3857fe(0xa20)](0x4,0x1,0x0,0x0),_0x50f81c||(_0x13b355=_0x5fbc7e['finish'](),this[_0x3857fe(0xaee)][_0x3bdc26]=_0x13b355),_0x13b355;}}},0x2514:(_0x3250b8,_0x33b91c,_0x325b55)=>{var _0x32396e=a6_0x36115b;_0x325b55['d'](_0x33b91c,{'K':()=>_0x3b0c91});class _0x3b0c91 extends _0x325b55(0x12621)['k']{constructor(_0x3dedb7){var _0x1c29ed=a6_0x238e;super(!0x1),this['_cache']=_0x3dedb7,this[_0x1c29ed(0x40b)]();}get['zOffset'](){var _0x22e555=a6_0x238e;return this[_0x22e555(0x640)];}set[_0x32396e(0x378)](_0x11c672){var _0x44aec0=_0x32396e;this['_zOffset']!==_0x11c672&&(this[_0x44aec0(0x640)]=_0x11c672,this[_0x44aec0(0x62c)]=!0x0,this[_0x44aec0(0x386)][_0x44aec0(0x237)](_0x11c672));}get['zOffsetUnits'](){return this['_zOffsetUnits'];}set['zOffsetUnits'](_0x464c71){var _0x1d2247=_0x32396e;this['_zOffsetUnits']!==_0x464c71&&(this[_0x1d2247(0x4d9)]=_0x464c71,this['_isZOffsetDirty']=!0x0,this['_cache'][_0x1d2247(0x7d7)](_0x464c71));}get[_0x32396e(0x91b)](){var _0x351f70=_0x32396e;return this[_0x351f70(0x31a)];}set[_0x32396e(0x91b)](_0x516a29){var _0x3c7f06=_0x32396e;this[_0x3c7f06(0x31a)]!==_0x516a29&&(this[_0x3c7f06(0x31a)]=_0x516a29,this['_isCullFaceDirty']=!0x0,this[_0x3c7f06(0x386)][_0x3c7f06(0x6b3)](null!=_0x516a29?_0x516a29:0x1));}get[_0x32396e(0xaab)](){var _0x14758b=_0x32396e;return this[_0x14758b(0x6dd)];}set[_0x32396e(0xaab)](_0x2c6208){var _0x380bfd=_0x32396e;this['_cull']!==_0x2c6208&&(this['_cull']=_0x2c6208,this[_0x380bfd(0xc38)]=!0x0,this[_0x380bfd(0x386)][_0x380bfd(0x205)](!!_0x2c6208));}get[_0x32396e(0xc79)](){var _0x2afa92=_0x32396e;return this[_0x2afa92(0x5c8)];}set['depthFunc'](_0x6af753){var _0x1553f0=_0x32396e;this[_0x1553f0(0x5c8)]!==_0x6af753&&(this[_0x1553f0(0x5c8)]=_0x6af753,this[_0x1553f0(0xa78)]=!0x0,this[_0x1553f0(0x386)][_0x1553f0(0x648)](_0x6af753));}get[_0x32396e(0x573)](){return this['_depthMask'];}set[_0x32396e(0x573)](_0x15f88d){var _0x8fee03=_0x32396e;this[_0x8fee03(0x802)]!==_0x15f88d&&(this['_depthMask']=_0x15f88d,this['_isDepthMaskDirty']=!0x0,this[_0x8fee03(0x386)]['setDepthWriteEnabled'](_0x15f88d));}get[_0x32396e(0x6f0)](){var _0xf70227=_0x32396e;return this[_0xf70227(0x506)];}set[_0x32396e(0x6f0)](_0x4ca6ed){var _0x342eb5=_0x32396e;this[_0x342eb5(0x506)]!==_0x4ca6ed&&(this['_depthTest']=_0x4ca6ed,this[_0x342eb5(0x94c)]=!0x0,this['_cache'][_0x342eb5(0xcbc)](_0x4ca6ed));}get['frontFace'](){return this['_frontFace'];}set['frontFace'](_0x497e99){var _0x377aed=_0x32396e;this[_0x377aed(0xaa0)]!==_0x497e99&&(this['_frontFace']=_0x497e99,this[_0x377aed(0xc19)]=!0x0,this[_0x377aed(0x386)]['setFrontFace'](null!=_0x497e99?_0x497e99:0x2));}[_0x32396e(0x40b)](){var _0xcbb6eb=_0x32396e;super[_0xcbb6eb(0x40b)](),this['_cache'][_0xcbb6eb(0x160)]();}[_0x32396e(0xc72)](){}}},0x18215:(_0x359049,_0x482fcb,_0x5a1d62)=>{var _0x14c47c=a6_0x36115b;_0x5a1d62['d'](_0x482fcb,{'Z':()=>_0x4ef16e});var _0x10c112=_0x5a1d62(0x25b1),_0x175053=_0x5a1d62(0x1b5c),_0x2a868e=_0x5a1d62(0x89a1);class _0x4ef16e{constructor(_0x152fab=null){var _0x258489=a6_0x238e;this[_0x258489(0x3be)]=_0x2a868e['EV'][_0x258489(0x7ae)],this[_0x258489(0x584)]=0x0,this['textureAdditionalUsages']=0x0,this[_0x258489(0xc7c)]=_0x152fab,this[_0x258489(0xa76)]=null,this[_0x258489(0x389)]=null,this[_0x258489(0x9e2)]=null;}get[_0x14c47c(0x22a)](){return this['_webgpuTexture'];}get[_0x14c47c(0x344)](){var _0x273a29=_0x14c47c;return this[_0x273a29(0xa76)];}set['msaaTexture'](_0x44d205){this['_webgpuMSAATexture']=_0x44d205;}[_0x14c47c(0xd4)](_0x3a4e73){var _0xa18bd3=_0x14c47c;this[_0xa18bd3(0xc7c)]=_0x3a4e73;}['setUsage'](_0x11af5e,_0x595179,_0x1fc12c,_0x4c3346,_0x1ad42c){var _0x32fd2b=_0x14c47c;_0x595179=_0x11af5e!==_0x10c112['S'][_0x32fd2b(0x20c)]&&_0x595179,this[_0x32fd2b(0x554)]({'format':this[_0x32fd2b(0x3be)],'dimension':_0x1fc12c?_0x2a868e['p_'][_0x32fd2b(0x17c)]:_0x2a868e['p_']['E2d'],'mipLevelCount':_0x595179?_0x175053['R'][_0x32fd2b(0x10d)](Math['max'](_0x4c3346,_0x1ad42c))+0x1:0x1,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':_0x1fc12c?0x6:0x1,'aspect':_0x2a868e['H7'][_0x32fd2b(0x85b)]});}[_0x14c47c(0x554)](_0x7cd58d,_0x14c951=!0x1){var _0x324031=_0x14c47c;this[_0x324031(0x389)]=this[_0x324031(0xc7c)][_0x324031(0x554)](_0x7cd58d),_0x14c951&&_0x7cd58d&&(_0x14c951=_0x7cd58d[_0x324031(0xa35)],_0x7cd58d[_0x324031(0xa35)]=0x1,this['viewForWriting']=this[_0x324031(0xc7c)][_0x324031(0x554)](_0x7cd58d),_0x7cd58d['mipLevelCount']=_0x14c951);}[_0x14c47c(0x40b)](){var _0x2684c0=_0x14c47c;this[_0x2684c0(0xc7c)]=null,this[_0x2684c0(0xa76)]=null,this[_0x2684c0(0x389)]=null,this[_0x2684c0(0x9e2)]=null;}[_0x14c47c(0x6cb)](){var _0x256458=_0x14c47c,_0x51932f;null!=(_0x51932f=this[_0x256458(0xc7c)])&&_0x51932f[_0x256458(0x3b2)](),null!=(_0x51932f=this[_0x256458(0xa76)])&&_0x51932f[_0x256458(0x3b2)](),null!=(_0x51932f=this[_0x256458(0x2e7)])&&_0x51932f[_0x256458(0x3b2)](),this[_0x256458(0x40b)]();}}},0x10431:(_0x337a19,_0x519c75,_0x202958)=>{var _0x3ad850=a6_0x36115b;_0x202958['d'](_0x519c75,{'D':()=>_0x1b9694});var _0x3a704b=_0x202958(0x22dd),_0x33a4e1=_0x202958(0x77a5),_0x29e39d=_0x202958(0x14e86);class _0x1b9694{constructor(){var _0x26ec28=a6_0x238e;this['uniqueId']=_0x1b9694['_Counter']++,this[_0x26ec28(0x996)]=0x0,this[_0x26ec28(0x40b)]();}get[_0x3ad850(0x255)](){var _0x517e79=_0x3ad850;return 0x0<this[_0x517e79(0x392)];}get[_0x3ad850(0x8db)](){var _0x46e193=_0x3ad850;return 0x0<this[_0x46e193(0x9e1)];}[_0x3ad850(0x40b)](){var _0x3270c7=_0x3ad850;this[_0x3270c7(0x7f2)]={},this[_0x3270c7(0x345)]={},this[_0x3270c7(0x868)]=!0x0,this[_0x3270c7(0x9e1)]=0x0,this[_0x3270c7(0x392)]=0x0;}['setSampler'](_0x528588,_0x3168c5){var _0x21ae67=_0x3ad850;let _0x396127=this[_0x21ae67(0x7f2)][_0x528588],_0x263f2b=-0x1;_0x396127?_0x263f2b=_0x396127[_0x21ae67(0x315)]:this['samplers'][_0x528588]=_0x396127={'sampler':_0x3168c5,'hashCode':0x0},_0x396127[_0x21ae67(0x46b)]=_0x3168c5,_0x396127['hashCode']=_0x3168c5?_0x29e39d['W'][_0x21ae67(0x636)](_0x3168c5):0x0,_0x528588=_0x263f2b!==_0x396127['hashCode'],(_0x528588&&this[_0x21ae67(0x996)]++,this[_0x21ae67(0x868)]||(this['isDirty']=_0x528588));}[_0x3ad850(0x3ac)](_0x15eb5d,_0x56e63f){var _0x4aa56e=_0x3ad850,_0x222b2f;let _0x51048b=this[_0x4aa56e(0x345)][_0x15eb5d],_0x454d1f=-0x1;_0x51048b?_0x454d1f=null!=(_0x222b2f=null==(_0x222b2f=_0x51048b['texture'])?void 0x0:_0x222b2f[_0x4aa56e(0x84b)])?_0x222b2f:-0x1:this[_0x4aa56e(0x345)][_0x15eb5d]=_0x51048b={'texture':_0x56e63f,'isFloatTexture':!0x1,'isExternalTexture':!0x1},_0x51048b[_0x4aa56e(0xaeb)]&&this['_numExternalTextures']--,_0x51048b[_0x4aa56e(0x127)]&&this['_numFloatTextures']--,_0x56e63f?(_0x51048b[_0x4aa56e(0x127)]=_0x56e63f[_0x4aa56e(0x6a4)]===_0x33a4e1['g']['TEXTURETYPE_FLOAT'],_0x51048b['isExternalTexture']=_0x3a704b['x'][_0x4aa56e(0x8b5)](_0x56e63f),_0x51048b['isFloatTexture']&&this['_numFloatTextures']++,_0x51048b[_0x4aa56e(0xaeb)]&&this[_0x4aa56e(0x392)]++):(_0x51048b[_0x4aa56e(0x127)]=!0x1,_0x51048b['isExternalTexture']=!0x1),_0x51048b['texture']=_0x56e63f,_0x15eb5d=_0x454d1f!==(null!=(_0x222b2f=null==_0x56e63f?void 0x0:_0x56e63f[_0x4aa56e(0x84b)])?_0x222b2f:-0x1),(_0x15eb5d&&this[_0x4aa56e(0x996)]++,this['isDirty']||(this[_0x4aa56e(0x868)]=_0x15eb5d));}}_0x1b9694[_0x3ad850(0x196)]=0x0;},0x12546:(_0x5f0ac5,_0x1538ca,_0x2f6dc7)=>{var _0x1a3edd=a6_0x36115b;_0x2f6dc7['d'](_0x1538ca,{'D':()=>_0x3da7db});var _0x1de8bc=_0x2f6dc7(0x89a1),_0x3eeb2a=_0x2f6dc7(0x16268);class _0x3da7db{constructor(_0x29682d,_0x2c58fa,_0x6b19a3,_0x4dba05=0x32,_0x264f77=0x64){var _0x3a0208=a6_0x238e;this['_availableIndices']=[],this[_0x3a0208(0x4ae)]=_0x29682d,this['_device']=_0x2c58fa,this[_0x3a0208(0x501)]=_0x6b19a3,this[_0x3a0208(0x3bf)]=-0x1,this[_0x3a0208(0xf0)]=0x0,this[_0x3a0208(0x871)]=_0x264f77,this[_0x3a0208(0xc87)](_0x4dba05);}get['querySet'](){var _0x18cc60=a6_0x238e;return this[_0x18cc60(0x921)][_0x18cc60(0x5e9)];}get[_0x1a3edd(0xc6f)](){var _0x2b8a23=_0x1a3edd;return this[_0x2b8a23(0xf0)]!==this[_0x2b8a23(0x908)]['length'];}get['canBeginQuery'](){var _0x3192fd=_0x1a3edd;switch(this['_engine'][_0x3192fd(0xc69)]()){case 0x0:return void 0x0!==this[_0x3192fd(0x4ae)][_0x3192fd(0xb72)][_0x3192fd(0x8a9)][_0x3192fd(0x4ac)];case 0x1:return void 0x0!==this[_0x3192fd(0x4ae)][_0x3192fd(0x395)][_0x3192fd(0x8a9)][_0x3192fd(0x4ac)];}return!0x1;}['createQuery'](){var _0x7d2a84=_0x1a3edd;0x0===this[_0x7d2a84(0x908)][_0x7d2a84(0xb85)]&&this[_0x7d2a84(0xc87)]();var _0x418d59=this['_availableIndices'][this['_availableIndices']['length']-0x1];return this[_0x7d2a84(0x908)][_0x7d2a84(0xb85)]--,_0x418d59;}[_0x1a3edd(0x3d9)](_0x56ff2d){var _0x7cc5f9=_0x1a3edd;this[_0x7cc5f9(0x908)][this['_availableIndices'][_0x7cc5f9(0xb85)]-0x1]=_0x56ff2d;}[_0x1a3edd(0xa4e)](_0x1ace40){var _0x5d596c=_0x1a3edd;return this[_0x5d596c(0x852)](),!!this[_0x5d596c(0x65e)]&&_0x1ace40<this[_0x5d596c(0x65e)][_0x5d596c(0xb85)];}[_0x1a3edd(0x748)](_0x5db8f5){var _0x3ffe9f=_0x1a3edd,_0x3a7547;return Number(null!=(_0x3a7547=null==(_0x3a7547=this[_0x3ffe9f(0x65e)])?void 0x0:_0x3a7547[_0x5db8f5])?_0x3a7547:-0x1);}[_0x1a3edd(0x852)](){var _0x1e5591=_0x1a3edd;this[_0x1e5591(0x65e)]&&this[_0x1e5591(0x3bf)]===this[_0x1e5591(0x4ae)]['frameId']||this['_frameLastBuffer']!==this[_0x1e5591(0x4ae)][_0x1e5591(0xc65)]&&(this[_0x1e5591(0x3bf)]=this[_0x1e5591(0x4ae)]['frameId'],this[_0x1e5591(0x921)][_0x1e5591(0x2c9)](0x0,this[_0x1e5591(0xf0)])[_0x1e5591(0x322)](_0xb65a34=>{var _0x443d92=_0x1e5591;this[_0x443d92(0x65e)]=_0xb65a34;}));}['_allocateNewIndices'](_0x3c374e){var _0x3760d1=_0x1a3edd;_0x3c374e=null!=_0x3c374e?_0x3c374e:this[_0x3760d1(0x871)],this['_delayQuerySetDispose']();for(let _0x28c8d9=0x0;_0x28c8d9<_0x3c374e;++_0x28c8d9)this[_0x3760d1(0x908)][_0x3760d1(0x731)](this['_currentTotalIndices']+_0x28c8d9);this[_0x3760d1(0xf0)]+=_0x3c374e,this['_querySet']=new _0x3eeb2a['t'](this[_0x3760d1(0xf0)],_0x1de8bc['xL'][_0x3760d1(0x74f)],this[_0x3760d1(0xaf7)],this[_0x3760d1(0x501)],!0x1);}[_0x1a3edd(0x8a3)](){var _0x5bc2b7=_0x1a3edd;const _0x3ddeb4=this[_0x5bc2b7(0x921)];_0x3ddeb4&&setTimeout(()=>_0x3ddeb4[_0x5bc2b7(0xae6)],0x3e8);}[_0x1a3edd(0xae6)](){var _0x2f1acd=_0x1a3edd,_0x5f1cf4;null!=(_0x5f1cf4=this[_0x2f1acd(0x921)])&&_0x5f1cf4[_0x2f1acd(0xae6)](),this[_0x2f1acd(0x908)][_0x2f1acd(0xb85)]=0x0;}}},0xf715:(_0x1dca1f,_0x4dc54a,_0x32dd93)=>{var _0x2d6184=a6_0x36115b;_0x32dd93['d'](_0x4dc54a,{'$':()=>_0x1a50ad});var _0x573b0e=_0x32dd93(0x149c5),_0x1ffa67=_0x32dd93(0xe83b);class _0x1a50ad{constructor(_0x4437d8,_0x35dc67){var _0x2827e2=a6_0x238e;this[_0x2827e2(0x67e)]=_0x2827e2(0x132),this['shaderProcessingContext']=_0x4437d8,this[_0x2827e2(0xbdc)]={},this[_0x2827e2(0x7d6)]=_0x35dc67;}get[_0x2d6184(0x6e3)](){return!0x1;}get['isReady'](){return!!this['stages'];}[_0x2d6184(0x1df)](){}[_0x2d6184(0xc0d)](_0x3c6d16,_0x18ee80,_0x31e532,_0x33275c,_0x1dcbac,_0x511d23,_0x2b07ce,_0x4ad3ae){var _0x349ffe=_0x2d6184;const _0x3fcd57=this[_0x349ffe(0x7d6)];_0x3c6d16[_0x349ffe(0x708)]='',_0x3c6d16[_0x349ffe(0xc30)]='';var _0x4586ed=this[_0x349ffe(0x24c)][_0x349ffe(0xbff)];let _0x3357e6;for(_0x3357e6=0x0;_0x3357e6<_0x1dcbac[_0x349ffe(0xb85)];_0x3357e6++){var _0x31df00=_0x1dcbac[_0x3357e6];null==_0x4586ed[_0x1dcbac[_0x3357e6]]?(_0x1dcbac[_0x349ffe(0x557)](_0x3357e6,0x1),_0x3357e6--):_0x511d23[_0x31df00]=_0x3357e6;}for(const _0x223b15 of _0x3fcd57[_0x349ffe(0xb1f)](this,_0x2b07ce))_0x4ad3ae[_0x349ffe(0x731)](_0x223b15);this[_0x349ffe(0x69d)]();const _0xe44114=[],_0x185fab=[];for(_0x3357e6=0x0;_0x3357e6<_0x2b07ce['length'];_0x3357e6++){var _0xcbacc1=_0x4ad3ae[_0x3357e6];0x0<=_0xcbacc1&&(_0xe44114[_0x349ffe(0x731)](_0x2b07ce[_0x3357e6]),_0x185fab[_0x349ffe(0x731)](_0xcbacc1));}this[_0x349ffe(0x24c)][_0x349ffe(0xa65)]=_0xe44114,this[_0x349ffe(0x24c)][_0x349ffe(0x445)]=_0x185fab;}[_0x2d6184(0x69d)](){var _0xce429c=_0x2d6184;if(this['shaderProcessingContext'][_0xce429c(0x790)][_0xce429c(0xb85)]){this['uniformBuffer']=new _0x573b0e['M'](this[_0xce429c(0x7d6)],void 0x0,void 0x0,'leftOver-'+this['_name']);for(const _0xe5eb19 of this[_0xce429c(0x24c)][_0xce429c(0x790)]){var _0x1e40e6=_0xe5eb19['type'][_0xce429c(0xc73)](/^(.*?)(<.*>)?$/,'$1'),_0x1e40e6=_0x1ffa67['e'][_0xce429c(0x15d)][_0x1e40e6];this[_0xce429c(0x354)]['addUniform'](_0xe5eb19['name'],_0x1e40e6,_0xe5eb19[_0xce429c(0xb85)]),this[_0xce429c(0xbdc)][_0xe5eb19[_0xce429c(0x8f9)]]=_0xe5eb19['type'];}this[_0xce429c(0x354)]['create']();}}[_0x2d6184(0xae6)](){var _0x416424=_0x2d6184;this[_0x416424(0x354)]&&this['uniformBuffer']['dispose']();}['setInt'](_0x4e25a4,_0x1078e8){var _0xe658cb=_0x2d6184;this['uniformBuffer']&&this[_0xe658cb(0xbdc)][_0x4e25a4]&&this['uniformBuffer'][_0xe658cb(0x295)](_0x4e25a4,_0x1078e8);}['setInt2'](_0x70e8ae,_0x432d15,_0x1cfb08){var _0x337945=_0x2d6184;this[_0x337945(0x354)]&&this[_0x337945(0xbdc)][_0x70e8ae]&&this['uniformBuffer'][_0x337945(0x722)](_0x70e8ae,_0x432d15,_0x1cfb08);}[_0x2d6184(0xc25)](_0x57cc4e,_0x3cb592,_0x77fd7c,_0x4edfed){var _0x57db5d=_0x2d6184;this[_0x57db5d(0x354)]&&this[_0x57db5d(0xbdc)][_0x57cc4e]&&this[_0x57db5d(0x354)]['updateInt3'](_0x57cc4e,_0x3cb592,_0x77fd7c,_0x4edfed);}[_0x2d6184(0xbfb)](_0x3263ed,_0x5f0a6c,_0x3e593b,_0x69afc7,_0x578cea){var _0x5579e7=_0x2d6184;this['uniformBuffer']&&this[_0x5579e7(0xbdc)][_0x3263ed]&&this['uniformBuffer'][_0x5579e7(0xcd9)](_0x3263ed,_0x5f0a6c,_0x3e593b,_0x69afc7,_0x578cea);}[_0x2d6184(0x84a)](_0x5e34b6,_0x1ed782){var _0x2ed4e9=_0x2d6184;this[_0x2ed4e9(0x354)]&&this[_0x2ed4e9(0xbdc)][_0x5e34b6]&&this[_0x2ed4e9(0x354)][_0x2ed4e9(0x55b)](_0x5e34b6,_0x1ed782);}[_0x2d6184(0x1e3)](_0x1ce5c0,_0x459c63){var _0x373ebf=_0x2d6184;this[_0x373ebf(0x84a)](_0x1ce5c0,_0x459c63);}[_0x2d6184(0xca4)](_0x30c67d,_0x3131d5){this['setIntArray'](_0x30c67d,_0x3131d5);}[_0x2d6184(0x222)](_0x2d192c,_0x1fdbdf){var _0x5858d9=_0x2d6184;this[_0x5858d9(0x84a)](_0x2d192c,_0x1fdbdf);}[_0x2d6184(0x4b4)](_0x85e46a,_0x254473){var _0x20ae9a=_0x2d6184;this[_0x20ae9a(0x354)]&&this[_0x20ae9a(0xbdc)][_0x85e46a]&&this[_0x20ae9a(0x354)][_0x20ae9a(0x91c)](_0x85e46a,_0x254473);}[_0x2d6184(0x897)](_0x35f8fd,_0x342888,_0x3949be){var _0x3b87b9=_0x2d6184;this[_0x3b87b9(0x354)]&&this[_0x3b87b9(0xbdc)][_0x35f8fd]&&this['uniformBuffer'][_0x3b87b9(0x18e)](_0x35f8fd,_0x342888,_0x3949be);}[_0x2d6184(0x234)](_0x475733,_0x3db965,_0x33d83f,_0x3de50c){var _0x5c1b8c=_0x2d6184;this[_0x5c1b8c(0x354)]&&this[_0x5c1b8c(0xbdc)][_0x475733]&&this[_0x5c1b8c(0x354)][_0x5c1b8c(0x95f)](_0x475733,_0x3db965,_0x33d83f,_0x3de50c);}[_0x2d6184(0x2c5)](_0x3ec5d0,_0xfc10cf,_0x152e06,_0x3d7d09,_0x1e8fdb){var _0x10a3c7=_0x2d6184;this['uniformBuffer']&&this[_0x10a3c7(0xbdc)][_0x3ec5d0]&&this[_0x10a3c7(0x354)][_0x10a3c7(0x72f)](_0x3ec5d0,_0xfc10cf,_0x152e06,_0x3d7d09,_0x1e8fdb);}[_0x2d6184(0x14e)](_0x25e8f6,_0x39ce8a){var _0x158123=_0x2d6184;this[_0x158123(0x354)]&&this['_leftOverUniformsByName'][_0x25e8f6]&&this[_0x158123(0x354)][_0x158123(0x7a3)](_0x25e8f6,_0x39ce8a);}[_0x2d6184(0x83a)](_0x28d51d,_0x2e6156){var _0x57f47a=_0x2d6184;this[_0x57f47a(0x14e)](_0x28d51d,_0x2e6156);}[_0x2d6184(0x9b2)](_0x4a4563,_0x50087c){var _0x510bf5=_0x2d6184;this[_0x510bf5(0x14e)](_0x4a4563,_0x50087c);}[_0x2d6184(0xc3d)](_0x69ad45,_0x1ffde9){var _0x1d7c71=_0x2d6184;this[_0x1d7c71(0x14e)](_0x69ad45,_0x1ffde9);}[_0x2d6184(0x43f)](_0x467d92,_0x572bd0){var _0x10a734=_0x2d6184;this[_0x10a734(0x354)]&&this[_0x10a734(0xbdc)][_0x467d92]&&this['uniformBuffer'][_0x10a734(0x201)](_0x467d92,_0x572bd0);}[_0x2d6184(0x27a)](_0x26d657,_0x3fb609){var _0x2e9161=_0x2d6184;this[_0x2e9161(0x43f)](_0x26d657,_0x3fb609);}[_0x2d6184(0x290)](_0xb12fc3,_0x18d39a){var _0x54da43=_0x2d6184;this[_0x54da43(0x43f)](_0xb12fc3,_0x18d39a);}['setArray4'](_0x2815d6,_0x502a6d){this['setArray'](_0x2815d6,_0x502a6d);}[_0x2d6184(0x220)](_0x119c3b,_0x130ba7){var _0x37b200=_0x2d6184;this['uniformBuffer']&&this[_0x37b200(0xbdc)][_0x119c3b]&&this[_0x37b200(0x354)]['updateMatrices'](_0x119c3b,_0x130ba7);}[_0x2d6184(0xc1f)](_0x1e92ed,_0x4387d8){var _0x5b7d5e=_0x2d6184;this[_0x5b7d5e(0x354)]&&this[_0x5b7d5e(0xbdc)][_0x1e92ed]&&this[_0x5b7d5e(0x354)][_0x5b7d5e(0xc97)](_0x1e92ed,_0x4387d8);}['setMatrix3x3'](_0x11d3c5,_0x52b583){var _0x481050=_0x2d6184;this[_0x481050(0x354)]&&this['_leftOverUniformsByName'][_0x11d3c5]&&this[_0x481050(0x354)][_0x481050(0x93d)](_0x11d3c5,_0x52b583);}[_0x2d6184(0x5b7)](_0x275fb3,_0xae2d11){var _0x2c6ff6=_0x2d6184;this[_0x2c6ff6(0x354)]&&this['_leftOverUniformsByName'][_0x275fb3]&&this[_0x2c6ff6(0x354)][_0x2c6ff6(0xb90)](_0x275fb3,_0xae2d11);}[_0x2d6184(0x2ea)](_0x42c66a,_0x3a3959){var _0x2abc01=_0x2d6184;this['uniformBuffer']&&this[_0x2abc01(0xbdc)][_0x42c66a]&&this[_0x2abc01(0x354)][_0x2abc01(0x6f4)](_0x42c66a,_0x3a3959);}[_0x2d6184(0x2e2)](_0x528d8a,_0x5dcc7a){this['setFloat2'](_0x528d8a,_0x5dcc7a['x'],_0x5dcc7a['y']);}['setFloat2'](_0x515622,_0x82653c,_0x5670ce){var _0x504656=_0x2d6184;this['uniformBuffer']&&this[_0x504656(0xbdc)][_0x515622]&&this[_0x504656(0x354)][_0x504656(0x4d5)](_0x515622,_0x82653c,_0x5670ce);}[_0x2d6184(0x36f)](_0x7c7e9c,_0x34bacf){var _0x145d96=_0x2d6184;this[_0x145d96(0x328)](_0x7c7e9c,_0x34bacf['x'],_0x34bacf['y'],_0x34bacf['z']);}['setFloat3'](_0xc15800,_0x28008e,_0x3d4239,_0x121acc){var _0x2bc97a=_0x2d6184;this[_0x2bc97a(0x354)]&&this[_0x2bc97a(0xbdc)][_0xc15800]&&this[_0x2bc97a(0x354)]['updateFloat3'](_0xc15800,_0x28008e,_0x3d4239,_0x121acc);}[_0x2d6184(0xb0a)](_0x56acc1,_0xd58f4a){this['setFloat4'](_0x56acc1,_0xd58f4a['x'],_0xd58f4a['y'],_0xd58f4a['z'],_0xd58f4a['w']);}[_0x2d6184(0x64e)](_0x299328,_0x379b22){this['setFloat4'](_0x299328,_0x379b22['x'],_0x379b22['y'],_0x379b22['z'],_0x379b22['w']);}['setFloat4'](_0x372049,_0x576df7,_0x388837,_0x2471f9,_0x4d05c2){var _0x1541cd=_0x2d6184;this[_0x1541cd(0x354)]&&this[_0x1541cd(0xbdc)][_0x372049]&&this[_0x1541cd(0x354)][_0x1541cd(0x5ae)](_0x372049,_0x576df7,_0x388837,_0x2471f9,_0x4d05c2);}['setColor3'](_0x3d4969,_0x872901){var _0x51f073=_0x2d6184;this[_0x51f073(0x328)](_0x3d4969,_0x872901['r'],_0x872901['g'],_0x872901['b']);}[_0x2d6184(0x462)](_0xfed0a8,_0x38e562,_0x4a37d4){var _0x39ad70=_0x2d6184;this[_0x39ad70(0x1d7)](_0xfed0a8,_0x38e562['r'],_0x38e562['g'],_0x38e562['b'],_0x4a37d4);}[_0x2d6184(0x5d4)](_0x4335c8,_0x2dfc78){var _0x42148e=_0x2d6184;this[_0x42148e(0x1d7)](_0x4335c8,_0x2dfc78['r'],_0x2dfc78['g'],_0x2dfc78['b'],_0x2dfc78['a']);}[_0x2d6184(0x3a8)](){var _0x2396c1=_0x2d6184,_0x1ea637;return null==(_0x1ea637=this['sources'])?void 0x0:_0x1ea637[_0x2396c1(0x133)];}[_0x2d6184(0x65a)](){var _0xfbe0fc=_0x2d6184,_0x781d4c;return null==(_0x781d4c=this[_0xfbe0fc(0x63d)])?void 0x0:_0x781d4c[_0xfbe0fc(0x791)];}}},0x16268:(_0x5d77ca,_0x38d28e,_0xff529c)=>{var _0x4ae9a0=a6_0x36115b;_0xff529c['d'](_0x38d28e,{'t':()=>_0x532dea});function _0x71af15(_0x2fb192,_0x42ced6,_0x211b2d,_0x2b19a4){return new(_0x211b2d=_0x211b2d||Promise)(function(_0x3d8e60,_0x18aea9){var _0x3a158a=a6_0x238e;function _0x36ebb0(_0x5020a6){var _0x7243bb=a6_0x238e;try{_0xd43fa7(_0x2b19a4[_0x7243bb(0x2e4)](_0x5020a6));}catch(_0x38bd26){_0x18aea9(_0x38bd26);}}function _0xf7739(_0x3f81b6){try{_0xd43fa7(_0x2b19a4['throw'](_0x3f81b6));}catch(_0x5b29f4){_0x18aea9(_0x5b29f4);}}function _0xd43fa7(_0x4fa29f){var _0x3d5018=a6_0x238e,_0x28c647;_0x4fa29f['done']?_0x3d8e60(_0x4fa29f['value']):((_0x28c647=_0x4fa29f[_0x3d5018(0x96b)])instanceof _0x211b2d?_0x28c647:new _0x211b2d(function(_0x488380){_0x488380(_0x28c647);}))[_0x3d5018(0x322)](_0x36ebb0,_0xf7739);}_0xd43fa7((_0x2b19a4=_0x2b19a4[_0x3a158a(0xc72)](_0x2fb192,_0x42ced6||[]))[_0x3a158a(0x2e4)]());});}var _0xa618d7=_0xff529c(0x89a1);class _0x532dea{constructor(_0x1abc38,_0x2b8eff,_0x310b05,_0x39eb94,_0x195c0a=!0x0){var _0x2e455d=a6_0x238e;this['_dstBuffers']=[],this[_0x2e455d(0xaf7)]=_0x310b05,this[_0x2e455d(0x501)]=_0x39eb94,this[_0x2e455d(0x792)]=_0x1abc38,this[_0x2e455d(0x431)]=_0x195c0a,this[_0x2e455d(0x921)]=_0x310b05[_0x2e455d(0x6ec)]({'type':_0x2b8eff,'count':_0x1abc38}),this[_0x2e455d(0x1b1)]=_0x39eb94[_0x2e455d(0x521)](0x8*_0x1abc38,_0xa618d7['FB'][_0x2e455d(0x850)]|_0xa618d7['FB']['CopySrc']),_0x195c0a||this[_0x2e455d(0x8ab)]['push'](this['_bufferManager'][_0x2e455d(0x521)](0x8*this['_count'],_0xa618d7['FB'][_0x2e455d(0x535)]|_0xa618d7['FB'][_0x2e455d(0x1dc)]));}get[_0x4ae9a0(0x5e9)](){var _0x5dc7c1=_0x4ae9a0;return this[_0x5dc7c1(0x921)];}[_0x4ae9a0(0x4bf)](_0x26e707,_0x4d7c4d){var _0x387dca=_0x4ae9a0;if(!this[_0x387dca(0x431)]&&0x0===this['_dstBuffers']['length'])return null;const _0x32ac66=this[_0x387dca(0xaf7)][_0x387dca(0xcce)]();let _0x14d8f8;return 0x0===this[_0x387dca(0x8ab)]['length']?_0x14d8f8=this['_bufferManager']['createRawBuffer'](0x8*this[_0x387dca(0x792)],_0xa618d7['FB'][_0x387dca(0x535)]|_0xa618d7['FB'][_0x387dca(0x1dc)]):(_0x14d8f8=this[_0x387dca(0x8ab)][this[_0x387dca(0x8ab)]['length']-0x1],this[_0x387dca(0x8ab)][_0x387dca(0xb85)]--),_0x32ac66[_0x387dca(0x43e)](this[_0x387dca(0x921)],_0x26e707,_0x4d7c4d,this[_0x387dca(0x1b1)],0x0),_0x32ac66[_0x387dca(0x512)](this[_0x387dca(0x1b1)],0x0,_0x14d8f8,0x0,0x8*_0x4d7c4d),this[_0x387dca(0xaf7)][_0x387dca(0x588)][_0x387dca(0x986)]([_0x32ac66['finish']()]),_0x14d8f8;}[_0x4ae9a0(0x2c9)](_0x2bd0bf=0x0,_0x111e8f=0x1){return _0x71af15(this,void 0x0,void 0x0,function*(){var _0x46b973=a6_0x238e;const _0x2627fe=this[_0x46b973(0x4bf)](_0x2bd0bf,_0x111e8f);if(null===_0x2627fe)return null;yield _0x2627fe[_0x46b973(0x81e)](_0xa618d7['gc'][_0x46b973(0x81a)]);var _0x4b315f=new BigUint64Array(_0x2627fe['getMappedRange']())[_0x46b973(0x7ff)]();return _0x2627fe[_0x46b973(0x464)](),this[_0x46b973(0x8ab)][this[_0x46b973(0x8ab)][_0x46b973(0xb85)]]=_0x2627fe,_0x4b315f;});}[_0x4ae9a0(0x7e4)](_0x21e65c=0x0){return _0x71af15(this,void 0x0,void 0x0,function*(){var _0x1764c5=a6_0x238e;const _0x492944=this[_0x1764c5(0x4bf)](_0x21e65c,0x1);if(null===_0x492944)return null;yield _0x492944[_0x1764c5(0x81e)](_0xa618d7['gc'][_0x1764c5(0x81a)]);var _0x133987=new BigUint64Array(_0x492944[_0x1764c5(0x736)]()),_0x133987=Number(_0x133987[0x0]);return _0x492944[_0x1764c5(0x464)](),this['_dstBuffers'][this[_0x1764c5(0x8ab)][_0x1764c5(0xb85)]]=_0x492944,_0x133987;});}[_0x4ae9a0(0x496)](_0x749d93=0x0){return _0x71af15(this,void 0x0,void 0x0,function*(){var _0x1264b0=a6_0x238e;const _0x5c2654=this['_getBuffer'](_0x749d93,0x2);if(null===_0x5c2654)return null;yield _0x5c2654[_0x1264b0(0x81e)](_0xa618d7['gc'][_0x1264b0(0x81a)]);var _0x58e215=new BigUint64Array(_0x5c2654[_0x1264b0(0x736)]()),_0x58e215=Number(_0x58e215[0x1]-_0x58e215[0x0]);return _0x5c2654[_0x1264b0(0x464)](),this['_dstBuffers'][this[_0x1264b0(0x8ab)][_0x1264b0(0xb85)]]=_0x5c2654,_0x58e215;});}[_0x4ae9a0(0xae6)](){var _0x2ee7d1=_0x4ae9a0;this[_0x2ee7d1(0x921)][_0x2ee7d1(0x3b2)](),this['_bufferManager'][_0x2ee7d1(0xcbf)](this[_0x2ee7d1(0x1b1)]);for(let _0x15b487=0x0;_0x15b487<this['_dstBuffers'][_0x2ee7d1(0xb85)];++_0x15b487)this[_0x2ee7d1(0x501)][_0x2ee7d1(0xcbf)](this[_0x2ee7d1(0x8ab)][_0x15b487]);}}},0x7d48:(_0x2fee44,_0x513ba6,_0x31eeea)=>{var _0x13a914=a6_0x36115b;_0x31eeea['d'](_0x513ba6,{'B':()=>_0x527212});class _0x527212{constructor(){var _0xc7a2d2=a6_0x238e;this[_0xc7a2d2(0xaf0)]=[],this['reset']();}[_0x13a914(0x40b)](_0x16a01b=!0x1){var _0x4a504f=_0x13a914;this[_0x4a504f(0x548)]=null,_0x16a01b&&(this[_0x4a504f(0x8a9)]=null,this[_0x4a504f(0x803)]=null,this[_0x4a504f(0xc77)]=null,this[_0x4a504f(0xaf0)]=[],this[_0x4a504f(0x3d7)]=void 0x0);}}},0x1114f:(_0x46371c,_0x10935a,_0x3f1073)=>{var _0x11581a=a6_0x36115b;_0x3f1073['d'](_0x10935a,{'d':()=>_0x269f1e});const _0x55d893={'mat2':0x2,'mat3':0x3,'mat4':0x4,'mat2x2':0x2,'mat3x3':0x3,'mat4x4':0x4};class _0x269f1e{constructor(_0xaa85e){var _0x12c51d=a6_0x238e;this[_0x12c51d(0x474)]=_0xaa85e,this[_0x12c51d(0x44c)]=0x0,this[_0x12c51d(0x42b)]=0x0,this[_0x12c51d(0x1c4)]=0x0,this[_0x12c51d(0x49a)]=0x0,this[_0x12c51d(0x164)]={},this[_0x12c51d(0x624)]={},this['availableBuffers']={},this['availableTextures']={},this['availableSamplers']={},this[_0x12c51d(0x744)]=[],this[_0x12c51d(0x142)]=[],this[_0x12c51d(0x8ce)]=[],this[_0x12c51d(0x8d4)]=[],this[_0x12c51d(0xa7d)]=[],this[_0x12c51d(0xaa5)]=[],this['samplerNames']=[],this[_0x12c51d(0x790)]=[],this[_0x12c51d(0x4af)]();}static get['KnownUBOs'](){var _0x49f0fb=a6_0x238e;return _0x269f1e[_0x49f0fb(0xc24)]?_0x269f1e['_SimplifiedKnownUBOs']:_0x269f1e[_0x49f0fb(0x91a)];}[_0x11581a(0x4af)](){var _0x1af445=_0x11581a,_0x58ac6f=_0x269f1e[_0x1af445(0x7d5)];const _0x445771=[];for(const _0x45ba22 in _0x58ac6f){var _0x42921e=_0x58ac6f[_0x45ba22][_0x1af445(0x85c)];-0x1!==_0x42921e['groupIndex']&&(void 0x0===_0x445771[_0x42921e[_0x1af445(0xc95)]]?_0x445771[_0x42921e[_0x1af445(0xc95)]]=_0x42921e[_0x1af445(0x100)]:_0x445771[_0x42921e[_0x1af445(0xc95)]]=Math['max'](_0x445771[_0x42921e[_0x1af445(0xc95)]],_0x42921e[_0x1af445(0x100)]));}this['freeGroupIndex']=_0x445771['length']-0x1,0x0===this[_0x1af445(0x1c4)]?(this[_0x1af445(0x1c4)]++,this[_0x1af445(0x49a)]=0x0):this[_0x1af445(0x49a)]=_0x445771[_0x445771[_0x1af445(0xb85)]-0x1]+0x1;}['getAttributeNextLocation'](_0x48598b,_0x21b417=0x0){var _0x2e6170=_0x11581a,_0x43baea=this[_0x2e6170(0x44c)];return this[_0x2e6170(0x44c)]+=(null!=(_0x48598b=_0x55d893[_0x48598b])?_0x48598b:0x1)*(_0x21b417||0x1),_0x43baea;}[_0x11581a(0x3a9)](_0x3091a2,_0x3abe20=0x0){var _0xdf27b3=_0x11581a,_0x4b9872=this[_0xdf27b3(0x42b)];return this[_0xdf27b3(0x42b)]+=(null!=(_0x3091a2=_0x55d893[_0x3091a2])?_0x3091a2:0x1)*(_0x3abe20||0x1),_0x4b9872;}['getNextFreeUBOBinding'](){var _0x39e81d=_0x11581a;return this[_0x39e81d(0x519)](0x1);}[_0x11581a(0x519)](_0x567ba2){var _0x224eb3=_0x11581a;if(this['freeBindingIndex']>0x10000-_0x567ba2&&(this[_0x224eb3(0x1c4)]++,this['freeBindingIndex']=0x0),0x4===this[_0x224eb3(0x1c4)])throw _0x224eb3(0x699);var _0x17d9dc={'groupIndex':this[_0x224eb3(0x1c4)],'bindingIndex':this[_0x224eb3(0x49a)]};return this[_0x224eb3(0x49a)]+=_0x567ba2,_0x17d9dc;}}_0x269f1e[_0x11581a(0xc24)]=!0x0,_0x269f1e['_SimplifiedKnownUBOs']={'Scene':{'binding':{'groupIndex':0x0,'bindingIndex':0x0}},'Light0':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light1':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light2':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light3':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light4':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light5':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light6':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light7':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light8':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light9':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light10':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light11':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light12':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light13':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light14':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light15':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light16':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light17':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light18':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light19':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light20':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light21':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light22':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light23':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light24':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light25':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light26':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light27':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light28':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light29':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light30':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light31':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Material':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Mesh':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Internals':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}}},_0x269f1e[_0x11581a(0x91a)]={'Scene':{'binding':{'groupIndex':0x0,'bindingIndex':0x0}},'Light0':{'binding':{'groupIndex':0x1,'bindingIndex':0x0}},'Light1':{'binding':{'groupIndex':0x1,'bindingIndex':0x1}},'Light2':{'binding':{'groupIndex':0x1,'bindingIndex':0x2}},'Light3':{'binding':{'groupIndex':0x1,'bindingIndex':0x3}},'Light4':{'binding':{'groupIndex':0x1,'bindingIndex':0x4}},'Light5':{'binding':{'groupIndex':0x1,'bindingIndex':0x5}},'Light6':{'binding':{'groupIndex':0x1,'bindingIndex':0x6}},'Light7':{'binding':{'groupIndex':0x1,'bindingIndex':0x7}},'Light8':{'binding':{'groupIndex':0x1,'bindingIndex':0x8}},'Light9':{'binding':{'groupIndex':0x1,'bindingIndex':0x9}},'Light10':{'binding':{'groupIndex':0x1,'bindingIndex':0xa}},'Light11':{'binding':{'groupIndex':0x1,'bindingIndex':0xb}},'Light12':{'binding':{'groupIndex':0x1,'bindingIndex':0xc}},'Light13':{'binding':{'groupIndex':0x1,'bindingIndex':0xd}},'Light14':{'binding':{'groupIndex':0x1,'bindingIndex':0xe}},'Light15':{'binding':{'groupIndex':0x1,'bindingIndex':0xf}},'Light16':{'binding':{'groupIndex':0x1,'bindingIndex':0x10}},'Light17':{'binding':{'groupIndex':0x1,'bindingIndex':0x11}},'Light18':{'binding':{'groupIndex':0x1,'bindingIndex':0x12}},'Light19':{'binding':{'groupIndex':0x1,'bindingIndex':0x13}},'Light20':{'binding':{'groupIndex':0x1,'bindingIndex':0x14}},'Light21':{'binding':{'groupIndex':0x1,'bindingIndex':0x15}},'Light22':{'binding':{'groupIndex':0x1,'bindingIndex':0x16}},'Light23':{'binding':{'groupIndex':0x1,'bindingIndex':0x17}},'Light24':{'binding':{'groupIndex':0x1,'bindingIndex':0x18}},'Light25':{'binding':{'groupIndex':0x1,'bindingIndex':0x19}},'Light26':{'binding':{'groupIndex':0x1,'bindingIndex':0x1a}},'Light27':{'binding':{'groupIndex':0x1,'bindingIndex':0x1b}},'Light28':{'binding':{'groupIndex':0x1,'bindingIndex':0x1c}},'Light29':{'binding':{'groupIndex':0x1,'bindingIndex':0x1d}},'Light30':{'binding':{'groupIndex':0x1,'bindingIndex':0x1e}},'Light31':{'binding':{'groupIndex':0x1,'bindingIndex':0x1f}},'Material':{'binding':{'groupIndex':0x2,'bindingIndex':0x0}},'Mesh':{'binding':{'groupIndex':0x2,'bindingIndex':0x1}},'Internals':{'binding':{'groupIndex':0x2,'bindingIndex':0x2}}};},0xe83b:(_0x35ee12,_0x283137,_0x16d3e9)=>{var _0x4c7a18=a6_0x36115b;_0x16d3e9['d'](_0x283137,{'e':()=>_0x27a54d});var _0x254231=_0x16d3e9(0x11722),_0x2c7b5f=_0x16d3e9(0x89a1),_0x3eceb8=_0x16d3e9(0x6214);class _0x27a54d{constructor(){var _0x34c0bd=a6_0x238e;this[_0x34c0bd(0x474)]=_0x254231['x'][_0x34c0bd(0xa33)];}[_0x4c7a18(0x74c)](_0x2d56fa,_0x180ecb,_0x5a7ddf){var _0x1d84a9=_0x4c7a18,_0x21b163=0x0;[_0x2d56fa,_0x180ecb,_0x21b163]=this[_0x1d84a9(0x768)](_0x2d56fa,_0x180ecb,_0x5a7ddf);for(let _0x5ba92=0x0;_0x5ba92<this[_0x1d84a9(0x3d8)][_0x1d84a9(0x790)][_0x1d84a9(0xb85)];_0x5ba92++)if(this[_0x1d84a9(0x3d8)][_0x1d84a9(0x790)][_0x5ba92][_0x1d84a9(0x8f9)]===_0x2d56fa)return;this[_0x1d84a9(0x3d8)][_0x1d84a9(0x790)]['push']({'name':_0x2d56fa,'type':_0x180ecb,'length':_0x21b163});}[_0x4c7a18(0x821)](){var _0x508336=_0x4c7a18;if(!this[_0x508336(0x3d8)][_0x508336(0x790)][_0x508336(0xb85)])return'';var _0x4e0ad3=_0x27a54d[_0x508336(0x306)];let _0xdafad4=this[_0x508336(0x3d8)][_0x508336(0x6c0)][_0x4e0ad3];return _0xdafad4||(_0xdafad4={'binding':this[_0x508336(0x3d8)][_0x508336(0x958)]()},this['_webgpuProcessingContext'][_0x508336(0x6c0)][_0x4e0ad3]=_0xdafad4,this[_0x508336(0xadd)](_0x4e0ad3,_0xdafad4,_0x2c7b5f['Rs']['Uniform'],!0x0),this[_0x508336(0xadd)](_0x4e0ad3,_0xdafad4,_0x2c7b5f['Rs']['Uniform'],!0x1)),this[_0x508336(0x6de)](_0x4e0ad3,_0xdafad4);}[_0x4c7a18(0x599)](){var _0x4ea63a=_0x4c7a18;for(let _0x2a1f22=0x0;_0x2a1f22<this[_0x4ea63a(0x3d8)][_0x4ea63a(0x142)][_0x4ea63a(0xb85)];_0x2a1f22++){var _0x12e6c9=this[_0x4ea63a(0x3d8)]['bindGroupLayoutEntries'][_0x2a1f22];if(void 0x0===_0x12e6c9)this[_0x4ea63a(0x3d8)][_0x4ea63a(0x142)][_0x2a1f22]=[];else for(let _0x2d0e8a=0x0;_0x2d0e8a<_0x12e6c9[_0x4ea63a(0xb85)];_0x2d0e8a++){var _0x47ffe4=this['_webgpuProcessingContext'][_0x4ea63a(0x142)][_0x2a1f22][_0x2d0e8a],_0x41a089=this[_0x4ea63a(0x3d8)][_0x4ea63a(0x8ce)][_0x2a1f22][_0x47ffe4[_0x4ea63a(0x85c)]][_0x4ea63a(0x8f9)],_0x486267=this[_0x4ea63a(0x3d8)][_0x4ea63a(0x8ce)][_0x2a1f22][_0x47ffe4[_0x4ea63a(0x85c)]][_0x4ea63a(0xa6c)];_0x47ffe4&&(_0x47ffe4[_0x4ea63a(0xa91)]||_0x47ffe4[_0x4ea63a(0xa06)]||_0x47ffe4['storageTexture']?this[_0x4ea63a(0x3d8)]['textureNames'][_0x4ea63a(0x731)](_0x486267):_0x47ffe4['sampler']?this[_0x4ea63a(0x3d8)][_0x4ea63a(0x69f)]['push'](_0x41a089):_0x47ffe4['buffer']&&this['_webgpuProcessingContext'][_0x4ea63a(0xa7d)]['push'](_0x41a089));}}}[_0x4c7a18(0x2ac)](){var _0x3bd40b=_0x4c7a18;const _0x253071=this['_webgpuProcessingContext']['bindGroupEntries'];for(let _0x220bf9=0x0;_0x220bf9<this['_webgpuProcessingContext'][_0x3bd40b(0x142)][_0x3bd40b(0xb85)];_0x220bf9++){var _0x231061=this[_0x3bd40b(0x3d8)]['bindGroupLayoutEntries'][_0x220bf9];const _0x4d2ddb=[];for(let _0x448dbf=0x0;_0x448dbf<_0x231061[_0x3bd40b(0xb85)];_0x448dbf++){var _0xfad2ba=this[_0x3bd40b(0x3d8)]['bindGroupLayoutEntries'][_0x220bf9][_0x448dbf];_0xfad2ba[_0x3bd40b(0x46b)]||_0xfad2ba[_0x3bd40b(0xa91)]||_0xfad2ba['storageTexture']||_0xfad2ba['externalTexture']?_0x4d2ddb[_0x3bd40b(0x731)]({'binding':_0xfad2ba[_0x3bd40b(0x85c)],'resource':void 0x0}):_0xfad2ba[_0x3bd40b(0xa92)]&&_0x4d2ddb[_0x3bd40b(0x731)]({'binding':_0xfad2ba[_0x3bd40b(0x85c)],'resource':{'buffer':void 0x0,'offset':0x0,'size':0x0}});}_0x253071[_0x220bf9]=_0x4d2ddb;}}[_0x4c7a18(0x9d3)](_0xfb6f6a,_0x3c14fc,_0x51a748,_0x2f5361,_0x2d09dc,_0xf31bf4){var _0x1478e0=_0x4c7a18;let {groupIndex:_0x565713,bindingIndex:_0x489690}=_0x3c14fc[_0x1478e0(0x345)][_0x51a748];this[_0x1478e0(0x3d8)][_0x1478e0(0x142)][_0x565713]||(this[_0x1478e0(0x3d8)][_0x1478e0(0x142)][_0x565713]=[],this[_0x1478e0(0x3d8)][_0x1478e0(0x8ce)][_0x565713]=[]),this[_0x1478e0(0x3d8)][_0x1478e0(0x8ce)][_0x565713][_0x489690]||(_0x2d09dc=null===_0x2f5361?this[_0x1478e0(0x3d8)]['bindGroupLayoutEntries'][_0x565713][_0x1478e0(0x731)]({'binding':_0x489690,'visibility':0x0,'externalTexture':{}}):_0x2d09dc?this[_0x1478e0(0x3d8)][_0x1478e0(0x142)][_0x565713][_0x1478e0(0x731)]({'binding':_0x489690,'visibility':0x0,'storageTexture':{'access':_0x2c7b5f['Gt'][_0x1478e0(0x319)],'format':_0x2d09dc,'viewDimension':_0x2f5361}}):this[_0x1478e0(0x3d8)][_0x1478e0(0x142)][_0x565713]['push']({'binding':_0x489690,'visibility':0x0,'texture':{'sampleType':_0x3c14fc[_0x1478e0(0x297)],'viewDimension':_0x2f5361,'multisampled':!0x1}}),_0x2f5361=_0x3c14fc[_0x1478e0(0x5a5)]?_0xfb6f6a+_0x51a748:_0xfb6f6a,this[_0x1478e0(0x3d8)]['bindGroupLayoutEntryInfo'][_0x565713][_0x489690]={'name':_0xfb6f6a,'index':_0x2d09dc-0x1,'nameInArrayOfTexture':_0x2f5361}),_0x489690=this[_0x1478e0(0x3d8)]['bindGroupLayoutEntryInfo'][_0x565713][_0x489690][_0x1478e0(0x3fe)],this[_0x1478e0(0x3d8)][_0x1478e0(0x142)][_0x565713][_0x489690][_0x1478e0(0xcb9)]|=_0xf31bf4?_0x2c7b5f['$X']['Vertex']:_0x2c7b5f['$X'][_0x1478e0(0xbf4)];}['_addSamplerBindingDescription'](_0x4d2e82,_0x3a8f76,_0x442fc1){var _0x3fb64a=_0x4c7a18;let {groupIndex:_0x988b8d,bindingIndex:_0x570ba7}=_0x3a8f76[_0x3fb64a(0x85c)];this['_webgpuProcessingContext'][_0x3fb64a(0x142)][_0x988b8d]||(this['_webgpuProcessingContext'][_0x3fb64a(0x142)][_0x988b8d]=[],this[_0x3fb64a(0x3d8)][_0x3fb64a(0x8ce)][_0x988b8d]=[]),this[_0x3fb64a(0x3d8)][_0x3fb64a(0x8ce)][_0x988b8d][_0x570ba7]||(_0x3a8f76=this[_0x3fb64a(0x3d8)][_0x3fb64a(0x142)][_0x988b8d]['push']({'binding':_0x570ba7,'visibility':0x0,'sampler':{'type':_0x3a8f76[_0x3fb64a(0x6a4)]}}),this[_0x3fb64a(0x3d8)][_0x3fb64a(0x8ce)][_0x988b8d][_0x570ba7]={'name':_0x4d2e82,'index':_0x3a8f76-0x1}),_0x570ba7=this['_webgpuProcessingContext'][_0x3fb64a(0x8ce)][_0x988b8d][_0x570ba7][_0x3fb64a(0x3fe)],this[_0x3fb64a(0x3d8)][_0x3fb64a(0x142)][_0x988b8d][_0x570ba7][_0x3fb64a(0xcb9)]|=_0x442fc1?_0x2c7b5f['$X']['Vertex']:_0x2c7b5f['$X'][_0x3fb64a(0xbf4)];}[_0x4c7a18(0xadd)](_0x287b3b,_0x2d6e95,_0x2a0b2d,_0xfde716){var _0x199246=_0x4c7a18;let {groupIndex:_0x3efc11,bindingIndex:_0x4d5109}=_0x2d6e95[_0x199246(0x85c)];this[_0x199246(0x3d8)][_0x199246(0x142)][_0x3efc11]||(this['_webgpuProcessingContext'][_0x199246(0x142)][_0x3efc11]=[],this['_webgpuProcessingContext']['bindGroupLayoutEntryInfo'][_0x3efc11]=[]),this[_0x199246(0x3d8)][_0x199246(0x8ce)][_0x3efc11][_0x4d5109]||(_0x2d6e95=this[_0x199246(0x3d8)]['bindGroupLayoutEntries'][_0x3efc11][_0x199246(0x731)]({'binding':_0x4d5109,'visibility':0x0,'buffer':{'type':_0x2a0b2d}}),this[_0x199246(0x3d8)][_0x199246(0x8ce)][_0x3efc11][_0x4d5109]={'name':_0x287b3b,'index':_0x2d6e95-0x1}),_0x4d5109=this['_webgpuProcessingContext'][_0x199246(0x8ce)][_0x3efc11][_0x4d5109]['index'],this[_0x199246(0x3d8)][_0x199246(0x142)][_0x3efc11][_0x4d5109][_0x199246(0xcb9)]|=_0xfde716?_0x2c7b5f['$X']['Vertex']:_0x2c7b5f['$X']['Fragment'];}['_injectStartingAndEndingCode'](_0x31c31f,_0x4783e4,_0x263176,_0x515e4f){var _0x19d1a6=_0x4c7a18;let _0x1cbf80=_0x31c31f[_0x19d1a6(0x168)](_0x4783e4);if(_0x1cbf80<0x0)return _0x3eceb8[_0x19d1a6(0x113)](_0x19d1a6(0x578)),_0x31c31f;if(_0x263176){for(;_0x1cbf80++<_0x31c31f[_0x19d1a6(0xb85)]&&'{'!=_0x31c31f[_0x19d1a6(0x734)](_0x1cbf80););_0x1cbf80<_0x31c31f[_0x19d1a6(0xb85)]&&(_0x31c31f=_0x31c31f[_0x19d1a6(0x622)](0x0,_0x1cbf80+0x1)+_0x263176+_0x31c31f[_0x19d1a6(0x622)](_0x1cbf80+0x1));}return _0x515e4f&&(_0x4783e4=_0x31c31f[_0x19d1a6(0x2fc)]('}'),_0x31c31f=_0x31c31f[_0x19d1a6(0x622)](0x0,_0x4783e4),_0x31c31f+=_0x515e4f+'\x0a}'),_0x31c31f;}}_0x27a54d['AutoSamplerSuffix']=_0x4c7a18(0xb62),_0x27a54d[_0x4c7a18(0x306)]='LeftOver',_0x27a54d[_0x4c7a18(0x8b0)]='Internals',_0x27a54d[_0x4c7a18(0x15d)]={'bool':0x1,'int':0x1,'float':0x1,'vec2':0x2,'ivec2':0x2,'vec3':0x3,'ivec3':0x3,'vec4':0x4,'ivec4':0x4,'mat2':0x4,'mat3':0xc,'mat4':0x10,'i32':0x1,'u32':0x1,'f32':0x1,'mat2x2':0x4,'mat3x3':0xc,'mat4x4':0x10},_0x27a54d[_0x4c7a18(0x1d1)]={'sampler2D':_0x4c7a18(0x654),'sampler2DArray':_0x4c7a18(0x769),'sampler2DShadow':_0x4c7a18(0x275),'sampler2DArrayShadow':_0x4c7a18(0x8ba),'samplerCube':_0x4c7a18(0x9d4),'sampler3D':_0x4c7a18(0x139)},_0x27a54d['_TextureTypeByWebGLSamplerType']={'sampler2D':_0x4c7a18(0xcd5),'sampler2DArray':_0x4c7a18(0x22d),'sampler2DShadow':'texture2D','sampler2DArrayShadow':_0x4c7a18(0x22d),'samplerCube':_0x4c7a18(0x9cf),'samplerCubeArray':'textureCubeArray','sampler3D':_0x4c7a18(0xf6)},_0x27a54d['_GpuTextureViewDimensionByWebGPUTextureType']={'textureCube':_0x2c7b5f['p_'][_0x4c7a18(0x17c)],'textureCubeArray':_0x2c7b5f['p_'][_0x4c7a18(0x930)],'texture2D':_0x2c7b5f['p_']['E2d'],'texture2DArray':_0x2c7b5f['p_'][_0x4c7a18(0x6f1)],'texture3D':_0x2c7b5f['p_']['E3d']},_0x27a54d[_0x4c7a18(0x175)]={'sampler2DShadow':'samplerShadow','sampler2DArrayShadow':_0x4c7a18(0x542)},_0x27a54d[_0x4c7a18(0xbd7)]={'samplerShadow':!0x0,'samplerArrayShadow':!0x0,'sampler':!0x1};},0x3a2d:(_0x200e5c,_0x7182e7,_0x4f092f)=>{var _0x56afa7=a6_0x36115b;_0x4f092f['d'](_0x7182e7,{'s':()=>_0x213457});var _0xbd2559=_0x4f092f(0x1114f),_0x1127ea=_0x4f092f(0x89a1),_0xb6c982=_0x4f092f(0x10ea4),_0x2900a9=_0x4f092f(0xe83b),_0x41161b=_0x4f092f(0x11722);class _0x213457 extends _0x2900a9['e']{constructor(){var _0x5bd020=a6_0x238e;super(...arguments),this['_missingVaryings']=[],this[_0x5bd020(0x5dd)]=[],this[_0x5bd020(0x9db)]=!0x1,this[_0x5bd020(0x4e6)]=!0x1,this[_0x5bd020(0x474)]=_0x41161b['x'][_0x5bd020(0xa33)],this['parseGLES3']=!0x0;}[_0x56afa7(0x768)](_0x3d274f,_0x5905c5,_0x1e6248){var _0x311864=_0x56afa7;let _0x81e166=0x0;var _0x1f6e13=_0x3d274f[_0x311864(0x168)]('['),_0x130b18=_0x3d274f[_0x311864(0x168)](']');if(0x0<_0x1f6e13&&0x0<_0x130b18){const _0x27f56e=_0x3d274f[_0x311864(0x622)](_0x1f6e13+0x1,_0x130b18);_0x81e166=+_0x27f56e,isNaN(_0x81e166)&&(_0x81e166=+_0x1e6248[_0x27f56e[_0x311864(0xa2e)]()]),_0x3d274f=_0x3d274f[_0x311864(0x3a7)](0x0,_0x1f6e13);}return[_0x3d274f,_0x5905c5,_0x81e166];}[_0x56afa7(0x94e)](_0x54e8d7){var _0x177f93=_0x56afa7;this['_webgpuProcessingContext']=_0x54e8d7,this['_missingVaryings']['length']=0x0,this['_textureArrayProcessing']['length']=0x0,this[_0x177f93(0xc28)]=void 0x0,this[_0x177f93(0x539)]=void 0x0,this[_0x177f93(0xafc)]=void 0x0;}[_0x56afa7(0xb87)](_0x141d1c,_0x35d6e6){var _0x1f4267=_0x56afa7,_0x3b273c=_0x1f4267(0x72e)+_0x2900a9['e'][_0x1f4267(0x8b0)]+_0x1f4267(0x29f),_0x4dab9a=-0x1!==_0x141d1c[_0x1f4267(0x168)](_0x1f4267(0xb4a));return _0x35d6e6?(this['_fragmentIsGLES3']=-0x1!==_0x141d1c[_0x1f4267(0x168)](_0x1f4267(0xb76)),this['_fragmentIsGLES3']&&(this[_0x1f4267(0xafc)]='in'),_0x4dab9a?_0x141d1c:_0x3b273c+_0x1f4267(0xccd)+_0x141d1c):(this[_0x1f4267(0x9db)]=-0x1!==_0x141d1c[_0x1f4267(0x168)]('#version\x203'),this[_0x1f4267(0x9db)]&&(this[_0x1f4267(0xc28)]='in',this[_0x1f4267(0x539)]='out'),_0x4dab9a?_0x141d1c:_0x3b273c+_0x141d1c);}['varyingProcessor'](_0x386ea8,_0x32590e,_0x11e6fb){var _0x5cd7d3=_0x56afa7;this[_0x5cd7d3(0xc81)]=_0x11e6fb;const _0x3ca4cd=_0x32590e&&this[_0x5cd7d3(0x4e6)]?/\s*in\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm:!_0x32590e&&this['_vertexIsGLES3']?/\s*out\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm:/\s*varying\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm;var _0x3025e4=_0x3ca4cd[_0x5cd7d3(0xa97)](_0x386ea8);if(null!==_0x3025e4){var _0x3408b5=_0x3025e4[0x1],_0x48c89f=_0x3025e4[0x2];let _0x4c50e5;_0x32590e?(_0x4c50e5=this[_0x5cd7d3(0x3d8)]['availableVaryings'][_0x48c89f],this['_missingVaryings'][_0x4c50e5]='',void 0x0===_0x4c50e5&&_0xb6c982['Y'][_0x5cd7d3(0x2e9)]('Invalid\x20fragment\x20shader:\x20The\x20varying\x20named\x20\x22'+_0x48c89f+'\x22\x20is\x20not\x20declared\x20in\x20the\x20vertex\x20shader!\x20This\x20declaration\x20will\x20be\x20ignored.')):(_0x4c50e5=this[_0x5cd7d3(0x3d8)][_0x5cd7d3(0x3a9)](_0x3408b5,this['_getArraySize'](_0x48c89f,_0x3408b5,_0x11e6fb)[0x2]),this[_0x5cd7d3(0x3d8)][_0x5cd7d3(0x164)][_0x48c89f]=_0x4c50e5,this[_0x5cd7d3(0x655)][_0x4c50e5]='layout(location\x20=\x20'+_0x4c50e5+_0x5cd7d3(0x33f)+_0x3408b5+'\x20'+_0x48c89f+';'),_0x386ea8=_0x386ea8[_0x5cd7d3(0xc73)](_0x3025e4[0x0],void 0x0===_0x4c50e5?'':_0x5cd7d3(0x547)+_0x4c50e5+')\x20'+(_0x32590e?'in':'out')+'\x20'+_0x3408b5+'\x20'+_0x48c89f+';');}return _0x386ea8;}['attributeProcessor'](_0x2130f5,_0x2dd935){var _0x4ab987=_0x56afa7;this[_0x4ab987(0xc81)]=_0x2dd935;const _0x3bb5d6=this[_0x4ab987(0x9db)]?/\s*in\s+(\S+)\s+(\S+)\s*;/gm:/\s*attribute\s+(\S+)\s+(\S+)\s*;/gm;var _0x355614,_0x206886,_0x39ebe7=_0x3bb5d6[_0x4ab987(0xa97)](_0x2130f5);return null!==_0x39ebe7&&(_0x355614=_0x39ebe7[0x1],_0x206886=_0x39ebe7[0x2],_0x2dd935=this[_0x4ab987(0x3d8)]['getAttributeNextLocation'](_0x355614,this[_0x4ab987(0x768)](_0x206886,_0x355614,_0x2dd935)[0x2]),this[_0x4ab987(0x3d8)][_0x4ab987(0x624)][_0x206886]=_0x2dd935,this[_0x4ab987(0x3d8)][_0x4ab987(0x744)][_0x2dd935]=_0x206886,_0x2130f5=_0x2130f5[_0x4ab987(0xc73)](_0x39ebe7[0x0],'layout(location\x20=\x20'+_0x2dd935+_0x4ab987(0x33f)+_0x355614+'\x20'+_0x206886+';')),_0x2130f5;}[_0x56afa7(0x8b7)](_0x193b11,_0x3fc6bc,_0x262a1f){var _0x2ee0f5=_0x56afa7;this[_0x2ee0f5(0xc81)]=_0x262a1f;var _0x27fb98=/\s*uniform\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm[_0x2ee0f5(0xa97)](_0x193b11);if(null!==_0x27fb98){let _0xf9368b=_0x27fb98[0x1],_0x6867ab=_0x27fb98[0x2];if(0x0===_0xf9368b['indexOf'](_0x2ee0f5(0x46b))||0x1===_0xf9368b[_0x2ee0f5(0x168)](_0x2ee0f5(0x46b))){let _0x10aeb2=0x0,_0x58c06d=([_0x6867ab,_0xf9368b,_0x10aeb2]=this[_0x2ee0f5(0x768)](_0x6867ab,_0xf9368b,_0x262a1f),this['_webgpuProcessingContext'][_0x2ee0f5(0xbff)][_0x6867ab]);if(!_0x58c06d){_0x58c06d={'autoBindSampler':!0x0,'isTextureArray':0x0<_0x10aeb2,'isStorageTexture':!0x1,'textures':[],'sampleType':_0x1127ea['oD'][_0x2ee0f5(0x661)]};for(let _0xf636b4=0x0;_0xf636b4<(_0x10aeb2||0x1);++_0xf636b4)_0x58c06d['textures'][_0x2ee0f5(0x731)](this[_0x2ee0f5(0x3d8)][_0x2ee0f5(0x958)]());}var _0x27fb98=null!=(_0x27fb98=_0x2900a9['e'][_0x2ee0f5(0x175)][_0xf9368b])?_0x27fb98:_0x2ee0f5(0x46b),_0x29e516=!!_0x2900a9['e'][_0x2ee0f5(0xbd7)][_0x27fb98],_0x5f394c=_0x29e516?_0x1127ea['dV'][_0x2ee0f5(0x957)]:_0x1127ea['dV'][_0x2ee0f5(0xb03)],_0x33dcac=_0x6867ab+_0x2900a9['e'][_0x2ee0f5(0x6d2)],_0x5f394c=this[_0x2ee0f5(0x3d8)][_0x2ee0f5(0x4d3)][_0x33dcac]||{'binding':this[_0x2ee0f5(0x3d8)][_0x2ee0f5(0x958)](),'type':_0x5f394c},_0x185c89='u'===_0xf9368b[_0x2ee0f5(0x734)](0x0)?'u':'i'===_0xf9368b[_0x2ee0f5(0x734)](0x0)?'i':'',_0x29e516=(_0x185c89&&(_0xf9368b=_0xf9368b[_0x2ee0f5(0x3a7)](0x1)),_0x29e516?_0x1127ea['oD']['Depth']:'u'==_0x185c89?_0x1127ea['oD'][_0x2ee0f5(0x4e3)]:'i'==_0x185c89?_0x1127ea['oD'][_0x2ee0f5(0x3aa)]:_0x1127ea['oD']['Float']),_0x29e516=(_0x58c06d[_0x2ee0f5(0x297)]=_0x29e516,0x0<_0x10aeb2),_0x30ac94=_0x5f394c[_0x2ee0f5(0x85c)]['groupIndex'],_0xac4346=_0x5f394c[_0x2ee0f5(0x85c)]['bindingIndex'],_0xa7f653=_0x2900a9['e'][_0x2ee0f5(0x1d1)][_0xf9368b],_0x2f251c=_0x2900a9['e'][_0x2ee0f5(0x363)][_0xf9368b],_0x114c21=_0x2900a9['e'][_0x2ee0f5(0x4a5)][_0x2f251c];if(_0x29e516){const _0x3880b9=[];_0x3880b9['push'](_0x2ee0f5(0x29b)+_0x30ac94+_0x2ee0f5(0x331)+_0xac4346+')\x20uniform\x20'+_0x185c89+_0x27fb98+'\x20'+_0x33dcac+';'),_0x193b11='\x0d\x0a';for(let _0xd31344=0x0;_0xd31344<_0x10aeb2;++_0xd31344){var _0x5e3ef3=_0x58c06d[_0x2ee0f5(0x345)][_0xd31344][_0x2ee0f5(0xc95)],_0x33a2bd=_0x58c06d[_0x2ee0f5(0x345)][_0xd31344][_0x2ee0f5(0x100)];_0x3880b9[_0x2ee0f5(0x731)](_0x2ee0f5(0x29b)+_0x5e3ef3+_0x2ee0f5(0x331)+_0x33a2bd+_0x2ee0f5(0x37b)+_0x2f251c+'\x20'+_0x6867ab+_0x2ee0f5(0x29d)+_0xd31344+';'),_0x193b11+=(0x0<_0xd31344?'\x0d\x0a':'')+_0x2ee0f5(0x568)+_0x6867ab+_0xd31344+'\x20'+_0x185c89+_0xa7f653+'('+_0x6867ab+'Texture'+_0xd31344+',\x20'+_0x33dcac+')';}_0x193b11=_0x3880b9['join']('\x0d\x0a')+_0x193b11,this[_0x2ee0f5(0x5dd)]['push'](_0x6867ab);}else _0x10aeb2=0x1,_0x193b11='layout(set\x20=\x20'+_0x30ac94+_0x2ee0f5(0x331)+_0xac4346+_0x2ee0f5(0x37b)+_0x185c89+_0x27fb98+'\x20'+_0x33dcac+_0x2ee0f5(0xbde)+_0x58c06d[_0x2ee0f5(0x345)][0x0][_0x2ee0f5(0xc95)]+_0x2ee0f5(0x331)+_0x58c06d[_0x2ee0f5(0x345)][0x0][_0x2ee0f5(0x100)]+')\x20uniform\x20'+_0x2f251c+'\x20'+_0x6867ab+_0x2ee0f5(0x2b8)+_0x6867ab+'\x20'+_0x185c89+_0xa7f653+'('+_0x6867ab+'Texture,\x20'+_0x33dcac+')';this['_webgpuProcessingContext'][_0x2ee0f5(0xbff)][_0x6867ab]=_0x58c06d,this['_webgpuProcessingContext'][_0x2ee0f5(0x4d3)][_0x33dcac]=_0x5f394c,this[_0x2ee0f5(0xac4)](_0x33dcac,_0x5f394c,!_0x3fc6bc);for(let _0x8d2ba6=0x0;_0x8d2ba6<_0x10aeb2;++_0x8d2ba6)this[_0x2ee0f5(0x9d3)](_0x6867ab,_0x58c06d,_0x8d2ba6,_0x114c21,null,!_0x3fc6bc);}else this[_0x2ee0f5(0x74c)](_0x6867ab,_0xf9368b,_0x262a1f),_0x193b11='';}return _0x193b11;}[_0x56afa7(0xcda)](_0x1499cc,_0x1b9045){var _0x55d489=_0x56afa7,_0x46765c=/uniform\s+(\w+)/gm[_0x55d489(0xa97)](_0x1499cc);if(null!==_0x46765c){var _0x4eda8e,_0x46765c=_0x46765c[0x1];let _0x116336=this[_0x55d489(0x3d8)][_0x55d489(0x6c0)][_0x46765c];_0x116336||(_0x4eda8e=(_0x4eda8e=_0xbd2559['d'][_0x55d489(0x7d5)][_0x46765c])&&-0x1!==_0x4eda8e[_0x55d489(0x85c)][_0x55d489(0xc95)]?_0x4eda8e[_0x55d489(0x85c)]:this['_webgpuProcessingContext'][_0x55d489(0x958)](),_0x116336={'binding':_0x4eda8e},this[_0x55d489(0x3d8)][_0x55d489(0x6c0)][_0x46765c]=_0x116336),this[_0x55d489(0xadd)](_0x46765c,_0x116336,_0x1127ea['Rs'][_0x55d489(0x8d0)],!_0x1b9045),_0x1499cc=_0x1499cc[_0x55d489(0xc73)]('uniform',_0x55d489(0x29b)+_0x116336['binding'][_0x55d489(0xc95)]+_0x55d489(0x331)+_0x116336[_0x55d489(0x85c)][_0x55d489(0x100)]+')\x20uniform');}return _0x1499cc;}['postProcessor'](_0x571bb7,_0x2018ac,_0x245a3e,_0x116756,_0x5939ec){var _0x10305f=_0x56afa7,_0xe1ebdd=-0x1!==_0x571bb7[_0x10305f(0x608)](/#extension.+GL_EXT_draw_buffers.+require/);if(_0x571bb7=(_0x571bb7=_0x571bb7[_0x10305f(0xc73)](/#extension.+(GL_OVR_multiview2|GL_OES_standard_derivatives|GL_EXT_shader_texture_lod|GL_EXT_frag_depth|GL_EXT_draw_buffers).+(enable|require)/g,''))[_0x10305f(0xc73)](/texture2D\s*\(/g,_0x10305f(0x7f3)),_0x245a3e){var _0x456072,_0x4c10da=0x0<=_0x571bb7['indexOf'](_0x10305f(0x82d)),_0x500e25=_0x4c10da?_0x10305f(0x2ec):'';_0x571bb7=(_0x571bb7=(_0x571bb7=(_0x571bb7=(_0x571bb7=(_0x571bb7=(_0x571bb7=_0x571bb7['replace'](/texture2DLodEXT\s*\(/g,_0x10305f(0xc0e)))['replace'](/textureCubeLodEXT\s*\(/g,_0x10305f(0xc0e)))['replace'](/textureCube\s*\(/g,_0x10305f(0x7f3)))[_0x10305f(0xc73)](/gl_FragDepthEXT/g,'gl_FragDepth'))[_0x10305f(0xc73)](/gl_FragColor/g,_0x10305f(0xa04)))['replace'](/gl_FragData/g,_0x10305f(0xa1f)))[_0x10305f(0xc73)](/gl_FragCoord/g,_0x10305f(0x4ea)),this[_0x10305f(0x4e6)]?null!==(_0x456072=/^\s*out\s+\S+\s+\S+\s*;/gm[_0x10305f(0xa97)](_0x571bb7))&&(_0x571bb7=_0x571bb7[_0x10305f(0x622)](0x0,_0x456072[_0x10305f(0x3fe)])+_0x10305f(0xa9f)+_0x571bb7['substring'](_0x456072[_0x10305f(0x3fe)])):_0x571bb7=_0x571bb7[_0x10305f(0xc73)](/void\s+?main\s*\(/g,(_0xe1ebdd?'':_0x10305f(0xc56))+_0x10305f(0x35a)),_0x571bb7=(_0x571bb7=_0x571bb7[_0x10305f(0xc73)](/dFdy/g,_0x10305f(0x981)))[_0x10305f(0xc73)](_0x10305f(0x933),_0x500e25),_0x4c10da&&(_0x571bb7=this[_0x10305f(0xae2)](_0x571bb7,_0x10305f(0x99b),_0x10305f(0x944)));}else{if(_0x571bb7=(_0x571bb7=_0x571bb7[_0x10305f(0xc73)](/gl_InstanceID/g,_0x10305f(0x76d)))[_0x10305f(0xc73)](/gl_VertexID/g,_0x10305f(0x710)),-0x1!==_0x2018ac[_0x10305f(0x168)](_0x10305f(0x8ee)))return _0x10305f(0x284)+_0x571bb7;}return _0x245a3e||(_0x456072=_0x571bb7[_0x10305f(0x2fc)]('}'),_0x571bb7=_0x571bb7['substring'](0x0,_0x456072),_0x571bb7+=_0x10305f(0xa12),_0x5939ec[_0x10305f(0xbc0)]||(_0x571bb7+='gl_Position.z\x20=\x20(gl_Position.z\x20+\x20gl_Position.w)\x20/\x202.0;\x0a'),_0x571bb7+='}'),_0x571bb7;}[_0x56afa7(0x26c)](_0x1d7596,_0x3f0898){var _0x19311b=_0x56afa7;const _0x28998c=new RegExp(_0x3f0898+_0x19311b(0x99a),'gm');let _0x45b052=_0x28998c[_0x19311b(0xa97)](_0x1d7596);for(;null!==_0x45b052;){const _0x34e97c=_0x45b052[0x1];let _0x1d68ed=+_0x34e97c;this[_0x19311b(0xc81)]&&isNaN(_0x1d68ed)&&(_0x1d68ed=+this[_0x19311b(0xc81)][_0x34e97c['trim']()]),_0x1d7596=_0x1d7596[_0x19311b(0xc73)](_0x45b052[0x0],_0x3f0898+_0x1d68ed),_0x45b052=_0x28998c['exec'](_0x1d7596);}return _0x1d7596;}[_0x56afa7(0x6de)](_0x87d356,_0x35f08d){var _0x5bae5a=_0x56afa7;let _0x220d25='layout(set\x20=\x20'+_0x35f08d[_0x5bae5a(0x85c)]['groupIndex']+_0x5bae5a(0x331)+_0x35f08d['binding'][_0x5bae5a(0x100)]+')\x20uniform\x20'+_0x87d356+'\x20{\x0a\x20\x20\x20\x20';for(const _0x5cafb3 of this[_0x5bae5a(0x3d8)]['leftOverUniforms'])0x0<_0x5cafb3[_0x5bae5a(0xb85)]?_0x220d25+=_0x5bae5a(0x23a)+_0x5cafb3[_0x5bae5a(0x6a4)]+'\x20'+_0x5cafb3[_0x5bae5a(0x8f9)]+'['+_0x5cafb3[_0x5bae5a(0xb85)]+_0x5bae5a(0xa0d):_0x220d25+=_0x5bae5a(0x23a)+_0x5cafb3[_0x5bae5a(0x6a4)]+'\x20'+_0x5cafb3[_0x5bae5a(0x8f9)]+';\x0a';return _0x220d25+=_0x5bae5a(0x68f);}['finalizeShaders'](_0x463808,_0x4aa99a){var _0x545f41=_0x56afa7;for(let _0x4b119b=0x0;_0x4b119b<this[_0x545f41(0x5dd)]['length'];++_0x4b119b){var _0x36df9e=this['_textureArrayProcessing'][_0x4b119b];_0x463808=this[_0x545f41(0x26c)](_0x463808,_0x36df9e),_0x4aa99a=this[_0x545f41(0x26c)](_0x4aa99a,_0x36df9e);}for(let _0x2ae18f=0x0;_0x2ae18f<this['_missingVaryings'][_0x545f41(0xb85)];++_0x2ae18f){var _0x12b1cf=this[_0x545f41(0x655)][_0x2ae18f];_0x12b1cf&&0x0<_0x12b1cf[_0x545f41(0xb85)]&&(_0x4aa99a=_0x12b1cf+'\x0a'+_0x4aa99a);}var _0x4ce8bd=this[_0x545f41(0x821)]();return _0x463808=_0x4ce8bd+_0x463808,_0x4aa99a=_0x4ce8bd+_0x4aa99a,this[_0x545f41(0x599)](),this[_0x545f41(0x2ac)](),this[_0x545f41(0xc81)]=null,{'vertexCode':_0x463808,'fragmentCode':_0x4aa99a};}}},0x1577e:(_0x213480,_0x157316,_0x242de0)=>{var _0x10aeb5=a6_0x36115b;_0x242de0['d'](_0x157316,{'o':()=>_0x139de2});var _0x4fa89e=_0x242de0(0x1114f),_0x126d71=_0x242de0(0x89a1),_0x3c97e3=_0x242de0(0x10ea4),_0x49d23a=_0x242de0(0xe83b),_0x2d852d=_0x242de0(0x75be),_0x157316=_0x242de0(0x17a92),_0x19f499=(_0x157316['v'][_0x10aeb5(0x830)][_0x10aeb5(0x9aa)]=_0x10aeb5(0x1ba),_0x157316['v'][_0x10aeb5(0x830)][_0x10aeb5(0x397)]='#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0avar\x20influence\x20:\x20mat4x4<f32>;\x0a#ifdef\x20BONETEXTURE\x0ainfluence=readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndices[0])*vertexInputs.matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndices[1])*vertexInputs.matricesWeights[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndices[2])*vertexInputs.matricesWeights[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndices[3])*vertexInputs.matricesWeights[3];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndicesExtra[0])*vertexInputs.matricesWeightsExtra[0];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndicesExtra[1])*vertexInputs.matricesWeightsExtra[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndicesExtra[2])*vertexInputs.matricesWeightsExtra[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndicesExtra[3])*vertexInputs.matricesWeightsExtra[3];\x0a#endif\x20\x0a#else\x20\x0ainfluence=uniforms.mBones[int(vertexInputs.matricesIndices[0])]*vertexInputs.matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndices[1])]*vertexInputs.matricesWeights[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndices[2])]*vertexInputs.matricesWeights[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndices[3])]*vertexInputs.matricesWeights[3];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndicesExtra[0])]*vertexInputs.matricesWeightsExtra[0];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndicesExtra[1])]*vertexInputs.matricesWeightsExtra[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndicesExtra[2])]*vertexInputs.matricesWeightsExtra[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndicesExtra[3])]*vertexInputs.matricesWeightsExtra[3];\x0a#endif\x20\x0a#endif\x0afinalWorld=finalWorld*influence;\x0a#endif\x0a#endif\x0a',_0x157316['v'][_0x10aeb5(0x830)][_0x10aeb5(0x2bc)]=_0x10aeb5(0x213),_0x157316['v'][_0x10aeb5(0x830)][_0x10aeb5(0x9f8)]=_0x10aeb5(0xcc1),_0x157316['v'][_0x10aeb5(0x830)]['clipPlaneFragment']=_0x10aeb5(0xf1),_0x157316['v'][_0x10aeb5(0x830)][_0x10aeb5(0x32d)]=_0x10aeb5(0x7dc),_0x157316['v'][_0x10aeb5(0x830)][_0x10aeb5(0x357)]=_0x10aeb5(0xaec),_0x157316['v'][_0x10aeb5(0x830)][_0x10aeb5(0x51a)]='#ifdef\x20CLIPPLANE\x0auniform\x20vClipPlane:\x20vec4<f32>;\x0avarying\x20fClipDistance:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0auniform\x20vClipPlane2:\x20vec4<f32>;\x0avarying\x20fClipDistance2:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0auniform\x20vClipPlane3:\x20vec4<f32>;\x0avarying\x20fClipDistance3:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0auniform\x20vClipPlane4:\x20vec4<f32>;\x0avarying\x20fClipDistance4:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0auniform\x20vClipPlane5:\x20vec4<f32>;\x0avarying\x20fClipDistance5:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0auniform\x20vClipPlane6:\x20vec4<f32>;\x0avarying\x20fClipDistance6:\x20f32;\x0a#endif\x0a',_0x157316['v'][_0x10aeb5(0x830)][_0x10aeb5(0xaf3)]=_0x10aeb5(0x838),_0x157316['v']['IncludesShadersStoreWGSL'][_0x10aeb5(0x99d)]='#ifdef\x20INSTANCES\x0avar\x20finalWorld=mat4x4<f32>(vertexInputs.world0,vertexInputs.world1,vertexInputs.world2,vertexInputs.world3);\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0avar\x20finalPreviousWorld=mat4x4<f32>(previousWorld0,previousWorld1,previousWorld2,previousWorld3);\x0a#endif\x0a#ifdef\x20THIN_INSTANCES\x0a#if\x20!defined(WORLD_UBO)\x0afinalWorld=uniforms.world*finalWorld;\x0a#else\x0afinalWorld=mesh.world*finalWorld;\x0a#endif\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0afinalPreviousWorld=previousWorld*finalPreviousWorld;\x0a#endif\x0a#endif\x0a#else\x0a#if\x20!defined(WORLD_UBO)\x0avar\x20finalWorld=uniforms.world;\x0a#else\x0avar\x20finalWorld=mesh.world;\x0a#endif\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0avar\x20finalPreviousWorld=previousWorld;\x0a#endif\x0a#endif\x0a',_0x157316['v']['IncludesShadersStoreWGSL'][_0x10aeb5(0xcc7)]=_0x10aeb5(0x3a5),_0x157316['v'][_0x10aeb5(0x830)][_0x10aeb5(0x580)]=_0x10aeb5(0x23c),_0x157316['v'][_0x10aeb5(0x830)][_0x10aeb5(0x796)]=_0x10aeb5(0x538),_0x157316['v'][_0x10aeb5(0x830)][_0x10aeb5(0x1a4)]=_0x10aeb5(0x77f),_0x157316['v'][_0x10aeb5(0x830)]['morphTargetsVertexGlobalDeclaration']=_0x10aeb5(0x48a),_0x157316['v'][_0x10aeb5(0x830)]['sceneUboDeclaration']=_0x10aeb5(0xe3),_0x242de0(0x11722));const _0x30ac44='fragmentOutputs.fragDepth',_0xf5518d={'texture_1d':_0x126d71['p_']['E1d'],'texture_2d':_0x126d71['p_'][_0x10aeb5(0xb2e)],'texture_2d_array':_0x126d71['p_'][_0x10aeb5(0x6f1)],'texture_3d':_0x126d71['p_']['E3d'],'texture_cube':_0x126d71['p_']['Cube'],'texture_cube_array':_0x126d71['p_'][_0x10aeb5(0x930)],'texture_multisampled_2d':_0x126d71['p_'][_0x10aeb5(0xb2e)],'texture_depth_2d':_0x126d71['p_'][_0x10aeb5(0xb2e)],'texture_depth_2d_array':_0x126d71['p_'][_0x10aeb5(0x6f1)],'texture_depth_cube':_0x126d71['p_'][_0x10aeb5(0x17c)],'texture_depth_cube_array':_0x126d71['p_'][_0x10aeb5(0x930)],'texture_depth_multisampled_2d':_0x126d71['p_'][_0x10aeb5(0xb2e)],'texture_storage_1d':_0x126d71['p_'][_0x10aeb5(0x807)],'texture_storage_2d':_0x126d71['p_'][_0x10aeb5(0xb2e)],'texture_storage_2d_array':_0x126d71['p_'][_0x10aeb5(0x6f1)],'texture_storage_3d':_0x126d71['p_'][_0x10aeb5(0x963)],'texture_external':null};class _0x139de2 extends _0x49d23a['e']{constructor(){var _0x1047f5=_0x10aeb5;super(...arguments),this[_0x1047f5(0x474)]=_0x19f499['x']['WGSL'],this[_0x1047f5(0xb0f)]=/uniform\s+(\w+)\s*:\s*(.+)\s*;/,this[_0x1047f5(0x95b)]=/var\s+(\w+)\s*:\s*((array<\s*)?(texture_\w+)\s*(<\s*(.+)\s*>)?\s*(,\s*\w+\s*>\s*)?);/,this[_0x1047f5(0x522)]=!0x0;}['_getArraySize'](_0x1600d2,_0xd7690b,_0x2bef43){var _0x4b8a01=_0x10aeb5;let _0x448ce7=0x0;var _0x2c1233=_0xd7690b[_0x4b8a01(0x2fc)]('>');if(0x0<=_0xd7690b[_0x4b8a01(0x168)]('array')&&0x0<_0x2c1233){let _0x40eceb=_0x2c1233;for(;0x0<_0x40eceb&&'\x20'!==_0xd7690b[_0x4b8a01(0x734)](_0x40eceb)&&','!==_0xd7690b[_0x4b8a01(0x734)](_0x40eceb);)_0x40eceb--;const _0x39c58f=_0xd7690b[_0x4b8a01(0x622)](_0x40eceb+0x1,_0x2c1233);for(_0x448ce7=+_0x39c58f,isNaN(_0x448ce7)&&(_0x448ce7=+_0x2bef43[_0x39c58f[_0x4b8a01(0xa2e)]()]);0x0<_0x40eceb&&('\x20'===_0xd7690b['charAt'](_0x40eceb)||','===_0xd7690b[_0x4b8a01(0x734)](_0x40eceb));)_0x40eceb--;_0xd7690b=_0xd7690b[_0x4b8a01(0x622)](_0xd7690b[_0x4b8a01(0x168)]('<')+0x1,_0x40eceb+0x1);}return[_0x1600d2,_0xd7690b,_0x448ce7];}[_0x10aeb5(0x94e)](_0x135924){var _0x281470=_0x10aeb5;this[_0x281470(0x3d8)]=_0x135924,this[_0x281470(0x466)]=[],this[_0x281470(0x956)]=[],this[_0x281470(0x2fb)]=[],this[_0x281470(0x8c2)]=[];}[_0x10aeb5(0xb87)](_0x24d994){var _0x3d91a2=_0x10aeb5;return _0x3d91a2(0x54f)+_0x49d23a['e'][_0x3d91a2(0x8b0)]+_0x3d91a2(0xbda)+_0x49d23a['e']['InternalsUBOName']+';\x0a'+(0x0,_0x2d852d['Kt'])(_0x24d994);}['varyingProcessor'](_0x29ddf4,_0x41f1cc,_0x50cd17){var _0x3331d3=_0x10aeb5,_0x4fc314=/\s*varying\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s*:\s*(.+)\s*;/gm[_0x3331d3(0xa97)](_0x29ddf4);if(null!==_0x4fc314){var _0x513856=_0x4fc314[0x2],_0x4fc314=_0x4fc314[0x1];let _0x17e939;_0x41f1cc?void 0x0===(_0x17e939=this[_0x3331d3(0x3d8)]['availableVaryings'][_0x4fc314])&&_0x3c97e3['Y'][_0x3331d3(0x2e9)](_0x3331d3(0xa1b)+_0x4fc314+_0x3331d3(0xc61)):(_0x17e939=this['_webgpuProcessingContext'][_0x3331d3(0x3a9)](_0x513856,this[_0x3331d3(0x768)](_0x4fc314,_0x513856,_0x50cd17)[0x2]),this[_0x3331d3(0x3d8)][_0x3331d3(0x164)][_0x4fc314]=_0x17e939,this[_0x3331d3(0x956)]['push']('\x20\x20@location('+_0x17e939+')\x20'+_0x4fc314+_0x3331d3(0x856)+_0x513856+','),this['_varyingNamesWGSL'][_0x3331d3(0x731)](_0x4fc314)),_0x29ddf4='';}return _0x29ddf4;}[_0x10aeb5(0x1e6)](_0x14284e,_0x500682){var _0x8f4831=_0x10aeb5,_0x4326e6,_0x51c629=/\s*attribute\s+(\S+)\s*:\s*(.+)\s*;/gm[_0x8f4831(0xa97)](_0x14284e);return null!==_0x51c629&&(_0x4326e6=_0x51c629[0x2],_0x51c629=_0x51c629[0x1],_0x500682=this[_0x8f4831(0x3d8)][_0x8f4831(0x1c8)](_0x4326e6,this['_getArraySize'](_0x51c629,_0x4326e6,_0x500682)[0x2]),this[_0x8f4831(0x3d8)][_0x8f4831(0x624)][_0x51c629]=_0x500682,this[_0x8f4831(0x3d8)][_0x8f4831(0x744)][_0x500682]=_0x51c629,this[_0x8f4831(0x466)][_0x8f4831(0x731)](_0x8f4831(0x8eb)+_0x500682+')\x20'+_0x51c629+'\x20:\x20'+_0x4326e6+','),_0x14284e=''),_0x14284e;}[_0x10aeb5(0x8b7)](_0x215b29,_0x5db90e,_0x1b6e7f){var _0x1351fd=_0x10aeb5,_0x4582b0,_0x3f68a0=this[_0x1351fd(0xb0f)][_0x1351fd(0xa97)](_0x215b29);return null!==_0x3f68a0&&(_0x4582b0=_0x3f68a0[0x2],_0x3f68a0=_0x3f68a0[0x1],this['_addUniformToLeftOverUBO'](_0x3f68a0,_0x4582b0,_0x1b6e7f),_0x215b29=''),_0x215b29;}[_0x10aeb5(0x102)](_0x4e8b79,_0x249711,_0x4c26cb){var _0x3011cf=_0x10aeb5,_0x4d6aa2=this[_0x3011cf(0x95b)][_0x3011cf(0xa97)](_0x4e8b79);if(null!==_0x4d6aa2){var _0x251d84=_0x4d6aa2[0x1],_0xa5e6b5=_0x4d6aa2[0x2],_0x2e03ff=!!_0x4d6aa2[0x3];const _0x2d7aed=_0x4d6aa2[0x4];var _0x4142f3=0x0<_0x2d7aed[_0x3011cf(0x168)](_0x3011cf(0xc41));const _0x465611=_0x4d6aa2[0x6];var _0x45fe5d=_0x4142f3?_0x465611[_0x3011cf(0x622)](0x0,_0x465611['indexOf'](','))[_0x3011cf(0xa2e)]():null;let _0x8e3cc1=_0x2e03ff?this[_0x3011cf(0x768)](_0x251d84,_0xa5e6b5,_0x4c26cb)[0x2]:0x0,_0x215e36=this[_0x3011cf(0x3d8)][_0x3011cf(0xbff)][_0x251d84];if(_0x215e36)_0x8e3cc1=_0x215e36[_0x3011cf(0x345)][_0x3011cf(0xb85)];else{_0x215e36={'isTextureArray':0x0<_0x8e3cc1,'isStorageTexture':_0x4142f3,'textures':[],'sampleType':_0x126d71['oD'][_0x3011cf(0x661)]},_0x8e3cc1=_0x8e3cc1||0x1;for(let _0x2a53b5=0x0;_0x2a53b5<_0x8e3cc1;++_0x2a53b5)_0x215e36[_0x3011cf(0x345)][_0x3011cf(0x731)](this[_0x3011cf(0x3d8)][_0x3011cf(0x958)]());}this['_webgpuProcessingContext'][_0x3011cf(0xbff)][_0x251d84]=_0x215e36;var _0x4d6aa2=0x0<_0x2d7aed[_0x3011cf(0x168)](_0x3011cf(0x67b)),_0x163686=_0xf5518d[_0x2d7aed],_0x2e03ff=_0x4d6aa2?_0x126d71['oD'][_0x3011cf(0x6a7)]:_0x3011cf(0x39b)===_0x465611?_0x126d71['oD']['Uint']:_0x3011cf(0x2b0)===_0x465611?_0x126d71['oD'][_0x3011cf(0x3aa)]:_0x126d71['oD'][_0x3011cf(0x661)];if(_0x215e36[_0x3011cf(0x297)]=_0x2e03ff,void 0x0===_0x163686)throw'Can\x27t\x20get\x20the\x20texture\x20dimension\x20corresponding\x20to\x20the\x20texture\x20function\x20\x22'+_0x2d7aed+'\x22!';for(let _0x365ade=0x0;_0x365ade<_0x8e3cc1;++_0x365ade){var {groupIndex:_0x466a11,bindingIndex:_0x408af7}=_0x215e36[_0x3011cf(0x345)][_0x365ade];0x0===_0x365ade&&(_0x4e8b79=_0x3011cf(0x452)+_0x466a11+_0x3011cf(0xb7f)+_0x408af7+')\x20'+_0x4e8b79),this[_0x3011cf(0x9d3)](_0x251d84,_0x215e36,_0x365ade,_0x163686,_0x45fe5d,!_0x249711);}}return _0x4e8b79;}['postProcessor'](_0x6f74cd){return _0x6f74cd;}['finalizeShaders'](_0x1f75b,_0x3fbb7e){var _0x6e437e=_0x10aeb5,_0x53403=0x0<=_0x3fbb7e['indexOf'](_0x6e437e(0x5fc))?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(internals.yFactor_\x20==\x201.)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fragmentInputs.position.y\x20=\x20internals.textureOutputHeight_\x20-\x20fragmentInputs.position.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20':'',_0x21eadd=(_0x1f75b=this[_0x6e437e(0xb02)](_0x1f75b,!0x0),_0x3fbb7e=this[_0x6e437e(0xb02)](_0x3fbb7e,!0x1),_0x1f75b=this['_processCustomBuffers'](_0x1f75b,!0x0),_0x3fbb7e=this[_0x6e437e(0xc4e)](_0x3fbb7e,!0x1),this[_0x6e437e(0x821)]());_0x3fbb7e=_0x21eadd+_0x3fbb7e,_0x1f75b=(_0x1f75b=_0x21eadd+_0x1f75b)['replace'](/#define /g,_0x6e437e(0x80e)),_0x1f75b=this[_0x6e437e(0xa7f)](_0x1f75b);let _0x12d0d1=_0x6e437e(0x70b),_0x479b67=(0x0<this[_0x6e437e(0x466)]['length']&&(_0x12d0d1+=this[_0x6e437e(0x466)]['join']('\x0a')),_0x12d0d1+=_0x6e437e(0x85e),'struct\x20FragmentInputs\x20{\x0a\x20\x20@builtin(position)\x20position\x20:\x20vec4<f32>,\x0a'),_0x103667=(0x0<this[_0x6e437e(0x956)][_0x6e437e(0xb85)]&&(_0x479b67+=this[_0x6e437e(0x956)][_0x6e437e(0xb83)]('\x0a')),_0x479b67+='\x0a};\x0avar<private>\x20vertexOutputs\x20:\x20FragmentInputs;\x0a',_0x1f75b=_0x12d0d1+_0x479b67+_0x1f75b,_0x1f75b=this[_0x6e437e(0xae2)](_0x1f75b,'fn\x20main',_0x6e437e(0x639),_0x6e437e(0x79c)),_0x3fbb7e=_0x3fbb7e[_0x6e437e(0xc73)](/#define /g,_0x6e437e(0x80e)),_0x3fbb7e=(_0x3fbb7e=this[_0x6e437e(0xa7f)](_0x3fbb7e))[_0x6e437e(0xc73)](/dpdy/g,_0x6e437e(0x3c7)),'struct\x20FragmentInputs\x20{\x0a\x20\x20@builtin(position)\x20position\x20:\x20vec4<f32>,\x0a\x20\x20@builtin(front_facing)\x20frontFacing\x20:\x20bool,\x0a'),_0x2a5f91=(0x0<this[_0x6e437e(0x956)][_0x6e437e(0xb85)]&&(_0x103667+=this['_varyingsWGSL']['join']('\x0a')),_0x103667+=_0x6e437e(0xc55),_0x6e437e(0x4c1)),_0xd3915c=!0x1,_0x239a93=0x0;for(;!(_0xd3915c||(_0x239a93=_0x3fbb7e['indexOf'](_0x30ac44,_0x239a93))<0x0);){var _0x48af69=_0x239a93;for(_0xd3915c=!0x0;0x1<_0x239a93&&'\x0a'!==_0x3fbb7e[_0x6e437e(0x734)](_0x239a93);){if('/'===_0x3fbb7e['charAt'](_0x239a93)&&'/'===_0x3fbb7e['charAt'](_0x239a93-0x1)){_0xd3915c=!0x1;break;}_0x239a93--;}_0x239a93=_0x48af69+_0x30ac44['length'];}return _0xd3915c&&(_0x2a5f91+='\x20\x20@builtin(frag_depth)\x20fragDepth:\x20f32,\x0a'),_0x2a5f91+='};\x0avar<private>\x20fragmentOutputs\x20:\x20FragmentOutputs;\x0a',_0x3fbb7e=_0x103667+_0x2a5f91+_0x3fbb7e,_0x3fbb7e=this[_0x6e437e(0xae2)](_0x3fbb7e,_0x6e437e(0x405),_0x6e437e(0xb22)+_0x53403,_0x6e437e(0x45e)),this[_0x6e437e(0x599)](),this[_0x6e437e(0x2ac)](),{'vertexCode':_0x1f75b,'fragmentCode':_0x3fbb7e};}[_0x10aeb5(0x6de)](_0x48f7f0,_0x5be4ac){var _0x17d7fb=_0x10aeb5;let _0x54f276='',_0x5d852c=_0x17d7fb(0x54f)+_0x48f7f0+_0x17d7fb(0x869);for(const _0x181d91 of this[_0x17d7fb(0x3d8)][_0x17d7fb(0x790)]){var _0x58c150=_0x181d91[_0x17d7fb(0x6a4)][_0x17d7fb(0xc73)](/^(.*?)(<.*>)?$/,'$1'),_0x425be1=_0x49d23a['e']['UniformSizes'][_0x58c150];0x0<_0x181d91[_0x17d7fb(0xb85)]?_0x425be1<=0x2?(_0x425be1=_0x48f7f0+'_'+this['_stridedUniformArrays'][_0x17d7fb(0xb85)]+_0x17d7fb(0x38a),_0x54f276+=_0x17d7fb(0x54f)+_0x425be1+_0x17d7fb(0x56a)+_0x58c150+_0x17d7fb(0xc32),this[_0x17d7fb(0x8c2)][_0x17d7fb(0x731)](_0x181d91[_0x17d7fb(0x8f9)]),_0x5d852c+=_0x17d7fb(0x44a)+_0x181d91['name']+'\x20:\x20array<'+_0x425be1+',\x20'+_0x181d91[_0x17d7fb(0xb85)]+_0x17d7fb(0x87d)):_0x5d852c+='\x20'+_0x181d91['name']+'\x20:\x20array<'+_0x181d91[_0x17d7fb(0x6a4)]+',\x20'+_0x181d91[_0x17d7fb(0xb85)]+_0x17d7fb(0x87d):_0x5d852c+='\x20\x20'+_0x181d91['name']+_0x17d7fb(0x856)+_0x181d91[_0x17d7fb(0x6a4)]+',\x0a';}return _0x5d852c+='};\x0a',_0x5d852c=_0x54f276+'\x0a'+_0x5d852c,_0x5d852c+=_0x17d7fb(0x452)+_0x5be4ac[_0x17d7fb(0x85c)][_0x17d7fb(0xc95)]+_0x17d7fb(0xb7f)+_0x5be4ac[_0x17d7fb(0x85c)][_0x17d7fb(0x100)]+_0x17d7fb(0x894)+_0x48f7f0+';\x0a';}[_0x10aeb5(0xb02)](_0x30d2f9,_0xa1e1a3){var _0x22f7f6=_0x10aeb5;const _0xfda1bd=/var\s+(\w+Sampler)\s*:\s*(sampler|sampler_comparison)\s*;/gm;for(;;){var _0x33d018=_0xfda1bd[_0x22f7f6(0xa97)](_0x30d2f9);if(null===_0x33d018)break;const _0x5447ef=_0x33d018[0x1];var _0x10bd2c=_0x33d018[0x2],_0x3aaed2=_0x5447ef['indexOf'](_0x49d23a['e'][_0x22f7f6(0x6d2)])===_0x5447ef['length']-_0x49d23a['e'][_0x22f7f6(0x6d2)]['length']?_0x5447ef[_0x22f7f6(0x622)](0x0,_0x5447ef[_0x22f7f6(0x168)](_0x49d23a['e'][_0x22f7f6(0x6d2)])):null,_0x10bd2c=_0x22f7f6(0x8e0)===_0x10bd2c?_0x126d71['dV'][_0x22f7f6(0x957)]:_0x126d71['dV']['Filtering'];if(_0x3aaed2){const _0x5d0344=this[_0x22f7f6(0x3d8)][_0x22f7f6(0xbff)][_0x3aaed2];_0x5d0344&&(_0x5d0344[_0x22f7f6(0x63a)]=!0x0);}let _0x569f59=this[_0x22f7f6(0x3d8)][_0x22f7f6(0x4d3)][_0x5447ef];_0x569f59||(_0x569f59={'binding':this[_0x22f7f6(0x3d8)][_0x22f7f6(0x958)](),'type':_0x10bd2c},this[_0x22f7f6(0x3d8)]['availableSamplers'][_0x5447ef]=_0x569f59),this['_addSamplerBindingDescription'](_0x5447ef,_0x569f59,_0xa1e1a3),(_0x3aaed2=_0x30d2f9[_0x22f7f6(0x622)](0x0,_0x33d018[_0x22f7f6(0x3fe)]),_0x10bd2c=_0x22f7f6(0x452)+_0x569f59[_0x22f7f6(0x85c)][_0x22f7f6(0xc95)]+_0x22f7f6(0xb7f)+_0x569f59[_0x22f7f6(0x85c)][_0x22f7f6(0x100)]+')\x20'),(_0x30d2f9=_0x3aaed2+_0x10bd2c+_0x30d2f9[_0x22f7f6(0x622)](_0x33d018[_0x22f7f6(0x3fe)]),_0xfda1bd[_0x22f7f6(0x75c)]+=_0x10bd2c[_0x22f7f6(0xb85)]);}return _0x30d2f9;}['_processCustomBuffers'](_0x47ce7a,_0x2cdadc){var _0x317f11=_0x10aeb5;const _0x30b5b6=/var<\s*(uniform|storage)\s*(,\s*(read|read_write)\s*)?>\s+(\S+)\s*:\s*(\S+)\s*;/gm;for(;;){var _0x299fe2=_0x30b5b6['exec'](_0x47ce7a);if(null===_0x299fe2)break;var _0x2cc44a=_0x299fe2[0x1],_0xe3a170=_0x299fe2[0x3];let _0x550561=_0x299fe2[0x4];var _0x5a1026=_0x299fe2[0x5];let _0x6abe4d=this['_webgpuProcessingContext'][_0x317f11(0x6c0)][_0x550561];if(!_0x6abe4d){var _0x1275fb=_0x317f11(0x2d7)===_0x2cc44a?_0x4fa89e['d'][_0x317f11(0x7d5)][_0x5a1026]:null;let _0x349aef;_0x1275fb?(_0x550561=_0x5a1026,-0x1===(_0x349aef=_0x1275fb[_0x317f11(0x85c)])[_0x317f11(0xc95)]&&(_0x349aef=this[_0x317f11(0x3d8)][_0x317f11(0x958)]())):_0x349aef=this['_webgpuProcessingContext'][_0x317f11(0x958)](),_0x6abe4d={'binding':_0x349aef},this[_0x317f11(0x3d8)][_0x317f11(0x6c0)][_0x550561]=_0x6abe4d;}this[_0x317f11(0xadd)](_0x550561,this['_webgpuProcessingContext'][_0x317f11(0x6c0)][_0x550561],_0x317f11(0x477)===_0xe3a170?_0x126d71['Rs']['Storage']:_0x317f11(0xc41)===_0x2cc44a?_0x126d71['Rs'][_0x317f11(0x77d)]:_0x126d71['Rs'][_0x317f11(0x8d0)],_0x2cdadc),_0x5a1026=_0x317f11(0x452)+_0x6abe4d[_0x317f11(0x85c)][_0x317f11(0xc95)]+_0x317f11(0xb7f)+_0x6abe4d['binding']['bindingIndex']+')\x20',(_0x47ce7a=_0x47ce7a[_0x317f11(0x622)](0x0,_0x299fe2[_0x317f11(0x3fe)])+_0x5a1026+_0x47ce7a['substring'](_0x299fe2[_0x317f11(0x3fe)]),_0x30b5b6[_0x317f11(0x75c)]+=_0x5a1026[_0x317f11(0xb85)]);}return _0x47ce7a;}['_processStridedUniformArrays'](_0x51d221){var _0x34cbab=_0x10aeb5;for(const _0x14fe22 of this[_0x34cbab(0x8c2)])_0x51d221=_0x51d221[_0x34cbab(0xc73)](new RegExp(_0x14fe22+_0x34cbab(0xa6b),'g'),_0x14fe22+'[$1].el');return _0x51d221;}}},0x99e2:(_0x5b734c,_0x1ed189,_0x527c24)=>{var _0x4e320e=a6_0x36115b;_0x527c24['d'](_0x1ed189,{'w':()=>_0x9d910a});var _0x20224b=_0x527c24(0x77a5);class _0x9d910a{constructor(_0x2b9eec,_0x5dd2d4,_0x5828e7,_0x179538){var _0x292428=a6_0x238e;this[_0x292428(0xa77)]=!0x1,this[_0x292428(0x17a)]=!0x1,this['_mainPassBundleList']=[],this[_0x292428(0xc89)]=!0x1,this['_engine']=_0x2b9eec,this[_0x292428(0x5ba)]=_0x5dd2d4,this[_0x292428(0x577)]=_0x5828e7,this[_0x292428(0x45b)]=_0x179538;}get[_0x4e320e(0x8c1)](){var _0x27c131=_0x4e320e;return this[_0x27c131(0xc89)];}get['play'](){var _0x464da2=_0x4e320e;return this[_0x464da2(0x17a)];}get['record'](){return this['_record'];}set['enabled'](_0x5be345){var _0x15f20f=_0x4e320e;this[_0x15f20f(0xb28)]['length']=0x0,this[_0x15f20f(0xa77)]=this[_0x15f20f(0xc89)]=_0x5be345,this['_play']=!0x1,_0x5be345&&(this[_0x15f20f(0x4b5)]=this['_mode'],this[_0x15f20f(0x5ba)]=_0x20224b['g'][_0x15f20f(0x550)]);}get[_0x4e320e(0xba2)](){return this['_mode'];}set[_0x4e320e(0xba2)](_0x2661a5){var _0x450e0e=_0x4e320e;this[_0x450e0e(0xa77)]?this['_modeSaved']=_0x2661a5:this['_mode']=_0x2661a5;}[_0x4e320e(0x455)](){var _0x5bf54d=_0x4e320e;this[_0x5bf54d(0xa77)]&&this[_0x5bf54d(0xb28)]['push'](this[_0x5bf54d(0x577)][_0x5bf54d(0x21d)]());}[_0x4e320e(0xc60)](_0x6a6260,_0x463358){var _0x148b30=_0x4e320e,_0x461701;if(this[_0x148b30(0x17a)])null!=(_0x461701=null==(_0x461701=_0x463358['_bundleLists'])?void 0x0:_0x461701[_0x463358[_0x148b30(0x583)]])&&_0x461701[_0x148b30(0xba6)](_0x6a6260),this[_0x148b30(0x5ba)]===_0x20224b['g'][_0x148b30(0xae7)]&&this[_0x148b30(0x4ae)][_0x148b30(0xb93)](null==(_0x461701=null==(_0x461701=_0x463358[_0x148b30(0x8e6)])?void 0x0:_0x461701[_0x463358[_0x148b30(0x583)]])?void 0x0:_0x461701['numDrawCalls']);else{if(!this[_0x148b30(0xa77)])return!0x1;_0x463358[_0x148b30(0x8e6)]||(_0x463358['_bundleLists']=[]),_0x463358[_0x148b30(0x8e6)][_0x463358[_0x148b30(0x583)]]=this[_0x148b30(0x45b)][_0x148b30(0x21d)](),_0x463358['_bundleLists'][_0x463358[_0x148b30(0x583)]][_0x148b30(0xba6)](_0x6a6260),this[_0x148b30(0x45b)]['reset']();}return!0x0;}[_0x4e320e(0x959)](_0x1ab74b){var _0x2943ec=_0x4e320e;if(this[_0x2943ec(0xa77)]&&(this['_mainPassBundleList'][_0x2943ec(0x731)](this[_0x2943ec(0x577)]['clone']()),this[_0x2943ec(0xa77)]=!0x1,this['_play']=!0x0,this[_0x2943ec(0x5ba)]=this[_0x2943ec(0x4b5)]),null!==_0x1ab74b&&this[_0x2943ec(0x17a)]){for(let _0x495432=0x0;_0x495432<this[_0x2943ec(0xb28)]['length'];++_0x495432)this['_mainPassBundleList'][_0x495432]['run'](_0x1ab74b),this[_0x2943ec(0x5ba)]===_0x20224b['g'][_0x2943ec(0xae7)]&&this['_engine'][_0x2943ec(0xb93)](this['_mainPassBundleList'][_0x495432][_0x2943ec(0x974)]);}}[_0x4e320e(0x40b)](){var _0x649d33=_0x4e320e;this[_0x649d33(0x8c1)]=!0x1,this['enabled']=!0x0;}}},0x6c74:(_0xc49e7,_0x9be710,_0x297d18)=>{var _0x322fe2=a6_0x36115b;_0x297d18['d'](_0x9be710,{'F':()=>_0x5e3e70});class _0x5e3e70 extends _0x297d18(0x2902)['C']{constructor(_0x587234){var _0x168136=a6_0x238e;super(!0x1),this[_0x168136(0x386)]=_0x587234,this['reset']();}get[_0x322fe2(0x182)](){var _0x37f99c=_0x322fe2;return this[_0x37f99c(0xca2)];}set[_0x322fe2(0x182)](_0x1a0803){var _0x5b28ce=_0x322fe2;this[_0x5b28ce(0xca2)]!==_0x1a0803&&(this[_0x5b28ce(0xca2)]=_0x1a0803,this[_0x5b28ce(0x386)][_0x5b28ce(0x8b1)](_0x1a0803));}get[_0x322fe2(0x9a5)](){var _0x38ea2f=_0x322fe2;return this[_0x38ea2f(0x571)];}set[_0x322fe2(0x9a5)](_0xbd15eb){var _0x21af45=_0x322fe2;this[_0x21af45(0x571)]!==_0xbd15eb&&(this[_0x21af45(0x571)]=_0xbd15eb,this['_cache'][_0x21af45(0xaa9)](_0xbd15eb));}get[_0x322fe2(0x8b6)](){var _0x44ad23=_0x322fe2;return this[_0x44ad23(0x33a)];}set[_0x322fe2(0x8b6)](_0x225aca){var _0x1a9ede=_0x322fe2;this[_0x1a9ede(0x33a)]!==_0x225aca&&(this[_0x1a9ede(0x33a)]=_0x225aca,this['_cache']['setStencilFailOp'](_0x225aca));}get['opDepthFail'](){var _0x28867f=_0x322fe2;return this[_0x28867f(0x6ee)];}set[_0x322fe2(0x489)](_0x4c0961){var _0x21c837=_0x322fe2;this[_0x21c837(0x6ee)]!==_0x4c0961&&(this[_0x21c837(0x6ee)]=_0x4c0961,this[_0x21c837(0x386)]['setStencilDepthFailOp'](_0x4c0961));}get['opStencilDepthPass'](){var _0x103fa3=_0x322fe2;return this[_0x103fa3(0x646)];}set[_0x322fe2(0xba0)](_0x3fe8f2){var _0x2c5a90=_0x322fe2;this[_0x2c5a90(0x646)]!==_0x3fe8f2&&(this[_0x2c5a90(0x646)]=_0x3fe8f2,this[_0x2c5a90(0x386)][_0x2c5a90(0x245)](_0x3fe8f2));}get[_0x322fe2(0x617)](){return this['_mask'];}set['mask'](_0x20113e){var _0x30bd1d=_0x322fe2;this[_0x30bd1d(0x7b1)]!==_0x20113e&&(this[_0x30bd1d(0x7b1)]=_0x20113e,this['_cache'][_0x30bd1d(0x5b6)](_0x20113e));}get['enabled'](){return this['_enabled'];}set[_0x322fe2(0x8c1)](_0x45da62){var _0x51d67d=_0x322fe2;this[_0x51d67d(0xc89)]!==_0x45da62&&(this[_0x51d67d(0xc89)]=_0x45da62,this['_cache']['setStencilEnabled'](_0x45da62));}[_0x322fe2(0x40b)](){var _0x5e3cab=_0x322fe2;super[_0x5e3cab(0x40b)](),this['_cache'][_0x5e3cab(0x384)]();}[_0x322fe2(0xc72)](){var _0x51c54a=_0x322fe2,_0x4883d6=null==(_0x4883d6=this[_0x51c54a(0x294)])?void 0x0:_0x4883d6[_0x51c54a(0x8c1)];this[_0x51c54a(0x8c1)]=(_0x4883d6?this[_0x51c54a(0x294)]:this[_0x51c54a(0xa88)])['enabled'],this[_0x51c54a(0x8c1)]&&(this[_0x51c54a(0x182)]=(_0x4883d6?this['stencilMaterial']:this[_0x51c54a(0xa88)])['func'],this[_0x51c54a(0xa40)]=(_0x4883d6?this['stencilMaterial']:this[_0x51c54a(0xa88)])[_0x51c54a(0xa40)],this[_0x51c54a(0x9a5)]=(_0x4883d6?this[_0x51c54a(0x294)]:this[_0x51c54a(0xa88)])[_0x51c54a(0x9a5)],this[_0x51c54a(0x8b6)]=(_0x4883d6?this[_0x51c54a(0x294)]:this[_0x51c54a(0xa88)])[_0x51c54a(0x8b6)],this['opDepthFail']=(_0x4883d6?this[_0x51c54a(0x294)]:this['stencilGlobal'])[_0x51c54a(0x489)],this[_0x51c54a(0xba0)]=(_0x4883d6?this['stencilMaterial']:this[_0x51c54a(0xa88)])[_0x51c54a(0xba0)],this['mask']=(_0x4883d6?this[_0x51c54a(0x294)]:this['stencilGlobal'])['mask']);}}},0x59c6:(_0xb0d79b,_0x3c788c,_0x2189a3)=>{var _0x25ad72=a6_0x36115b;_0x2189a3['d'](_0x3c788c,{'D':()=>_0x1fcd9f,'U':()=>_0x509c22});var _0x3e75c0,_0x495433,_0x5ba32=_0x2189a3(0x89a1),_0xbffb0a=_0x2189a3(0x1b5c),_0x58f0f2=_0x2189a3(0x77a5),_0x1fb4a2=_0x2189a3(0x25b1),_0x485a2e=_0x2189a3(0x18215);_0x3e75c0={'MipMap':0x0,0x0:_0x25ad72(0x3ca),'InvertYPremultiplyAlpha':0x1,0x1:'InvertYPremultiplyAlpha','Clear':0x2,0x2:_0x25ad72(0x1de),'InvertYPremultiplyAlphaWithOfst':0x3,0x3:_0x25ad72(0x5d9)},_0x495433={'DontInvertY':0x0,0x0:'DontInvertY','InvertY':0x1,0x1:_0x25ad72(0x37a)};const _0x10bd9e=[{'vertex':_0x25ad72(0x1c9),'fragment':'\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20sampler\x20imgSampler;\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x201)\x20uniform\x20texture2D\x20img;\x0a\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20in\x20vec2\x20vTex;\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20texture(sampler2D(img,\x20imgSampler),\x20vTex);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20'},{'vertex':_0x25ad72(0x590),'fragment':'\x0a\x20\x20\x20\x20#extension\x20GL_EXT_samplerless_texture_functions\x20:\x20enable\x0a\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20texture2D\x20img;\x0a\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20layout(location\x20=\x200)\x20in\x20flat\x20ivec2\x20vTextureSize;\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.x,\x20vTextureSize.y\x20-\x20gl_FragCoord.y),\x200);\x0a\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.xy),\x200);\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20#ifdef\x20PREMULTIPLYALPHA\x0a\x20\x20\x20\x20\x20\x20\x20\x20color.rgb\x20*=\x20color.a;\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20color;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20'},{'vertex':_0x25ad72(0x2c3),'fragment':_0x25ad72(0x20e)},{'vertex':'\x0a\x20\x20\x20\x20#extension\x20GL_EXT_samplerless_texture_functions\x20:\x20enable\x0a\x0a\x20\x20\x20\x20const\x20vec2\x20pos[4]\x20=\x20vec2[4](vec2(-1.0f,\x201.0f),\x20vec2(1.0f,\x201.0f),\x20vec2(-1.0f,\x20-1.0f),\x20vec2(1.0f,\x20-1.0f));\x0a\x20\x20\x20\x20const\x20vec2\x20tex[4]\x20=\x20vec2[4](vec2(0.0f,\x200.0f),\x20vec2(1.0f,\x200.0f),\x20vec2(0.0f,\x201.0f),\x20vec2(1.0f,\x201.0f));\x0a\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20texture2D\x20img;\x0a\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20flat\x20ivec2\x20vTextureSize;\x0a\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vTextureSize\x20=\x20textureSize(img,\x200);\x0a\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(pos[gl_VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','fragment':'\x0a\x20\x20\x20\x20#extension\x20GL_EXT_samplerless_texture_functions\x20:\x20enable\x0a\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20texture2D\x20img;\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x201)\x20uniform\x20Params\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20ofstX;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20ofstY;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20width;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20height;\x0a\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20layout(location\x20=\x200)\x20in\x20flat\x20ivec2\x20vTextureSize;\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(gl_FragCoord.x\x20<\x20ofstX\x20||\x20gl_FragCoord.x\x20>=\x20ofstX\x20+\x20width)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(gl_FragCoord.y\x20<\x20ofstY\x20||\x20gl_FragCoord.y\x20>=\x20ofstY\x20+\x20height)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.x,\x20ofstY\x20+\x20height\x20-\x20(gl_FragCoord.y\x20-\x20ofstY)),\x200);\x0a\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.xy),\x200);\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20#ifdef\x20PREMULTIPLYALPHA\x0a\x20\x20\x20\x20\x20\x20\x20\x20color.rgb\x20*=\x20color.a;\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20color;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20'}],_0x509c22={'':0x0,'r8unorm':0x1,'r8uint':0x2,'r8sint':0x3,'r16uint':0x4,'r16sint':0x5,'r16float':0x6,'rg8unorm':0x7,'rg8uint':0x8,'rg8sint':0x9,'r32uint':0xa,'r32sint':0xb,'r32float':0xc,'rg16uint':0xd,'rg16sint':0xe,'rg16float':0xf,'rgba8unorm':0x10,'rgba8unorm-srgb':0x11,'rgba8uint':0x12,'rgba8sint':0x13,'bgra8unorm':0x14,'bgra8unorm-srgb':0x15,'rgb10a2unorm':0x16,'rg32uint':0x17,'rg32sint':0x18,'rg32float':0x19,'rgba16uint':0x1a,'rgba16sint':0x1b,'rgba16float':0x1c,'rgba32uint':0x1d,'rgba32sint':0x1e,'rgba32float':0x1f,'stencil8':0x20,'depth16unorm':0x21,'depth24plus':0x22,'depth24plus-stencil8':0x23,'depth32float':0x24,'depth24unorm-stencil8':0x25,'depth32float-stencil8':0x26};class _0x1fcd9f{constructor(_0x59452e,_0x2c7f99,_0x46f389,_0x3fe4f1){var _0x29a41e=_0x25ad72;this[_0x29a41e(0xa2b)]={},this[_0x29a41e(0x3a0)]=[],this['_videoPipelines']={},this[_0x29a41e(0x4fb)]=[],this[_0x29a41e(0x1c1)]=[],this['_device']=_0x59452e,this[_0x29a41e(0x611)]=_0x2c7f99,this['_tintWASM']=_0x46f389,this[_0x29a41e(0x501)]=_0x3fe4f1,this[_0x29a41e(0x42a)]=_0x59452e['createSampler']({'minFilter':_0x5ba32['X9']['Linear']}),this[_0x29a41e(0x481)]=_0x59452e[_0x29a41e(0x602)]({'minFilter':_0x5ba32['X9'][_0x29a41e(0x129)]}),this[_0x29a41e(0x505)]=this[_0x29a41e(0x501)][_0x29a41e(0x9bf)](0x10,_0x5ba32['FB']['Uniform']|_0x5ba32['FB'][_0x29a41e(0x1dc)])[_0x29a41e(0x22a)],this[_0x29a41e(0x668)](_0x5ba32['EV']['RGBA8Unorm']),this['_getVideoPipeline'](_0x5ba32['EV']['RGBA8Unorm']);}static[_0x25ad72(0x2b7)](_0x4b4eb7,_0x30cc97){var _0xb28f25=_0x25ad72;return _0xbffb0a['R']['ILog2'](Math[_0xb28f25(0xa14)](_0x4b4eb7,_0x30cc97))+0x1;}[_0x25ad72(0x668)](_0x4698a9,_0x518fb6=_0x3e75c0[_0x25ad72(0x3ca)],_0x391e23){var _0x33c4f4=_0x25ad72,_0x348557=_0x518fb6===_0x3e75c0['MipMap']?0x1:_0x518fb6===_0x3e75c0['InvertYPremultiplyAlpha']?((_0x391e23[_0x33c4f4(0xae5)]?0x1:0x0)<<0x1)+((_0x391e23[_0x33c4f4(0xb14)]?0x1:0x0)<<0x2):_0x518fb6===_0x3e75c0[_0x33c4f4(0x1de)]?0x8:_0x518fb6===_0x3e75c0['InvertYPremultiplyAlphaWithOfst']?((_0x391e23[_0x33c4f4(0xae5)]?0x1:0x0)<<0x4)+((_0x391e23[_0x33c4f4(0xb14)]?0x1:0x0)<<0x5):0x0;this[_0x33c4f4(0xa2b)][_0x4698a9]||(this['_pipelines'][_0x4698a9]=[]);let _0x1e7aa7=this['_pipelines'][_0x4698a9][_0x348557];if(!_0x1e7aa7){let _0x1744a8=_0x33c4f4(0x589),_0x409f49=(_0x518fb6!==_0x3e75c0[_0x33c4f4(0x470)]&&_0x518fb6!==_0x3e75c0[_0x33c4f4(0x5d9)]||(_0x391e23[_0x33c4f4(0xae5)]&&(_0x1744a8+=_0x33c4f4(0xa34)),_0x391e23[_0x33c4f4(0xb14)]&&(_0x1744a8+='#define\x20PREMULTIPLYALPHA\x0d\x0a')),this['_compiledShaders'][_0x348557]);if(!_0x409f49){let _0x6cf330=this['_glslang'][_0x33c4f4(0x2c7)](_0x1744a8+_0x10bd9e[_0x518fb6][_0x33c4f4(0x133)],_0x33c4f4(0x133)),_0x62cae8=this['_glslang']['compileGLSL'](_0x1744a8+_0x10bd9e[_0x518fb6][_0x33c4f4(0x791)],_0x33c4f4(0x791));this[_0x33c4f4(0xad1)]&&(_0x6cf330=this[_0x33c4f4(0xad1)]['convertSpirV2WGSL'](_0x6cf330),_0x62cae8=this['_tintWASM'][_0x33c4f4(0x9b4)](_0x62cae8)),(_0x391e23=this[_0x33c4f4(0xaf7)][_0x33c4f4(0x5be)]({'code':_0x6cf330}),_0x518fb6=this['_device']['createShaderModule']({'code':_0x62cae8})),_0x409f49=this[_0x33c4f4(0x3a0)][_0x348557]=[_0x391e23,_0x518fb6];}const _0x2625e4=this[_0x33c4f4(0xaf7)][_0x33c4f4(0x80a)]({'layout':_0x5ba32['fu'][_0x33c4f4(0x304)],'vertex':{'module':_0x409f49[0x0],'entryPoint':_0x33c4f4(0xc09)},'fragment':{'module':_0x409f49[0x1],'entryPoint':_0x33c4f4(0xc09),'targets':[{'format':_0x4698a9}]},'primitive':{'topology':_0x5ba32['YV'][_0x33c4f4(0x663)],'stripIndexFormat':_0x5ba32['iD'][_0x33c4f4(0x41d)]}});_0x1e7aa7=this['_pipelines'][_0x4698a9][_0x348557]=[_0x2625e4,_0x2625e4[_0x33c4f4(0x28d)](0x0)];}return _0x1e7aa7;}[_0x25ad72(0xa21)](_0x336d51,_0x1c4293=_0x495433[_0x25ad72(0xa31)]){var _0x3e552b=_0x25ad72,_0x494548,_0x1aeb22,_0x1c4293=_0x1c4293===_0x495433['InvertY']?0x1:0x0;this['_videoPipelines'][_0x336d51]||(this[_0x3e552b(0x1a6)][_0x336d51]=[]);let _0x36cd7d=this['_videoPipelines'][_0x336d51][_0x1c4293];if(!_0x36cd7d){let _0x553769=this[_0x3e552b(0x4fb)][_0x1c4293];_0x553769||(_0x494548=this['_device'][_0x3e552b(0x5be)]({'code':_0x3e552b(0x6ad)}),_0x1aeb22=this[_0x3e552b(0xaf7)]['createShaderModule']({'code':0x0==_0x1c4293?_0x3e552b(0x5e2):_0x3e552b(0x844)}),_0x553769=this[_0x3e552b(0x4fb)][_0x1c4293]=[_0x494548,_0x1aeb22]);const _0x3080a2=this[_0x3e552b(0xaf7)][_0x3e552b(0x80a)]({'label':_0x3e552b(0x441)+_0x336d51+'_'+(0x0==_0x1c4293?_0x3e552b(0xa31):_0x3e552b(0x37a)),'layout':_0x5ba32['fu'][_0x3e552b(0x304)],'vertex':{'module':_0x553769[0x0],'entryPoint':_0x3e552b(0xc09)},'fragment':{'module':_0x553769[0x1],'entryPoint':_0x3e552b(0xc09),'targets':[{'format':_0x336d51}]},'primitive':{'topology':_0x5ba32['YV'][_0x3e552b(0x663)],'stripIndexFormat':_0x5ba32['iD'][_0x3e552b(0x41d)]}});_0x36cd7d=this['_videoPipelines'][_0x336d51][_0x1c4293]=[_0x3080a2,_0x3080a2[_0x3e552b(0x28d)](0x0)];}return _0x36cd7d;}static[_0x25ad72(0xf2)](_0xf79d77){var _0x149d43=_0x25ad72;switch(_0xf79d77){case _0x5ba32['EV']['R8Unorm']:case _0x5ba32['EV'][_0x149d43(0x44b)]:case _0x5ba32['EV'][_0x149d43(0xa74)]:case _0x5ba32['EV'][_0x149d43(0x409)]:case _0x5ba32['EV'][_0x149d43(0x985)]:case _0x5ba32['EV'][_0x149d43(0x90b)]:case _0x5ba32['EV'][_0x149d43(0x5f6)]:case _0x5ba32['EV']['RG8Sint']:case _0x5ba32['EV'][_0x149d43(0x7ae)]:case _0x5ba32['EV']['RGBA8UnormSRGB']:case _0x5ba32['EV'][_0x149d43(0x965)]:case _0x5ba32['EV'][_0x149d43(0xbb0)]:case _0x5ba32['EV'][_0x149d43(0xba3)]:case _0x5ba32['EV'][_0x149d43(0xc33)]:case _0x5ba32['EV'][_0x149d43(0x59a)]:case _0x5ba32['EV'][_0x149d43(0x3d2)]:case _0x5ba32['EV'][_0x149d43(0x109)]:case _0x5ba32['EV']['RG11B10UFloat']:case _0x5ba32['EV']['Depth24UnormStencil8']:case _0x5ba32['EV']['Depth32FloatStencil8']:case _0x5ba32['EV'][_0x149d43(0xa13)]:case _0x5ba32['EV'][_0x149d43(0x7bd)]:case _0x5ba32['EV'][_0x149d43(0x502)]:case _0x5ba32['EV'][_0x149d43(0x6f3)]:case _0x5ba32['EV']['BC5RGUnorm']:case _0x5ba32['EV']['BC5RGSnorm']:case _0x5ba32['EV'][_0x149d43(0x80d)]:case _0x5ba32['EV'][_0x149d43(0xb7e)]:case _0x5ba32['EV'][_0x149d43(0xc20)]:case _0x5ba32['EV'][_0x149d43(0x904)]:case _0x5ba32['EV'][_0x149d43(0x6d1)]:case _0x5ba32['EV'][_0x149d43(0x980)]:case _0x5ba32['EV']['BC1RGBAUnorm']:case _0x5ba32['EV'][_0x149d43(0xb5f)]:case _0x5ba32['EV'][_0x149d43(0x1f4)]:case _0x5ba32['EV'][_0x149d43(0x1f2)]:case _0x5ba32['EV'][_0x149d43(0x5c7)]:case _0x5ba32['EV']['ETC2RGB8A1UnormSRGB']:case _0x5ba32['EV']['ETC2RGBA8Unorm']:case _0x5ba32['EV']['ETC2RGBA8UnormSRGB']:case _0x5ba32['EV']['EACR11Unorm']:case _0x5ba32['EV'][_0x149d43(0xbbb)]:case _0x5ba32['EV']['EACRG11Unorm']:case _0x5ba32['EV']['EACRG11Snorm']:case _0x5ba32['EV'][_0x149d43(0x65c)]:case _0x5ba32['EV'][_0x149d43(0xcd2)]:case _0x5ba32['EV']['ASTC5x4Unorm']:case _0x5ba32['EV'][_0x149d43(0x38f)]:case _0x5ba32['EV'][_0x149d43(0x460)]:case _0x5ba32['EV'][_0x149d43(0x741)]:case _0x5ba32['EV'][_0x149d43(0x5cc)]:case _0x5ba32['EV'][_0x149d43(0x858)]:case _0x5ba32['EV']['ASTC6x6Unorm']:case _0x5ba32['EV'][_0x149d43(0xac6)]:case _0x5ba32['EV']['ASTC8x5Unorm']:case _0x5ba32['EV'][_0x149d43(0x1cf)]:case _0x5ba32['EV'][_0x149d43(0x7e2)]:case _0x5ba32['EV'][_0x149d43(0x166)]:case _0x5ba32['EV'][_0x149d43(0x289)]:case _0x5ba32['EV'][_0x149d43(0x34d)]:case _0x5ba32['EV'][_0x149d43(0xc58)]:case _0x5ba32['EV']['ASTC10x5UnormSRGB']:case _0x5ba32['EV'][_0x149d43(0x1a7)]:case _0x5ba32['EV'][_0x149d43(0x52b)]:case _0x5ba32['EV'][_0x149d43(0x870)]:case _0x5ba32['EV'][_0x149d43(0x40a)]:case _0x5ba32['EV'][_0x149d43(0x2b5)]:case _0x5ba32['EV'][_0x149d43(0x1d8)]:case _0x5ba32['EV'][_0x149d43(0x350)]:case _0x5ba32['EV']['ASTC12x10UnormSRGB']:case _0x5ba32['EV'][_0x149d43(0xb1a)]:case _0x5ba32['EV'][_0x149d43(0x49c)]:return _0x58f0f2['g'][_0x149d43(0x4ca)];case _0x5ba32['EV'][_0x149d43(0xbe3)]:case _0x5ba32['EV'][_0x149d43(0xbc4)]:case _0x5ba32['EV'][_0x149d43(0x1a9)]:case _0x5ba32['EV'][_0x149d43(0xc29)]:case _0x5ba32['EV'][_0x149d43(0xe2)]:case _0x5ba32['EV']['RGBA16Sint']:case _0x5ba32['EV'][_0x149d43(0x2a6)]:return _0x58f0f2['g']['TEXTURETYPE_UNSIGNED_SHORT'];case _0x5ba32['EV'][_0x149d43(0x4b3)]:case _0x5ba32['EV'][_0x149d43(0xca6)]:case _0x5ba32['EV']['RGBA16Float']:return _0x58f0f2['g'][_0x149d43(0x1d6)];case _0x5ba32['EV'][_0x149d43(0x511)]:case _0x5ba32['EV']['R32Sint']:case _0x5ba32['EV'][_0x149d43(0x29c)]:case _0x5ba32['EV'][_0x149d43(0x3e2)]:case _0x5ba32['EV'][_0x149d43(0x87a)]:case _0x5ba32['EV'][_0x149d43(0x3ba)]:return _0x58f0f2['g'][_0x149d43(0xac7)];case _0x5ba32['EV'][_0x149d43(0x355)]:case _0x5ba32['EV'][_0x149d43(0x433)]:case _0x5ba32['EV']['RGBA32Float']:case _0x5ba32['EV'][_0x149d43(0x667)]:return _0x58f0f2['g']['TEXTURETYPE_FLOAT'];case _0x5ba32['EV']['Stencil8']:throw _0x149d43(0x927);case _0x5ba32['EV'][_0x149d43(0x2bf)]:throw _0x149d43(0x332);case _0x5ba32['EV']['Depth24PlusStencil8']:throw _0x149d43(0xdd);}return _0x58f0f2['g']['TEXTURETYPE_UNSIGNED_BYTE'];}static[_0x25ad72(0x6db)](_0x1aec9c){var _0xb09e7b=_0x25ad72;switch(_0x1aec9c){case _0x5ba32['EV']['R8Unorm']:case _0x5ba32['EV']['R8Snorm']:case _0x5ba32['EV'][_0xb09e7b(0xa74)]:case _0x5ba32['EV'][_0xb09e7b(0x409)]:return{'width':0x1,'height':0x1,'length':0x1};case _0x5ba32['EV'][_0xb09e7b(0xbe3)]:case _0x5ba32['EV'][_0xb09e7b(0xbc4)]:case _0x5ba32['EV']['R16Float']:case _0x5ba32['EV'][_0xb09e7b(0x985)]:case _0x5ba32['EV'][_0xb09e7b(0x90b)]:case _0x5ba32['EV']['RG8Uint']:case _0x5ba32['EV'][_0xb09e7b(0x7f9)]:return{'width':0x1,'height':0x1,'length':0x2};case _0x5ba32['EV']['R32Uint']:case _0x5ba32['EV'][_0xb09e7b(0x187)]:case _0x5ba32['EV'][_0xb09e7b(0x355)]:case _0x5ba32['EV'][_0xb09e7b(0x1a9)]:case _0x5ba32['EV']['RG16Sint']:case _0x5ba32['EV'][_0xb09e7b(0xca6)]:case _0x5ba32['EV']['RGBA8Unorm']:case _0x5ba32['EV']['RGBA8UnormSRGB']:case _0x5ba32['EV'][_0xb09e7b(0x965)]:case _0x5ba32['EV'][_0xb09e7b(0xbb0)]:case _0x5ba32['EV'][_0xb09e7b(0xba3)]:case _0x5ba32['EV']['BGRA8Unorm']:case _0x5ba32['EV'][_0xb09e7b(0x59a)]:case _0x5ba32['EV'][_0xb09e7b(0x109)]:case _0x5ba32['EV'][_0xb09e7b(0x3d2)]:case _0x5ba32['EV']['RG11B10UFloat']:return{'width':0x1,'height':0x1,'length':0x4};case _0x5ba32['EV'][_0xb09e7b(0x29c)]:case _0x5ba32['EV'][_0xb09e7b(0x3e2)]:case _0x5ba32['EV'][_0xb09e7b(0x433)]:case _0x5ba32['EV'][_0xb09e7b(0xe2)]:case _0x5ba32['EV'][_0xb09e7b(0x9c6)]:case _0x5ba32['EV']['RGBA16Float']:return{'width':0x1,'height':0x1,'length':0x8};case _0x5ba32['EV'][_0xb09e7b(0x87a)]:case _0x5ba32['EV']['RGBA32Sint']:case _0x5ba32['EV'][_0xb09e7b(0x9b7)]:return{'width':0x1,'height':0x1,'length':0x10};case _0x5ba32['EV'][_0xb09e7b(0x90a)]:throw _0xb09e7b(0x927);case _0x5ba32['EV']['Depth16Unorm']:return{'width':0x1,'height':0x1,'length':0x2};case _0x5ba32['EV'][_0xb09e7b(0x2bf)]:throw _0xb09e7b(0x332);case _0x5ba32['EV'][_0xb09e7b(0xb78)]:throw'No\x20fixed\x20size\x20for\x20Depth24PlusStencil8\x20format!';case _0x5ba32['EV'][_0xb09e7b(0x667)]:case _0x5ba32['EV']['Depth24UnormStencil8']:return{'width':0x1,'height':0x1,'length':0x4};case _0x5ba32['EV'][_0xb09e7b(0x6bf)]:return{'width':0x1,'height':0x1,'length':0x5};case _0x5ba32['EV']['BC7RGBAUnorm']:case _0x5ba32['EV'][_0xb09e7b(0x7bd)]:case _0x5ba32['EV'][_0xb09e7b(0x502)]:case _0x5ba32['EV'][_0xb09e7b(0x6f3)]:case _0x5ba32['EV']['BC5RGUnorm']:case _0x5ba32['EV']['BC5RGSnorm']:case _0x5ba32['EV'][_0xb09e7b(0x80d)]:case _0x5ba32['EV'][_0xb09e7b(0xb7e)]:case _0x5ba32['EV']['BC2RGBAUnorm']:case _0x5ba32['EV'][_0xb09e7b(0x904)]:return{'width':0x4,'height':0x4,'length':0x10};case _0x5ba32['EV']['BC4RUnorm']:case _0x5ba32['EV'][_0xb09e7b(0x980)]:case _0x5ba32['EV'][_0xb09e7b(0xb21)]:case _0x5ba32['EV']['BC1RGBAUnormSRGB']:return{'width':0x4,'height':0x4,'length':0x8};case _0x5ba32['EV']['ETC2RGB8Unorm']:case _0x5ba32['EV']['ETC2RGB8UnormSRGB']:case _0x5ba32['EV']['ETC2RGB8A1Unorm']:case _0x5ba32['EV'][_0xb09e7b(0xc27)]:case _0x5ba32['EV'][_0xb09e7b(0x8b2)]:case _0x5ba32['EV'][_0xb09e7b(0xbbb)]:return{'width':0x4,'height':0x4,'length':0x8};case _0x5ba32['EV']['ETC2RGBA8Unorm']:case _0x5ba32['EV'][_0xb09e7b(0x824)]:case _0x5ba32['EV'][_0xb09e7b(0x6c7)]:case _0x5ba32['EV'][_0xb09e7b(0x8c0)]:return{'width':0x4,'height':0x4,'length':0x10};case _0x5ba32['EV']['ASTC4x4Unorm']:case _0x5ba32['EV'][_0xb09e7b(0xcd2)]:return{'width':0x4,'height':0x4,'length':0x10};case _0x5ba32['EV'][_0xb09e7b(0xc16)]:case _0x5ba32['EV'][_0xb09e7b(0x38f)]:return{'width':0x5,'height':0x4,'length':0x10};case _0x5ba32['EV']['ASTC5x5Unorm']:case _0x5ba32['EV'][_0xb09e7b(0x741)]:return{'width':0x5,'height':0x5,'length':0x10};case _0x5ba32['EV'][_0xb09e7b(0x5cc)]:case _0x5ba32['EV'][_0xb09e7b(0x858)]:return{'width':0x6,'height':0x5,'length':0x10};case _0x5ba32['EV'][_0xb09e7b(0xbcd)]:case _0x5ba32['EV']['ASTC6x6UnormSRGB']:return{'width':0x6,'height':0x6,'length':0x10};case _0x5ba32['EV'][_0xb09e7b(0xb19)]:case _0x5ba32['EV'][_0xb09e7b(0x1cf)]:return{'width':0x8,'height':0x5,'length':0x10};case _0x5ba32['EV']['ASTC8x6Unorm']:case _0x5ba32['EV']['ASTC8x6UnormSRGB']:return{'width':0x8,'height':0x6,'length':0x10};case _0x5ba32['EV']['ASTC8x8Unorm']:case _0x5ba32['EV'][_0xb09e7b(0x34d)]:return{'width':0x8,'height':0x8,'length':0x10};case _0x5ba32['EV'][_0xb09e7b(0xc58)]:case _0x5ba32['EV']['ASTC10x5UnormSRGB']:return{'width':0xa,'height':0x5,'length':0x10};case _0x5ba32['EV'][_0xb09e7b(0x1a7)]:case _0x5ba32['EV']['ASTC10x6UnormSRGB']:return{'width':0xa,'height':0x6,'length':0x10};case _0x5ba32['EV'][_0xb09e7b(0x870)]:case _0x5ba32['EV']['ASTC10x8UnormSRGB']:return{'width':0xa,'height':0x8,'length':0x10};case _0x5ba32['EV']['ASTC10x10Unorm']:case _0x5ba32['EV'][_0xb09e7b(0x1d8)]:return{'width':0xa,'height':0xa,'length':0x10};case _0x5ba32['EV']['ASTC12x10Unorm']:case _0x5ba32['EV']['ASTC12x10UnormSRGB']:return{'width':0xc,'height':0xa,'length':0x10};case _0x5ba32['EV']['ASTC12x12Unorm']:case _0x5ba32['EV'][_0xb09e7b(0x49c)]:return{'width':0xc,'height':0xc,'length':0x10};}return{'width':0x1,'height':0x1,'length':0x4};}static['_IsHardwareTexture'](_0x3b5b0a){var _0x21b7b7=_0x25ad72;return!!_0x3b5b0a[_0x21b7b7(0x6cb)];}static[_0x25ad72(0x8a1)](_0x38c80b){var _0x50a037=_0x25ad72;return!!_0x38c80b[_0x50a037(0xae6)];}static['IsImageBitmap'](_0x1f1175){var _0x543c32=_0x25ad72;return void 0x0!==_0x1f1175[_0x543c32(0xa71)];}static[_0x25ad72(0x6b8)](_0x4ff0e8){var _0x44d88b=_0x25ad72;return Array['isArray'](_0x4ff0e8)&&void 0x0!==_0x4ff0e8[0x0][_0x44d88b(0xa71)];}[_0x25ad72(0x9f5)](_0x22f736){var _0xfa6f32=_0x25ad72;this[_0xfa6f32(0xb5e)]=_0x22f736;}static[_0x25ad72(0x4d0)](_0xdcf937){var _0x3c5322=_0x25ad72;switch(_0xdcf937){case _0x5ba32['EV']['BC7RGBAUnormSRGB']:case _0x5ba32['EV'][_0x3c5322(0xa13)]:case _0x5ba32['EV']['BC6HRGBFloat']:case _0x5ba32['EV'][_0x3c5322(0x502)]:case _0x5ba32['EV']['BC5RGSnorm']:case _0x5ba32['EV'][_0x3c5322(0x89b)]:case _0x5ba32['EV'][_0x3c5322(0x980)]:case _0x5ba32['EV'][_0x3c5322(0x6d1)]:case _0x5ba32['EV'][_0x3c5322(0xb7e)]:case _0x5ba32['EV'][_0x3c5322(0x80d)]:case _0x5ba32['EV'][_0x3c5322(0x904)]:case _0x5ba32['EV'][_0x3c5322(0xc20)]:case _0x5ba32['EV'][_0x3c5322(0xb5f)]:case _0x5ba32['EV'][_0x3c5322(0xb21)]:case _0x5ba32['EV'][_0x3c5322(0x1f4)]:case _0x5ba32['EV'][_0x3c5322(0x1f2)]:case _0x5ba32['EV'][_0x3c5322(0x5c7)]:case _0x5ba32['EV'][_0x3c5322(0xc27)]:case _0x5ba32['EV']['ETC2RGBA8Unorm']:case _0x5ba32['EV']['ETC2RGBA8UnormSRGB']:case _0x5ba32['EV']['EACR11Unorm']:case _0x5ba32['EV'][_0x3c5322(0xbbb)]:case _0x5ba32['EV'][_0x3c5322(0x6c7)]:case _0x5ba32['EV'][_0x3c5322(0x8c0)]:case _0x5ba32['EV']['ASTC4x4Unorm']:case _0x5ba32['EV'][_0x3c5322(0xcd2)]:case _0x5ba32['EV'][_0x3c5322(0xc16)]:case _0x5ba32['EV'][_0x3c5322(0x38f)]:case _0x5ba32['EV']['ASTC5x5Unorm']:case _0x5ba32['EV'][_0x3c5322(0x741)]:case _0x5ba32['EV'][_0x3c5322(0x5cc)]:case _0x5ba32['EV'][_0x3c5322(0x858)]:case _0x5ba32['EV'][_0x3c5322(0xbcd)]:case _0x5ba32['EV'][_0x3c5322(0xac6)]:case _0x5ba32['EV'][_0x3c5322(0xb19)]:case _0x5ba32['EV'][_0x3c5322(0x1cf)]:case _0x5ba32['EV'][_0x3c5322(0x7e2)]:case _0x5ba32['EV'][_0x3c5322(0x166)]:case _0x5ba32['EV'][_0x3c5322(0x289)]:case _0x5ba32['EV']['ASTC8x8UnormSRGB']:case _0x5ba32['EV'][_0x3c5322(0xc58)]:case _0x5ba32['EV'][_0x3c5322(0x9f6)]:case _0x5ba32['EV']['ASTC10x6Unorm']:case _0x5ba32['EV'][_0x3c5322(0x52b)]:case _0x5ba32['EV']['ASTC10x8Unorm']:case _0x5ba32['EV'][_0x3c5322(0x40a)]:case _0x5ba32['EV'][_0x3c5322(0x2b5)]:case _0x5ba32['EV'][_0x3c5322(0x1d8)]:case _0x5ba32['EV'][_0x3c5322(0x350)]:case _0x5ba32['EV'][_0x3c5322(0x6e8)]:case _0x5ba32['EV']['ASTC12x12Unorm']:case _0x5ba32['EV']['ASTC12x12UnormSRGB']:return!0x0;}return!0x1;}static[_0x25ad72(0x310)](_0x3c7aff,_0x4d340c,_0x5df5fa=!0x1){var _0x4d8632=_0x25ad72;switch(_0x4d340c){case _0x58f0f2['g'][_0x4d8632(0x21f)]:return _0x5ba32['EV']['Depth16Unorm'];case _0x58f0f2['g'][_0x4d8632(0x1c6)]:return _0x5ba32['EV'][_0x4d8632(0x2bf)];case _0x58f0f2['g'][_0x4d8632(0xc98)]:return _0x5ba32['EV'][_0x4d8632(0xb78)];case _0x58f0f2['g'][_0x4d8632(0xb94)]:return _0x5ba32['EV']['Depth32Float'];case _0x58f0f2['g']['TEXTUREFORMAT_DEPTH24UNORM_STENCIL8']:return _0x5ba32['EV'][_0x4d8632(0x3b4)];case _0x58f0f2['g'][_0x4d8632(0x1aa)]:return _0x5ba32['EV'][_0x4d8632(0x6bf)];case _0x58f0f2['g']['TEXTUREFORMAT_STENCIL8']:return _0x5ba32['EV'][_0x4d8632(0x90a)];case _0x58f0f2['g'][_0x4d8632(0xc26)]:return _0x5df5fa?_0x5ba32['EV'][_0x4d8632(0x7bd)]:_0x5ba32['EV'][_0x4d8632(0xa13)];case _0x58f0f2['g'][_0x4d8632(0xc03)]:return _0x5ba32['EV'][_0x4d8632(0x502)];case _0x58f0f2['g'][_0x4d8632(0x845)]:return _0x5ba32['EV'][_0x4d8632(0x6f3)];case _0x58f0f2['g']['TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT5']:return _0x5df5fa?_0x5ba32['EV'][_0x4d8632(0xb7e)]:_0x5ba32['EV'][_0x4d8632(0x80d)];case _0x58f0f2['g'][_0x4d8632(0xb74)]:return _0x5df5fa?_0x5ba32['EV']['BC2RGBAUnormSRGB']:_0x5ba32['EV'][_0x4d8632(0xc20)];case _0x58f0f2['g'][_0x4d8632(0x565)]:case _0x58f0f2['g'][_0x4d8632(0x4f7)]:return _0x5df5fa?_0x5ba32['EV']['BC1RGBAUnormSRGB']:_0x5ba32['EV'][_0x4d8632(0xb21)];case _0x58f0f2['g'][_0x4d8632(0x37d)]:return _0x5df5fa?_0x5ba32['EV'][_0x4d8632(0xcd2)]:_0x5ba32['EV'][_0x4d8632(0x65c)];case _0x58f0f2['g']['TEXTUREFORMAT_COMPRESSED_RGB_ETC1_WEBGL']:case _0x58f0f2['g']['TEXTUREFORMAT_COMPRESSED_RGB8_ETC2']:return _0x5df5fa?_0x5ba32['EV'][_0x4d8632(0x1f2)]:_0x5ba32['EV']['ETC2RGB8Unorm'];case _0x58f0f2['g'][_0x4d8632(0x607)]:return _0x5df5fa?_0x5ba32['EV'][_0x4d8632(0x824)]:_0x5ba32['EV'][_0x4d8632(0x56f)];}switch(_0x3c7aff){case _0x58f0f2['g']['TEXTURETYPE_BYTE']:switch(_0x4d340c){case _0x58f0f2['g'][_0x4d8632(0xb44)]:return _0x5ba32['EV'][_0x4d8632(0x44b)];case _0x58f0f2['g'][_0x4d8632(0x244)]:return _0x5ba32['EV'][_0x4d8632(0x90b)];case _0x58f0f2['g']['TEXTUREFORMAT_RGB']:throw _0x4d8632(0xc1a);case _0x58f0f2['g'][_0x4d8632(0x2da)]:return _0x5ba32['EV'][_0x4d8632(0x409)];case _0x58f0f2['g'][_0x4d8632(0xa0b)]:return _0x5ba32['EV'][_0x4d8632(0x7f9)];case _0x58f0f2['g'][_0x4d8632(0xccc)]:throw _0x4d8632(0x931);case _0x58f0f2['g'][_0x4d8632(0x7a4)]:return _0x5ba32['EV'][_0x4d8632(0xba3)];default:return _0x5ba32['EV'][_0x4d8632(0x965)];}case _0x58f0f2['g']['TEXTURETYPE_UNSIGNED_BYTE']:switch(_0x4d340c){case _0x58f0f2['g'][_0x4d8632(0xb44)]:return _0x5ba32['EV'][_0x4d8632(0x814)];case _0x58f0f2['g'][_0x4d8632(0x244)]:return _0x5ba32['EV'][_0x4d8632(0x985)];case _0x58f0f2['g'][_0x4d8632(0x657)]:throw _0x4d8632(0xc46);case _0x58f0f2['g'][_0x4d8632(0x692)]:return _0x5df5fa?_0x5ba32['EV']['RGBA8UnormSRGB']:_0x5ba32['EV'][_0x4d8632(0x7ae)];case _0x58f0f2['g'][_0x4d8632(0x3b3)]:return _0x5df5fa?_0x5ba32['EV'][_0x4d8632(0x59a)]:_0x5ba32['EV'][_0x4d8632(0xc33)];case _0x58f0f2['g'][_0x4d8632(0x2da)]:return _0x5ba32['EV'][_0x4d8632(0xa74)];case _0x58f0f2['g']['TEXTUREFORMAT_RG_INTEGER']:return _0x5ba32['EV'][_0x4d8632(0x5f6)];case _0x58f0f2['g'][_0x4d8632(0xccc)]:throw _0x4d8632(0x931);case _0x58f0f2['g'][_0x4d8632(0x7a4)]:return _0x5ba32['EV'][_0x4d8632(0xbb0)];case _0x58f0f2['g']['TEXTUREFORMAT_ALPHA']:throw'TEXTUREFORMAT_ALPHA\x20format\x20not\x20supported\x20in\x20WebGPU';case _0x58f0f2['g']['TEXTUREFORMAT_LUMINANCE']:throw _0x4d8632(0x82e);case _0x58f0f2['g'][_0x4d8632(0x2ca)]:throw _0x4d8632(0xa44);default:return _0x5ba32['EV'][_0x4d8632(0x7ae)];}case _0x58f0f2['g'][_0x4d8632(0x3dd)]:switch(_0x4d340c){case _0x58f0f2['g'][_0x4d8632(0x2da)]:return _0x5ba32['EV'][_0x4d8632(0xbc4)];case _0x58f0f2['g'][_0x4d8632(0xa0b)]:return _0x5ba32['EV']['RG16Sint'];case _0x58f0f2['g'][_0x4d8632(0xccc)]:throw _0x4d8632(0x6ce);default:return _0x58f0f2['g'][_0x4d8632(0x7a4)],_0x5ba32['EV'][_0x4d8632(0x9c6)];}case _0x58f0f2['g']['TEXTURETYPE_UNSIGNED_SHORT']:switch(_0x4d340c){case _0x58f0f2['g']['TEXTUREFORMAT_RED_INTEGER']:return _0x5ba32['EV'][_0x4d8632(0xbe3)];case _0x58f0f2['g']['TEXTUREFORMAT_RG_INTEGER']:return _0x5ba32['EV'][_0x4d8632(0x1a9)];case _0x58f0f2['g'][_0x4d8632(0xccc)]:throw _0x4d8632(0x6ce);default:return _0x58f0f2['g'][_0x4d8632(0x7a4)],_0x5ba32['EV'][_0x4d8632(0xe2)];}case _0x58f0f2['g']['TEXTURETYPE_INT']:switch(_0x4d340c){case _0x58f0f2['g'][_0x4d8632(0x2da)]:return _0x5ba32['EV'][_0x4d8632(0x187)];case _0x58f0f2['g'][_0x4d8632(0xa0b)]:return _0x5ba32['EV'][_0x4d8632(0x3e2)];case _0x58f0f2['g'][_0x4d8632(0xccc)]:throw _0x4d8632(0x6ce);default:return _0x58f0f2['g'][_0x4d8632(0x7a4)],_0x5ba32['EV'][_0x4d8632(0x3ba)];}case _0x58f0f2['g'][_0x4d8632(0xac7)]:switch(_0x4d340c){case _0x58f0f2['g'][_0x4d8632(0x2da)]:return _0x5ba32['EV']['R32Uint'];case _0x58f0f2['g'][_0x4d8632(0xa0b)]:return _0x5ba32['EV'][_0x4d8632(0x29c)];case _0x58f0f2['g'][_0x4d8632(0xccc)]:throw _0x4d8632(0x6ce);default:return _0x58f0f2['g']['TEXTUREFORMAT_RGBA_INTEGER'],_0x5ba32['EV'][_0x4d8632(0x87a)];}case _0x58f0f2['g'][_0x4d8632(0x940)]:switch(_0x4d340c){case _0x58f0f2['g'][_0x4d8632(0xb44)]:return _0x5ba32['EV'][_0x4d8632(0x355)];case _0x58f0f2['g'][_0x4d8632(0x244)]:return _0x5ba32['EV'][_0x4d8632(0x433)];case _0x58f0f2['g'][_0x4d8632(0x657)]:throw _0x4d8632(0xc46);default:return _0x58f0f2['g']['TEXTUREFORMAT_RGBA'],_0x5ba32['EV'][_0x4d8632(0x9b7)];}case _0x58f0f2['g'][_0x4d8632(0x1d6)]:switch(_0x4d340c){case _0x58f0f2['g'][_0x4d8632(0xb44)]:return _0x5ba32['EV'][_0x4d8632(0x4b3)];case _0x58f0f2['g'][_0x4d8632(0x244)]:return _0x5ba32['EV']['RG16Float'];case _0x58f0f2['g'][_0x4d8632(0x657)]:throw _0x4d8632(0xc46);default:return _0x58f0f2['g'][_0x4d8632(0x692)],_0x5ba32['EV'][_0x4d8632(0xa24)];}case _0x58f0f2['g'][_0x4d8632(0x1cc)]:throw _0x4d8632(0x987);case _0x58f0f2['g'][_0x4d8632(0xc99)]:throw _0x4d8632(0x949);case _0x58f0f2['g'][_0x4d8632(0x7e1)]:throw _0x4d8632(0x381);case _0x58f0f2['g'][_0x4d8632(0x276)]:throw _0x4d8632(0x642);case _0x58f0f2['g']['TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1']:throw'TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1\x20format\x20not\x20supported\x20in\x20WebGPU';case _0x58f0f2['g']['TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV']:switch(_0x4d340c){case _0x58f0f2['g'][_0x4d8632(0x692)]:return _0x5ba32['EV'][_0x4d8632(0x3d2)];case _0x58f0f2['g'][_0x4d8632(0x7a4)]:throw _0x4d8632(0x638);default:return _0x5ba32['EV']['RGB10A2Unorm'];}}return _0x5df5fa?_0x5ba32['EV']['RGBA8UnormSRGB']:_0x5ba32['EV'][_0x4d8632(0x7ae)];}static[_0x25ad72(0xabe)](_0x3352b0){var _0x53c8bd=_0x25ad72;switch(_0x3352b0){case _0x5ba32['EV']['R8Unorm']:case _0x5ba32['EV'][_0x53c8bd(0x44b)]:case _0x5ba32['EV'][_0x53c8bd(0xa74)]:case _0x5ba32['EV'][_0x53c8bd(0x409)]:case _0x5ba32['EV'][_0x53c8bd(0x6d1)]:case _0x5ba32['EV'][_0x53c8bd(0x980)]:case _0x5ba32['EV']['R16Uint']:case _0x5ba32['EV']['R16Sint']:case _0x5ba32['EV'][_0x53c8bd(0x2a6)]:case _0x5ba32['EV']['R16Float']:case _0x5ba32['EV'][_0x53c8bd(0x511)]:case _0x5ba32['EV']['R32Sint']:case _0x5ba32['EV'][_0x53c8bd(0x355)]:case _0x5ba32['EV'][_0x53c8bd(0x667)]:case _0x5ba32['EV'][_0x53c8bd(0x90a)]:case _0x5ba32['EV']['Depth24Plus']:case _0x5ba32['EV']['EACR11Unorm']:case _0x5ba32['EV'][_0x53c8bd(0xbbb)]:return 0x1;case _0x5ba32['EV'][_0x53c8bd(0x985)]:case _0x5ba32['EV'][_0x53c8bd(0x90b)]:case _0x5ba32['EV'][_0x53c8bd(0x5f6)]:case _0x5ba32['EV'][_0x53c8bd(0x7f9)]:case _0x5ba32['EV'][_0x53c8bd(0x3b4)]:case _0x5ba32['EV'][_0x53c8bd(0x6bf)]:case _0x5ba32['EV']['BC5RGUnorm']:case _0x5ba32['EV'][_0x53c8bd(0x192)]:case _0x5ba32['EV'][_0x53c8bd(0x1a9)]:case _0x5ba32['EV']['RG16Sint']:case _0x5ba32['EV'][_0x53c8bd(0xca6)]:case _0x5ba32['EV']['RG32Uint']:case _0x5ba32['EV'][_0x53c8bd(0x3e2)]:case _0x5ba32['EV'][_0x53c8bd(0x433)]:case _0x5ba32['EV'][_0x53c8bd(0xb78)]:case _0x5ba32['EV'][_0x53c8bd(0x6c7)]:case _0x5ba32['EV']['EACRG11Snorm']:return 0x2;case _0x5ba32['EV']['RGB9E5UFloat']:case _0x5ba32['EV']['RG11B10UFloat']:case _0x5ba32['EV']['BC6HRGBUFloat']:case _0x5ba32['EV'][_0x53c8bd(0x6f3)]:case _0x5ba32['EV'][_0x53c8bd(0x1f4)]:case _0x5ba32['EV'][_0x53c8bd(0x1f2)]:return 0x3;case _0x5ba32['EV'][_0x53c8bd(0x7ae)]:case _0x5ba32['EV']['RGBA8UnormSRGB']:case _0x5ba32['EV'][_0x53c8bd(0x965)]:case _0x5ba32['EV'][_0x53c8bd(0xbb0)]:case _0x5ba32['EV'][_0x53c8bd(0xba3)]:case _0x5ba32['EV'][_0x53c8bd(0xc33)]:case _0x5ba32['EV'][_0x53c8bd(0x59a)]:case _0x5ba32['EV'][_0x53c8bd(0x3d2)]:case _0x5ba32['EV'][_0x53c8bd(0xa13)]:case _0x5ba32['EV'][_0x53c8bd(0x7bd)]:case _0x5ba32['EV'][_0x53c8bd(0x80d)]:case _0x5ba32['EV'][_0x53c8bd(0xb7e)]:case _0x5ba32['EV']['BC2RGBAUnorm']:case _0x5ba32['EV'][_0x53c8bd(0x904)]:case _0x5ba32['EV'][_0x53c8bd(0xb21)]:case _0x5ba32['EV'][_0x53c8bd(0xb5f)]:case _0x5ba32['EV'][_0x53c8bd(0xe2)]:case _0x5ba32['EV'][_0x53c8bd(0x9c6)]:case _0x5ba32['EV'][_0x53c8bd(0xa24)]:case _0x5ba32['EV'][_0x53c8bd(0x87a)]:case _0x5ba32['EV']['RGBA32Sint']:case _0x5ba32['EV']['RGBA32Float']:case _0x5ba32['EV'][_0x53c8bd(0x5c7)]:case _0x5ba32['EV']['ETC2RGB8A1UnormSRGB']:case _0x5ba32['EV']['ETC2RGBA8Unorm']:case _0x5ba32['EV'][_0x53c8bd(0x824)]:case _0x5ba32['EV'][_0x53c8bd(0x65c)]:case _0x5ba32['EV'][_0x53c8bd(0xcd2)]:case _0x5ba32['EV'][_0x53c8bd(0xc16)]:case _0x5ba32['EV']['ASTC5x4UnormSRGB']:case _0x5ba32['EV'][_0x53c8bd(0x460)]:case _0x5ba32['EV'][_0x53c8bd(0x741)]:case _0x5ba32['EV'][_0x53c8bd(0x5cc)]:case _0x5ba32['EV'][_0x53c8bd(0x858)]:case _0x5ba32['EV'][_0x53c8bd(0xbcd)]:case _0x5ba32['EV'][_0x53c8bd(0xac6)]:case _0x5ba32['EV'][_0x53c8bd(0xb19)]:case _0x5ba32['EV'][_0x53c8bd(0x1cf)]:case _0x5ba32['EV'][_0x53c8bd(0x7e2)]:case _0x5ba32['EV'][_0x53c8bd(0x166)]:case _0x5ba32['EV'][_0x53c8bd(0x289)]:case _0x5ba32['EV']['ASTC8x8UnormSRGB']:case _0x5ba32['EV'][_0x53c8bd(0xc58)]:case _0x5ba32['EV']['ASTC10x5UnormSRGB']:case _0x5ba32['EV'][_0x53c8bd(0x1a7)]:case _0x5ba32['EV'][_0x53c8bd(0x52b)]:case _0x5ba32['EV'][_0x53c8bd(0x870)]:case _0x5ba32['EV'][_0x53c8bd(0x40a)]:case _0x5ba32['EV'][_0x53c8bd(0x2b5)]:case _0x5ba32['EV'][_0x53c8bd(0x1d8)]:case _0x5ba32['EV'][_0x53c8bd(0x350)]:case _0x5ba32['EV'][_0x53c8bd(0x6e8)]:case _0x5ba32['EV'][_0x53c8bd(0xb1a)]:case _0x5ba32['EV'][_0x53c8bd(0x49c)]:return 0x4;}throw _0x53c8bd(0x5c6)+_0x3352b0+'!';}static['HasStencilAspect'](_0x518b62){var _0x44c4dc=_0x25ad72;switch(_0x518b62){case _0x5ba32['EV'][_0x44c4dc(0x90a)]:case _0x5ba32['EV'][_0x44c4dc(0x3b4)]:case _0x5ba32['EV'][_0x44c4dc(0x6bf)]:case _0x5ba32['EV'][_0x44c4dc(0xb78)]:return!0x0;}return!0x1;}static['HasDepthAndStencilAspects'](_0x592d56){var _0x5d23ac=_0x25ad72;switch(_0x592d56){case _0x5ba32['EV'][_0x5d23ac(0x3b4)]:case _0x5ba32['EV'][_0x5d23ac(0x6bf)]:case _0x5ba32['EV'][_0x5d23ac(0xb78)]:return!0x0;}return!0x1;}static[_0x25ad72(0x3bc)](_0x19700d){var _0x1066af=_0x25ad72;switch(_0x19700d){case _0x5ba32['EV']['Depth16Unorm']:return _0x5ba32['EV'][_0x1066af(0x2a6)];case _0x5ba32['EV'][_0x1066af(0x2bf)]:case _0x5ba32['EV']['Depth24PlusStencil8']:case _0x5ba32['EV'][_0x1066af(0x3b4)]:return _0x5ba32['EV'][_0x1066af(0x2bf)];case _0x5ba32['EV'][_0x1066af(0x667)]:case _0x5ba32['EV'][_0x1066af(0x6bf)]:return _0x5ba32['EV'][_0x1066af(0x667)];}return _0x19700d;}[_0x25ad72(0x50d)](_0x5c9faf,_0x3f9a92,_0x5e3c09,_0x57ffae=!0x1,_0x3cdce4){var _0x1cbafc=_0x25ad72,_0x5e09be=void 0x0===_0x3cdce4,[_0x1f7c96,_0x15ea7b]=this[_0x1cbafc(0xa21)](_0x5e3c09,_0x57ffae?_0x495433[_0x1cbafc(0x37a)]:_0x495433['DontInvertY']);null!=(_0x411739=(_0x4a545f=_0x3cdce4=_0x5e09be?this[_0x1cbafc(0xaf7)][_0x1cbafc(0xcce)]({}):_0x3cdce4)[_0x1cbafc(0x997)])&&_0x411739['call'](_0x4a545f,_0x1cbafc(0x316)+_0x57ffae);const _0x2f9a85=_0x3f9a92['_hardwareTexture'];var _0x411739={'colorAttachments':[{'view':_0x2f9a85[_0x1cbafc(0x22a)][_0x1cbafc(0x554)]({'format':_0x5e3c09,'dimension':_0x5ba32['p_'][_0x1cbafc(0xb2e)],'mipLevelCount':0x1,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':0x1,'aspect':_0x5ba32['H7'][_0x1cbafc(0x85b)]}),'loadOp':_0x5ba32['Ws'][_0x1cbafc(0x1ae)],'storeOp':_0x5ba32['EG'][_0x1cbafc(0xc2a)]}]};const _0x518ff1=_0x3cdce4[_0x1cbafc(0x5af)](_0x411739);var _0x4a545f={'layout':_0x15ea7b,'entries':[{'binding':0x0,'resource':this['_videoSampler']},{'binding':0x1,'resource':this[_0x1cbafc(0xaf7)][_0x1cbafc(0x1fd)]({'source':_0x5c9faf['underlyingResource']})}]},_0x57ffae=this[_0x1cbafc(0xaf7)][_0x1cbafc(0x1e1)](_0x4a545f);_0x518ff1[_0x1cbafc(0x59b)](_0x1f7c96),_0x518ff1[_0x1cbafc(0x8d9)](0x0,_0x57ffae),_0x518ff1['draw'](0x4,0x1,0x0,0x0),_0x518ff1['end'](),null!=(_0x5e3c09=(_0x3f9a92=_0x3cdce4)[_0x1cbafc(0x680)])&&_0x5e3c09[_0x1cbafc(0x3f7)](_0x3f9a92),_0x5e09be&&this[_0x1cbafc(0xaf7)]['queue']['submit']([_0x3cdce4[_0x1cbafc(0x43d)]()]);}['invertYPreMultiplyAlpha'](_0x3fb0d1,_0x5ce0ea,_0x22ad07,_0x3abb69,_0x9874ee=!0x1,_0x4131f3=!0x1,_0x4be789=0x0,_0xe81138=0x0,_0xc48406=0x1,_0x567a90=0x0,_0x3773b8=0x0,_0x3e3c35=0x0,_0x27b513=0x0,_0x326889,_0x1db144){var _0x17d1e4=_0x25ad72,_0x4ce04c,_0x2efabc,_0x15cd65=0x0!==_0x3e3c35,_0x3d3e8b=void 0x0===_0x326889,[_0x377f9a,_0x296604]=this[_0x17d1e4(0x668)](_0x3abb69,_0x15cd65?_0x3e75c0[_0x17d1e4(0x5d9)]:_0x3e75c0[_0x17d1e4(0x470)],{'invertY':_0x9874ee,'premultiplyAlpha':_0x4131f3});_0x4be789=Math[_0x17d1e4(0xa14)](_0x4be789,0x0),null!=(_0x4ce04c=(_0x2efabc=_0x326889=_0x3d3e8b?this[_0x17d1e4(0xaf7)][_0x17d1e4(0xcce)]({}):_0x326889)['pushDebugGroup'])&&_0x4ce04c[_0x17d1e4(0x3f7)](_0x2efabc,_0x17d1e4(0x635)+_0x9874ee+_0x17d1e4(0xadf)+_0x4131f3);let _0x432c6d;if(_0x1fcd9f[_0x17d1e4(0x954)](_0x3fb0d1)?(_0x432c6d=_0x3fb0d1[_0x17d1e4(0x22a)],_0x9874ee&&!_0x4131f3&&0x1===_0xc48406&&0x0===_0x4be789||(_0x3fb0d1=void 0x0)):(_0x432c6d=_0x3fb0d1,_0x3fb0d1=void 0x0),_0x432c6d){_0x15cd65&&this['_bufferManager'][_0x17d1e4(0x1ed)](this[_0x17d1e4(0x505)],0x0,new Float32Array([_0x567a90,_0x3773b8,_0x3e3c35,_0x27b513]),0x0,0x10);const _0x5e6f4a=_0x3fb0d1,_0x3a2f0a=null!=(_0x4ce04c=null===_0x5e6f4a||void 0x0===_0x5e6f4a?void 0x0:_0x5e6f4a[_0x17d1e4(0x2e7)])?_0x4ce04c:this['createTexture']({'width':_0x5ce0ea,'height':_0x22ad07,'layers':0x1},!0x1,!0x1,!0x1,!0x1,!0x1,_0x3abb69,0x1,_0x326889,_0x5ba32['v2'][_0x17d1e4(0x7c2)]|_0x5ba32['v2'][_0x17d1e4(0xaf1)]|_0x5ba32['v2'][_0x17d1e4(0x401)],void 0x0,_0x17d1e4(0x6e0));_0x9874ee=null!=(_0x2efabc=null===_0x5e6f4a||void 0x0===_0x5e6f4a?void 0x0:_0x5e6f4a[_0x17d1e4(0xaa4)])?_0x2efabc:{'colorAttachments':[{'view':_0x3a2f0a[_0x17d1e4(0x554)]({'format':_0x3abb69,'dimension':_0x5ba32['p_']['E2d'],'baseMipLevel':0x0,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':0x0}),'loadOp':_0x5ba32['Ws'][_0x17d1e4(0x1ae)],'storeOp':_0x5ba32['EG'][_0x17d1e4(0xc2a)]}]};const _0x3f32f6=_0x326889['beginRenderPass'](_0x9874ee);let _0x314809=_0x15cd65?null===_0x5e6f4a||void 0x0===_0x5e6f4a?void 0x0:_0x5e6f4a[_0x17d1e4(0x719)]:null===_0x5e6f4a||void 0x0===_0x5e6f4a?void 0x0:_0x5e6f4a[_0x17d1e4(0x8ae)];if(!_0x314809){const _0xa63cdf={'layout':_0x296604,'entries':[{'binding':0x0,'resource':_0x432c6d[_0x17d1e4(0x554)]({'format':_0x3abb69,'dimension':_0x5ba32['p_'][_0x17d1e4(0xb2e)],'baseMipLevel':_0xe81138,'mipLevelCount':0x1,'arrayLayerCount':_0xc48406,'baseArrayLayer':_0x4be789})}]};_0x15cd65&&_0xa63cdf[_0x17d1e4(0x106)][_0x17d1e4(0x731)]({'binding':0x1,'resource':{'buffer':this[_0x17d1e4(0x505)]}}),_0x314809=this[_0x17d1e4(0xaf7)][_0x17d1e4(0x1e1)](_0xa63cdf);}_0x3f32f6[_0x17d1e4(0x59b)](_0x377f9a),_0x3f32f6['setBindGroup'](0x0,_0x314809),_0x3f32f6['draw'](0x4,0x1,0x0,0x0),_0x3f32f6[_0x17d1e4(0xca0)](),_0x326889[_0x17d1e4(0xc8a)]({'texture':_0x3a2f0a},{'texture':_0x432c6d,'mipLevel':_0xe81138,'origin':{'x':0x0,'y':0x0,'z':_0x4be789}},{'width':_0x5ce0ea,'height':_0x22ad07,'depthOrArrayLayers':0x1}),_0x5e6f4a?(_0x5e6f4a[_0x17d1e4(0x2e7)]=_0x3a2f0a,_0x5e6f4a['_copyInvertYRenderPassDescr']=_0x9874ee,_0x15cd65?_0x5e6f4a[_0x17d1e4(0x719)]=_0x314809:_0x5e6f4a[_0x17d1e4(0x8ae)]=_0x314809):this[_0x17d1e4(0x1c1)][_0x17d1e4(0x731)]([_0x3a2f0a,null]),null!=(_0x567a90=(_0x4131f3=_0x326889)[_0x17d1e4(0x680)])&&_0x567a90['call'](_0x4131f3),_0x3d3e8b&&this[_0x17d1e4(0xaf7)]['queue']['submit']([_0x326889[_0x17d1e4(0x43d)]()]);}}[_0x25ad72(0x278)](_0x10c418,_0xe8b272,_0x54592f,_0x4ebb28){var _0x2436e1=_0x25ad72,_0x234c4f,_0x2d4e19=void 0x0===_0x4ebb28,[_0xe8b272,_0x266f1d]=this['_getPipeline'](_0xe8b272,_0x3e75c0[_0x2436e1(0x470)],{'invertY':!0x0,'premultiplyAlpha':!0x1});null!=(_0x39297c=(_0x234c4f=_0x4ebb28=_0x2d4e19?this[_0x2436e1(0xaf7)]['createCommandEncoder']({}):_0x4ebb28)[_0x2436e1(0x997)])&&_0x39297c[_0x2436e1(0x3f7)](_0x234c4f,_0x2436e1(0x7a2));const _0x52ab40=_0x4ebb28[_0x2436e1(0x5af)](_0x54592f);var _0x39297c=this[_0x2436e1(0xaf7)][_0x2436e1(0x1e1)]({'layout':_0x266f1d,'entries':[{'binding':0x0,'resource':_0x10c418}]});_0x52ab40[_0x2436e1(0x59b)](_0xe8b272),_0x52ab40['setBindGroup'](0x0,_0x39297c),_0x52ab40[_0x2436e1(0xa20)](0x4,0x1,0x0,0x0),_0x52ab40[_0x2436e1(0xca0)](),null!=(_0x54592f=(_0x234c4f=_0x4ebb28)['popDebugGroup'])&&_0x54592f[_0x2436e1(0x3f7)](_0x234c4f),_0x2d4e19&&this[_0x2436e1(0xaf7)]['queue'][_0x2436e1(0x986)]([_0x4ebb28[_0x2436e1(0x43d)]()]);}[_0x25ad72(0xaf5)](_0x51c5a1,_0x28a4ff=!0x1,_0x3bf0ff=!0x1,_0x2dfd74=!0x1,_0x30a044=!0x1,_0x223bdb=!0x1,_0x195b85=_0x5ba32['EV'][_0x25ad72(0x7ae)],_0x3dee12=0x1,_0xb5ec9b,_0x358111=-0x1,_0x2de2bb=0x0,_0x22496e){var _0x16b142=_0x25ad72;0x1<_0x3dee12&&(_0x3dee12=0x4);var _0x544a00=_0x51c5a1[_0x16b142(0x3a2)]||0x1,_0x235aa0={'width':_0x51c5a1[_0x16b142(0x781)],'height':_0x51c5a1[_0x16b142(0x831)],'depthOrArrayLayers':_0x544a00},_0x12a8f1=_0x1fcd9f[_0x16b142(0x4d0)](_0x195b85),_0x271f11=_0x28a4ff?_0x1fcd9f[_0x16b142(0x2b7)](_0x51c5a1['width'],_0x51c5a1[_0x16b142(0x831)]):0x1,_0x358111=0x0<=_0x358111?_0x358111:_0x5ba32['v2'][_0x16b142(0x7c2)]|_0x5ba32['v2'][_0x16b142(0x1dc)]|_0x5ba32['v2'][_0x16b142(0x401)],_0x12a8f1=(_0x2de2bb|=_0x28a4ff&&!_0x12a8f1?_0x5ba32['v2'][_0x16b142(0x7c2)]|_0x5ba32['v2']['RenderAttachment']:0x0,_0x12a8f1||_0x223bdb||(_0x2de2bb|=_0x5ba32['v2'][_0x16b142(0xaf1)]|_0x5ba32['v2'][_0x16b142(0x1dc)]),this[_0x16b142(0xaf7)][_0x16b142(0xaf5)]({'label':_0x16b142(0x707)+(_0x22496e?_0x22496e+'_':'')+_0x235aa0[_0x16b142(0x781)]+'x'+_0x235aa0[_0x16b142(0x831)]+'x'+_0x235aa0[_0x16b142(0x212)]+'_'+(_0x28a4ff?'wmips':_0x16b142(0xca7))+'_'+_0x195b85+_0x16b142(0x340)+_0x3dee12,'size':_0x235aa0,'dimension':_0x223bdb?_0x5ba32['kd'][_0x16b142(0x963)]:_0x5ba32['kd'][_0x16b142(0xb2e)],'format':_0x195b85,'usage':_0x358111|_0x2de2bb,'sampleCount':_0x3dee12,'mipLevelCount':_0x271f11}));return _0x1fcd9f['IsImageBitmap'](_0x51c5a1)&&(this[_0x16b142(0x517)](_0x51c5a1,_0x12a8f1,_0x51c5a1[_0x16b142(0x781)],_0x51c5a1[_0x16b142(0x831)],_0x544a00,_0x195b85,0x0,0x0,_0x2dfd74,_0x30a044,0x0,0x0),_0x28a4ff&&_0x3bf0ff&&this['generateMipmaps'](_0x12a8f1,_0x195b85,_0x271f11,0x0,_0xb5ec9b)),_0x12a8f1;}[_0x25ad72(0xb43)](_0x66cddb,_0x3dd9cd=!0x1,_0x432d24=!0x1,_0x5c0318=!0x1,_0x139340=!0x1,_0x38a497=_0x5ba32['EV'][_0x25ad72(0x7ae)],_0x3f22e6=0x1,_0x59b244,_0x14e21f=-0x1,_0x2fdbbf=0x0,_0x3016db){var _0x352d3c=_0x25ad72;0x1<_0x3f22e6&&(_0x3f22e6=0x4);var _0x22b007=(_0x1fcd9f[_0x352d3c(0x6b8)](_0x66cddb)?_0x66cddb[0x0]:_0x66cddb)['width'],_0x2557d3=(_0x1fcd9f[_0x352d3c(0x6b8)](_0x66cddb)?_0x66cddb[0x0]:_0x66cddb)[_0x352d3c(0x831)],_0x3d6c84=_0x1fcd9f[_0x352d3c(0x4d0)](_0x38a497),_0x37b67f=_0x3dd9cd?_0x1fcd9f[_0x352d3c(0x2b7)](_0x22b007,_0x2557d3):0x1,_0x14e21f=0x0<=_0x14e21f?_0x14e21f:_0x5ba32['v2'][_0x352d3c(0x7c2)]|_0x5ba32['v2']['CopyDst']|_0x5ba32['v2'][_0x352d3c(0x401)],_0x3d6c84=(_0x2fdbbf|=_0x3dd9cd&&!_0x3d6c84?_0x5ba32['v2'][_0x352d3c(0x7c2)]|_0x5ba32['v2'][_0x352d3c(0xaf1)]:0x0,_0x3d6c84||(_0x2fdbbf|=_0x5ba32['v2'][_0x352d3c(0xaf1)]|_0x5ba32['v2'][_0x352d3c(0x1dc)]),this[_0x352d3c(0xaf7)][_0x352d3c(0xaf5)]({'label':'TextureCube_'+(_0x3016db?_0x3016db+'_':'')+_0x22b007+'x'+_0x2557d3+_0x352d3c(0x960)+(_0x3dd9cd?'wmips':_0x352d3c(0xca7))+'_'+_0x38a497+_0x352d3c(0x340)+_0x3f22e6,'size':{'width':_0x22b007,'height':_0x2557d3,'depthOrArrayLayers':0x6},'dimension':_0x5ba32['kd'][_0x352d3c(0xb2e)],'format':_0x38a497,'usage':_0x14e21f|_0x2fdbbf,'sampleCount':_0x3f22e6,'mipLevelCount':_0x37b67f}));return _0x1fcd9f['IsImageBitmapArray'](_0x66cddb)&&(this['updateCubeTextures'](_0x66cddb,_0x3d6c84,_0x22b007,_0x2557d3,_0x38a497,_0x5c0318,_0x139340,0x0,0x0),_0x3dd9cd&&_0x432d24&&this[_0x352d3c(0x8e3)](_0x3d6c84,_0x38a497,_0x37b67f,_0x59b244)),_0x3d6c84;}[_0x25ad72(0x8e3)](_0x2aab67,_0x1a1dea,_0x4d3e7a,_0x13f210){var _0x5de915=_0x25ad72,_0x1110e5,_0x16d32c,_0x4e121e=void 0x0===_0x13f210;null!=(_0x1110e5=(_0x16d32c=_0x13f210=_0x4e121e?this[_0x5de915(0xaf7)][_0x5de915(0xcce)]({}):_0x13f210)['pushDebugGroup'])&&_0x1110e5['call'](_0x16d32c,'create\x20cube\x20mipmaps\x20-\x20'+_0x4d3e7a+_0x5de915(0x246));for(let _0x2e3ee1=0x0;_0x2e3ee1<0x6;++_0x2e3ee1)this[_0x5de915(0x616)](_0x2aab67,_0x1a1dea,_0x4d3e7a,_0x2e3ee1,_0x13f210);null!=(_0x16d32c=(_0x1110e5=_0x13f210)[_0x5de915(0x680)])&&_0x16d32c['call'](_0x1110e5),_0x4e121e&&this[_0x5de915(0xaf7)][_0x5de915(0x588)][_0x5de915(0x986)]([_0x13f210['finish']()]);}['generateMipmaps'](_0x1fb57c,_0x20e598,_0x493397,_0x58ba97=0x0,_0x3447b5){var _0x151e3c=_0x25ad72,_0x5383a8,_0x3995cb,_0x279938=void 0x0===_0x3447b5,[_0x3389d9,_0x3f6818]=this[_0x151e3c(0x668)](_0x20e598);_0x58ba97=Math[_0x151e3c(0xa14)](_0x58ba97,0x0),null!=(_0x5383a8=(_0x3995cb=_0x3447b5=_0x279938?this[_0x151e3c(0xaf7)]['createCommandEncoder']({}):_0x3447b5)[_0x151e3c(0x997)])&&_0x5383a8['call'](_0x3995cb,_0x151e3c(0x917)+_0x58ba97+_0x151e3c(0x770)+_0x493397+_0x151e3c(0x246));let _0x251412;if(_0x1fcd9f[_0x151e3c(0x954)](_0x1fb57c)?(_0x251412=_0x1fb57c[_0x151e3c(0x22a)],_0x1fb57c[_0x151e3c(0x391)]=_0x1fb57c[_0x151e3c(0x391)]||[],_0x1fb57c[_0x151e3c(0x55f)]=_0x1fb57c['_mipmapGenBindGroup']||[]):(_0x251412=_0x1fb57c,_0x1fb57c=void 0x0),_0x251412){const _0x577162=_0x1fb57c;for(let _0x301cc8=0x1;_0x301cc8<_0x493397;++_0x301cc8){var _0x4f1a0b=null!=(_0x4f1a0b=null==(_0x4f1a0b=null===_0x577162||void 0x0===_0x577162?void 0x0:_0x577162[_0x151e3c(0x391)][_0x58ba97])?void 0x0:_0x4f1a0b[_0x301cc8-0x1])?_0x4f1a0b:{'colorAttachments':[{'view':_0x251412['createView']({'format':_0x20e598,'dimension':_0x5ba32['p_'][_0x151e3c(0xb2e)],'baseMipLevel':_0x301cc8,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':_0x58ba97}),'loadOp':_0x5ba32['Ws'][_0x151e3c(0x1ae)],'storeOp':_0x5ba32['EG'][_0x151e3c(0xc2a)]}]};_0x577162&&(_0x577162[_0x151e3c(0x391)][_0x58ba97]=_0x577162['_mipmapGenRenderPassDescr'][_0x58ba97]||[],_0x577162[_0x151e3c(0x391)][_0x58ba97][_0x301cc8-0x1]=_0x4f1a0b);const _0x3c2f4a=_0x3447b5[_0x151e3c(0x5af)](_0x4f1a0b);_0x4f1a0b=null!=(_0x4f1a0b=null==(_0x4f1a0b=null===_0x577162||void 0x0===_0x577162?void 0x0:_0x577162[_0x151e3c(0x55f)][_0x58ba97])?void 0x0:_0x4f1a0b[_0x301cc8-0x1])?_0x4f1a0b:this[_0x151e3c(0xaf7)][_0x151e3c(0x1e1)]({'layout':_0x3f6818,'entries':[{'binding':0x0,'resource':this[_0x151e3c(0x42a)]},{'binding':0x1,'resource':_0x251412[_0x151e3c(0x554)]({'format':_0x20e598,'dimension':_0x5ba32['p_'][_0x151e3c(0xb2e)],'baseMipLevel':_0x301cc8-0x1,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':_0x58ba97})}]}),(_0x577162&&(_0x577162['_mipmapGenBindGroup'][_0x58ba97]=_0x577162[_0x151e3c(0x55f)][_0x58ba97]||[],_0x577162['_mipmapGenBindGroup'][_0x58ba97][_0x301cc8-0x1]=_0x4f1a0b),_0x3c2f4a[_0x151e3c(0x59b)](_0x3389d9),_0x3c2f4a[_0x151e3c(0x8d9)](0x0,_0x4f1a0b),_0x3c2f4a['draw'](0x4,0x1,0x0,0x0),_0x3c2f4a[_0x151e3c(0xca0)]());}null!=(_0x3995cb=(_0x5383a8=_0x3447b5)[_0x151e3c(0x680)])&&_0x3995cb[_0x151e3c(0x3f7)](_0x5383a8),_0x279938&&this[_0x151e3c(0xaf7)][_0x151e3c(0x588)]['submit']([_0x3447b5['finish']()]);}}[_0x25ad72(0x58f)](_0x9bf501,_0x124c3e,_0x6d9d47,_0xed1b78,_0x146f3d){var _0x16c99f=_0x25ad72;_0x9bf501[_0x16c99f(0x372)]||(_0x9bf501[_0x16c99f(0x372)]=new _0x485a2e['Z']()),void 0x0===_0x124c3e&&(_0x124c3e=_0x9bf501['width']),void 0x0===_0x6d9d47&&(_0x6d9d47=_0x9bf501[_0x16c99f(0x831)]),void 0x0===_0xed1b78&&(_0xed1b78=_0x9bf501[_0x16c99f(0x67b)]);const _0x3fa2f6=_0x9bf501['_hardwareTexture'];var _0x3d0492,_0x146f3d=0x0!=((null!=_0x146f3d?_0x146f3d:0x0)&_0x58f0f2['g'][_0x16c99f(0x932)]),_0x3daf73=(_0x3fa2f6[_0x16c99f(0x3be)]=_0x1fcd9f[_0x16c99f(0x310)](_0x9bf501['type'],_0x9bf501['format'],_0x9bf501[_0x16c99f(0xbba)]),_0x3fa2f6[_0x16c99f(0x584)]=_0x9bf501['_source']===_0x1fb4a2['S']['RenderTarget']||_0x9bf501[_0x16c99f(0x379)]===_0x1fb4a2['S'][_0x16c99f(0xb36)]?_0x5ba32['v2'][_0x16c99f(0x401)]|_0x5ba32['v2'][_0x16c99f(0x7c2)]|_0x5ba32['v2'][_0x16c99f(0xaf1)]:_0x9bf501[_0x16c99f(0x39a)]===_0x1fb4a2['S'][_0x16c99f(0x7ec)]?_0x5ba32['v2'][_0x16c99f(0x401)]|_0x5ba32['v2'][_0x16c99f(0xaf1)]:-0x1,_0x3fa2f6[_0x16c99f(0xb84)]=_0x146f3d?_0x5ba32['v2']['StorageBinding']:0x0,_0x9bf501['generateMipMaps']),_0x1fc573=_0xed1b78||0x1,_0x3daf73=null!==_0x9bf501[_0x16c99f(0x44f)]?_0x9bf501[_0x16c99f(0x44f)]:_0x3daf73?_0x1fcd9f[_0x16c99f(0x2b7)](_0x124c3e,_0x6d9d47):0x1;return _0x9bf501['isCube']?(_0x3d0492=this['createCubeTexture']({'width':_0x124c3e,'height':_0x6d9d47},_0x9bf501[_0x16c99f(0xb73)],_0x9bf501[_0x16c99f(0xb73)],_0x9bf501[_0x16c99f(0xae5)],!0x1,_0x3fa2f6[_0x16c99f(0x3be)],0x1,this[_0x16c99f(0xb5e)],_0x3fa2f6['textureUsages'],_0x3fa2f6['textureAdditionalUsages'],_0x9bf501['label']),_0x3fa2f6[_0x16c99f(0xd4)](_0x3d0492),_0x3fa2f6[_0x16c99f(0x554)]({'format':_0x1fcd9f['GetDepthFormatOnly'](_0x3fa2f6[_0x16c99f(0x3be)]),'dimension':_0x5ba32['p_'][_0x16c99f(0x17c)],'mipLevelCount':_0x3daf73,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':0x6,'aspect':_0x1fcd9f[_0x16c99f(0xcc8)](_0x3fa2f6[_0x16c99f(0x3be)])?_0x5ba32['H7'][_0x16c99f(0xb66)]:_0x5ba32['H7'][_0x16c99f(0x85b)]},_0x146f3d)):(_0x3d0492=this[_0x16c99f(0xaf5)]({'width':_0x124c3e,'height':_0x6d9d47,'layers':_0x1fc573},_0x9bf501[_0x16c99f(0xb73)],_0x9bf501[_0x16c99f(0xb73)],_0x9bf501[_0x16c99f(0xae5)],!0x1,_0x9bf501['is3D'],_0x3fa2f6[_0x16c99f(0x3be)],0x1,this[_0x16c99f(0xb5e)],_0x3fa2f6['textureUsages'],_0x3fa2f6['textureAdditionalUsages'],_0x9bf501[_0x16c99f(0xa45)]),_0x3fa2f6['set'](_0x3d0492),_0x3fa2f6[_0x16c99f(0x554)]({'format':_0x1fcd9f[_0x16c99f(0x3bc)](_0x3fa2f6['format']),'dimension':_0x9bf501[_0x16c99f(0x5a4)]?_0x5ba32['p_'][_0x16c99f(0x6f1)]:_0x9bf501['is3D']?_0x5ba32['kd'][_0x16c99f(0x963)]:_0x5ba32['p_'][_0x16c99f(0xb2e)],'mipLevelCount':_0x3daf73,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':_0x9bf501[_0x16c99f(0x1ce)]?0x1:_0x1fc573,'aspect':_0x1fcd9f['HasDepthAndStencilAspects'](_0x3fa2f6[_0x16c99f(0x3be)])?_0x5ba32['H7'][_0x16c99f(0xb66)]:_0x5ba32['H7']['All']},_0x146f3d)),_0x9bf501['width']=_0x9bf501['baseWidth']=_0x124c3e,_0x9bf501[_0x16c99f(0x831)]=_0x9bf501['baseHeight']=_0x6d9d47,_0x9bf501['depth']=_0x9bf501[_0x16c99f(0x4f1)]=_0xed1b78,this[_0x16c99f(0x923)](_0x9bf501,_0x9bf501['samples']),_0x3fa2f6;}['createMSAATexture'](_0x46cb9a,_0x36c2b2){var _0x1331c8=_0x25ad72;const _0xd6eb75=_0x46cb9a[_0x1331c8(0x372)];var _0x50a7d6,_0x7d5b70,_0x153782,_0xb29e;null!==_0xd6eb75&&void 0x0!==_0xd6eb75&&_0xd6eb75[_0x1331c8(0x344)]&&(this['releaseTexture'](_0xd6eb75[_0x1331c8(0x344)]),_0xd6eb75[_0x1331c8(0x344)]=null),!_0xd6eb75||(null!=_0x36c2b2?_0x36c2b2:0x1)<=0x1||(_0x50a7d6=_0x46cb9a[_0x1331c8(0x781)],_0x7d5b70=_0x46cb9a[_0x1331c8(0x831)],_0x153782=_0x46cb9a[_0x1331c8(0x67b)]||0x1,_0x46cb9a[_0x1331c8(0x7ed)]?(_0xb29e=this['createCubeTexture']({'width':_0x50a7d6,'height':_0x7d5b70},!0x1,!0x1,_0x46cb9a[_0x1331c8(0xae5)],!0x1,_0xd6eb75['format'],_0x36c2b2,this[_0x1331c8(0xb5e)],_0xd6eb75['textureUsages'],_0xd6eb75[_0x1331c8(0xb84)],_0x46cb9a[_0x1331c8(0xa45)]?_0x1331c8(0x492)+_0x46cb9a['label']:void 0x0),_0xd6eb75[_0x1331c8(0x344)]=_0xb29e):(_0xb29e=this[_0x1331c8(0xaf5)]({'width':_0x50a7d6,'height':_0x7d5b70,'layers':_0x153782},!0x1,!0x1,_0x46cb9a[_0x1331c8(0xae5)],!0x1,_0x46cb9a[_0x1331c8(0x1ce)],_0xd6eb75[_0x1331c8(0x3be)],_0x36c2b2,this[_0x1331c8(0xb5e)],_0xd6eb75[_0x1331c8(0x584)],_0xd6eb75[_0x1331c8(0xb84)],_0x46cb9a[_0x1331c8(0xa45)]?_0x1331c8(0x492)+_0x46cb9a[_0x1331c8(0xa45)]:void 0x0),_0xd6eb75[_0x1331c8(0x344)]=_0xb29e));}[_0x25ad72(0x808)](_0x163747,_0x156e8a,_0x1fcf26,_0x3df57c,_0x30526b,_0xb3b34a=!0x1,_0x2cac54=!0x1,_0x404a33=0x0,_0x334a93=0x0){var _0x3155b7=_0x25ad72,_0x39e2b6=[0x0,0x3,0x1,0x4,0x2,0x5];for(let _0x2e8083=0x0;_0x2e8083<_0x39e2b6[_0x3155b7(0xb85)];++_0x2e8083){var _0x740130=_0x163747[_0x39e2b6[_0x2e8083]];this[_0x3155b7(0x517)](_0x740130,_0x156e8a,_0x1fcf26,_0x3df57c,0x1,_0x30526b,_0x2e8083,0x0,_0xb3b34a,_0x2cac54,_0x404a33,_0x334a93);}}[_0x25ad72(0x517)](_0x5bce2c,_0x4dbd7c,_0x54af8c,_0x20b85e,_0x32b903,_0x320e69,_0x443ad0=0x0,_0x5d4793=0x0,_0x138794=!0x1,_0x1f0e05=!0x1,_0x546c5a=0x0,_0x179c01=0x0,_0x5808fd){var _0x217cd4=_0x25ad72,_0x511869=_0x1fcd9f['_IsInternalTexture'](_0x4dbd7c)?_0x4dbd7c['_hardwareTexture']['underlyingResource']:_0x4dbd7c,_0x13fb2a=_0x1fcd9f[_0x217cd4(0x6db)](_0x320e69),_0x56485a=_0x1fcd9f[_0x217cd4(0x8a1)](_0x4dbd7c)?_0x4dbd7c[_0x217cd4(0x372)]:_0x4dbd7c;const _0x554b9d={'texture':_0x511869,'origin':{'x':_0x546c5a,'y':_0x179c01,'z':Math['max'](_0x443ad0,0x0)},'mipLevel':_0x5d4793,'premultipliedAlpha':_0x1f0e05},_0x41d749={'width':Math['ceil'](_0x54af8c/_0x13fb2a['width'])*_0x13fb2a[_0x217cd4(0x781)],'height':Math[_0x217cd4(0xc5e)](_0x20b85e/_0x13fb2a['height'])*_0x13fb2a[_0x217cd4(0x831)],'depthOrArrayLayers':_0x32b903||0x1};if(void 0x0!==_0x5bce2c[_0x217cd4(0xabb)]){_0x511869=Math[_0x217cd4(0xc5e)](_0x54af8c/_0x13fb2a['width'])*_0x13fb2a[_0x217cd4(0xb85)];if(0x100*Math[_0x217cd4(0xc5e)](_0x511869/0x100)==_0x511869){const _0x4370ab=this['_device'][_0x217cd4(0xcce)]({}),_0x2900ec=this[_0x217cd4(0x501)][_0x217cd4(0x521)](_0x5bce2c[_0x217cd4(0xabb)],_0x5ba32['FB'][_0x217cd4(0x5d5)]|_0x5ba32['FB']['CopySrc'],!0x0);_0x13fb2a=_0x2900ec[_0x217cd4(0x736)](),(new Uint8Array(_0x13fb2a)[_0x217cd4(0xd4)](_0x5bce2c),_0x2900ec['unmap'](),_0x4370ab['copyBufferToTexture']({'buffer':_0x2900ec,'offset':0x0,'bytesPerRow':_0x511869,'rowsPerImage':_0x20b85e},_0x554b9d,_0x41d749),this['_device']['queue']['submit']([_0x4370ab[_0x217cd4(0x43d)]()]),this['_bufferManager'][_0x217cd4(0xcbf)](_0x2900ec));}else this[_0x217cd4(0xaf7)][_0x217cd4(0x588)][_0x217cd4(0x5f1)](_0x554b9d,_0x5bce2c,{'offset':0x0,'bytesPerRow':_0x511869,'rowsPerImage':_0x20b85e},_0x41d749);if(_0x138794||_0x1f0e05){if(!_0x1fcd9f[_0x217cd4(0x8a1)](_0x4dbd7c))throw _0x217cd4(0x356);_0x13fb2a=0x0===_0x546c5a&&0x0===_0x179c01&&_0x54af8c===_0x4dbd7c[_0x217cd4(0x781)]&&_0x20b85e===_0x4dbd7c[_0x217cd4(0x831)],this[_0x217cd4(0xc7e)](_0x56485a,_0x4dbd7c[_0x217cd4(0x781)],_0x4dbd7c['height'],_0x320e69,_0x138794,_0x1f0e05,_0x443ad0,_0x5d4793,_0x32b903||0x1,_0x546c5a,_0x179c01,_0x13fb2a?0x0:_0x54af8c,_0x13fb2a?0x0:_0x20b85e,void 0x0,_0x5808fd);}}else{if(_0x138794){if(_0x554b9d[_0x217cd4(0x1c0)]=!0x1,_0x1fcd9f[_0x217cd4(0x8a1)](_0x4dbd7c)&&0x0===_0x546c5a&&0x0===_0x179c01&&_0x54af8c===_0x4dbd7c['width']&&_0x20b85e===_0x4dbd7c[_0x217cd4(0x831)])this[_0x217cd4(0xaf7)][_0x217cd4(0x588)][_0x217cd4(0x508)]({'source':_0x5bce2c},_0x554b9d,_0x41d749),this[_0x217cd4(0xc7e)](_0x56485a,_0x54af8c,_0x20b85e,_0x320e69,_0x138794,_0x1f0e05,_0x443ad0,_0x5d4793,_0x32b903||0x1,0x0,0x0,0x0,0x0,void 0x0,_0x5808fd);else{const _0x3a517d=this[_0x217cd4(0xaf7)][_0x217cd4(0xcce)]({});_0x511869=this[_0x217cd4(0xaf5)]({'width':_0x54af8c,'height':_0x20b85e,'layers':0x1},!0x1,!0x1,!0x1,!0x1,!0x1,_0x320e69,0x1,_0x3a517d,_0x5ba32['v2'][_0x217cd4(0x7c2)]|_0x5ba32['v2'][_0x217cd4(0x401)],void 0x0,_0x217cd4(0x3c9)),(this[_0x217cd4(0x1c1)][_0x217cd4(0x731)]([_0x511869,null]),_0x41d749[_0x217cd4(0x212)]=0x1,this[_0x217cd4(0xaf7)]['queue'][_0x217cd4(0x508)]({'source':_0x5bce2c},{'texture':_0x511869},_0x41d749),_0x41d749[_0x217cd4(0x212)]=_0x32b903||0x1,this['invertYPreMultiplyAlpha'](_0x511869,_0x54af8c,_0x20b85e,_0x320e69,_0x138794,_0x1f0e05,_0x443ad0,_0x5d4793,_0x32b903||0x1,0x0,0x0,0x0,0x0,_0x3a517d,_0x5808fd),_0x3a517d[_0x217cd4(0xc8a)]({'texture':_0x511869},_0x554b9d,_0x41d749),this['_device'][_0x217cd4(0x588)]['submit']([_0x3a517d['finish']()]));}}else this[_0x217cd4(0xaf7)]['queue'][_0x217cd4(0x508)]({'source':_0x5bce2c},_0x554b9d,_0x41d749);}}[_0x25ad72(0x5ac)](_0x187c2a,_0x5d79f3,_0x3dc62d,_0x46144e,_0x48b852,_0x1a752c,_0x960b84=0x0,_0x403571=0x0,_0x297cfd=null,_0x4f2f4c=!0x1){var _0x426b36=_0x25ad72,_0x2657d2=_0x1fcd9f['_GetBlockInformationFromFormat'](_0x1a752c),_0x2657d2=Math[_0x426b36(0xc5e)](_0x46144e/_0x2657d2[_0x426b36(0x781)])*_0x2657d2[_0x426b36(0xb85)],_0x1b7a7b=0x100*Math[_0x426b36(0xc5e)](_0x2657d2/0x100),_0x4d8c68=_0x1b7a7b*_0x48b852,_0x2a683d=this[_0x426b36(0x501)][_0x426b36(0x521)](_0x4d8c68,_0x5ba32['FB'][_0x426b36(0x535)]|_0x5ba32['FB']['CopyDst']);const _0x1c454f=this[_0x426b36(0xaf7)][_0x426b36(0xcce)]({});return _0x1c454f[_0x426b36(0x242)]({'texture':_0x187c2a,'mipLevel':_0x403571,'origin':{'x':_0x5d79f3,'y':_0x3dc62d,'z':Math[_0x426b36(0xa14)](_0x960b84,0x0)}},{'buffer':_0x2a683d,'offset':0x0,'bytesPerRow':_0x1b7a7b},{'width':_0x46144e,'height':_0x48b852,'depthOrArrayLayers':0x1}),this['_device']['queue'][_0x426b36(0x986)]([_0x1c454f[_0x426b36(0x43d)]()]),this[_0x426b36(0x501)][_0x426b36(0x8a6)](_0x2a683d,_0x4d8c68,_0x46144e,_0x48b852,_0x2657d2,_0x1b7a7b,_0x1fcd9f[_0x426b36(0xf2)](_0x1a752c),0x0,_0x297cfd,!0x0,_0x4f2f4c);}[_0x25ad72(0x3f1)](_0x8d60e8){var _0x40b79c=_0x25ad72,_0x1d7bd8,_0x3c08bb;_0x1fcd9f[_0x40b79c(0x8a1)](_0x8d60e8)?(_0x1d7bd8=_0x8d60e8[_0x40b79c(0x372)],_0x3c08bb=_0x8d60e8[_0x40b79c(0x610)],this[_0x40b79c(0x1c1)]['push']([_0x1d7bd8,_0x3c08bb])):this['_deferredReleaseTextures']['push']([_0x8d60e8,null]);}['destroyDeferredTextures'](){var _0x2171d0=_0x25ad72;for(let _0xd7b2e3=0x0;_0xd7b2e3<this[_0x2171d0(0x1c1)][_0x2171d0(0xb85)];++_0xd7b2e3){const [_0x1a4e28,_0x3bc375]=this['_deferredReleaseTextures'][_0xd7b2e3];_0x1a4e28&&(_0x1fcd9f[_0x2171d0(0x954)](_0x1a4e28)?_0x1a4e28[_0x2171d0(0x6cb)]():_0x1a4e28[_0x2171d0(0x3b2)]()),null!==_0x3bc375&&void 0x0!==_0x3bc375&&_0x3bc375[_0x2171d0(0xae6)]();}this['_deferredReleaseTextures'][_0x2171d0(0xb85)]=0x0;}}},0x17bd:(_0x3cfb15,_0x510ccb,_0x3224b1)=>{var _0x56d90a=a6_0x36115b;_0x3224b1['d'](_0x510ccb,{'b':()=>_0x2c1905});var _0x55e132=_0x3224b1(0x89a1),_0x1fe008=_0x3224b1(0x360b),_0x402485=_0x3224b1(0x16268);class _0x2c1905{constructor(_0x1985e6,_0x3aa15c){var _0x47b9d6=a6_0x238e;this[_0x47b9d6(0xc89)]=!0x1,this[_0x47b9d6(0x9b5)]=new _0x1fe008['z'](),this[_0x47b9d6(0xfd)]=0x0,this[_0x47b9d6(0xaf7)]=_0x1985e6,this[_0x47b9d6(0x501)]=_0x3aa15c;}get[_0x56d90a(0x9f2)](){var _0x80f939=_0x56d90a;return this[_0x80f939(0x9b5)];}get[_0x56d90a(0x211)](){var _0x31fef4=_0x56d90a;return this[_0x31fef4(0xc89)];}set[_0x56d90a(0x211)](_0x339750){var _0x4fc6d3=_0x56d90a;this[_0x4fc6d3(0xc89)]!==_0x339750&&(this['_enabled']=_0x339750,this[_0x4fc6d3(0xfd)]=0x0,_0x339750?this['_measureDuration']=new _0x922050(this[_0x4fc6d3(0xaf7)],this['_bufferManager']):this[_0x4fc6d3(0x922)][_0x4fc6d3(0xae6)]());}[_0x56d90a(0x7ba)](_0x52604c){var _0x1bbbac=_0x56d90a;this['_enabled']&&0x0===this[_0x1bbbac(0xfd)]&&(this[_0x1bbbac(0x922)][_0x1bbbac(0x649)](_0x52604c),this[_0x1bbbac(0xfd)]=0x1);}[_0x56d90a(0x959)](_0x551ea6){var _0x3187a5=_0x56d90a;0x1===this['_measureDurationState']&&(this['_measureDurationState']=0x2,this[_0x3187a5(0x922)]['stop'](_0x551ea6)[_0x3187a5(0x322)](_0x1414af=>{var _0x5a0231=_0x3187a5;null!==_0x1414af&&0x0<=_0x1414af&&(this['_gpuFrameTimeCounter'][_0x5a0231(0xbad)](),this[_0x5a0231(0x9b5)]['addCount'](_0x1414af,!0x0)),this['_measureDurationState']=0x0;}));}}class _0x922050{constructor(_0x22b9fe,_0x504641){var _0x54ded1=_0x56d90a;this['_querySet']=new _0x402485['t'](0x2,_0x55e132['xL'][_0x54ded1(0xa4c)],_0x22b9fe,_0x504641);}[_0x56d90a(0x649)](_0x39455b){var _0x58d4ed=_0x56d90a;_0x39455b[_0x58d4ed(0xc5f)](this['_querySet']['querySet'],0x0);}[_0x56d90a(0x2ef)](_0x2c69f9){return _0x4d5271=this,_0x319299=function*(){var _0x51964d=a6_0x238e;return _0x2c69f9[_0x51964d(0xc5f)](this[_0x51964d(0x921)][_0x51964d(0x5e9)],0x1),this['_querySet'][_0x51964d(0x496)](0x0);},new(_0x5f0e66=(_0x5f0e66=_0x1f241e=void 0x0)||Promise)(function(_0x1e8e40,_0x3a7188){var _0x13d3f3=a6_0x238e;function _0x492a86(_0x1f3070){var _0x386598=a6_0x238e;try{_0x2227c2(_0x319299[_0x386598(0x2e4)](_0x1f3070));}catch(_0x3b6b14){_0x3a7188(_0x3b6b14);}}function _0x2503d9(_0xcf8e3c){var _0x18356b=a6_0x238e;try{_0x2227c2(_0x319299[_0x18356b(0x138)](_0xcf8e3c));}catch(_0x422343){_0x3a7188(_0x422343);}}function _0x2227c2(_0x51b307){var _0x24fb64=a6_0x238e,_0x49872d;_0x51b307[_0x24fb64(0x3cf)]?_0x1e8e40(_0x51b307[_0x24fb64(0x96b)]):((_0x49872d=_0x51b307[_0x24fb64(0x96b)])instanceof _0x5f0e66?_0x49872d:new _0x5f0e66(function(_0x327d09){_0x327d09(_0x49872d);}))[_0x24fb64(0x322)](_0x492a86,_0x2503d9);}_0x2227c2((_0x319299=_0x319299['apply'](_0x4d5271,_0x1f241e||[]))[_0x13d3f3(0x2e4)]());});var _0x4d5271,_0x1f241e,_0x5f0e66,_0x319299;}['dispose'](){this['_querySet']['dispose']();}}},0x1181f:(_0x4351cc,_0x307461,_0x49f07a)=>{var _0x397c4f=a6_0x36115b;_0x49f07a['d'](_0x307461,{'o':()=>_0x37ae7d});var _0x307461=_0x49f07a(0xa838),_0x217b30=_0x49f07a(0x1dad),_0x269b80=_0x49f07a(0xbac7),_0x38d66a=_0x49f07a(0x13708),_0xc888c6=_0x49f07a(0x58b),_0x3b56bf=_0x49f07a(0xf96c),_0x56e75f=_0x49f07a(0x9fd1),_0x5447be=_0x49f07a(0x15857);class _0x37ae7d extends _0x307461['Y']{constructor(_0xdccf90,_0x50e0fd,_0x573a5b,_0x1f355c,_0x59c527=null){var _0x190a27=a6_0x238e;super(_0xdccf90,_0x1f355c),this[_0x190a27(0xa30)]=_0x59c527,this[_0x190a27(0x645)]=!0x1,this['_crossEye']=!0x1,this['_useDirectMapping']=!0x1,this['_textureMode']=_0x37ae7d['MODE_MONOSCOPIC'],this[_0x190a27(0xc2b)]=null,this[_0x190a27(0x775)]=new _0x3b56bf['y$'](),this[_0x190a27(0x48b)]=new _0x3b56bf['y$'](),_0x1f355c=this[_0x190a27(0xa8b)](),_0xdccf90=_0xdccf90||_0x190a27(0x49b),_0x573a5b[_0x190a27(0xf4)]=0x0|Math['abs'](_0x573a5b[_0x190a27(0xf4)])||0x20,_0x573a5b[_0x190a27(0x7b0)]=Boolean(_0x573a5b[_0x190a27(0x7b0)]),_0x573a5b['autoPlay']=void 0x0===_0x573a5b['autoPlay']||Boolean(_0x573a5b[_0x190a27(0x66c)]),_0x573a5b[_0x190a27(0xab2)]=void 0x0===_0x573a5b['loop']||Boolean(_0x573a5b['loop']),_0x573a5b[_0x190a27(0x683)]=Math[_0x190a27(0xc0b)](_0x573a5b['size'])||(_0x1f355c['activeCamera']?0.48*_0x1f355c[_0x190a27(0x89a)][_0x190a27(0x69a)]:0x3e8),void 0x0===_0x573a5b[_0x190a27(0x4ce)]?this[_0x190a27(0x97d)]=!0x0:this[_0x190a27(0x97d)]=_0x573a5b[_0x190a27(0x4ce)],void 0x0===_0x573a5b[_0x190a27(0x83d)]&&(_0x573a5b[_0x190a27(0x83d)]=!0x0),this['_setReady'](!0x1),_0x573a5b[_0x190a27(0xcdb)]?this[_0x190a27(0x893)]=_0x573a5b[_0x190a27(0xcdb)]:this[_0x190a27(0x893)]=(0x0,_0xc888c6['Qk'])(_0xdccf90+'_mesh',{'segments':_0x573a5b[_0x190a27(0xf4)],'diameter':_0x573a5b['size'],'updatable':!0x1,'sideOrientation':_0x217b30['Kj'][_0x190a27(0xc75)]},_0x1f355c);const _0x52afba=this[_0x190a27(0x723)]=new _0x38d66a['I'](_0xdccf90+'_material',_0x1f355c);_0x52afba[_0x190a27(0x2b4)]=!0x0,_0x52afba[_0x190a27(0x308)]=0x1,_0x52afba[_0x190a27(0x5f2)]=!0x1,_0x59c527=this[_0x190a27(0x6f8)](_0x50e0fd,_0x1f355c,_0x573a5b);if(this[_0x190a27(0xa91)]=_0x59c527,this[_0x190a27(0x893)][_0x190a27(0x121)]=_0x52afba,(this[_0x190a27(0x893)][_0x190a27(0x566)]=this)[_0x190a27(0xc92)]=(0x0,_0xc888c6['Qk'])('',{'slice':0.5,'diameter':0.98*_0x573a5b[_0x190a27(0x683)],'segments':0x2*_0x573a5b[_0x190a27(0xf4)],'sideOrientation':_0x217b30['Kj'][_0x190a27(0xc75)]},_0x1f355c),this['_halfDomeMask'][_0x190a27(0x94a)](_0x5447be['RD']['X'],-Math['PI']/0x2),this['_halfDomeMask']['parent']=this[_0x190a27(0x893)],this[_0x190a27(0x645)]=!!_0x573a5b['halfDomeMode'],this[_0x190a27(0xc92)]['setEnabled'](this[_0x190a27(0x645)]),this[_0x190a27(0x4f4)]=!!_0x573a5b[_0x190a27(0x9e9)],this[_0x190a27(0x913)][_0x190a27(0xcab)]=0x1,this[_0x190a27(0x913)][_0x190a27(0x48b)][_0x190a27(0x7d4)](()=>{this['_setReady'](!0x0);}),_0x573a5b[_0x190a27(0x83d)]&&_0x1f355c['activeCamera']){const _0x554540=_0x1f355c[_0x190a27(0x89a)];_0xdccf90=_0x56e75f['P'][_0x190a27(0x42c)]();const _0x35d30c=_0x56e75f['P'][_0x190a27(0x38e)](_0xdccf90,_0x554540[_0x190a27(0x116)]());_0x35d30c['normalize'](),this['rotation']['y']=Math[_0x190a27(0x18c)](_0x56e75f['P'][_0x190a27(0x658)](_0xdccf90,_0x35d30c));}this[_0x190a27(0x47f)](this[_0x190a27(0x8d3)]);}get[_0x397c4f(0xa91)](){var _0x42642c=_0x397c4f;return this[_0x42642c(0x913)];}set['texture'](_0x193ebf){var _0x3a7a3d=_0x397c4f;this[_0x3a7a3d(0x913)]!==_0x193ebf&&(this[_0x3a7a3d(0x913)]=_0x193ebf,this['_useDirectMapping']?(this['_texture'][_0x3a7a3d(0x186)]=_0x269b80['x']['CLAMP_ADDRESSMODE'],this[_0x3a7a3d(0x913)][_0x3a7a3d(0x797)]=_0x269b80['x'][_0x3a7a3d(0x794)],this['_material'][_0x3a7a3d(0xaba)]=this[_0x3a7a3d(0x913)]):(this[_0x3a7a3d(0x913)]['coordinatesMode']=_0x269b80['x'][_0x3a7a3d(0x865)],this[_0x3a7a3d(0x913)][_0x3a7a3d(0x797)]=_0x269b80['x'][_0x3a7a3d(0x794)],this[_0x3a7a3d(0x723)][_0x3a7a3d(0x200)]=this[_0x3a7a3d(0x913)]),this[_0x3a7a3d(0x47f)](this[_0x3a7a3d(0x8d3)]));}get[_0x397c4f(0xcdb)](){var _0x160ebe=_0x397c4f;return this[_0x160ebe(0x893)];}get[_0x397c4f(0x308)](){var _0x4f48d4=_0x397c4f;return this[_0x4f48d4(0x723)][_0x4f48d4(0x308)];}set[_0x397c4f(0x308)](_0x5e9bd2){var _0x3d633f=_0x397c4f;this[_0x3d633f(0x723)][_0x3d633f(0x308)]=_0x5e9bd2;}get[_0x397c4f(0xaf6)](){var _0x24d826=_0x397c4f;return this[_0x24d826(0x8d3)];}set['textureMode'](_0x4433e5){this['_textureMode']!==_0x4433e5&&this['_changeTextureMode'](_0x4433e5);}get[_0x397c4f(0x68b)](){var _0x1f1614=_0x397c4f;return this[_0x1f1614(0x645)];}set[_0x397c4f(0x68b)](_0xcae17f){var _0x1b264d=_0x397c4f;this[_0x1b264d(0x645)]=_0xcae17f,this[_0x1b264d(0xc92)][_0x1b264d(0xacd)](_0xcae17f),this['_changeTextureMode'](this[_0x1b264d(0x8d3)]);}set[_0x397c4f(0x427)](_0x13571e){var _0x315a83=_0x397c4f;this[_0x315a83(0x4f4)]=_0x13571e,this[_0x315a83(0x47f)](this[_0x315a83(0x8d3)]);}get[_0x397c4f(0x427)](){return this['_crossEye'];}get[_0x397c4f(0x121)](){var _0x288aa7=_0x397c4f;return this[_0x288aa7(0x723)];}[_0x397c4f(0x47f)](_0x304b90){var _0x337034=_0x397c4f;switch(this[_0x337034(0x5ff)][_0x337034(0xadc)][_0x337034(0x92f)](this['_onBeforeCameraRenderObserver']),this[_0x337034(0x8d3)]=_0x304b90,this[_0x337034(0x913)][_0x337034(0x3b6)]=0x1,this[_0x337034(0x913)][_0x337034(0x12e)]=0x1,this[_0x337034(0x913)][_0x337034(0x111)]=0x0,this['_texture'][_0x337034(0x1cb)]=0x0,this[_0x337034(0x913)][_0x337034(0xcac)]=0x0,_0x304b90){case _0x37ae7d[_0x337034(0x51e)]:this[_0x337034(0x645)]&&(this[_0x337034(0x913)][_0x337034(0x3b6)]=0x2,this[_0x337034(0x913)]['uOffset']=-0x1);break;case _0x37ae7d[_0x337034(0x614)]:{this[_0x337034(0x913)][_0x337034(0x3b6)]=this['_halfDome']?0.99999:0.5;const _0x110d0d=this['_halfDome']?0x0:0.5,_0x17a88e=this[_0x337034(0x645)]?-0.5:0x0;this[_0x337034(0xc2b)]=this[_0x337034(0x5ff)][_0x337034(0xadc)][_0x337034(0x4b6)](_0x1ed6b3=>{var _0x37ba21=_0x337034;let _0x5567a4=_0x1ed6b3[_0x37ba21(0xb17)];(_0x5567a4=this[_0x37ba21(0x4f4)]?!_0x5567a4:_0x5567a4)?this[_0x37ba21(0x913)]['uOffset']=_0x110d0d:this['_texture'][_0x37ba21(0x111)]=_0x17a88e;});break;}case _0x37ae7d['MODE_TOPBOTTOM']:this[_0x337034(0x913)][_0x337034(0x12e)]=this[_0x337034(0x645)]?0.99999:0.5,this[_0x337034(0xc2b)]=this[_0x337034(0x5ff)]['onBeforeCameraRenderObservable'][_0x337034(0x4b6)](_0x498144=>{var _0x282266=_0x337034;let _0x18af9d=_0x498144['isRightCamera'];this[_0x282266(0x4f4)]&&(_0x18af9d=!_0x18af9d),this[_0x282266(0x913)][_0x282266(0x1cb)]=_0x18af9d?0.5:0x0;});}}[_0x397c4f(0xae6)](_0x194243,_0x2e5678=!0x1){var _0x15307c=_0x397c4f;this['_texture'][_0x15307c(0xae6)](),this[_0x15307c(0x893)][_0x15307c(0xae6)](),this[_0x15307c(0x723)][_0x15307c(0xae6)](),this[_0x15307c(0x5ff)][_0x15307c(0xadc)][_0x15307c(0x92f)](this['_onBeforeCameraRenderObserver']),this[_0x15307c(0x775)][_0x15307c(0x20f)](),this[_0x15307c(0x48b)]['clear'](),super[_0x15307c(0xae6)](_0x194243,_0x2e5678);}}_0x37ae7d[_0x397c4f(0x51e)]=0x0,_0x37ae7d[_0x397c4f(0xa48)]=0x1,_0x37ae7d[_0x397c4f(0x614)]=0x2;},0x231f:(_0x1a87f3,_0x527009,_0x1d4e9b)=>{var _0x59236f=a6_0x36115b;_0x1d4e9b['d'](_0x527009,{'$':()=>_0x5b10ad});var _0x56ed13=_0x1d4e9b(0x1272b),_0x368da6=_0x1d4e9b(0x9927),_0x4fc12a=_0x1d4e9b(0x364b),_0xe785d=_0x1d4e9b(0x9fd1),_0x2ea2a9=_0x1d4e9b(0x77a5),_0x405145=_0x1d4e9b(0x2b0),_0x591c4b=_0x1d4e9b(0x93b9),_0xc7ee82=_0x1d4e9b(0x16067),_0x437818=_0x1d4e9b(0xda41),_0xd7aede=_0x1d4e9b(0xf8c1);class _0x1bbbbd{constructor(){var _0x5b227e=a6_0x238e;this[_0x5b227e(0x351)]=!0x1,this[_0x5b227e(0x911)]=!0x1,this['_hasSwiped']=!0x1,this['_ignore']=!0x1;}get[_0x59236f(0xa43)](){var _0x595865=_0x59236f;return this[_0x595865(0x351)];}get['doubleClick'](){var _0xa269c2=_0x59236f;return this[_0xa269c2(0x911)];}get[_0x59236f(0x2ae)](){return this['_hasSwiped'];}get[_0x59236f(0x3b8)](){var _0x209b20=_0x59236f;return this[_0x209b20(0xa3a)];}set['singleClick'](_0xfe3866){var _0x5b4564=_0x59236f;this[_0x5b4564(0x351)]=_0xfe3866;}set['doubleClick'](_0xd4e5a1){var _0x474833=_0x59236f;this[_0x474833(0x911)]=_0xd4e5a1;}set['hasSwiped'](_0x2331d6){this['_hasSwiped']=_0x2331d6;}set['ignore'](_0x573ea4){var _0x5871e2=_0x59236f;this[_0x5871e2(0xa3a)]=_0x573ea4;}}class _0x5b10ad{constructor(_0x43e9a1){var _0x114506=_0x59236f;this[_0x114506(0x7d9)]=!0x1,this[_0x114506(0x207)]=!0x1,this['_currentPickResult']=null,this['_previousPickResult']=null,this['_totalPointersPressed']=0x0,this[_0x114506(0x59d)]=!0x1,this[_0x114506(0x177)]=!0x1,this[_0x114506(0x43a)]=-0x1,this[_0x114506(0x4c2)]=!0x1,this[_0x114506(0x67f)]=!0x1,this[_0x114506(0x32c)]=0x0,this[_0x114506(0xaef)]=0x0,this[_0x114506(0x78f)]=new _0xe785d['FM'](0x0,0x0),this['_previousStartingPointerPosition']=new _0xe785d['FM'](0x0,0x0),this[_0x114506(0x51b)]=0x0,this['_previousStartingPointerTime']=0x0,this[_0x114506(0x953)]={},this[_0x114506(0x7d0)]={},this['_movePointerInfo']=null,this[_0x114506(0x675)]=0x0,this[_0x114506(0x525)]=[null,null,null,null,null],this[_0x114506(0x81f)]=null,this['_scene']=_0x43e9a1||_0xd7aede['l']['LastCreatedScene'],this[_0x114506(0x5ff)];}get[_0x59236f(0x498)](){var _0x11d3ec=_0x59236f;return this[_0x11d3ec(0xa2d)]&&(this[_0x11d3ec(0xa2d)][_0x11d3ec(0x867)](),this['_movePointerInfo']=null),this[_0x11d3ec(0xad4)];}['getMeshUnderPointerByPointerId'](_0xc1320){return this['_meshUnderPointerId'][_0xc1320]||null;}get[_0x59236f(0x533)](){var _0x201d02=_0x59236f;return new _0xe785d['FM'](this[_0x201d02(0x114)],this[_0x201d02(0x8ea)]);}get[_0x59236f(0x586)](){var _0x3a1532=_0x59236f;return this[_0x3a1532(0x32c)];}set[_0x59236f(0x586)](_0x36fa64){var _0x464f60=_0x59236f;this[_0x464f60(0x32c)]=_0x36fa64;}get[_0x59236f(0xc57)](){var _0xfea4fe=_0x59236f;return this[_0xfea4fe(0xaef)];}set['pointerY'](_0x3b9afa){var _0x4fde46=_0x59236f;this[_0x4fde46(0xaef)]=_0x3b9afa;}['_updatePointerPosition'](_0x2ee51c){var _0x168715=_0x59236f,_0x414c1a=this[_0x168715(0x5ff)][_0x168715(0x5e8)]()[_0x168715(0xbe1)]();_0x414c1a&&(this['_pointerX']=_0x2ee51c[_0x168715(0x53b)]-_0x414c1a['left'],this[_0x168715(0xaef)]=_0x2ee51c['clientY']-_0x414c1a[_0x168715(0x810)],this[_0x168715(0x114)]=this['_pointerX'],this[_0x168715(0x8ea)]=this[_0x168715(0xaef)]);}['_processPointerMove'](_0x33dfa6,_0x35202d){var _0x288f58=_0x59236f;const _0x57405d=this[_0x288f58(0x5ff)],_0x31ec8f=_0x57405d[_0x288f58(0x5e8)](),_0x17e95e=_0x31ec8f[_0x288f58(0x1a1)]();_0x17e95e&&(_0x17e95e['tabIndex']=_0x31ec8f[_0x288f58(0x5a3)],_0x57405d['doNotHandleCursors']||(_0x17e95e['style'][_0x288f58(0x6df)]=_0x57405d['defaultCursor'])),this[_0x288f58(0x877)](_0x33dfa6,_0x35202d,_0x57405d);for(const _0x5acf7b of _0x57405d['_pointerMoveStage']){var _0x2c1179=!(null==_0x33dfa6||!_0x33dfa6['pickedMesh']);_0x33dfa6=_0x5acf7b[_0x288f58(0x274)](this['_unTranslatedPointerX'],this[_0x288f58(0x8ea)],_0x33dfa6,_0x2c1179,_0x17e95e);}var _0x4614cb=_0x35202d[_0x288f58(0x3ab)]>=_0xc7ee82['Fz'][_0x288f58(0x5fe)]&&_0x35202d['inputIndex']<=_0xc7ee82['Fz']['MouseWheelZ']?_0x56ed13['kD'][_0x288f58(0x789)]:_0x56ed13['kD'][_0x288f58(0x885)];_0x57405d[_0x288f58(0x86b)]&&(_0x33dfa6=_0x33dfa6||this[_0x288f58(0xa86)](_0x35202d),_0x57405d[_0x288f58(0x86b)](_0x35202d,_0x33dfa6,_0x4614cb));let _0x570ef0;_0x33dfa6?(_0x570ef0=new _0x56ed13['R5'](_0x4614cb,_0x35202d,_0x33dfa6),this[_0x288f58(0x8fe)](_0x33dfa6,_0x35202d)):(_0x570ef0=new _0x56ed13['R5'](_0x4614cb,_0x35202d,null,this),this[_0x288f58(0xa2d)]=_0x570ef0),_0x57405d[_0x288f58(0x9e3)][_0x288f58(0x161)]()&&_0x57405d[_0x288f58(0x9e3)][_0x288f58(0x575)](_0x570ef0,_0x4614cb);}['_setRayOnPointerInfo'](_0x3320fe,_0x385770){var _0x1dfe8d=_0x59236f;const _0x5308d6=this[_0x1dfe8d(0x5ff)];_0x3320fe&&_0x5308d6['_pickingAvailable']&&(_0x3320fe[_0x1dfe8d(0x96d)]||(_0x3320fe['ray']=_0x5308d6['createPickingRay'](_0x385770[_0x1dfe8d(0x440)],_0x385770[_0x1dfe8d(0x63f)],_0xe785d['y3'][_0x1dfe8d(0x9ce)](),_0x5308d6[_0x1dfe8d(0x89a)])));}[_0x59236f(0xc04)](_0x323cfc,_0x39b451){var _0x5aff79=_0x59236f;return this['_cameraObserverCount']++,this[_0x5aff79(0x5ff)][_0x5aff79(0x9e3)][_0x5aff79(0x4b6)](_0x323cfc,_0x39b451);}[_0x59236f(0x8f4)](_0x1d0d81){var _0x134842=_0x59236f;return this[_0x134842(0x675)]--,this[_0x134842(0x5ff)][_0x134842(0x9e3)][_0x134842(0x92f)](_0x1d0d81);}[_0x59236f(0x6b1)](){var _0x377bb5=_0x59236f;return!!(this['_scene'][_0x377bb5(0x9e3)][_0x377bb5(0xaa1)]['length']>this[_0x377bb5(0x675)]||this[_0x377bb5(0x5ff)][_0x377bb5(0x11e)]);}[_0x59236f(0x2cd)](_0xf3472c,_0x49e7e8,_0x2914fc){var _0x78c2b5=_0x59236f;const _0x170521=this['_scene'],_0x4547e7=new _0x56ed13['FV'](_0x2914fc,_0x49e7e8,this[_0x78c2b5(0x114)],this[_0x78c2b5(0x8ea)]);return _0xf3472c&&(_0x4547e7['originalPickingInfo']=_0xf3472c,_0x4547e7['ray']=_0xf3472c[_0x78c2b5(0x96d)],_0xf3472c['originMesh']&&(_0x4547e7['nearInteractionPickingInfo']=_0xf3472c)),_0x170521[_0x78c2b5(0xc0c)][_0x78c2b5(0x575)](_0x4547e7,_0x2914fc),!!_0x4547e7['skipOnPointerObservable'];}['_pickMove'](_0x85d1a1){var _0x16503e=_0x59236f;const _0x434f8c=this['_scene'];var _0x590cd4=_0x434f8c[_0x16503e(0xbd8)](this[_0x16503e(0x114)],this['_unTranslatedPointerY'],_0x434f8c['pointerMovePredicate'],!0x1,_0x434f8c[_0x16503e(0x83e)],_0x434f8c[_0x16503e(0x190)]);return this[_0x16503e(0x877)](_0x590cd4,_0x85d1a1,_0x434f8c),_0x590cd4;}[_0x59236f(0x877)](_0x1512b2,_0x5e896,_0x35e320){var _0x4c8c72=_0x59236f;const _0x2e3ff1=_0x35e320[_0x4c8c72(0x5e8)](),_0x2dd27a=_0x2e3ff1[_0x4c8c72(0x1a1)]();var _0x53f03f;null!=_0x1512b2&&_0x1512b2['pickedMesh']?(this[_0x4c8c72(0x747)](_0x1512b2[_0x4c8c72(0xc05)],_0x5e896[_0x4c8c72(0x94b)],_0x1512b2,_0x5e896),!_0x35e320[_0x4c8c72(0x7ab)]&&_0x2dd27a&&this['_pointerOverMesh']&&(_0x53f03f=this['_pointerOverMesh'][_0x4c8c72(0x784)]())&&_0x53f03f[_0x4c8c72(0x728)]&&(_0x2dd27a[_0x4c8c72(0x5c4)][_0x4c8c72(0x6df)]=_0x53f03f[_0x4c8c72(0xb96)]||_0x35e320['hoverCursor'])):this['setPointerOverMesh'](null,_0x5e896['pointerId'],_0x1512b2,_0x5e896);}[_0x59236f(0x19b)](_0x55935c,_0x238652){var _0x41a9ec=_0x59236f;const _0x292345=new PointerEvent(_0x41a9ec(0x61f),_0x238652);_0x292345[_0x41a9ec(0x3ab)]=_0xc7ee82['Fz'][_0x41a9ec(0x740)],this['_checkPrePointerObservable'](_0x55935c,_0x292345,_0x56ed13['kD'][_0x41a9ec(0x885)])||this[_0x41a9ec(0xca8)](_0x55935c,_0x292345);}[_0x59236f(0x2c0)](_0x11937,_0x1dcd50){var _0x3f18fa=_0x59236f;const _0x3ec8f5=new PointerEvent(_0x3f18fa(0x3e4),_0x1dcd50);_0x3ec8f5[_0x3f18fa(0x3ab)]=_0x3ec8f5[_0x3f18fa(0xbb8)]+0x2,this['_checkPrePointerObservable'](_0x11937,_0x3ec8f5,_0x56ed13['kD'][_0x3f18fa(0x7b2)])||this[_0x3f18fa(0x84c)](_0x11937,_0x3ec8f5);}['_processPointerDown'](_0x4fb48b,_0x29256b){var _0x3d471b=_0x59236f;const _0x2e575c=this[_0x3d471b(0x5ff)];if(null!=_0x4fb48b&&_0x4fb48b[_0x3d471b(0xc05)]){this[_0x3d471b(0xa11)]=_0x4fb48b[_0x3d471b(0xc05)];const _0x956bd8=_0x4fb48b[_0x3d471b(0xc05)]['_getActionManagerForTrigger']();if(_0x956bd8){if(_0x956bd8[_0x3d471b(0xb3e)])switch(_0x956bd8['processTrigger'](_0x2ea2a9['g']['ACTION_OnPickDownTrigger'],_0x405145['V'][_0x3d471b(0xafd)](_0x4fb48b[_0x3d471b(0xc05)],_0x29256b)),_0x29256b[_0x3d471b(0xbb8)]){case 0x0:_0x956bd8['processTrigger'](_0x2ea2a9['g'][_0x3d471b(0x144)],_0x405145['V'][_0x3d471b(0xafd)](_0x4fb48b[_0x3d471b(0xc05)],_0x29256b));break;case 0x1:_0x956bd8[_0x3d471b(0x48d)](_0x2ea2a9['g']['ACTION_OnCenterPickTrigger'],_0x405145['V'][_0x3d471b(0xafd)](_0x4fb48b[_0x3d471b(0xc05)],_0x29256b));break;case 0x2:_0x956bd8[_0x3d471b(0x48d)](_0x2ea2a9['g'][_0x3d471b(0x9c8)],_0x405145['V'][_0x3d471b(0xafd)](_0x4fb48b['pickedMesh'],_0x29256b));}_0x956bd8['hasSpecificTrigger'](_0x2ea2a9['g'][_0x3d471b(0x3ff)])&&window[_0x3d471b(0x3fd)](()=>{var _0x48da4a=_0x3d471b,_0x1e34e0=_0x2e575c['pick'](this['_unTranslatedPointerX'],this['_unTranslatedPointerY'],_0x35401b=>_0x35401b[_0x48da4a(0x1f5)]&&_0x35401b[_0x48da4a(0xc6b)]&&_0x35401b[_0x48da4a(0x682)]()&&_0x35401b[_0x48da4a(0x715)]&&_0x35401b[_0x48da4a(0x715)][_0x48da4a(0xc4f)](_0x2ea2a9['g'][_0x48da4a(0x3ff)])&&_0x35401b===this[_0x48da4a(0xa11)],!0x1,_0x2e575c['cameraToUseForPointers']);null!=_0x1e34e0&&_0x1e34e0['pickedMesh']&&_0x956bd8&&0x0!==this[_0x48da4a(0x323)]&&Date[_0x48da4a(0x593)]()-this[_0x48da4a(0x51b)]>_0x5b10ad[_0x48da4a(0x9a6)]&&!this[_0x48da4a(0xb58)]()&&(this[_0x48da4a(0x51b)]=0x0,_0x956bd8[_0x48da4a(0x48d)](_0x2ea2a9['g'][_0x48da4a(0x3ff)],_0x405145['V'][_0x48da4a(0xafd)](_0x1e34e0[_0x48da4a(0xc05)],_0x29256b)));},_0x5b10ad['LongPressDelay']);}}else{for(const _0x170356 of _0x2e575c[_0x3d471b(0x1a0)])_0x4fb48b=_0x170356['action'](this['_unTranslatedPointerX'],this[_0x3d471b(0x8ea)],_0x4fb48b,_0x29256b,!0x1);}let _0x58ff59;var _0x1b1db7=_0x56ed13['kD'][_0x3d471b(0x7b2)];_0x4fb48b?(_0x2e575c[_0x3d471b(0x35c)]&&_0x2e575c[_0x3d471b(0x35c)](_0x29256b,_0x4fb48b,_0x1b1db7),_0x58ff59=new _0x56ed13['R5'](_0x1b1db7,_0x29256b,_0x4fb48b),this[_0x3d471b(0x8fe)](_0x4fb48b,_0x29256b)):_0x58ff59=new _0x56ed13['R5'](_0x1b1db7,_0x29256b,null,this),_0x2e575c['onPointerObservable'][_0x3d471b(0x161)]()&&_0x2e575c[_0x3d471b(0x9e3)][_0x3d471b(0x575)](_0x58ff59,_0x1b1db7);}['_isPointerSwiping'](){var _0x17ea45=_0x59236f;return this[_0x17ea45(0x177)];}[_0x59236f(0xa46)](_0x6b7837,_0x593b88,_0x3d04e8){var _0x516f57=_0x59236f;const _0x5d914f=new PointerEvent('pointerup',_0x593b88),_0x421440=(_0x5d914f[_0x516f57(0x3ab)]=_0xc7ee82['Fz'][_0x516f57(0x740)],new _0x1bbbbd());_0x3d04e8?_0x421440[_0x516f57(0x3cd)]=!0x0:_0x421440['singleClick']=!0x0,this[_0x516f57(0x2cd)](_0x6b7837,_0x5d914f,_0x56ed13['kD'][_0x516f57(0x1c5)])||this[_0x516f57(0xab7)](_0x6b7837,_0x5d914f,_0x421440);}[_0x59236f(0xab7)](_0x953783,_0x2a0a8b,_0x3709a1){var _0x34d5a3=_0x59236f;const _0x38fb33=this['_scene'];if(null!=_0x953783&&_0x953783[_0x34d5a3(0xc05)]){this[_0x34d5a3(0x9cc)]=_0x953783[_0x34d5a3(0xc05)],this[_0x34d5a3(0xa11)]===this[_0x34d5a3(0x9cc)]&&(_0x38fb33['onPointerPick']&&_0x38fb33['onPointerPick'](_0x2a0a8b,_0x953783),_0x3709a1[_0x34d5a3(0xa43)]&&!_0x3709a1[_0x34d5a3(0x3b8)]&&_0x38fb33[_0x34d5a3(0x9e3)]['observers'][_0x34d5a3(0xb85)]>this[_0x34d5a3(0x675)]&&(_0x81579e=_0x56ed13['kD'][_0x34d5a3(0x4cd)],_0x518af1=new _0x56ed13['R5'](_0x81579e,_0x2a0a8b,_0x953783),this[_0x34d5a3(0x8fe)](_0x953783,_0x2a0a8b),_0x38fb33[_0x34d5a3(0x9e3)][_0x34d5a3(0x575)](_0x518af1,_0x81579e)));const _0x44b19e=_0x953783[_0x34d5a3(0xc05)][_0x34d5a3(0x784)]();if(_0x44b19e&&!_0x3709a1[_0x34d5a3(0x3b8)]){_0x44b19e[_0x34d5a3(0x48d)](_0x2ea2a9['g']['ACTION_OnPickUpTrigger'],_0x405145['V']['CreateNew'](_0x953783[_0x34d5a3(0xc05)],_0x2a0a8b,_0x953783)),!_0x3709a1[_0x34d5a3(0x2ae)]&&_0x3709a1[_0x34d5a3(0xa43)]&&_0x44b19e[_0x34d5a3(0x48d)](_0x2ea2a9['g'][_0x34d5a3(0x335)],_0x405145['V'][_0x34d5a3(0xafd)](_0x953783[_0x34d5a3(0xc05)],_0x2a0a8b,_0x953783));const _0x23a042=_0x953783[_0x34d5a3(0xc05)][_0x34d5a3(0x784)](_0x2ea2a9['g']['ACTION_OnDoublePickTrigger']);_0x3709a1[_0x34d5a3(0x3cd)]&&_0x23a042&&_0x23a042['processTrigger'](_0x2ea2a9['g'][_0x34d5a3(0x875)],_0x405145['V']['CreateNew'](_0x953783[_0x34d5a3(0xc05)],_0x2a0a8b,_0x953783));}}else{if(!_0x3709a1[_0x34d5a3(0x3b8)]){for(const _0x5c1ed2 of _0x38fb33['_pointerUpStage'])_0x953783=_0x5c1ed2[_0x34d5a3(0x274)](this[_0x34d5a3(0x114)],this[_0x34d5a3(0x8ea)],_0x953783,_0x2a0a8b,_0x3709a1[_0x34d5a3(0x3cd)]);}}if(this[_0x34d5a3(0xa11)]&&this[_0x34d5a3(0xa11)]!==this[_0x34d5a3(0x9cc)]){const _0x1488a3=this[_0x34d5a3(0xa11)][_0x34d5a3(0x784)](_0x2ea2a9['g'][_0x34d5a3(0x7dd)]);_0x1488a3&&_0x1488a3[_0x34d5a3(0x48d)](_0x2ea2a9['g']['ACTION_OnPickOutTrigger'],_0x405145['V'][_0x34d5a3(0xafd)](this['_pickedDownMesh'],_0x2a0a8b));}if(!_0x3709a1[_0x34d5a3(0x3b8)]){var _0x81579e,_0x518af1=new _0x56ed13['R5'](_0x56ed13['kD'][_0x34d5a3(0x1c5)],_0x2a0a8b,_0x953783);if(this['_setRayOnPointerInfo'](_0x953783,_0x2a0a8b),_0x38fb33[_0x34d5a3(0x9e3)][_0x34d5a3(0x575)](_0x518af1,_0x56ed13['kD'][_0x34d5a3(0x1c5)]),_0x38fb33[_0x34d5a3(0xdb)]&&_0x38fb33['onPointerUp'](_0x2a0a8b,_0x953783,_0x56ed13['kD'][_0x34d5a3(0x1c5)]),!_0x3709a1[_0x34d5a3(0x2ae)]&&!this[_0x34d5a3(0x4c2)]&&!this[_0x34d5a3(0x67f)]){let _0x10cd68=0x0;_0x3709a1[_0x34d5a3(0xa43)]?_0x10cd68=_0x56ed13['kD'][_0x34d5a3(0x6d8)]:_0x3709a1['doubleClick']&&(_0x10cd68=_0x56ed13['kD'][_0x34d5a3(0xc67)]),_0x10cd68&&(_0x81579e=new _0x56ed13['R5'](_0x10cd68,_0x2a0a8b,_0x953783),_0x38fb33[_0x34d5a3(0x9e3)][_0x34d5a3(0x161)]()&&_0x38fb33['onPointerObservable'][_0x34d5a3(0x330)](_0x10cd68)&&_0x38fb33[_0x34d5a3(0x9e3)][_0x34d5a3(0x575)](_0x81579e,_0x10cd68));}}}[_0x59236f(0x447)](_0x2b1007=0x0){return this['_pointerCaptures'][_0x2b1007];}['attachControl'](_0x28e671=!0x0,_0x5ae01e=!0x0,_0x2a04f8=!0x0,_0x497bff=null){var _0x577581=_0x59236f;const _0x20e0d0=this[_0x577581(0x5ff)],_0xbd4fab=_0x20e0d0[_0x577581(0x5e8)]();_0x497bff=_0x497bff||_0xbd4fab['getInputElement'](),this[_0x577581(0x7d9)]&&this[_0x577581(0x97c)](),_0x497bff&&(this['_alreadyAttachedTo']=_0x497bff),this['_deviceSourceManager']=new _0x437818['U'](_0xbd4fab),this[_0x577581(0x9ef)]=_0x1d8adb=>{var _0x66e25c=_0x577581;if(!this[_0x66e25c(0x207)]){const _0x40a9fd=_0x20e0d0[_0x66e25c(0xbf0)]||0x0===_0x20e0d0[_0x66e25c(0x7c0)]&&!this[_0x66e25c(0x6b1)]()&&!_0x20e0d0[_0x66e25c(0xdb)]?null:_0x20e0d0['pick'](this['_unTranslatedPointerX'],this[_0x66e25c(0x8ea)],_0x20e0d0[_0x66e25c(0x901)],!0x1,_0x20e0d0[_0x66e25c(0x83e)]);(this['_currentPickResult']=_0x40a9fd)&&(_0x1d8adb=_0x40a9fd[_0x66e25c(0x988)]&&_0x40a9fd['pickedMesh']?_0x40a9fd[_0x66e25c(0xc05)][_0x66e25c(0x784)]():null),this[_0x66e25c(0x207)]=!0x0;}return _0x1d8adb;},this[_0x577581(0xb7b)]=(_0x5a9da6,_0x357597,_0xae866f)=>{var _0x20cf2d=_0x577581,_0x18d7a7;(Date['now']()-this[_0x20cf2d(0xcbe)]>_0x5b10ad[_0x20cf2d(0xc49)]&&!this['_doubleClickOccured']||_0x5a9da6!==this[_0x20cf2d(0xc8d)])&&(this[_0x20cf2d(0x59d)]=!0x1,_0x357597[_0x20cf2d(0xa43)]=!0x0,_0x357597[_0x20cf2d(0x3b8)]=!0x1,this['_delayedClicks'][_0x5a9da6]&&(_0x357597=this[_0x20cf2d(0x525)][_0x5a9da6][_0x20cf2d(0xd9)],_0x18d7a7=_0x56ed13['kD']['POINTERTAP'],_0x357597=new _0x56ed13['R5'](_0x18d7a7,_0x357597,this['_currentPickResult']),_0x20e0d0[_0x20cf2d(0x9e3)]['hasObservers']()&&_0x20e0d0[_0x20cf2d(0x9e3)][_0x20cf2d(0x330)](_0x18d7a7)&&_0x20e0d0[_0x20cf2d(0x9e3)][_0x20cf2d(0x575)](_0x357597,_0x18d7a7),this[_0x20cf2d(0x525)][_0x5a9da6]=null));},this[_0x577581(0x59c)]=(_0x25d5e4,_0x4a682c,_0x16c262,_0x590f1b)=>{var _0x30fea1=_0x577581;const _0xb3a084=new _0x1bbbbd();let _0x306941=this[_0x30fea1(0xa8e)]=null,_0x4248fb=_0x25d5e4['hasSpecificMask'](_0x56ed13['kD'][_0x30fea1(0x4cd)])||_0x4a682c[_0x30fea1(0x330)](_0x56ed13['kD']['POINTERPICK'])||_0x25d5e4[_0x30fea1(0x330)](_0x56ed13['kD'][_0x30fea1(0x6d8)])||_0x4a682c[_0x30fea1(0x330)](_0x56ed13['kD']['POINTERTAP'])||_0x25d5e4['hasSpecificMask'](_0x56ed13['kD'][_0x30fea1(0xc67)])||_0x4a682c[_0x30fea1(0x330)](_0x56ed13['kD'][_0x30fea1(0xc67)]),_0x59610d=!0x1;if(_0x4248fb=!_0x4248fb&&_0x368da6['O']&&(_0x306941=this['_initActionManager'](_0x306941,_0xb3a084))?_0x306941['hasPickTriggers']:_0x4248fb){var _0x123013=_0x16c262[_0x30fea1(0xbb8)];if(_0xb3a084[_0x30fea1(0x2ae)]=this[_0x30fea1(0xb58)](),!_0xb3a084[_0x30fea1(0x2ae)]){let _0x1ae1b3=!_0x5b10ad['ExclusiveDoubleClickMode'],_0x86d825=(_0x1ae1b3||(_0x1ae1b3=!_0x25d5e4[_0x30fea1(0x330)](_0x56ed13['kD'][_0x30fea1(0xc67)])&&!_0x4a682c['hasSpecificMask'](_0x56ed13['kD']['POINTERDOUBLETAP']))&&!_0x368da6['O'][_0x30fea1(0x262)](_0x2ea2a9['g'][_0x30fea1(0x875)])&&(_0x306941=this[_0x30fea1(0x9ef)](_0x306941,_0xb3a084))&&(_0x1ae1b3=!_0x306941[_0x30fea1(0xc4f)](_0x2ea2a9['g']['ACTION_OnDoublePickTrigger'])),_0x1ae1b3?(Date['now']()-this[_0x30fea1(0xcbe)]>_0x5b10ad[_0x30fea1(0xc49)]||_0x123013!==this[_0x30fea1(0xc8d)])&&(_0xb3a084[_0x30fea1(0xa43)]=!0x0,_0x590f1b(_0xb3a084,this[_0x30fea1(0xa8e)]),_0x59610d=!0x0):(_0x16c262={'evt':_0x16c262,'clickInfo':_0xb3a084,'timeoutId':window[_0x30fea1(0x3fd)](this['_delayedSimpleClick']['bind'](this,_0x123013,_0xb3a084,_0x590f1b),_0x5b10ad[_0x30fea1(0xc49)])},this[_0x30fea1(0x525)][_0x123013]=_0x16c262),_0x25d5e4['hasSpecificMask'](_0x56ed13['kD']['POINTERDOUBLETAP'])||_0x4a682c[_0x30fea1(0x330)](_0x56ed13['kD'][_0x30fea1(0xc67)]));(_0x86d825=!_0x86d825&&_0x368da6['O'][_0x30fea1(0x262)](_0x2ea2a9['g']['ACTION_OnDoublePickTrigger'])&&(_0x306941=this[_0x30fea1(0x9ef)](_0x306941,_0xb3a084))?_0x306941[_0x30fea1(0xc4f)](_0x2ea2a9['g'][_0x30fea1(0x875)]):_0x86d825)&&(_0x123013===this['_previousButtonPressed']&&Date[_0x30fea1(0x593)]()-this[_0x30fea1(0xcbe)]<_0x5b10ad[_0x30fea1(0xc49)]&&!this[_0x30fea1(0x59d)]?(_0xb3a084[_0x30fea1(0x2ae)]||this[_0x30fea1(0xb58)]()?(this['_doubleClickOccured']=!0x1,this['_previousStartingPointerTime']=this[_0x30fea1(0x51b)],this[_0x30fea1(0xc9b)]['x']=this['_startingPointerPosition']['x'],this['_previousStartingPointerPosition']['y']=this['_startingPointerPosition']['y'],this['_previousButtonPressed']=_0x123013,_0x5b10ad[_0x30fea1(0x6ef)]?(this[_0x30fea1(0x525)][_0x123013]&&(clearTimeout(null==(_0x16c262=this[_0x30fea1(0x525)][_0x123013])?void 0x0:_0x16c262[_0x30fea1(0xb77)]),this[_0x30fea1(0x525)][_0x123013]=null),_0x590f1b(_0xb3a084,this[_0x30fea1(0xc2d)])):_0x590f1b(_0xb3a084,this[_0x30fea1(0xa8e)])):(this[_0x30fea1(0xcbe)]=0x0,this[_0x30fea1(0x59d)]=!0x0,_0xb3a084[_0x30fea1(0x3cd)]=!0x0,_0xb3a084[_0x30fea1(0x3b8)]=!0x1,_0x5b10ad[_0x30fea1(0x6ef)]&&this[_0x30fea1(0x525)][_0x123013]&&(clearTimeout(null==(_0x25d5e4=this[_0x30fea1(0x525)][_0x123013])?void 0x0:_0x25d5e4[_0x30fea1(0xb77)]),this[_0x30fea1(0x525)][_0x123013]=null),_0x590f1b(_0xb3a084,this[_0x30fea1(0xa8e)])),_0x59610d=!0x0):(this['_doubleClickOccured']=!0x1,this[_0x30fea1(0xcbe)]=this['_startingPointerTime'],this[_0x30fea1(0xc9b)]['x']=this['_startingPointerPosition']['x'],this[_0x30fea1(0xc9b)]['y']=this['_startingPointerPosition']['y'],this[_0x30fea1(0xc8d)]=_0x123013));}}_0x59610d||_0x590f1b(_0xb3a084,this['_currentPickResult']);},this[_0x577581(0x780)]=_0x565105=>{var _0x4119a7=_0x577581,_0x1576a1;this['_updatePointerPosition'](_0x565105),this['_isSwiping']||-0x1===this['_swipeButtonPressed']||(this['_isSwiping']=Math['abs'](this[_0x4119a7(0x78f)]['x']-this[_0x4119a7(0x32c)])>_0x5b10ad[_0x4119a7(0xa3f)]||Math['abs'](this['_startingPointerPosition']['y']-this[_0x4119a7(0xaef)])>_0x5b10ad[_0x4119a7(0xa3f)]),_0xbd4fab[_0x4119a7(0x52c)]&&_0xbd4fab[_0x4119a7(0x8cc)](),this['_checkPrePointerObservable'](null,_0x565105,_0x565105[_0x4119a7(0x3ab)]>=_0xc7ee82['Fz'][_0x4119a7(0x5fe)]&&_0x565105['inputIndex']<=_0xc7ee82['Fz'][_0x4119a7(0xb2b)]?_0x56ed13['kD'][_0x4119a7(0x789)]:_0x56ed13['kD']['POINTERMOVE'])||(_0x20e0d0[_0x4119a7(0x83e)]||_0x20e0d0[_0x4119a7(0x89a)])&&(_0x20e0d0['skipPointerMovePicking']?this[_0x4119a7(0xca8)](new _0x4fc12a['p'](),_0x565105):(_0x20e0d0[_0x4119a7(0x18a)]||(_0x20e0d0['pointerMovePredicate']=_0x398fed=>_0x398fed[_0x4119a7(0x1f5)]&&_0x398fed[_0x4119a7(0xc6b)]&&_0x398fed[_0x4119a7(0x682)]()&&_0x398fed['isEnabled']()&&(_0x398fed[_0x4119a7(0x72c)]||_0x20e0d0[_0x4119a7(0xa54)]||null!==_0x398fed[_0x4119a7(0x784)]())&&(!_0x20e0d0[_0x4119a7(0x83e)]||0x0!=(_0x20e0d0['cameraToUseForPointers']['layerMask']&_0x398fed[_0x4119a7(0x334)]))),_0x1576a1=0x0<_0x20e0d0['_registeredActions']?this[_0x4119a7(0xa86)](_0x565105):null,this[_0x4119a7(0xca8)](_0x1576a1,_0x565105)));},this[_0x577581(0x30d)]=_0xf0b203=>{var _0x4625e2=_0x577581,_0x7fae20;if(this[_0x4625e2(0x323)]++,this['_pickedDownMesh']=null,this[_0x4625e2(0x207)]=!0x1,_0x5b10ad[_0x4625e2(0x6ef)]){for(let _0x38ccad=0x0;_0x38ccad<this[_0x4625e2(0x525)]['length'];_0x38ccad++)if(this[_0x4625e2(0x525)][_0x38ccad]){if(_0xf0b203[_0x4625e2(0xbb8)]===_0x38ccad)clearTimeout(null==(_0x5ca467=this[_0x4625e2(0x525)][_0x38ccad])?void 0x0:_0x5ca467[_0x4625e2(0xb77)]);else{const _0x9b4035=this[_0x4625e2(0x525)][_0x38ccad][_0x4625e2(0xaa2)];this[_0x4625e2(0x59d)]=!0x1,_0x9b4035[_0x4625e2(0xa43)]=!0x0,_0x9b4035[_0x4625e2(0x3b8)]=!0x1;var _0x5ca467=this[_0x4625e2(0x525)][_0x38ccad]['evt'],_0x1ac644=_0x56ed13['kD'][_0x4625e2(0x6d8)],_0x23267b=new _0x56ed13['R5'](_0x1ac644,_0x5ca467,this[_0x4625e2(0xa8e)]);_0x20e0d0[_0x4625e2(0x9e3)][_0x4625e2(0x161)]()&&_0x20e0d0[_0x4625e2(0x9e3)][_0x4625e2(0x330)](_0x1ac644)&&_0x20e0d0[_0x4625e2(0x9e3)]['notifyObservers'](_0x23267b,_0x1ac644),this[_0x4625e2(0x525)][_0x38ccad]=null;}}}this[_0x4625e2(0x9a9)](_0xf0b203),-0x1===this[_0x4625e2(0x43a)]&&(this[_0x4625e2(0x43a)]=_0xf0b203[_0x4625e2(0xbb8)]),_0x20e0d0['preventDefaultOnPointerDown']&&_0x497bff&&(_0xf0b203[_0x4625e2(0x558)](),_0x497bff[_0x4625e2(0xba7)]()),this[_0x4625e2(0x78f)]['x']=this[_0x4625e2(0x32c)],this[_0x4625e2(0x78f)]['y']=this[_0x4625e2(0xaef)],this[_0x4625e2(0x51b)]=Date[_0x4625e2(0x593)](),this[_0x4625e2(0x2cd)](null,_0xf0b203,_0x56ed13['kD'][_0x4625e2(0x7b2)])||!_0x20e0d0[_0x4625e2(0x83e)]&&!_0x20e0d0[_0x4625e2(0x89a)]||(this['_pointerCaptures'][_0xf0b203[_0x4625e2(0x94b)]]=!0x0,_0x20e0d0['pointerDownPredicate']||(_0x20e0d0[_0x4625e2(0xc7a)]=_0xb890d7=>_0xb890d7[_0x4625e2(0x1f5)]&&_0xb890d7[_0x4625e2(0xc6b)]&&_0xb890d7[_0x4625e2(0x682)]()&&_0xb890d7[_0x4625e2(0x8f0)]()&&(!_0x20e0d0[_0x4625e2(0x83e)]||0x0!=(_0x20e0d0['cameraToUseForPointers'][_0x4625e2(0x334)]&_0xb890d7[_0x4625e2(0x334)]))),this[_0x4625e2(0xa11)]=null,_0x7fae20=_0x20e0d0[_0x4625e2(0x251)]||0x0===_0x20e0d0[_0x4625e2(0x7c0)]&&!this[_0x4625e2(0x6b1)]()&&!_0x20e0d0[_0x4625e2(0x35c)]?new _0x4fc12a['p']():_0x20e0d0[_0x4625e2(0xbd8)](this[_0x4625e2(0x114)],this['_unTranslatedPointerY'],_0x20e0d0[_0x4625e2(0xc7a)],!0x1,_0x20e0d0['cameraToUseForPointers']),this['_processPointerDown'](_0x7fae20,_0xf0b203));},this[_0x577581(0xc7d)]=_0x558aac=>{var _0x2ca4f=_0x577581;0x0!==this[_0x2ca4f(0x323)]&&(this['_totalPointersPressed']--,this[_0x2ca4f(0x9cc)]=null,this[_0x2ca4f(0x207)]=!0x1,this[_0x2ca4f(0x9a9)](_0x558aac),_0x20e0d0[_0x2ca4f(0xbd9)]&&_0x497bff&&(_0x558aac[_0x2ca4f(0x558)](),_0x497bff[_0x2ca4f(0xba7)]()),this['_initClickEvent'](_0x20e0d0['onPrePointerObservable'],_0x20e0d0['onPointerObservable'],_0x558aac,(_0x38fd80,_0x35df42)=>{var _0xb3e435=_0x2ca4f;if(_0x20e0d0[_0xb3e435(0xc0c)][_0xb3e435(0x161)]()&&(this[_0xb3e435(0x4c2)]=!0x1,!_0x38fd80[_0xb3e435(0x3b8)])){if(this[_0xb3e435(0x2cd)](null,_0x558aac,_0x56ed13['kD'][_0xb3e435(0x1c5)]))return void(this[_0xb3e435(0x43a)]===_0x558aac[_0xb3e435(0xbb8)]&&(this['_isSwiping']=!0x1,this[_0xb3e435(0x43a)]=-0x1));_0x38fd80['hasSwiped']||(_0x38fd80[_0xb3e435(0xa43)]&&_0x20e0d0[_0xb3e435(0xc0c)]['hasSpecificMask'](_0x56ed13['kD']['POINTERTAP'])&&this[_0xb3e435(0x2cd)](null,_0x558aac,_0x56ed13['kD']['POINTERTAP'])&&(this[_0xb3e435(0x4c2)]=!0x0),_0x38fd80[_0xb3e435(0x3cd)]&&_0x20e0d0[_0xb3e435(0xc0c)]['hasSpecificMask'](_0x56ed13['kD'][_0xb3e435(0xc67)])&&this[_0xb3e435(0x2cd)](null,_0x558aac,_0x56ed13['kD']['POINTERDOUBLETAP'])&&(this['_skipPointerTap']=!0x0));}this[_0xb3e435(0x953)][_0x558aac[_0xb3e435(0x94b)]]?(0x0===_0x558aac['buttons']&&(this[_0xb3e435(0x953)][_0x558aac[_0xb3e435(0x94b)]]=!0x1),(_0x20e0d0[_0xb3e435(0x83e)]||_0x20e0d0[_0xb3e435(0x89a)])&&(_0x20e0d0[_0xb3e435(0x901)]||(_0x20e0d0[_0xb3e435(0x901)]=_0xb3b475=>_0xb3b475[_0xb3e435(0x1f5)]&&_0xb3b475[_0xb3e435(0xc6b)]&&_0xb3b475[_0xb3e435(0x682)]()&&_0xb3b475[_0xb3e435(0x8f0)]()&&(!_0x20e0d0[_0xb3e435(0x83e)]||0x0!=(_0x20e0d0['cameraToUseForPointers'][_0xb3e435(0x334)]&_0xb3b475[_0xb3e435(0x334)]))),!this[_0xb3e435(0x207)]&&(_0x368da6['O']&&_0x368da6['O']['HasTriggers']||this[_0xb3e435(0x6b1)]()||_0x20e0d0[_0xb3e435(0xdb)])&&this[_0xb3e435(0x9ef)](null,_0x38fd80),_0x35df42=_0x35df42||this['_currentPickResult'],this['_processPointerUp'](_0x35df42,_0x558aac,_0x38fd80),this[_0xb3e435(0xc2d)]=this[_0xb3e435(0xa8e)],this[_0xb3e435(0x43a)]===_0x558aac['button']&&(this[_0xb3e435(0x177)]=!0x1,this[_0xb3e435(0x43a)]=-0x1))):this[_0xb3e435(0x43a)]===_0x558aac['button']&&(this['_isSwiping']=!0x1,this[_0xb3e435(0x43a)]=-0x1);}));},this['_onKeyDown']=_0x3848a0=>{var _0x3b4428=_0x577581,_0x44c121=_0x591c4b['OG'][_0x3b4428(0xaad)];if(_0x20e0d0[_0x3b4428(0x4f0)][_0x3b4428(0x161)]()){var _0x5dff6c=new _0x591c4b['WZ'](_0x44c121,_0x3848a0);if(_0x20e0d0[_0x3b4428(0x4f0)][_0x3b4428(0x575)](_0x5dff6c,_0x44c121),_0x5dff6c[_0x3b4428(0x197)])return;}_0x20e0d0[_0x3b4428(0x664)][_0x3b4428(0x161)]()&&(_0x5dff6c=new _0x591c4b['NG'](_0x44c121,_0x3848a0),_0x20e0d0[_0x3b4428(0x664)]['notifyObservers'](_0x5dff6c,_0x44c121)),_0x20e0d0['actionManager']&&_0x20e0d0['actionManager'][_0x3b4428(0x48d)](_0x2ea2a9['g'][_0x3b4428(0xfa)],_0x405145['V'][_0x3b4428(0x54c)](_0x20e0d0,_0x3848a0));},this[_0x577581(0x33d)]=_0x435e8f=>{var _0x171722=_0x577581,_0x1a00a5=_0x591c4b['OG'][_0x171722(0x9cb)];if(_0x20e0d0[_0x171722(0x4f0)][_0x171722(0x161)]()){var _0x2942bf=new _0x591c4b['WZ'](_0x1a00a5,_0x435e8f);if(_0x20e0d0[_0x171722(0x4f0)][_0x171722(0x575)](_0x2942bf,_0x1a00a5),_0x2942bf[_0x171722(0x197)])return;}_0x20e0d0[_0x171722(0x664)][_0x171722(0x161)]()&&(_0x2942bf=new _0x591c4b['NG'](_0x1a00a5,_0x435e8f),_0x20e0d0[_0x171722(0x664)][_0x171722(0x575)](_0x2942bf,_0x1a00a5)),_0x20e0d0[_0x171722(0x715)]&&_0x20e0d0[_0x171722(0x715)][_0x171722(0x48d)](_0x2ea2a9['g'][_0x171722(0x9e7)],_0x405145['V'][_0x171722(0x54c)](_0x20e0d0,_0x435e8f));},this[_0x577581(0x81f)][_0x577581(0x673)][_0x577581(0x4b6)](_0x3e4e77=>{var _0xdb9427=_0x577581;_0x3e4e77[_0xdb9427(0x537)]===_0xc7ee82['Yi'][_0xdb9427(0xb4e)]?_0x3e4e77[_0xdb9427(0xc1e)][_0xdb9427(0x4b6)](_0x163dbb=>{var _0x5d9a80=_0xdb9427;_0x163dbb[_0x5d9a80(0x3ab)]===_0xc7ee82['Fz']['LeftClick']||_0x163dbb[_0x5d9a80(0x3ab)]===_0xc7ee82['Fz'][_0x5d9a80(0x7d2)]||_0x163dbb[_0x5d9a80(0x3ab)]===_0xc7ee82['Fz'][_0x5d9a80(0x268)]||_0x163dbb[_0x5d9a80(0x3ab)]===_0xc7ee82['Fz'][_0x5d9a80(0x6b2)]||_0x163dbb['inputIndex']===_0xc7ee82['Fz'][_0x5d9a80(0x9de)]?_0x5ae01e&&0x1===_0x3e4e77[_0x5d9a80(0x8f5)](_0x163dbb[_0x5d9a80(0x3ab)])?this[_0x5d9a80(0x30d)](_0x163dbb):_0x28e671&&0x0===_0x3e4e77[_0x5d9a80(0x8f5)](_0x163dbb[_0x5d9a80(0x3ab)])&&this[_0x5d9a80(0xc7d)](_0x163dbb):!_0x2a04f8||_0x163dbb[_0x5d9a80(0x3ab)]!==_0xc7ee82['Fz']['Move']&&_0x163dbb[_0x5d9a80(0x3ab)]!==_0xc7ee82['Fz'][_0x5d9a80(0x5fe)]&&_0x163dbb[_0x5d9a80(0x3ab)]!==_0xc7ee82['Fz'][_0x5d9a80(0x4df)]&&_0x163dbb[_0x5d9a80(0x3ab)]!==_0xc7ee82['Fz'][_0x5d9a80(0xb2b)]||this[_0x5d9a80(0x780)](_0x163dbb);}):_0x3e4e77[_0xdb9427(0x537)]===_0xc7ee82['Yi'][_0xdb9427(0x15b)]?_0x3e4e77[_0xdb9427(0xc1e)]['add'](_0x3a0fee=>{var _0x21f620=_0xdb9427;_0x3a0fee[_0x21f620(0x3ab)]===_0xc7ee82['Fz'][_0x21f620(0xff)]&&(_0x5ae01e&&0x1===_0x3e4e77[_0x21f620(0x8f5)](_0x3a0fee[_0x21f620(0x3ab)])?(this['_onPointerDown'](_0x3a0fee),0x1<this[_0x21f620(0x323)]&&(this[_0x21f620(0x67f)]=!0x0)):_0x28e671&&0x0===_0x3e4e77[_0x21f620(0x8f5)](_0x3a0fee[_0x21f620(0x3ab)])&&(this[_0x21f620(0xc7d)](_0x3a0fee),0x0===this[_0x21f620(0x323)]&&(this[_0x21f620(0x67f)]=!0x1))),_0x2a04f8&&_0x3a0fee[_0x21f620(0x3ab)]===_0xc7ee82['Fz']['Move']&&this['_onPointerMove'](_0x3a0fee);}):_0x3e4e77['deviceType']===_0xc7ee82['Yi']['Keyboard']&&_0x3e4e77[_0xdb9427(0xc1e)]['add'](_0x2da942=>{var _0xbbaf27=_0xdb9427;_0xbbaf27(0x529)===_0x2da942[_0xbbaf27(0x6a4)]?this['_onKeyDown'](_0x2da942):_0xbbaf27(0xbd3)===_0x2da942[_0xbbaf27(0x6a4)]&&this[_0xbbaf27(0x33d)](_0x2da942);});}),this['_alreadyAttached']=!0x0;}[_0x59236f(0x97c)](){var _0x58ef88=_0x59236f;this[_0x58ef88(0x7d9)]&&(this['_deviceSourceManager'][_0x58ef88(0xae6)](),this[_0x58ef88(0x81f)]=null,this[_0x58ef88(0x298)]&&!this[_0x58ef88(0x5ff)][_0x58ef88(0x7ab)]&&(this[_0x58ef88(0x298)][_0x58ef88(0x5c4)][_0x58ef88(0x6df)]=this[_0x58ef88(0x5ff)][_0x58ef88(0x6ed)]),this['_alreadyAttached']=!0x1,this['_alreadyAttachedTo']=null);}['setPointerOverMesh'](_0x3309f9,_0x42b9dd=0x0,_0x1a1666,_0x2178de){var _0x4bb29f=_0x59236f;if(this[_0x4bb29f(0x7d0)][_0x42b9dd]!==_0x3309f9||_0x3309f9&&_0x3309f9[_0x4bb29f(0x413)][_0x4bb29f(0x1e7)]){const _0x27fe9d=this[_0x4bb29f(0x7d0)][_0x42b9dd];let _0x54550b;_0x27fe9d&&(_0x54550b=_0x27fe9d[_0x4bb29f(0x784)](_0x2ea2a9['g'][_0x4bb29f(0xbc2)]))&&_0x54550b['processTrigger'](_0x2ea2a9['g'][_0x4bb29f(0xbc2)],_0x405145['V'][_0x4bb29f(0xafd)](_0x27fe9d,_0x2178de,{'pointerId':_0x42b9dd})),_0x3309f9?(this[_0x4bb29f(0x7d0)][_0x42b9dd]=_0x3309f9,this[_0x4bb29f(0xad4)]=_0x3309f9,(_0x54550b=_0x3309f9[_0x4bb29f(0x784)](_0x2ea2a9['g'][_0x4bb29f(0xc63)]))&&_0x54550b['processTrigger'](_0x2ea2a9['g']['ACTION_OnPointerOverTrigger'],_0x405145['V'][_0x4bb29f(0xafd)](_0x3309f9,_0x2178de,{'pointerId':_0x42b9dd,'pickResult':_0x1a1666}))):(delete this[_0x4bb29f(0x7d0)][_0x42b9dd],this[_0x4bb29f(0xad4)]=null);}}[_0x59236f(0xb40)](){var _0x178343=_0x59236f;return this[_0x178343(0x498)];}['_invalidateMesh'](_0x2fb118){var _0xec220=_0x59236f;this[_0xec220(0xad4)]===_0x2fb118&&(this['_pointerOverMesh']=null),this[_0xec220(0xa11)]===_0x2fb118&&(this[_0xec220(0xa11)]=null),this[_0xec220(0x9cc)]===_0x2fb118&&(this[_0xec220(0x9cc)]=null);for(const _0x56b959 in this[_0xec220(0x7d0)])this[_0xec220(0x7d0)][_0x56b959]===_0x2fb118&&delete this[_0xec220(0x7d0)][_0x56b959];}}_0x5b10ad[_0x59236f(0xa3f)]=0xa,_0x5b10ad['LongPressDelay']=0x1f4,_0x5b10ad[_0x59236f(0xc49)]=0x12c,_0x5b10ad[_0x59236f(0x6ef)]=!0x1;},0x11fc5:(_0x3a51c7,_0x53cbad,_0xe53bbd)=>{_0xe53bbd['d'](_0x53cbad,{'W':()=>_0x20346a});class _0x20346a{constructor(){var _0x45aae9=a6_0x238e;this[_0x45aae9(0x81d)]=!0x1;}}},0x72fb:(_0xe17711,_0x5b0d16,_0x2fba52)=>{var _0x595cd1=a6_0x36115b;_0x2fba52['d'](_0x5b0d16,{'m':()=>_0x32ff43});class _0x32ff43{static[_0x595cd1(0x495)](_0x4f2050,_0x3d229d){var _0x2ef68e=_0x595cd1;return _0x4f2050[_0x2ef68e(0x4cf)]!==_0x3d229d[_0x2ef68e(0x4cf)]?(_0x3d229d[_0x2ef68e(0x4cf)]?0x1:0x0)-(_0x4f2050['shadowEnabled']?0x1:0x0):_0x3d229d[_0x2ef68e(0x6a1)]-_0x4f2050[_0x2ef68e(0x6a1)];}}_0x32ff43['FALLOFF_DEFAULT']=0x0,_0x32ff43[_0x595cd1(0x9b6)]=0x1,_0x32ff43['FALLOFF_GLTF']=0x2,_0x32ff43[_0x595cd1(0x125)]=0x3,_0x32ff43[_0x595cd1(0x2df)]=0x0,_0x32ff43[_0x595cd1(0x738)]=0x1,_0x32ff43[_0x595cd1(0x10c)]=0x2,_0x32ff43['INTENSITYMODE_AUTOMATIC']=0x0,_0x32ff43[_0x595cd1(0x279)]=0x1,_0x32ff43['INTENSITYMODE_LUMINOUSINTENSITY']=0x2,_0x32ff43[_0x595cd1(0xb5c)]=0x3,_0x32ff43[_0x595cd1(0x910)]=0x4,_0x32ff43[_0x595cd1(0xa53)]=0x0,_0x32ff43[_0x595cd1(0x17f)]=0x1,_0x32ff43[_0x595cd1(0xc5a)]=0x2,_0x32ff43[_0x595cd1(0x77e)]=0x3;},0xdd81:(_0x3cd711,_0x388550,_0x41266d)=>{var _0x51f7c8=a6_0x36115b,_0x1e83c9=_0x41266d(0x17a92);_0x41266d(0x175b0),_0x41266d(0xe6c7),_0x41266d(0x15fb5),_0x41266d(0x1f57),_0x41266d(0x1f85),_0x41266d(0xff1b),_0x41266d(0x12a16),_0x41266d(0x3328),_0x41266d(0x6318),_0x41266d(0xb0bc),_0x41266d(0x10ef),_0x41266d(0x17ef8),_0x1e83c9['v'][_0x51f7c8(0x2dc)][_0x51f7c8(0x5ea)]=_0x51f7c8(0xb47);},0x6953:(_0x122db9,_0x15fd57,_0x38369e)=>{var _0x5abf26=a6_0x36115b,_0x7fc723=_0x38369e(0x17a92);_0x38369e(0x13f9a),_0x38369e(0x12929),_0x38369e(0x12bc6),_0x38369e(0x13216),_0x38369e(0x6a99),_0x38369e(0xe6c7),_0x38369e(0x15fb5),_0x38369e(0x733d),_0x38369e(0xb434),_0x38369e(0xdcea),_0x38369e(0x6efd),_0x38369e(0x9871),_0x38369e(0x6e75),_0x38369e(0xedb9),_0x7fc723['v'][_0x5abf26(0x2dc)]['cellVertexShader']='precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0x2c85:(_0x2452ef,_0x4cd78c,_0x308f78)=>{var _0x57792e=a6_0x36115b,_0x49a01c=_0x308f78(0x17a92);_0x308f78(0xff1b),_0x308f78(0x12a16),_0x308f78(0x3328),_0x308f78(0x6318),_0x308f78(0x10ef),_0x308f78(0x17ef8),_0x49a01c['v']['ShadersStore'][_0x57792e(0x87c)]=_0x57792e(0xba1);},0x16f95:(_0x3a6ee9,_0x50dd19,_0x16d0cc)=>{var _0x280e2f=a6_0x36115b,_0xe8efb1=_0x16d0cc(0x17a92);_0x16d0cc(0x13f9a),_0x16d0cc(0x12929),_0x16d0cc(0x12bc6),_0x16d0cc(0x13216),_0x16d0cc(0x6a99),_0x16d0cc(0x733d),_0x16d0cc(0xb434),_0x16d0cc(0xdcea),_0x16d0cc(0x6efd),_0x16d0cc(0x9871),_0x16d0cc(0xedb9),_0xe8efb1['v']['ShadersStore'][_0x280e2f(0x4d2)]='precision\x20highp\x20float;attribute\x20vec3\x20position;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0auniform\x20float\x20time;uniform\x20float\x20speed;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDistortionCoords1;varying\x20vec2\x20vDistortionCoords2;varying\x20vec2\x20vDistortionCoords3;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);gl_Position=viewProjection*worldPos;vPositionW=vec3(worldPos);\x0a#ifdef\x20DIFFUSE\x0avDiffuseUV=uv;vDiffuseUV.y-=0.2;\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avec3\x20layerSpeed=vec3(-0.2,-0.52,-0.1)*speed;vDistortionCoords1.x=uv.x;vDistortionCoords1.y=uv.y+layerSpeed.x*time/1000.0;vDistortionCoords2.x=uv.x;vDistortionCoords2.y=uv.y+layerSpeed.y*time/1000.0;vDistortionCoords3.x=uv.x;vDistortionCoords3.y=uv.y+layerSpeed.z*time/1000.0;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0x10367:(_0x352990,_0xa512d9,_0x116965)=>{var _0x41dd43=a6_0x36115b,_0x495106=_0x116965(0x17a92);_0x116965(0x175b0),_0x116965(0xe6c7),_0x116965(0x15fb5),_0x116965(0x1f57),_0x116965(0x1f85),_0x116965(0x12a16),_0x116965(0xff1b),_0x116965(0x3328),_0x116965(0x6318),_0x116965(0xb0bc),_0x116965(0x10ef),_0x116965(0x17ef8),_0x495106['v']['ShadersStore'][_0x41dd43(0xb53)]=_0x41dd43(0xad7);},0xe461:(_0x23dda,_0x4d928c,_0xcd6a50)=>{var _0x35a5d3=a6_0x36115b,_0x2eea48=_0xcd6a50(0x17a92);_0xcd6a50(0x13f9a),_0xcd6a50(0x12929),_0xcd6a50(0x12bc6),_0xcd6a50(0x13216),_0xcd6a50(0x6a99),_0xcd6a50(0xe6c7),_0xcd6a50(0x15fb5),_0xcd6a50(0x733d),_0xcd6a50(0xb434),_0xcd6a50(0xdcea),_0xcd6a50(0x6efd),_0xcd6a50(0x9871),_0xcd6a50(0x6e75),_0xcd6a50(0xedb9),_0x2eea48['v'][_0x35a5d3(0x2dc)][_0x35a5d3(0x3f2)]=_0x35a5d3(0x518);},0xbd74:(_0x5bde3e,_0x2d66c2,_0x59d167)=>{var _0x245f60=a6_0x36115b,_0x260fc7=_0x59d167(0x17a92);_0x59d167(0x175b0),_0x59d167(0xe6c7),_0x59d167(0x15fb5),_0x59d167(0x1f57),_0x59d167(0x1f85),_0x59d167(0xff1b),_0x59d167(0x12a16),_0x59d167(0x3328),_0x59d167(0x6318),_0x59d167(0xb0bc),_0x59d167(0x10ef),_0x59d167(0x17ef8),_0x260fc7['v']['ShadersStore'][_0x245f60(0x80c)]=_0x245f60(0x3f9);},0x4a05:(_0x2b83ac,_0x4e30f0,_0x54509c)=>{var _0x2a2507=a6_0x36115b,_0x4a0dda=_0x54509c(0x17a92);_0x54509c(0x13f9a),_0x54509c(0x12929),_0x54509c(0x12bc6),_0x54509c(0x13216),_0x54509c(0x6a99),_0x54509c(0xe6c7),_0x54509c(0x15fb5),_0x54509c(0x733d),_0x54509c(0xb434),_0x54509c(0xdcea),_0x54509c(0x6efd),_0x54509c(0x9871),_0x54509c(0x6e75),_0x54509c(0xedb9),_0x4a0dda['v'][_0x2a2507(0x2dc)][_0x2a2507(0xbbf)]=_0x2a2507(0x2a5);},0x1072f:(_0x1b23c8,_0x5ce887,_0x535cd2)=>{var _0x11a7a7=a6_0x36115b,_0x30fa42=_0x535cd2(0x17a92);_0x535cd2(0x12a16),_0x535cd2(0x10ef),_0x535cd2(0x17ef8),_0x30fa42['v'][_0x11a7a7(0x2dc)][_0x11a7a7(0x669)]=_0x11a7a7(0x99f);},0x5442:(_0x479d39,_0xf74aee,_0x104c87)=>{var _0x56e5b0=a6_0x36115b,_0x5040b7=_0x104c87(0x17a92);_0x104c87(0x12bc6),_0x104c87(0x6a99),_0x104c87(0x733d),_0x104c87(0x9871),_0x5040b7['v'][_0x56e5b0(0x2dc)][_0x56e5b0(0x443)]=_0x56e5b0(0x6b9);},0x36d3:(_0x49c7da,_0x3cd34b,_0x1839e0)=>{var _0x3e2e9f=a6_0x36115b,_0x5d2851=_0x1839e0(0x17a92);_0x1839e0(0x175b0),_0x1839e0(0xe6c7),_0x1839e0(0x15fb5),_0x1839e0(0x1f57),_0x1839e0(0x1f85),_0x1839e0(0xff1b),_0x1839e0(0x12a16),_0x1839e0(0x3328),_0x1839e0(0x6318),_0x1839e0(0xb0bc),_0x1839e0(0x10ef),_0x1839e0(0x17ef8),_0x5d2851['v'][_0x3e2e9f(0x2dc)][_0x3e2e9f(0xa17)]=_0x3e2e9f(0x670);},0xbb43:(_0x498a8e,_0x53398e,_0x3a5c09)=>{var _0x102b0d=a6_0x36115b,_0x54908b=_0x3a5c09(0x17a92);_0x3a5c09(0x13f9a),_0x3a5c09(0x12929),_0x3a5c09(0x12bc6),_0x3a5c09(0x13216),_0x3a5c09(0x6a99),_0x3a5c09(0xe6c7),_0x3a5c09(0x15fb5),_0x3a5c09(0x733d),_0x3a5c09(0xb434),_0x3a5c09(0xdcea),_0x3a5c09(0x6efd),_0x3a5c09(0x9871),_0x3a5c09(0x6e75),_0x3a5c09(0xedb9),_0x54908b['v']['ShadersStore'][_0x102b0d(0xa8a)]=_0x102b0d(0xaaa);},0x1968:(_0x21b75c,_0x3a6373,_0x58862c)=>{var _0xaabec1=a6_0x36115b,_0xfda3be=_0x58862c(0x17a92);_0x58862c(0x175b0),_0x58862c(0xe6c7),_0x58862c(0x15fb5),_0x58862c(0x1f57),_0x58862c(0x1f85),_0x58862c(0xff1b),_0x58862c(0x12a16),_0x58862c(0x3328),_0x58862c(0x6318),_0x58862c(0xb0bc),_0x58862c(0x10ef),_0x58862c(0x17ef8),_0xfda3be['v'][_0xaabec1(0x2dc)][_0xaabec1(0x3df)]=_0xaabec1(0x19f);},0x7d18:(_0x49a3f2,_0x26085b,_0x31bc75)=>{var _0xbc46a0=a6_0x36115b,_0x1eefc8=_0x31bc75(0x17a92);_0x31bc75(0x13f9a),_0x31bc75(0x12929),_0x31bc75(0x12bc6),_0x31bc75(0x13216),_0x31bc75(0x6a99),_0x31bc75(0xe6c7),_0x31bc75(0x15fb5),_0x31bc75(0x733d),_0x31bc75(0xb434),_0x31bc75(0xdcea),_0x31bc75(0x6efd),_0x31bc75(0x9871),_0x31bc75(0x6e75),_0x31bc75(0xedb9),_0x1eefc8['v']['ShadersStore'][_0xbc46a0(0x15f)]=_0xbc46a0(0x84d);},0xc97e:(_0x11dd11,_0x2048c0,_0x1e2c71)=>{var _0x129919=a6_0x36115b,_0x1883e7=_0x1e2c71(0x17a92);_0x1e2c71(0x175b0),_0x1e2c71(0xe6c7),_0x1e2c71(0x15fb5),_0x1e2c71(0x1f57),_0x1e2c71(0x1f85),_0x1e2c71(0xff1b),_0x1e2c71(0x12a16),_0x1e2c71(0x3328),_0x1e2c71(0x6318),_0x1e2c71(0xb0bc),_0x1e2c71(0x10ef),_0x1e2c71(0x17ef8),_0x1883e7['v'][_0x129919(0x2dc)][_0x129919(0xb23)]=_0x129919(0x2d4);},0x8f3b:(_0x592859,_0x19e773,_0x1b6eb4)=>{var _0x17eb12=a6_0x36115b,_0x4e19bf=_0x1b6eb4(0x17a92);_0x1b6eb4(0x13f9a),_0x1b6eb4(0x12929),_0x1b6eb4(0x12bc6),_0x1b6eb4(0x13216),_0x1b6eb4(0x6a99),_0x1b6eb4(0xe6c7),_0x1b6eb4(0x15fb5),_0x1b6eb4(0x733d),_0x1b6eb4(0xb434),_0x1b6eb4(0xdcea),_0x1b6eb4(0x6efd),_0x1b6eb4(0x9871),_0x1b6eb4(0x6e75),_0x4e19bf['v'][_0x17eb12(0x2dc)]['normalVertexShader']=_0x17eb12(0x57d);},0x15bd0:(_0x5cbecc,_0x2b4ed4,_0xad5d49)=>{var _0x1e5b0d=a6_0x36115b,_0x50f502=_0xad5d49(0x17a92);_0xad5d49(0x175b0),_0xad5d49(0xe6c7),_0xad5d49(0x15fb5),_0xad5d49(0x1f57),_0xad5d49(0x1f85),_0xad5d49(0xff1b),_0xad5d49(0x12a16),_0xad5d49(0x3328),_0xad5d49(0xb0bc),_0xad5d49(0x10ef),_0xad5d49(0x17ef8),_0x50f502['v'][_0x1e5b0d(0x2dc)]['shadowOnlyPixelShader']=_0x1e5b0d(0x760);},0x3e31:(_0xf385cf,_0x51bf0d,_0x431b09)=>{var _0x4a12ce=a6_0x36115b,_0x2cfd7c=_0x431b09(0x17a92);_0x431b09(0x13f9a),_0x431b09(0x12929),_0x431b09(0x12bc6),_0x431b09(0x13216),_0x431b09(0x6a99),_0x431b09(0xe6c7),_0x431b09(0x15fb5),_0x431b09(0x733d),_0x431b09(0xb434),_0x431b09(0xdcea),_0x431b09(0x6efd),_0x431b09(0x9871),_0x431b09(0x6e75),_0x2cfd7c['v'][_0x4a12ce(0x2dc)][_0x4a12ce(0x929)]='precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0x1b5e:(_0x5b227d,_0xc10c8a,_0x1f827d)=>{var _0xc620e7=a6_0x36115b,_0x522b80=_0x1f827d(0x17a92);_0x1f827d(0x175b0),_0x1f827d(0xe6c7),_0x1f827d(0x15fb5),_0x1f827d(0x1f57),_0x1f827d(0x1f85),_0x1f827d(0xff1b),_0x1f827d(0x12a16),_0x1f827d(0x3328),_0x1f827d(0x6318),_0x1f827d(0xb0bc),_0x1f827d(0x10ef),_0x1f827d(0x17ef8),_0x522b80['v'][_0xc620e7(0x2dc)]['simplePixelShader']=_0xc620e7(0x553);},0xcd2d:(_0x19f1ce,_0x58a302,_0x3f104f)=>{var _0x63175e=a6_0x36115b,_0x380d29=_0x3f104f(0x17a92);_0x3f104f(0x13f9a),_0x3f104f(0x12929),_0x3f104f(0x12bc6),_0x3f104f(0x13216),_0x3f104f(0x6a99),_0x3f104f(0xe6c7),_0x3f104f(0x15fb5),_0x3f104f(0x733d),_0x3f104f(0xb434),_0x3f104f(0xdcea),_0x3f104f(0x6efd),_0x3f104f(0x9871),_0x3f104f(0x6e75),_0x3f104f(0xedb9),_0x380d29['v'][_0x63175e(0x2dc)][_0x63175e(0x6c2)]=_0x63175e(0x7cb);},0x717d:(_0x110f96,_0x40c8e0,_0x471898)=>{var _0x2d5452=a6_0x36115b,_0xcefa21=_0x471898(0x17a92);_0x471898(0xff1b),_0x471898(0x12a16),_0x471898(0x175b0),_0x471898(0x3328),_0x471898(0x10ef),_0x471898(0x17ef8),_0xcefa21['v']['ShadersStore'][_0x2d5452(0x3a3)]=_0x2d5452(0x28c);},0xa7:(_0x20a858,_0x1d9ade,_0xdf27e0)=>{var _0x3827e0=a6_0x36115b,_0x550b31=_0xdf27e0(0x17a92);_0xdf27e0(0x13216),_0xdf27e0(0x6a99),_0xdf27e0(0x6efd),_0xdf27e0(0x9871),_0x550b31['v']['ShadersStore'][_0x3827e0(0x36d)]='precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0auniform\x20mat4\x20world;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0agl_Position=viewProjection*world*vec4(position,1.0);\x0avec4\x20worldPos=world*vec4(position,1.0);\x0avPositionW=vec3(worldPos);\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#ifdef\x20VERTEXCOLOR\x0avColor=color;\x0a#endif\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0x1528a:(_0x59724e,_0x266ac9,_0x44f9c9)=>{var _0x1b05a2=a6_0x36115b,_0x56e748=_0x44f9c9(0x17a92);_0x44f9c9(0x175b0),_0x44f9c9(0xe6c7),_0x44f9c9(0x15fb5),_0x44f9c9(0x1f57),_0x44f9c9(0x1f85),_0x44f9c9(0xff1b),_0x44f9c9(0x12a16),_0x44f9c9(0x3328),_0x44f9c9(0x6318),_0x44f9c9(0xb0bc),_0x44f9c9(0x10ef),_0x44f9c9(0x17ef8),_0x56e748['v'][_0x1b05a2(0x2dc)][_0x1b05a2(0x4ad)]='precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20vTextureInfos;\x0auniform\x20sampler2D\x20diffuse1Sampler;\x0auniform\x20sampler2D\x20diffuse2Sampler;\x0auniform\x20sampler2D\x20diffuse3Sampler;\x0auniform\x20vec2\x20diffuse1Infos;\x0auniform\x20vec2\x20diffuse2Infos;\x0auniform\x20vec2\x20diffuse3Infos;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20sampler2D\x20bump1Sampler;\x0auniform\x20sampler2D\x20bump2Sampler;\x0auniform\x20sampler2D\x20bump3Sampler;\x0a#endif\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#ifdef\x20BUMP\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0amat3\x20cotangent_frame(vec3\x20normal,vec3\x20p,vec2\x20uv)\x0a{\x0avec3\x20dp1=dFdx(p);\x0avec3\x20dp2=dFdy(p);\x0avec2\x20duv1=dFdx(uv);\x0avec2\x20duv2=dFdy(uv);\x0avec3\x20dp2perp=cross(dp2,normal);\x0avec3\x20dp1perp=cross(normal,dp1);\x0avec3\x20tangent=dp2perp*duv1.x+dp1perp*duv2.x;\x0avec3\x20binormal=dp2perp*duv1.y+dp1perp*duv2.y;\x0afloat\x20invmax=inversesqrt(max(dot(tangent,tangent),dot(binormal,binormal)));\x0areturn\x20mat3(tangent*invmax,binormal*invmax,normal);\x0a}\x0avec3\x20perturbNormal(vec3\x20viewDir,vec3\x20mixColor)\x0a{\x0avec3\x20bump1Color=texture2D(bump1Sampler,vTextureUV*diffuse1Infos).xyz;\x0avec3\x20bump2Color=texture2D(bump2Sampler,vTextureUV*diffuse2Infos).xyz;\x0avec3\x20bump3Color=texture2D(bump3Sampler,vTextureUV*diffuse3Infos).xyz;\x0abump1Color.rgb*=mixColor.r;\x0abump2Color.rgb=mix(bump1Color.rgb,bump2Color.rgb,mixColor.g);\x0avec3\x20map=mix(bump2Color.rgb,bump3Color.rgb,mixColor.b);\x0amap=map*255./127.-128./127.;\x0amat3\x20TBN=cotangent_frame(vNormalW*vTextureInfos.y,-viewDir,vTextureUV);\x0areturn\x20normalize(TBN*map);\x0a}\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(textureSampler,vTextureUV);\x0a#if\x20defined(BUMP)\x20&&\x20defined(DIFFUSE)\x0anormalW=perturbNormal(viewDirectionW,baseColor.rgb);\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vTextureInfos.y;\x0avec4\x20diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\x0avec4\x20diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\x0avec4\x20diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\x0adiffuse1Color.rgb*=baseColor.r;\x0adiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,baseColor.g);\x0abaseColor.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,baseColor.b);\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor*baseColor.rgb,0.0,1.0);\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a';},0x136e8:(_0x262003,_0x23ee4c,_0x3ad3fb)=>{var _0x5e969d=a6_0x36115b,_0x509b05=_0x3ad3fb(0x17a92);_0x3ad3fb(0x13f9a),_0x3ad3fb(0x12929),_0x3ad3fb(0x12bc6),_0x3ad3fb(0x13216),_0x3ad3fb(0x6a99),_0x3ad3fb(0xe6c7),_0x3ad3fb(0x15fb5),_0x3ad3fb(0x733d),_0x3ad3fb(0xb434),_0x3ad3fb(0xdcea),_0x3ad3fb(0x6efd),_0x3ad3fb(0x9871),_0x3ad3fb(0x6e75),_0x3ad3fb(0xedb9),_0x509b05['v'][_0x5e969d(0x2dc)]['terrainVertexShader']=_0x5e969d(0xe4);},0x109eb:(_0x299b01,_0x586ae6,_0x4211ef)=>{var _0x3488b9=a6_0x36115b,_0x86b2b0=_0x4211ef(0x17a92);_0x4211ef(0x175b0),_0x4211ef(0xe6c7),_0x4211ef(0x15fb5),_0x4211ef(0x1f57),_0x4211ef(0x1f85),_0x4211ef(0xff1b),_0x4211ef(0x12a16),_0x4211ef(0x3328),_0x4211ef(0x6318),_0x4211ef(0xb0bc),_0x4211ef(0x10ef),_0x4211ef(0x17ef8),_0x86b2b0['v']['ShadersStore'][_0x3488b9(0x8aa)]='precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSEX\x0avarying\x20vec2\x20vTextureUVX;\x0auniform\x20sampler2D\x20diffuseSamplerX;\x0a#ifdef\x20BUMPX\x0auniform\x20sampler2D\x20normalSamplerX;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0avarying\x20vec2\x20vTextureUVY;\x0auniform\x20sampler2D\x20diffuseSamplerY;\x0a#ifdef\x20BUMPY\x0auniform\x20sampler2D\x20normalSamplerY;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0avarying\x20vec2\x20vTextureUVZ;\x0auniform\x20sampler2D\x20diffuseSamplerZ;\x0a#ifdef\x20BUMPZ\x0auniform\x20sampler2D\x20normalSamplerZ;\x0a#endif\x0a#endif\x0a#ifdef\x20NORMAL\x0avarying\x20mat3\x20tangentSpace;\x0a#endif\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(0.,0.,0.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=tangentSpace[2];\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0avec4\x20baseNormal=vec4(0.0,0.0,0.0,1.0);\x0anormalW*=normalW;\x0a#ifdef\x20DIFFUSEX\x0abaseColor+=texture2D(diffuseSamplerX,vTextureUVX)*normalW.x;\x0a#ifdef\x20BUMPX\x0abaseNormal+=texture2D(normalSamplerX,vTextureUVX)*normalW.x;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0abaseColor+=texture2D(diffuseSamplerY,vTextureUVY)*normalW.y;\x0a#ifdef\x20BUMPY\x0abaseNormal+=texture2D(normalSamplerY,vTextureUVY)*normalW.y;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0abaseColor+=texture2D(diffuseSamplerZ,vTextureUVZ)*normalW.z;\x0a#ifdef\x20BUMPZ\x0abaseNormal+=texture2D(normalSamplerZ,vTextureUVZ)*normalW.z;\x0a#endif\x0a#endif\x0a#ifdef\x20NORMAL\x0anormalW=normalize((2.0*baseNormal.xyz-1.0)*tangentSpace);\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a';},0x1444:(_0xee89ba,_0x3b70c1,_0x9a6f1c)=>{var _0x3bc6ae=a6_0x36115b,_0x1bb485=_0x9a6f1c(0x17a92);_0x9a6f1c(0x13f9a),_0x9a6f1c(0x12929),_0x9a6f1c(0x12bc6),_0x9a6f1c(0x13216),_0x9a6f1c(0x6a99),_0x9a6f1c(0xe6c7),_0x9a6f1c(0x15fb5),_0x9a6f1c(0x733d),_0x9a6f1c(0xb434),_0x9a6f1c(0xdcea),_0x9a6f1c(0x6efd),_0x9a6f1c(0x9871),_0x9a6f1c(0x6e75),_0x9a6f1c(0xedb9),_0x1bb485['v'][_0x3bc6ae(0x2dc)][_0x3bc6ae(0x62a)]=_0x3bc6ae(0x2fa);},0x17ba7:(_0x1be555,_0x12d71f,_0x406ccd)=>{var _0x4a9f47=a6_0x36115b,_0x1a58c4=_0x406ccd(0x17a92);_0x406ccd(0x175b0),_0x406ccd(0x16c11),_0x406ccd(0x119a9),_0x406ccd(0xe6c7),_0x406ccd(0x15fb5),_0x406ccd(0x1f57),_0x406ccd(0x1f85),_0x406ccd(0xff1b),_0x406ccd(0x17bd9),_0x406ccd(0x12a16),_0x406ccd(0x3328),_0x406ccd(0xb0bc),_0x406ccd(0x1445f),_0x406ccd(0x10ef),_0x1a58c4['v'][_0x4a9f47(0x2dc)][_0x4a9f47(0x336)]=_0x4a9f47(0xcaf);},0xf5bf:(_0x54e9e4,_0x7a2e53,_0x417193)=>{var _0x2271af=a6_0x36115b,_0x331f4c=_0x417193(0x17a92);_0x417193(0x13f9a),_0x417193(0x12929),_0x417193(0x12bc6),_0x417193(0x13216),_0x417193(0x6a99),_0x417193(0xe6c7),_0x417193(0x15fb5),_0x417193(0x17bd9),_0x417193(0x733d),_0x417193(0xb434),_0x417193(0xdcea),_0x417193(0x6efd),_0x417193(0x9871),_0x417193(0x6e75),_0x417193(0xedb9),_0x417193(0x13da6),_0x331f4c['v'][_0x2271af(0x2dc)][_0x2271af(0x3b7)]=_0x2271af(0x79d);},0xd482:(_0x51b88c,_0x8e8dd8,_0xfa31be)=>{var _0x37677=a6_0x36115b;_0xfa31be['d'](_0x8e8dd8,{'W':()=>_0x543494});var _0x8e8dd8=_0xfa31be(0x15a52),_0x8483da=_0xfa31be(0x16ad5),_0x412d3a=_0xfa31be(0xe779),_0xba47d6=_0xfa31be(0xe456),_0x4b02a7=_0xfa31be(0x11c74),_0x248d5a=_0xfa31be(0x13cd1),_0x540dcc=_0xfa31be(0x77a5),_0x491e06=(_0xfa31be(0x11645),_0xfa31be(0x2dc8)),_0x3cf4f0=_0xfa31be(0xbac7),_0x439496=_0xfa31be(0xf8c1),_0xfa31be=_0xfa31be(0x159af);class _0x543494 extends _0x8e8dd8['k']{constructor(_0x5c83f3){var _0x2b465d=a6_0x238e;super(_0x5c83f3,_0x8483da['u'][_0x2b465d(0x103)]),this[_0x2b465d(0x4b8)]=!0x1;}get[_0x37677(0xa91)](){var _0x533f5f=_0x37677;return this[_0x533f5f(0x913)];}set[_0x37677(0xa91)](_0x5b7f8a){var _0x53b2a7=_0x37677,_0x27f30e;if(this['_texture']!==_0x5b7f8a){const _0x140552=null!=(_0x27f30e=null==_0x5b7f8a?void 0x0:_0x5b7f8a[_0x53b2a7(0xa8b)]())?_0x27f30e:_0x439496['l']['LastCreatedScene'];!_0x5b7f8a&&_0x140552&&_0x140552[_0x53b2a7(0xc1b)](_0x540dcc['g'][_0x53b2a7(0x9c7)],_0x2c96ed=>_0x2c96ed['hasTexture'](this[_0x53b2a7(0x913)])),(this[_0x53b2a7(0x913)]=_0x5b7f8a)&&_0x140552&&_0x140552['markAllMaterialsAsDirty'](_0x540dcc['g'][_0x53b2a7(0x9c7)],_0x236fd5=>_0x236fd5['hasTexture'](_0x5b7f8a));}}static[_0x37677(0x360)](_0xe53a3,_0x24ad15){var _0x3074d0=_0x37677;const _0x1134de=_0xe53a3;return _0x1134de[_0x3074d0(0x7c1)]();}[_0x37677(0x7c1)](){return this['_setTarget'](),!0x0;}[_0x37677(0x764)](){var _0x2a2074=_0x37677;this['_setInitialTarget'](this['generateOnlyFragmentCode']?_0x8483da['u'][_0x2a2074(0xbf4)]:_0x8483da['u']['VertexAndFragment']);}[_0x37677(0x8af)](){var _0x164295=_0x37677;return _0x164295(0xa0e);}[_0x37677(0x5b1)](){var _0xb177ef=_0x37677;return this[_0xb177ef(0xa91)];}[_0x37677(0x8e4)](_0x25efad){var _0x875ad6=_0x37677;if(!this['position'][_0x875ad6(0x7b5)]){let _0x16f766=_0x25efad['getInputBlockByPredicate'](_0x1415cb=>_0x1415cb[_0x875ad6(0x236)]&&'position'===_0x1415cb[_0x875ad6(0x8f9)]);_0x16f766||(_0x16f766=new _0x4b02a7['S']('position'))['setAsAttribute'](),_0x16f766[_0x875ad6(0x1b6)][_0x875ad6(0x6a9)](this[_0x875ad6(0x66a)]);}if(!this[_0x875ad6(0x473)][_0x875ad6(0x7b5)]){let _0x1c23fe=_0x25efad[_0x875ad6(0x232)](_0x24be6b=>_0x24be6b[_0x875ad6(0xb68)]===_0x248d5a['$'][_0x875ad6(0x58c)]);_0x1c23fe||(_0x1c23fe=new _0x4b02a7['S']('world'))['setAsSystemValue'](_0x248d5a['$'][_0x875ad6(0x58c)]),_0x1c23fe[_0x875ad6(0x1b6)][_0x875ad6(0x6a9)](this[_0x875ad6(0x473)]);}if(this['view']&&!this['view'][_0x875ad6(0x7b5)]){let _0x4b0fd5=_0x25efad[_0x875ad6(0x232)](_0x465e67=>_0x465e67[_0x875ad6(0xb68)]===_0x248d5a['$'][_0x875ad6(0x7e6)]);_0x4b0fd5||(_0x4b0fd5=new _0x4b02a7['S'](_0x875ad6(0x389)))[_0x875ad6(0x39c)](_0x248d5a['$'][_0x875ad6(0x7e6)]),_0x4b0fd5[_0x875ad6(0x1b6)][_0x875ad6(0x6a9)](this[_0x875ad6(0x389)]);}}[_0x37677(0xa4b)](_0x1a5e2e,_0x5b5fd1,_0x3c2d6b){var _0x2dff9a=_0x37677,_0x483054;_0x3c2d6b[_0x2dff9a(0x772)]&&(_0x483054=this[_0x2dff9a(0x5b1)]())&&_0x483054[_0x2dff9a(0x9a7)]&&(_0x3c2d6b[_0x2dff9a(0x7eb)](this[_0x2dff9a(0x38b)],_0x483054['isCube'],!0x0),_0x3c2d6b['setValue'](this[_0x2dff9a(0x755)],!!_0x483054[_0x2dff9a(0x85f)],!0x0),_0x3c2d6b['setValue'](this['_defineExplicitName'],_0x483054[_0x2dff9a(0x134)]===_0x540dcc['g'][_0x2dff9a(0x618)],!0x0),_0x3c2d6b[_0x2dff9a(0x7eb)](this[_0x2dff9a(0x9b9)],_0x483054[_0x2dff9a(0x134)]===_0x540dcc['g'][_0x2dff9a(0x805)],!0x0),_0x3c2d6b[_0x2dff9a(0x7eb)](this[_0x2dff9a(0x497)],_0x483054['coordinatesMode']===_0x540dcc['g'][_0x2dff9a(0x73f)]||_0x483054[_0x2dff9a(0x134)]===_0x540dcc['g']['TEXTURE_INVCUBIC_MODE'],!0x0),_0x3c2d6b[_0x2dff9a(0x7eb)](_0x2dff9a(0x902),_0x483054[_0x2dff9a(0x134)]===_0x540dcc['g'][_0x2dff9a(0x387)],!0x0),_0x3c2d6b[_0x2dff9a(0x7eb)](this['_defineSphericalName'],_0x483054[_0x2dff9a(0x134)]===_0x540dcc['g'][_0x2dff9a(0xb5d)],!0x0),_0x3c2d6b[_0x2dff9a(0x7eb)](this['_definePlanarName'],_0x483054[_0x2dff9a(0x134)]===_0x540dcc['g'][_0x2dff9a(0x585)],!0x0),_0x3c2d6b[_0x2dff9a(0x7eb)](this[_0x2dff9a(0x499)],_0x483054[_0x2dff9a(0x134)]===_0x540dcc['g'][_0x2dff9a(0xee)],!0x0),_0x3c2d6b[_0x2dff9a(0x7eb)](this['_defineEquirectangularName'],_0x483054['coordinatesMode']===_0x540dcc['g'][_0x2dff9a(0x74e)],!0x0),_0x3c2d6b['setValue'](this[_0x2dff9a(0x5fd)],_0x483054[_0x2dff9a(0x134)]===_0x540dcc['g']['TEXTURE_FIXED_EQUIRECTANGULAR_MODE'],!0x0),_0x3c2d6b[_0x2dff9a(0x7eb)](this['_defineMirroredEquirectangularFixedName'],_0x483054[_0x2dff9a(0x134)]===_0x540dcc['g']['TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE'],!0x0));}[_0x37677(0x682)](){var _0x414e68=_0x37677;const _0x851e74=this[_0x414e68(0x5b1)]();return!(_0x851e74&&!_0x851e74['isReadyOrNotBlocking']());}[_0x37677(0xa56)](_0x22ec03,_0x526351,_0x28203a){var _0xb39f0d=_0x37677;const _0x2baf28=this['_getTexture']();_0x28203a&&_0x2baf28&&(_0x22ec03['setMatrix'](this[_0xb39f0d(0x180)],_0x2baf28['getReflectionTextureMatrix']()),_0x2baf28[_0xb39f0d(0x7ed)]?_0x22ec03[_0xb39f0d(0x3ac)](this[_0xb39f0d(0x674)],_0x2baf28):_0x22ec03[_0xb39f0d(0x3ac)](this['_2DSamplerName'],_0x2baf28),_0x2baf28[_0xb39f0d(0x85f)]&&(_0x28203a=_0x2baf28,_0x22ec03[_0xb39f0d(0x36f)](this[_0xb39f0d(0x58d)],_0x28203a[_0xb39f0d(0x2b3)]),_0x22ec03[_0xb39f0d(0x36f)](this[_0xb39f0d(0xa00)],_0x28203a[_0xb39f0d(0x85f)])));}[_0x37677(0x8c7)](_0xba95e1){var _0x4b5618=_0x37677;if(this[_0x4b5618(0x4b8)]&&_0xba95e1[_0x4b5618(0x57b)]===_0x8483da['u'][_0x4b5618(0x906)])return'';this['_define3DName']=_0xba95e1['_getFreeDefineName']('REFLECTIONMAP_3D'),this[_0x4b5618(0x497)]=_0xba95e1[_0x4b5618(0xcc9)](_0x4b5618(0x2ba)),this['_defineSphericalName']=_0xba95e1[_0x4b5618(0xcc9)](_0x4b5618(0x9d2)),this[_0x4b5618(0xb4f)]=_0xba95e1[_0x4b5618(0xcc9)](_0x4b5618(0xa32)),this[_0x4b5618(0x499)]=_0xba95e1[_0x4b5618(0xcc9)]('REFLECTIONMAP_PROJECTION'),this[_0x4b5618(0x9f0)]=_0xba95e1[_0x4b5618(0xcc9)](_0x4b5618(0x87e)),this['_defineEquirectangularName']=_0xba95e1[_0x4b5618(0xcc9)]('REFLECTIONMAP_EQUIRECTANGULAR'),this[_0x4b5618(0x755)]=_0xba95e1[_0x4b5618(0xcc9)](_0x4b5618(0x3de)),this[_0x4b5618(0x54e)]=_0xba95e1['_getFreeDefineName'](_0x4b5618(0x6aa)),this[_0x4b5618(0x5fd)]=_0xba95e1[_0x4b5618(0xcc9)](_0x4b5618(0xc50)),this['_defineSkyboxName']=_0xba95e1[_0x4b5618(0xcc9)]('REFLECTIONMAP_SKYBOX'),this['_defineOppositeZ']=_0xba95e1[_0x4b5618(0xcc9)](_0x4b5618(0x43c)),this[_0x4b5618(0x180)]=_0xba95e1[_0x4b5618(0x925)](_0x4b5618(0x5eb)),_0xba95e1[_0x4b5618(0x241)](this[_0x4b5618(0x180)],_0x4b5618(0x1ad));let _0x2d670d='';this[_0x4b5618(0x900)]=_0xba95e1[_0x4b5618(0x925)](_0x4b5618(0x204));var _0x1350c7=this[_0x4b5618(0x4b8)]?this[_0x4b5618(0x900)]:'v_'+this[_0x4b5618(0x204)]['associatedVariableName'];return(this[_0x4b5618(0x4b8)]||_0xba95e1[_0x4b5618(0xaa3)](_0x1350c7,'vec4'))&&(_0x2d670d+=(this[_0x4b5618(0x4b8)]?_0x4b5618(0x3b9):'')+_0x1350c7+(_0x4b5618(0x92e)+this[_0x4b5618(0x204)]['associatedVariableName']+_0x4b5618(0x5e3))),this[_0x4b5618(0x432)]=_0xba95e1['_getFreeVariableName'](_0x4b5618(0x263)),this[_0x4b5618(0x27d)]=_0xba95e1[_0x4b5618(0x925)](_0x4b5618(0x665)),(this[_0x4b5618(0x4b8)]||_0xba95e1[_0x4b5618(0xaa3)](this[_0x4b5618(0x432)],_0x4b5618(0x14b),this['_defineSkyboxName']))&&(_0x2d670d=(_0x2d670d+=_0x4b5618(0x916)+this[_0x4b5618(0x9b9)]+'\x0d\x0a')+(this[_0x4b5618(0x4b8)]?_0x4b5618(0x54d):'')+this[_0x4b5618(0x432)]+('\x20=\x20'+this[_0x4b5618(0x66a)]['associatedVariableName']+'.xyz;\x0d\x0a')+_0x4b5618(0x140)),_0x2d670d=this[_0x4b5618(0x4b8)]||_0xba95e1[_0x4b5618(0xaa3)](this[_0x4b5618(0x27d)],_0x4b5618(0x14b),_0x4b5618(0x702)+this[_0x4b5618(0x5fd)]+')\x20||\x20defined('+this[_0x4b5618(0x54e)]+')')?(_0x2d670d+=_0x4b5618(0x706)+this[_0x4b5618(0x5fd)]+_0x4b5618(0xb2f)+this['_defineMirroredEquirectangularFixedName']+_0x4b5618(0x2a8))+(this['generateOnlyFragmentCode']?_0x4b5618(0x54d):'')+this[_0x4b5618(0x27d)]+(_0x4b5618(0xa68)+this[_0x4b5618(0x473)][_0x4b5618(0xa08)]+'\x20*\x20vec4('+this['position'][_0x4b5618(0xa08)]+_0x4b5618(0x16b))+'#endif\x0d\x0a':_0x2d670d;}['handleFragmentSideInits'](_0x59a508){var _0x43a55e=_0x37677;_0x59a508[_0x43a55e(0x324)]['blockingBlocks']['push'](this),_0x59a508[_0x43a55e(0x324)][_0x43a55e(0x5d0)][_0x43a55e(0x731)](this),this['_cubeSamplerName']=_0x59a508[_0x43a55e(0x925)](this[_0x43a55e(0x8f9)]+'CubeSampler'),_0x59a508[_0x43a55e(0x7f2)][_0x43a55e(0x731)](this['_cubeSamplerName']),this[_0x43a55e(0x4e5)]=_0x59a508[_0x43a55e(0x925)](this[_0x43a55e(0x8f9)]+_0x43a55e(0x3c1)),_0x59a508[_0x43a55e(0x7f2)][_0x43a55e(0x731)](this[_0x43a55e(0x4e5)]),_0x59a508[_0x43a55e(0x735)]+=_0x43a55e(0x916)+this[_0x43a55e(0x38b)]+'\x0d\x0a',_0x59a508[_0x43a55e(0x735)]+=_0x43a55e(0xad3)+this[_0x43a55e(0x674)]+_0x43a55e(0x5e3),_0x59a508[_0x43a55e(0x735)]+='#else\x0d\x0a',_0x59a508['_samplerDeclaration']+=_0x43a55e(0x10b)+this[_0x43a55e(0x4e5)]+';\x0d\x0a',_0x59a508['_samplerDeclaration']+=_0x43a55e(0x140),_0x59a508[_0x43a55e(0x324)][_0x43a55e(0x598)][_0x43a55e(0x731)](this),_0x59a508[_0x43a55e(0x324)][_0x43a55e(0x753)][_0x43a55e(0x731)](this);var _0x430107='//'+this[_0x43a55e(0x8f9)];_0x59a508[_0x43a55e(0xbf6)](_0x43a55e(0x700),_0x43a55e(0x98f),''),_0x59a508['_emitFunctionFromInclude'](_0x43a55e(0x281),_0x430107),_0x59a508[_0x43a55e(0x1dd)](_0x43a55e(0x703),_0x430107,{'replaceStrings':[{'search':/vec3 computeReflectionCoords/g,'replace':_0x43a55e(0x52f)}]}),this[_0x43a55e(0x73c)]=_0x59a508[_0x43a55e(0x925)](_0x43a55e(0x449)),this[_0x43a55e(0x8fd)]=_0x59a508[_0x43a55e(0x925)]('reflectionUVW'),this[_0x43a55e(0x172)]=_0x59a508[_0x43a55e(0x925)](_0x43a55e(0x7fc)),this['_reflectionPositionName']=_0x59a508[_0x43a55e(0x925)](_0x43a55e(0xeb)),_0x59a508[_0x43a55e(0x241)](this[_0x43a55e(0x58d)],_0x43a55e(0x14b)),this[_0x43a55e(0xa00)]=_0x59a508[_0x43a55e(0x925)](_0x43a55e(0xeb)),_0x59a508[_0x43a55e(0x241)](this[_0x43a55e(0xa00)],_0x43a55e(0x14b));}['handleFragmentSideCodeReflectionCoords'](_0x102183,_0x40df57,_0x35056c=!0x1,_0x277fc6=!0x1){var _0x5476d2=_0x37677;_0x40df57=_0x40df57||(this[_0x5476d2(0x4b8)]?this['_worldPositionNameInFragmentOnlyMode']:'v_'+this[_0x5476d2(0x204)][_0x5476d2(0xa08)]);var _0xcaa305=this[_0x5476d2(0x180)],_0x17aab1=_0x5476d2(0x776)+this[_0x5476d2(0x27d)]+')',_0x198274=''+this[_0x5476d2(0x432)],_0x3708f8=''+this[_0x5476d2(0x8c9)]['associatedVariableName'],_0x5b984c=''+this[_0x5476d2(0x389)][_0x5476d2(0xa08)];let _0x10d1b5='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this[_0x5476d2(0x54e)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this[_0x5476d2(0x8fd)]+_0x5476d2(0xb0e)+_0x40df57+',\x20'+(_0x102183+='.xyz')+',\x20'+_0x17aab1+_0x5476d2(0x4e8)+this[_0x5476d2(0x5fd)]+_0x5476d2(0x5f8)+this[_0x5476d2(0x8fd)]+_0x5476d2(0x4fc)+_0x40df57+',\x20'+_0x102183+',\x20'+_0x17aab1+_0x5476d2(0x4e8)+this[_0x5476d2(0x946)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this['_reflectionVectorName']+_0x5476d2(0x9bc)+_0x40df57+',\x20'+_0x102183+',\x20'+_0x3708f8+_0x5476d2(0x7de)+_0xcaa305+_0x5476d2(0x4e8)+this[_0x5476d2(0x70e)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this[_0x5476d2(0x8fd)]+_0x5476d2(0x7ee)+_0x40df57+',\x20'+_0x102183+',\x20'+_0x5b984c+',\x20'+_0xcaa305+_0x5476d2(0x4e8)+this['_definePlanarName']+_0x5476d2(0x5f8)+this[_0x5476d2(0x8fd)]+_0x5476d2(0x507)+_0x40df57+',\x20'+_0x102183+',\x20'+_0x3708f8+_0x5476d2(0x7de)+_0xcaa305+_0x5476d2(0x4e8)+this[_0x5476d2(0x497)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this['_defineLocalCubicName']+_0x5476d2(0x337)+this['_reflectionVectorName']+'\x20=\x20computeCubicLocalCoords('+_0x40df57+',\x20'+_0x102183+',\x20'+_0x3708f8+'.xyz,\x20'+_0xcaa305+',\x20'+this['_reflectionSizeName']+',\x20'+this[_0x5476d2(0x58d)]+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this['_reflectionVectorName']+_0x5476d2(0xb7a)+_0x40df57+',\x20'+_0x102183+',\x20'+_0x3708f8+_0x5476d2(0x7de)+_0xcaa305+_0x5476d2(0x226)+this[_0x5476d2(0x499)]+_0x5476d2(0x5f8)+this['_reflectionVectorName']+_0x5476d2(0xb64)+_0x40df57+',\x20'+_0x5b984c+',\x20'+_0xcaa305+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this[_0x5476d2(0x9b9)]+_0x5476d2(0x5f8)+this[_0x5476d2(0x8fd)]+_0x5476d2(0xb34)+_0x198274+',\x20'+_0xcaa305+_0x5476d2(0x4e8)+this[_0x5476d2(0x9f0)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this[_0x5476d2(0x8fd)]+_0x5476d2(0x5d8);return _0x277fc6||(_0x10d1b5+=_0x5476d2(0x916)+this[_0x5476d2(0x1db)]+_0x5476d2(0x576)+this[_0x5476d2(0x8fd)]+_0x5476d2(0xbb2)),_0x35056c||(_0x10d1b5+=_0x5476d2(0x193)+this[_0x5476d2(0x38b)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this['_reflectionCoordsName']+'\x20=\x20'+this[_0x5476d2(0x8fd)]+_0x5476d2(0x3e5)+this[_0x5476d2(0x172)]+'\x20=\x20'+this['_reflectionVectorName']+_0x5476d2(0x3da)+this['_defineProjectionName']+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this[_0x5476d2(0x172)]+_0x5476d2(0x450)+this['_reflectionVectorName']+'.z;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this['_reflectionCoordsName']+'.y\x20=\x201.0\x20-\x20'+this[_0x5476d2(0x172)]+_0x5476d2(0x5f4)),_0x10d1b5;}[_0x37677(0x2c4)](_0x1f79ee,_0x588826=_0x37677(0xa25)){var _0x34b2a0=_0x37677,_0x2b9bcb=_0x34b2a0(0xb1c)+(0x0===_0x588826[_0x34b2a0(0xb85)]?'4':_0x588826[_0x34b2a0(0xb85)]-0x1)+('\x20'+this[_0x34b2a0(0x73c)]+_0x34b2a0(0xa95)+this[_0x34b2a0(0x38b)]+'\x0d\x0a');return(_0x2b9bcb=_0x2b9bcb+(_0x1f79ee?this[_0x34b2a0(0x73c)]+_0x34b2a0(0x882)+this[_0x34b2a0(0x674)]+',\x20'+this[_0x34b2a0(0x8fd)]+',\x20'+_0x1f79ee+')'+_0x588826+_0x34b2a0(0x5e3):this[_0x34b2a0(0x73c)]+_0x34b2a0(0x490)+this[_0x34b2a0(0x674)]+',\x20'+this[_0x34b2a0(0x8fd)]+')'+_0x588826+_0x34b2a0(0x5e3))+_0x34b2a0(0x8ac))+(_0x1f79ee?this[_0x34b2a0(0x73c)]+_0x34b2a0(0x4a3)+this[_0x34b2a0(0x4e5)]+',\x20'+this[_0x34b2a0(0x172)]+',\x20'+_0x1f79ee+')'+_0x588826+';\x0d\x0a':this['_reflectionColorName']+'\x20=\x20texture2D('+this[_0x34b2a0(0x4e5)]+',\x20'+this[_0x34b2a0(0x172)]+')'+_0x588826+_0x34b2a0(0x5e3))+'#endif\x0d\x0a';}['writeOutputs'](_0x11faf8,_0x491416){var _0x21614c=_0x37677;let _0x500be5='';if(_0x11faf8[_0x21614c(0x57b)]===_0x8483da['u'][_0x21614c(0xbf4)]){for(const _0x487aea of this['_outputs'])_0x487aea[_0x21614c(0x513)]&&(_0x500be5+=this[_0x21614c(0x78d)](_0x487aea,_0x11faf8)+_0x21614c(0x92e)+_0x491416+'.'+_0x487aea[_0x21614c(0x8f9)]+_0x21614c(0x5e3));}return _0x500be5;}[_0x37677(0x309)](_0x5cb7cd){return super['_buildBlock'](_0x5cb7cd),this;}[_0x37677(0x77b)](){var _0x4a390f=_0x37677;let _0xe736b9=super['_dumpPropertiesCode']();return this['texture']?(this['texture'][_0x4a390f(0x7ed)]?(_0x226329=this['texture'][_0x4a390f(0x733)],_0xe736b9+=this[_0x4a390f(0x716)]+'.texture\x20=\x20new\x20BABYLON.CubeTexture(\x22'+this[_0x4a390f(0xa91)][_0x4a390f(0x8f9)]+_0x4a390f(0x687)+this[_0x4a390f(0xa91)][_0x4a390f(0xa81)]+_0x4a390f(0x891)+this['texture'][_0x4a390f(0xc53)]+',\x20'+(_0x226329?'\x22'+_0x226329+'\x22':'null')+_0x4a390f(0xb07)):_0xe736b9+=this['_codeVariableName']+_0x4a390f(0x874)+this[_0x4a390f(0xa91)][_0x4a390f(0x8f9)]+'\x22,\x20null);\x0d\x0a',_0xe736b9+=this[_0x4a390f(0x716)]+'.texture.coordinatesMode\x20=\x20'+this[_0x4a390f(0xa91)][_0x4a390f(0x134)]+';\x0d\x0a'):_0xe736b9;var _0x226329;}[_0x37677(0xa55)](){var _0x21fb88=_0x37677;const _0x143c94=super[_0x21fb88(0xa55)]();return this[_0x21fb88(0xa91)]&&!this[_0x21fb88(0xa91)][_0x21fb88(0x26a)]&&(_0x143c94[_0x21fb88(0xa91)]=this[_0x21fb88(0xa91)][_0x21fb88(0xa55)]()),_0x143c94[_0x21fb88(0x4b8)]=this[_0x21fb88(0x4b8)],_0x143c94;}['_deserialize'](_0x5428fd,_0x552c8b,_0x5c2987){var _0x2d170d=_0x37677;super['_deserialize'](_0x5428fd,_0x552c8b,_0x5c2987),_0x5428fd[_0x2d170d(0xa91)]&&!_0x412d3a['O'][_0x2d170d(0xa80)]&&(_0x5c2987=0x0===_0x5428fd['texture'][_0x2d170d(0x1e5)][_0x2d170d(0x168)](_0x2d170d(0x656))?'':_0x5c2987,_0x5428fd[_0x2d170d(0xa91)]['isCube']?this[_0x2d170d(0xa91)]=_0x491e06['B']['Parse'](_0x5428fd[_0x2d170d(0xa91)],_0x552c8b,_0x5c2987):this['texture']=_0x3cf4f0['x']['Parse'](_0x5428fd[_0x2d170d(0xa91)],_0x552c8b,_0x5c2987)),this['generateOnlyFragmentCode']=_0x5428fd['generateOnlyFragmentCode'],this[_0x2d170d(0x764)]();}}(function(_0x15c00b,_0x58cada,_0x46f329,_0x3b62ac){var _0x3a8ae6=_0x37677,_0x112fa0,_0x3b3cff=arguments['length'],_0x6b2ab0=_0x3b3cff<0x3?_0x58cada:null===_0x3b62ac?_0x3b62ac=Object['getOwnPropertyDescriptor'](_0x58cada,_0x46f329):_0x3b62ac;if('object'==typeof Reflect&&_0x3a8ae6(0x153)==typeof Reflect['decorate'])_0x6b2ab0=Reflect[_0x3a8ae6(0xbd1)](_0x15c00b,_0x58cada,_0x46f329,_0x3b62ac);else{for(var _0x4be4f8=_0x15c00b[_0x3a8ae6(0xb85)]-0x1;0x0<=_0x4be4f8;_0x4be4f8--)(_0x112fa0=_0x15c00b[_0x4be4f8])&&(_0x6b2ab0=(_0x3b3cff<0x3?_0x112fa0(_0x6b2ab0):0x3<_0x3b3cff?_0x112fa0(_0x58cada,_0x46f329,_0x6b2ab0):_0x112fa0(_0x58cada,_0x46f329))||_0x6b2ab0);}0x3<_0x3b3cff&&_0x6b2ab0&&Object[_0x3a8ae6(0x939)](_0x58cada,_0x46f329,_0x6b2ab0);}([(0x0,_0xfa31be['p'])(_0x37677(0x3a1),_0xfa31be['U']['Boolean'],_0x37677(0x266),{'notifiers':{'rebuild':!0x0,'update':!0x0,'onValidation':_0x543494[_0x37677(0x360)]}})],_0x543494['prototype'],_0x37677(0x4b8),void 0x0),(0x0,_0xba47d6['H'])('BABYLON.ReflectionTextureBaseBlock',_0x543494));},0x107c1:(_0x170659,_0xff4bb8,_0x7fc45)=>{var _0x9cf743=a6_0x36115b;_0x7fc45['d'](_0xff4bb8,{'$':()=>_0x5e4965});var _0xff4bb8=_0x7fc45(0x15a52),_0x16bd14=_0x7fc45(0x1137a),_0x6dec94=_0x7fc45(0xec3c),_0x476d6f=_0x7fc45(0x16ad5),_0x1272cf=_0x7fc45(0xe456),_0x497b7a=_0x7fc45(0x11c74),_0x3bc992=_0x7fc45(0xd646),_0x7fe5ad=_0x7fc45(0xebd3);class _0x5e4965 extends _0xff4bb8['k']{constructor(_0x1f6982){var _0x5e0272=a6_0x238e;super(_0x1f6982,_0x476d6f['u'][_0x5e0272(0xbf4)]),this['_isUnique']=!0x0,this[_0x5e0272(0x456)](_0x5e0272(0x2a2),_0x16bd14['E'][_0x5e0272(0x661)],!0x0,_0x476d6f['u']['Fragment']),this[_0x5e0272(0x456)]('indexOfRefraction',_0x16bd14['E'][_0x5e0272(0x661)],!0x0,_0x476d6f['u']['Fragment']),this[_0x5e0272(0x456)]('thickness',_0x16bd14['E'][_0x5e0272(0x661)],!0x0,_0x476d6f['u'][_0x5e0272(0xbf4)]),this[_0x5e0272(0xa01)]('iridescence',_0x16bd14['E']['Object'],_0x476d6f['u'][_0x5e0272(0xbf4)],new _0x3bc992['C'](_0x5e0272(0x3d4),this,_0x6dec94['Ab'][_0x5e0272(0xf8)],_0x5e4965,'IridescenceBlock'));}[_0x9cf743(0xa03)](_0x12f7be){var _0x2e0dc6=_0x9cf743;_0x12f7be[_0x2e0dc6(0xaed)](_0x2e0dc6(0x3d5)),_0x12f7be['_excludeVariableName'](_0x2e0dc6(0x793));}[_0x9cf743(0x8af)](){return'IridescenceBlock';}get[_0x9cf743(0x2a2)](){var _0x29eb30=_0x9cf743;return this[_0x29eb30(0xa87)][0x0];}get['indexOfRefraction'](){var _0x1e18d0=_0x9cf743;return this[_0x1e18d0(0xa87)][0x1];}get[_0x9cf743(0x12d)](){var _0x11828e=_0x9cf743;return this[_0x11828e(0xa87)][0x2];}get['iridescence'](){var _0x26de6f=_0x9cf743;return this[_0x26de6f(0x51c)][0x0];}[_0x9cf743(0x8e4)](){var _0x2e87d5=_0x9cf743;if(!this[_0x2e87d5(0x2a2)][_0x2e87d5(0x7b5)]){const _0x2199c6=new _0x497b7a['S'](_0x2e87d5(0x136),_0x476d6f['u'][_0x2e87d5(0xbf4)],_0x16bd14['E'][_0x2e87d5(0x661)]),_0x93159b=(_0x2199c6['value']=0x1,_0x2199c6[_0x2e87d5(0x1b6)][_0x2e87d5(0x6a9)](this['intensity']),new _0x497b7a['S'](_0x2e87d5(0x7bb),_0x476d6f['u'][_0x2e87d5(0xbf4)],_0x16bd14['E'][_0x2e87d5(0x661)])),_0x4908e6=(_0x93159b[_0x2e87d5(0x96b)]=1.3,_0x93159b[_0x2e87d5(0x1b6)]['connectTo'](this[_0x2e87d5(0x57a)]),new _0x497b7a['S'](_0x2e87d5(0x184),_0x476d6f['u'][_0x2e87d5(0xbf4)],_0x16bd14['E']['Float']));_0x4908e6[_0x2e87d5(0x96b)]=0x190,_0x4908e6[_0x2e87d5(0x1b6)][_0x2e87d5(0x6a9)](this['thickness']);}}['prepareDefines'](_0x430e7b,_0x8224c1,_0x226ada){var _0x198d09=_0x9cf743;super[_0x198d09(0xa4b)](_0x430e7b,_0x8224c1,_0x226ada),_0x226ada[_0x198d09(0x7eb)](_0x198d09(0x74a),!0x0,!0x0),_0x226ada[_0x198d09(0x7eb)](_0x198d09(0xc96),!0x1,!0x0),_0x226ada[_0x198d09(0x7eb)](_0x198d09(0x9b8),!0x1,!0x0);}static[_0x9cf743(0xbd0)](_0x1c7d60){var _0xa7ff0e=_0x9cf743;return''+(_0xa7ff0e(0x6fc)+(null!=_0x1c7d60&&_0x1c7d60['intensity'][_0xa7ff0e(0x7b5)]?_0x1c7d60['intensity'][_0xa7ff0e(0xa08)]:'1.')+',\x20'+(null!=_0x1c7d60&&_0x1c7d60[_0xa7ff0e(0x57a)][_0xa7ff0e(0x7b5)]?_0x1c7d60[_0xa7ff0e(0x57a)][_0xa7ff0e(0xa08)]:_0x7fe5ad['B'][_0xa7ff0e(0xa69)])+',\x201.,\x20'+(null!=_0x1c7d60&&_0x1c7d60[_0xa7ff0e(0x12d)]['isConnected']?_0x1c7d60['thickness'][_0xa7ff0e(0xa08)]:_0x7fe5ad['B']['_DefaultMaximumThickness'])+_0xa7ff0e(0x730));}[_0x9cf743(0x309)](_0x400cab){var _0x78836a=_0x9cf743;return _0x400cab[_0x78836a(0x57b)]===_0x476d6f['u']['Fragment']&&(_0x400cab['sharedData'][_0x78836a(0x753)][_0x78836a(0x731)](this),_0x400cab['sharedData']['blocksWithDefines'][_0x78836a(0x731)](this)),this;}[_0x9cf743(0xa55)](){var _0x282de4=_0x9cf743;return super[_0x282de4(0xa55)]();}['_deserialize'](_0x137af4,_0x3112d2,_0x479022){var _0x49cb25=_0x9cf743;super[_0x49cb25(0x634)](_0x137af4,_0x3112d2,_0x479022);}}(0x0,_0x1272cf['H'])(_0x9cf743(0xa6d),_0x5e4965);},0x18495:(_0x4365be,_0x8c801,_0x4a3820)=>{var _0x4213c4=a6_0x36115b;_0x4a3820['d'](_0x8c801,{'u':()=>_0x15a0e9});var _0x1b937e=_0x4a3820(0x1137a),_0x3884d5=_0x4a3820(0x16ad5),_0x47fb24=_0x4a3820(0xf75c);class _0x15a0e9{constructor(){var _0x2a9559=a6_0x238e;this[_0x2a9559(0x261)]=!0x1,this[_0x2a9559(0xa8f)]=new Array(),this['uniforms']=new Array(),this['constants']=new Array(),this[_0x2a9559(0x7f2)]=new Array(),this[_0x2a9559(0x85d)]={},this[_0x2a9559(0x612)]={},this[_0x2a9559(0x5fa)]={},this[_0x2a9559(0x884)]='',this[_0x2a9559(0xa0a)]='',this['_constantDeclaration']='',this['_samplerDeclaration']='',this[_0x2a9559(0x49f)]='',this[_0x2a9559(0x2ce)]='',this['_repeatableContentAnchorIndex']=0x0,this[_0x2a9559(0x3cc)]='',this[_0x2a9559(0x855)]='';}[_0x4213c4(0x11a)](_0x29fd0b){var _0x5276ad=_0x4213c4,_0x29fd0b=_0x29fd0b[_0x5276ad(0x324)][_0x5276ad(0xdc)],_0x2a6180=this['target']===_0x3884d5['u'][_0x5276ad(0xbf4)];this[_0x5276ad(0x855)]='\x0d\x0a'+(_0x29fd0b?_0x5276ad(0x271):'')+'void\x20main(void)\x20{\x0d\x0a'+this[_0x5276ad(0x855)],this[_0x5276ad(0xbdb)]&&(this[_0x5276ad(0x855)]='\x0d\x0a'+(_0x29fd0b?_0x5276ad(0x717):'')+this['_constantDeclaration']+'\x0d\x0a'+this[_0x5276ad(0x855)]);let _0x13ed3d='';for(const _0x1b590b in this[_0x5276ad(0x85d)])_0x13ed3d+=this[_0x5276ad(0x85d)][_0x1b590b]+'\x0d\x0a';this[_0x5276ad(0x855)]='\x0d\x0a'+_0x13ed3d+'\x0d\x0a'+this['compilationString'],!_0x2a6180&&this[_0x5276ad(0x49f)]&&(this[_0x5276ad(0x855)]=this[_0x5276ad(0x855)]+'\x0d\x0a'+this[_0x5276ad(0x49f)]),this['_injectAtEnd']&&(this['compilationString']=this[_0x5276ad(0x855)]+'\x0d\x0a'+this[_0x5276ad(0x2ce)]),this[_0x5276ad(0x855)]=this['compilationString']+_0x5276ad(0x41c),this['sharedData']['varyingDeclaration']&&(this['compilationString']='\x0d\x0a'+(_0x29fd0b?_0x5276ad(0x67c):'')+this[_0x5276ad(0x324)][_0x5276ad(0x873)]+'\x0d\x0a'+this[_0x5276ad(0x855)]),this[_0x5276ad(0x735)]&&(this[_0x5276ad(0x855)]='\x0d\x0a'+(_0x29fd0b?_0x5276ad(0x56d):'')+this[_0x5276ad(0x735)]+'\x0d\x0a'+this[_0x5276ad(0x855)]),this[_0x5276ad(0xa0a)]&&(this[_0x5276ad(0x855)]='\x0d\x0a'+(_0x29fd0b?_0x5276ad(0x9e6):'')+this[_0x5276ad(0xa0a)]+'\x0d\x0a'+this[_0x5276ad(0x855)]),this[_0x5276ad(0x884)]&&!_0x2a6180&&(this[_0x5276ad(0x855)]='\x0d\x0a'+(_0x29fd0b?_0x5276ad(0x2ad):'')+this[_0x5276ad(0x884)]+'\x0d\x0a'+this[_0x5276ad(0x855)]),this[_0x5276ad(0x855)]=_0x5276ad(0x40e)+this['compilationString'],this[_0x5276ad(0x855)]=_0x5276ad(0x480)+this[_0x5276ad(0x855)];for(const _0x5cdcd0 in this[_0x5276ad(0x612)]){var _0x872271=this['extensions'][_0x5cdcd0];this[_0x5276ad(0x855)]='\x0d\x0a'+_0x872271+'\x0d\x0a'+this[_0x5276ad(0x855)];}this[_0x5276ad(0x3cc)]=this['compilationString'];}get[_0x4213c4(0x686)](){var _0x2aa24c=_0x4213c4;return _0x2aa24c(0x842)+this['_repeatableContentAnchorIndex']++ +_0x2aa24c(0x4dc);}['_getFreeVariableName'](_0x2044e2){var _0x14e32e=_0x4213c4;return _0x2044e2=_0x2044e2[_0x14e32e(0xc73)](/[^a-zA-Z_]+/g,''),void 0x0===this[_0x14e32e(0x324)][_0x14e32e(0xc51)][_0x2044e2]?(this[_0x14e32e(0x324)][_0x14e32e(0xc51)][_0x2044e2]=0x0,_0x14e32e(0x1b6)===_0x2044e2||'texture'===_0x2044e2?_0x2044e2+this[_0x14e32e(0x324)]['variableNames'][_0x2044e2]:_0x2044e2):(this[_0x14e32e(0x324)][_0x14e32e(0xc51)][_0x2044e2]++,_0x2044e2+this['sharedData']['variableNames'][_0x2044e2]);}[_0x4213c4(0xcc9)](_0x529898){var _0x1ad478=_0x4213c4;return void 0x0===this[_0x1ad478(0x324)][_0x1ad478(0x22e)][_0x529898]?this[_0x1ad478(0x324)][_0x1ad478(0x22e)][_0x529898]=0x0:this[_0x1ad478(0x324)]['defineNames'][_0x529898]++,_0x529898+this[_0x1ad478(0x324)]['defineNames'][_0x529898];}[_0x4213c4(0xaed)](_0x2d9f8b){var _0x49d169=_0x4213c4;this['sharedData'][_0x49d169(0xc51)][_0x2d9f8b]=0x0;}[_0x4213c4(0x438)](_0x5f381d){var _0x148855=_0x4213c4;this['samplers'][_0x148855(0x168)](_0x5f381d)<0x0&&(this[_0x148855(0x735)]+=_0x148855(0x10b)+_0x5f381d+';\x0d\x0a',this[_0x148855(0x7f2)][_0x148855(0x731)](_0x5f381d));}['_emit2DArraySampler'](_0x121b28){var _0x2db25b=_0x4213c4;this['samplers'][_0x2db25b(0x168)](_0x121b28)<0x0&&(this['_samplerDeclaration']+=_0x2db25b(0x31e)+_0x121b28+_0x2db25b(0x5e3),this['samplers']['push'](_0x121b28));}[_0x4213c4(0x41b)](_0x3899c0){var _0xed2c5d=_0x4213c4;switch(_0x3899c0){case _0x1b937e['E'][_0xed2c5d(0x661)]:return _0xed2c5d(0x2b1);case _0x1b937e['E'][_0xed2c5d(0x905)]:return _0xed2c5d(0x58b);case _0x1b937e['E']['Vector2']:return'vec2';case _0x1b937e['E'][_0xed2c5d(0x2a3)]:case _0x1b937e['E'][_0xed2c5d(0xbb3)]:return'vec3';case _0x1b937e['E'][_0xed2c5d(0x479)]:case _0x1b937e['E'][_0xed2c5d(0x400)]:return _0xed2c5d(0x6fa);case _0x1b937e['E']['Matrix']:return _0xed2c5d(0x1ad);}return'';}[_0x4213c4(0xbb7)](_0x2cc19f,_0x44ea11,_0x540196=''){var _0x1b2c9e=_0x4213c4;this['extensions'][_0x2cc19f]||(this['extensions'][_0x2cc19f]=_0x44ea11=_0x540196?_0x1b2c9e(0x46c)+_0x540196+'\x0d\x0a'+_0x44ea11+_0x1b2c9e(0x9a2):_0x44ea11);}[_0x4213c4(0xbf6)](_0x2e330a,_0x37f393,_0x22c2a1){var _0x23caf0=_0x4213c4;this[_0x23caf0(0x85d)][_0x2e330a]||(this[_0x23caf0(0x324)][_0x23caf0(0xdc)]&&(_0x37f393=_0x22c2a1+'\x0d\x0a'+_0x37f393),this[_0x23caf0(0x85d)][_0x2e330a]=_0x37f393);}[_0x4213c4(0x5a0)](_0x4703a9,_0x8afd4,_0x474e6e){var _0x9b6422=_0x4213c4;if(_0x474e6e&&_0x474e6e[_0x9b6422(0x880)])return _0x9b6422(0x8d7)+_0x4703a9+'>'+(_0x474e6e['substitutionVars']?'('+_0x474e6e[_0x9b6422(0x5bb)]+')':'')+_0x9b6422(0xb81)+_0x474e6e[_0x9b6422(0x880)]+_0x9b6422(0x6c6);let _0x5d7cd3=_0x47fb24['Q'][_0x9b6422(0x827)][_0x4703a9]+'\x0d\x0a';if(this['sharedData'][_0x9b6422(0xdc)]&&(_0x5d7cd3=_0x8afd4+'\x0d\x0a'+_0x5d7cd3),!_0x474e6e)return _0x5d7cd3;if(_0x474e6e[_0x9b6422(0x30c)])for(let _0x55a98c=0x0;_0x55a98c<_0x474e6e['replaceStrings'][_0x9b6422(0xb85)];_0x55a98c++){var _0x2dbe82=_0x474e6e[_0x9b6422(0x30c)][_0x55a98c];_0x5d7cd3=_0x5d7cd3[_0x9b6422(0xc73)](_0x2dbe82[_0x9b6422(0x608)],_0x2dbe82['replace']);}return _0x5d7cd3;}[_0x4213c4(0x1dd)](_0x1e088e,_0x3cdb76,_0x3c7204,_0x4331ad=''){var _0x2c5bf5=_0x4213c4,_0x5cec13=_0x1e088e+_0x4331ad;if(!this[_0x2c5bf5(0x85d)][_0x5cec13]){if(!_0x3c7204||!(_0x3c7204['removeAttributes']||_0x3c7204[_0x2c5bf5(0x223)]||_0x3c7204[_0x2c5bf5(0xc78)]||_0x3c7204[_0x2c5bf5(0xac8)]||_0x3c7204[_0x2c5bf5(0x30c)]))return _0x3c7204&&_0x3c7204[_0x2c5bf5(0x880)]?this[_0x2c5bf5(0x85d)][_0x5cec13]='#include<'+_0x1e088e+'>'+(_0x3c7204['substitutionVars']?'('+_0x3c7204[_0x2c5bf5(0x5bb)]+')':'')+_0x2c5bf5(0xb81)+_0x3c7204[_0x2c5bf5(0x880)]+_0x2c5bf5(0x6c6):this[_0x2c5bf5(0x85d)][_0x5cec13]=_0x2c5bf5(0x8d7)+_0x1e088e+'>'+(null!=_0x3c7204&&_0x3c7204[_0x2c5bf5(0x5bb)]?'('+(null==_0x3c7204?void 0x0:_0x3c7204[_0x2c5bf5(0x5bb)])+')':'')+'\x0d\x0a',void(this['sharedData'][_0x2c5bf5(0xdc)]&&(this[_0x2c5bf5(0x85d)][_0x5cec13]=_0x3cdb76+'\x0d\x0a'+this[_0x2c5bf5(0x85d)][_0x5cec13]));if(this['functions'][_0x5cec13]=_0x47fb24['Q'][_0x2c5bf5(0x827)][_0x1e088e],this[_0x2c5bf5(0x324)]['emitComments']&&(this[_0x2c5bf5(0x85d)][_0x5cec13]=_0x3cdb76+'\x0d\x0a'+this['functions'][_0x5cec13]),_0x3c7204[_0x2c5bf5(0xac8)]&&(this[_0x2c5bf5(0x85d)][_0x5cec13]=this[_0x2c5bf5(0x85d)][_0x5cec13][_0x2c5bf5(0xc73)](/^\s*?#ifdef.+$/gm,''),this[_0x2c5bf5(0x85d)][_0x5cec13]=this[_0x2c5bf5(0x85d)][_0x5cec13][_0x2c5bf5(0xc73)](/^\s*?#endif.*$/gm,''),this[_0x2c5bf5(0x85d)][_0x5cec13]=this['functions'][_0x5cec13][_0x2c5bf5(0xc73)](/^\s*?#else.*$/gm,''),this[_0x2c5bf5(0x85d)][_0x5cec13]=this[_0x2c5bf5(0x85d)][_0x5cec13][_0x2c5bf5(0xc73)](/^\s*?#elif.*$/gm,'')),_0x3c7204[_0x2c5bf5(0x92c)]&&(this[_0x2c5bf5(0x85d)][_0x5cec13]=this[_0x2c5bf5(0x85d)][_0x5cec13][_0x2c5bf5(0xc73)](/^\s*?attribute.+$/gm,'')),_0x3c7204[_0x2c5bf5(0x223)]&&(this['functions'][_0x5cec13]=this[_0x2c5bf5(0x85d)][_0x5cec13][_0x2c5bf5(0xc73)](/^\s*?uniform.+$/gm,'')),_0x3c7204[_0x2c5bf5(0xc78)]&&(this[_0x2c5bf5(0x85d)][_0x5cec13]=this[_0x2c5bf5(0x85d)][_0x5cec13][_0x2c5bf5(0xc73)](/^\s*?varying.+$/gm,'')),_0x3c7204[_0x2c5bf5(0x30c)])for(let _0x3d9b4b=0x0;_0x3d9b4b<_0x3c7204[_0x2c5bf5(0x30c)][_0x2c5bf5(0xb85)];_0x3d9b4b++){var _0x5e388b=_0x3c7204[_0x2c5bf5(0x30c)][_0x3d9b4b];this[_0x2c5bf5(0x85d)][_0x5cec13]=this[_0x2c5bf5(0x85d)][_0x5cec13][_0x2c5bf5(0xc73)](_0x5e388b['search'],_0x5e388b[_0x2c5bf5(0xc73)]);}}}[_0x4213c4(0x961)](_0x4b4b85){var _0x36c40d=_0x4213c4;return-0x1===this[_0x36c40d(0x324)][_0x36c40d(0x6a3)]['indexOf'](_0x4b4b85)&&(this[_0x36c40d(0x324)][_0x36c40d(0x6a3)]['push'](_0x4b4b85),!0x0);}[_0x4213c4(0xaa3)](_0x4d56ad,_0x5b91c4,_0x11b5be='',_0x43559a=!0x1){var _0x29310b=_0x4213c4;return-0x1===this[_0x29310b(0x324)][_0x29310b(0xbe4)]['indexOf'](_0x4d56ad)&&(this['sharedData'][_0x29310b(0xbe4)][_0x29310b(0x731)](_0x4d56ad),_0x11b5be&&(_0x11b5be[_0x29310b(0x709)](_0x29310b(0x702))?this['sharedData'][_0x29310b(0x873)]+='#if\x20'+_0x11b5be+'\x0d\x0a':this['sharedData'][_0x29310b(0x873)]+=(_0x43559a?_0x29310b(0x601):'#ifdef')+('\x20'+_0x11b5be+'\x0d\x0a')),this[_0x29310b(0x324)][_0x29310b(0x873)]+='varying\x20'+_0x5b91c4+'\x20'+_0x4d56ad+_0x29310b(0x5e3),_0x11b5be&&(this[_0x29310b(0x324)][_0x29310b(0x873)]+=_0x29310b(0x140)),!0x0);}[_0x4213c4(0x241)](_0x21a3d7,_0x5d0f31,_0x38e43b='',_0x533f95=!0x1){var _0x1e9e34=_0x4213c4;-0x1===this[_0x1e9e34(0x968)][_0x1e9e34(0x168)](_0x21a3d7)&&(this[_0x1e9e34(0x968)]['push'](_0x21a3d7),_0x38e43b&&(_0x38e43b['startsWith'](_0x1e9e34(0x702))?this[_0x1e9e34(0xa0a)]+=_0x1e9e34(0x46c)+_0x38e43b+'\x0d\x0a':this['_uniformDeclaration']+=(_0x533f95?_0x1e9e34(0x601):'#ifdef')+('\x20'+_0x38e43b+'\x0d\x0a')),this[_0x1e9e34(0xa0a)]+=_0x1e9e34(0xb05)+_0x5d0f31+'\x20'+_0x21a3d7+_0x1e9e34(0x5e3),_0x38e43b&&(this[_0x1e9e34(0xa0a)]+=_0x1e9e34(0x140)));}[_0x4213c4(0x77c)](_0x194873){var _0x2d1ece=_0x4213c4;return _0x194873[_0x2d1ece(0x4c9)]()===_0x194873[_0x2d1ece(0x743)](0x0)?_0x194873+'.0':_0x194873[_0x2d1ece(0x4c9)]();}}},0x13764:(_0x46c76d,_0x535039,_0x58aed3)=>{_0x58aed3['d'](_0x535039,{'U':()=>_0xd1daf3});class _0xd1daf3{constructor(){var _0x4a126d=a6_0x238e;this[_0x4a126d(0x6a3)]=new Array(),this[_0x4a126d(0xbe4)]=new Array(),this[_0x4a126d(0x873)]='',this['inputBlocks']=new Array(),this[_0x4a126d(0x5d0)]=new Array(),this[_0x4a126d(0x753)]=new Array(),this[_0x4a126d(0x6e5)]=new Array(),this['blocksWithFallbacks']=new Array(),this['blocksWithDefines']=new Array(),this[_0x4a126d(0x625)]=new Array(),this[_0x4a126d(0x5cf)]=new Array(),this[_0x4a126d(0x6b0)]=new Array(),this[_0x4a126d(0x393)]=new Array(),this[_0x4a126d(0xc51)]={},this['defineNames']={},this[_0x4a126d(0x8dd)]={'needWorldViewMatrix':!0x1,'needWorldViewProjectionMatrix':!0x1,'needAlphaBlending':!0x1,'needAlphaTesting':!0x1},this[_0x4a126d(0x9ec)]={'emitVertex':!0x1,'emitFragment':!0x1,'notConnectedNonOptionalInputs':new Array()},this[_0x4a126d(0x5e0)]=!0x1,this[_0x4a126d(0xc51)][_0x4a126d(0x66a)]=0x0,this[_0x4a126d(0xc51)][_0x4a126d(0x650)]=0x0,this[_0x4a126d(0xc51)][_0x4a126d(0x5a9)]=0x0,this[_0x4a126d(0xc51)]['uv']=0x0,this[_0x4a126d(0xc51)][_0x4a126d(0xb0c)]=0x0,this[_0x4a126d(0xc51)][_0x4a126d(0xa5a)]=0x0,this['variableNames'][_0x4a126d(0x206)]=0x0,this[_0x4a126d(0xc51)][_0x4a126d(0xcb5)]=0x0,this[_0x4a126d(0xc51)]['uv6']=0x0,this['variableNames'][_0x4a126d(0xac5)]=0x0,this[_0x4a126d(0xc51)][_0x4a126d(0x5e4)]=0x0,this[_0x4a126d(0xc51)][_0x4a126d(0x7f1)]=0x0,this[_0x4a126d(0xc51)][_0x4a126d(0x729)]=0x0,this['variableNames'][_0x4a126d(0xc34)]=0x0,this[_0x4a126d(0xc51)][_0x4a126d(0x2f2)]=0x0,this['variableNames'][_0x4a126d(0x5c3)]=0x0,this[_0x4a126d(0xc51)][_0x4a126d(0xa2f)]=0x0,this[_0x4a126d(0xc51)][_0x4a126d(0xbd5)]=0x0,this[_0x4a126d(0xc51)][_0x4a126d(0x389)]=0x0,this[_0x4a126d(0xc51)][_0x4a126d(0x2ee)]=0x0,this[_0x4a126d(0x22e)][_0x4a126d(0xc83)]=0x0,this[_0x4a126d(0x22e)][_0x4a126d(0x515)]=0x0,this[_0x4a126d(0x22e)][_0x4a126d(0xc62)]=0x0,this[_0x4a126d(0x22e)][_0x4a126d(0x4ff)]=0x0,this[_0x4a126d(0x22e)]['MAINUV4']=0x0,this[_0x4a126d(0x22e)][_0x4a126d(0x38c)]=0x0,this[_0x4a126d(0x22e)][_0x4a126d(0xa83)]=0x0,this[_0x4a126d(0x22e)]['MAINUV7']=0x0;}['emitErrors'](){var _0x3f2aa4=a6_0x238e;let _0x138478='';this['checks'][_0x3f2aa4(0x369)]||this[_0x3f2aa4(0x5e0)]||(_0x138478+=_0x3f2aa4(0xa94)),this['checks'][_0x3f2aa4(0x9be)]||(_0x138478+=_0x3f2aa4(0x165));for(const _0x2cb73e of this[_0x3f2aa4(0x9ec)][_0x3f2aa4(0xa5e)])_0x138478+='input\x20'+_0x2cb73e['name']+_0x3f2aa4(0xaff)+_0x2cb73e[_0x3f2aa4(0x35e)]['name']+'['+_0x2cb73e['ownerBlock'][_0x3f2aa4(0x8af)]()+_0x3f2aa4(0x99e);if(_0x138478)throw _0x3f2aa4(0x9d5)+_0x138478;}}},0x15556:(_0x443624,_0x111697,_0x5dac1a)=>{var _0x4f7292=a6_0x36115b;_0x5dac1a['d'](_0x111697,{'x':()=>_0x3b125c});var _0x111697=_0x5dac1a(0x8af2),_0x2a138d=_0x5dac1a(0x77a5);class _0x3b125c extends _0x111697['_']{set[_0x4f7292(0x819)](_0x693c91){var _0x5a96b5=_0x4f7292;this[_0x5a96b5(0x340)]=_0x693c91;}get[_0x4f7292(0x819)](){var _0x47bda6=_0x4f7292;return this[_0x47bda6(0x340)];}constructor(_0x330b0c,_0xc79048=0x200){var _0xd87d61=_0x4f7292;super(_0xd87d61(0x4bc),_0xc79048,_0x330b0c,!0x1,!0x0,_0x2a138d['g'][_0xd87d61(0x312)],!0x1,void 0x0,!0x1,!0x1,!0x0,void 0x0,!0x0),this['_renderTarget']=this[_0xd87d61(0xa8b)]()[_0xd87d61(0x5e8)]()[_0xd87d61(0x259)](this[_0xd87d61(0xa50)](),this[_0xd87d61(0xd3)]()),this[_0xd87d61(0x913)]=this[_0xd87d61(0x66b)][_0xd87d61(0xa91)],this[_0xd87d61(0x913)][_0xd87d61(0xad5)]=!0x0,this['_texture'][_0xd87d61(0x3be)]=_0x2a138d['g'][_0xd87d61(0x692)],this['samples']=this[_0xd87d61(0xc5c)]()[_0xd87d61(0x7ac)]()[_0xd87d61(0x1b4)]||this['samples'],this[_0xd87d61(0x913)][_0xd87d61(0x819)]=this[_0xd87d61(0x340)];}[_0x4f7292(0x131)](){var _0x124a43=_0x4f7292;this[_0x124a43(0x66b)]&&this[_0x124a43(0xa8b)]()[_0x124a43(0x5e8)]()['bindMultiviewFramebuffer'](this[_0x124a43(0x66b)]);}['getViewCount'](){return 0x2;}}},0xb120:(_0x1d4810,_0x24b125,_0x3128b5)=>{_0x3128b5['d'](_0x24b125,{'p':()=>_0x569458});class _0x569458{constructor(_0x3a00de,_0x2e0370,_0x1a5564){var _0x46c527=a6_0x238e;this['id']=_0x3a00de,this['scale']=_0x2e0370,this[_0x46c527(0xb13)]=_0x1a5564;}}},0x174f7:(_0x3cb6fc,_0x46a0dc,_0x2a2da7)=>{var _0x2112c7=a6_0x36115b,_0x38bc7a=_0x2a2da7(0xe303),_0x2a2da7=_0x2a2da7(0x11929);_0x2a2da7['V']['prototype'][_0x2112c7(0xde)]=function(){var _0x320f55=_0x2112c7;this[_0x320f55(0x913)]&&(this['_texture'][_0x320f55(0xbcf)]=null,this['_texture'][_0x320f55(0x3e6)]=null,this[_0x320f55(0x913)][_0x320f55(0x945)]=!0x1);},Object[_0x2112c7(0x939)](_0x2a2da7['V'][_0x2112c7(0x40f)],'sphericalPolynomial',{'get':function(){var _0x850f72=_0x2112c7;if(this[_0x850f72(0x913)]){if(this[_0x850f72(0x913)][_0x850f72(0xbcf)]||this[_0x850f72(0x913)][_0x850f72(0x945)])return this[_0x850f72(0x913)][_0x850f72(0xbcf)];if(this[_0x850f72(0x913)][_0x850f72(0x682)])return this['_texture'][_0x850f72(0x3e6)]||(this[_0x850f72(0x913)][_0x850f72(0x3e6)]=_0x38bc7a['$'][_0x850f72(0x75a)](this),null===this['_texture'][_0x850f72(0x3e6)]?this[_0x850f72(0x913)][_0x850f72(0x945)]=!0x0:this[_0x850f72(0x913)][_0x850f72(0x3e6)]['then'](_0x43f2c8=>{var _0x3a7c7a=_0x850f72;this[_0x3a7c7a(0x913)]['_sphericalPolynomial']=_0x43f2c8,this[_0x3a7c7a(0x913)][_0x3a7c7a(0x945)]=!0x0;})),null;}return null;},'set':function(_0x334a88){var _0x29883f=_0x2112c7;this['_texture']&&(this[_0x29883f(0x913)][_0x29883f(0xbcf)]=_0x334a88);},'enumerable':!0x0,'configurable':!0x0});},0x16ea5:(_0x41773b,_0x2672ab,_0x40212e)=>{var _0x3c481d=a6_0x36115b;_0x40212e['d'](_0x2672ab,{'N':()=>_0x87773});var _0x2672ab=_0x40212e(0x163e6),_0x247879=_0x40212e(0xc3ae);class _0x87773 extends _0x2672ab['K']{constructor(_0x36c82a,_0x4fc5fc,_0x87c40d,_0x52b50c,_0x5f3d61,_0xa7d99){var _0x905768=a6_0x238e;super(_0x36c82a,_0x87c40d,_0x52b50c,_0x5f3d61,_0xa7d99),this[_0x905768(0x4e9)]=[],this[_0x905768(0xbfc)]=!0x1,this['enabled']=!0x1,this[_0x905768(0x510)]=null,this['renderTargetTexture']=_0x4fc5fc;}[_0x3c481d(0xb6b)](){var _0x57f50d=_0x3c481d;this['imageProcessingPostProcess']=new _0x247879['z']('prePassComposition',0x1,null,void 0x0,this[_0x57f50d(0x4ae)]),this[_0x57f50d(0xa96)][_0x57f50d(0xa75)]();}[_0x3c481d(0x46e)](){var _0x458381=_0x3c481d,_0x4ab1fe=this['_engine'][_0x458381(0xa50)](!0x0),_0x136f7a=this[_0x458381(0x4ae)][_0x458381(0xd3)](!0x0),_0x211b18=this[_0x458381(0xa50)](),_0x277aa3=this['getRenderHeight']();_0x211b18===_0x4ab1fe&&_0x277aa3===_0x136f7a||(this[_0x458381(0xa07)]({'width':_0x4ab1fe,'height':_0x136f7a}),this[_0x458381(0xbfc)]=!0x0);}[_0x3c481d(0xcba)](_0x1ae6ce,_0x2d70ec,_0x40a4c3){var _0x5c46ce=_0x3c481d;super[_0x5c46ce(0xcba)](_0x1ae6ce,_0x2d70ec,_0x40a4c3),this[_0x5c46ce(0xbfc)]=!0x0;}[_0x3c481d(0x524)](){var _0x4947e4=_0x3c481d;this[_0x4947e4(0x4e9)][_0x4947e4(0xb85)]=0x0;}[_0x3c481d(0xae6)](){var _0x21fdfa=_0x3c481d;const _0x4aa806=this[_0x21fdfa(0x5ff)];var _0x336527;super['dispose'](),_0x4aa806&&_0x4aa806[_0x21fdfa(0xb8a)]&&-0x1!==(_0x336527=_0x4aa806['prePassRenderer']['renderTargets'][_0x21fdfa(0x168)](this))&&_0x4aa806[_0x21fdfa(0xb8a)][_0x21fdfa(0x48e)][_0x21fdfa(0x557)](_0x336527,0x1),this[_0x21fdfa(0xa96)]&&this['imageProcessingPostProcess']['dispose'](),this[_0x21fdfa(0x510)]&&(this[_0x21fdfa(0x510)]['_prePassRenderTarget']=null),this[_0x21fdfa(0x194)]&&(this[_0x21fdfa(0x194)][_0x21fdfa(0x89c)]=!0x0,this[_0x21fdfa(0x194)][_0x21fdfa(0xb04)]());}}},0x2088:(_0x426ac1,_0xc06633,_0x4e940f)=>{function _0x5cf970(_0x4d76e8,_0x2effea,_0x50d923){var _0x569cef=a6_0x238e;_0x50d923&&_0x4d76e8[_0x569cef(0x1d7)](_0x2effea,_0x50d923[_0x569cef(0x650)]['x'],_0x50d923[_0x569cef(0x650)]['y'],_0x50d923[_0x569cef(0x650)]['z'],_0x50d923['d']);}_0x4e940f['d'](_0xc06633,{'AN':()=>function(_0x26d024,_0x3bc5c5,_0x5e4b7a){var _0x147a41=a6_0x238e;let _0x57234f=!0x1;var _0x5615c8=!!(null!=(_0x5615c8=_0x26d024[_0x147a41(0x1e2)])?_0x5615c8:_0x3bc5c5['clipPlane']),_0x5b1f78=!!(null!=(_0x5b1f78=_0x26d024[_0x147a41(0xc6a)])?_0x5b1f78:_0x3bc5c5[_0x147a41(0xc6a)]),_0x53bb39=!!(null!=(_0x53bb39=_0x26d024[_0x147a41(0x32a)])?_0x53bb39:_0x3bc5c5['clipPlane3']),_0x2122ba=!!(null!=(_0x2122ba=_0x26d024[_0x147a41(0x3b5)])?_0x2122ba:_0x3bc5c5['clipPlane4']),_0x4d7b72=!!(null!=(_0x4d7b72=_0x26d024['clipPlane5'])?_0x4d7b72:_0x3bc5c5[_0x147a41(0xbab)]),_0x26d024=!!(null!=(_0x26d024=_0x26d024['clipPlane6'])?_0x26d024:_0x3bc5c5[_0x147a41(0x5b3)]);return _0x5e4b7a[_0x147a41(0x631)]!==_0x5615c8&&(_0x5e4b7a[_0x147a41(0x631)]=_0x5615c8,_0x57234f=!0x0),_0x5e4b7a[_0x147a41(0x288)]!==_0x5b1f78&&(_0x5e4b7a[_0x147a41(0x288)]=_0x5b1f78,_0x57234f=!0x0),_0x5e4b7a[_0x147a41(0x73a)]!==_0x53bb39&&(_0x5e4b7a['CLIPPLANE3']=_0x53bb39,_0x57234f=!0x0),_0x5e4b7a[_0x147a41(0x436)]!==_0x2122ba&&(_0x5e4b7a[_0x147a41(0x436)]=_0x2122ba,_0x57234f=!0x0),_0x5e4b7a[_0x147a41(0x1a8)]!==_0x4d7b72&&(_0x5e4b7a[_0x147a41(0x1a8)]=_0x4d7b72,_0x57234f=!0x0),_0x5e4b7a['CLIPPLANE6']!==_0x26d024&&(_0x5e4b7a[_0x147a41(0x5e1)]=_0x26d024,_0x57234f=!0x0),_0x57234f;},'an':()=>function(_0x8fcc5f,_0x648c8f,_0x4a0e22){var _0x9b1e12=a6_0x238e,_0x2a9dd3;_0x5cf970(_0x8fcc5f,_0x9b1e12(0x156),null!=(_0x2a9dd3=_0x648c8f[_0x9b1e12(0x1e2)])?_0x2a9dd3:_0x4a0e22[_0x9b1e12(0x1e2)]),_0x5cf970(_0x8fcc5f,_0x9b1e12(0x39f),null!=(_0x2a9dd3=_0x648c8f[_0x9b1e12(0xc6a)])?_0x2a9dd3:_0x4a0e22[_0x9b1e12(0xc6a)]),_0x5cf970(_0x8fcc5f,'vClipPlane3',null!=(_0x2a9dd3=_0x648c8f[_0x9b1e12(0x32a)])?_0x2a9dd3:_0x4a0e22[_0x9b1e12(0x32a)]),_0x5cf970(_0x8fcc5f,_0x9b1e12(0x5ab),null!=(_0x2a9dd3=_0x648c8f['clipPlane4'])?_0x2a9dd3:_0x4a0e22['clipPlane4']),_0x5cf970(_0x8fcc5f,_0x9b1e12(0x89e),null!=(_0x2a9dd3=_0x648c8f[_0x9b1e12(0xbab)])?_0x2a9dd3:_0x4a0e22['clipPlane5']),_0x5cf970(_0x8fcc5f,_0x9b1e12(0x5f9),null!=(_0x2a9dd3=_0x648c8f[_0x9b1e12(0x5b3)])?_0x2a9dd3:_0x4a0e22['clipPlane6']);},'lK':()=>function(_0x5e3669,_0x597ba0,_0x3057a6){var _0x327cb6=a6_0x238e,_0x15a750=!!(null!=(_0x15a750=_0x5e3669[_0x327cb6(0x1e2)])?_0x15a750:_0x597ba0['clipPlane']),_0x1b53f1=!!(null!=(_0x1b53f1=_0x5e3669[_0x327cb6(0xc6a)])?_0x1b53f1:_0x597ba0[_0x327cb6(0xc6a)]),_0x89fa07=!!(null!=(_0x89fa07=_0x5e3669[_0x327cb6(0x32a)])?_0x89fa07:_0x597ba0[_0x327cb6(0x32a)]),_0x192df2=!!(null!=(_0x192df2=_0x5e3669[_0x327cb6(0x3b5)])?_0x192df2:_0x597ba0[_0x327cb6(0x3b5)]),_0xcb4f7e=!!(null!=(_0xcb4f7e=_0x5e3669[_0x327cb6(0xbab)])?_0xcb4f7e:_0x597ba0[_0x327cb6(0xbab)]),_0x5e3669=!!(null!=(_0x5e3669=_0x5e3669[_0x327cb6(0x5b3)])?_0x5e3669:_0x597ba0[_0x327cb6(0x5b3)]);_0x15a750&&_0x3057a6['push'](_0x327cb6(0x40d)),_0x1b53f1&&_0x3057a6[_0x327cb6(0x731)]('#define\x20CLIPPLANE2'),_0x89fa07&&_0x3057a6[_0x327cb6(0x731)](_0x327cb6(0x7f4)),_0x192df2&&_0x3057a6[_0x327cb6(0x731)](_0x327cb6(0x6d5)),_0xcb4f7e&&_0x3057a6[_0x327cb6(0x731)](_0x327cb6(0x6ac)),_0x5e3669&&_0x3057a6['push'](_0x327cb6(0x16d));},'qx':()=>function(_0x1036ce){var _0x23d013=a6_0x238e;-0x1===_0x1036ce[_0x23d013(0x168)](_0x23d013(0x156))&&_0x1036ce['push'](_0x23d013(0x156)),-0x1===_0x1036ce[_0x23d013(0x168)](_0x23d013(0x39f))&&_0x1036ce['push'](_0x23d013(0x39f)),-0x1===_0x1036ce[_0x23d013(0x168)]('vClipPlane3')&&_0x1036ce[_0x23d013(0x731)](_0x23d013(0x68d)),-0x1===_0x1036ce[_0x23d013(0x168)](_0x23d013(0x5ab))&&_0x1036ce[_0x23d013(0x731)]('vClipPlane4'),-0x1===_0x1036ce[_0x23d013(0x168)](_0x23d013(0x89e))&&_0x1036ce[_0x23d013(0x731)]('vClipPlane5'),-0x1===_0x1036ce[_0x23d013(0x168)](_0x23d013(0x5f9))&&_0x1036ce[_0x23d013(0x731)]('vClipPlane6');}});},0xcef:(_0x3ff9ca,_0x51e396,_0x321590)=>{var _0xef46ce=a6_0x36115b;_0x321590['d'](_0x51e396,{'q':()=>_0x159b3d});class _0x159b3d{constructor(_0x2b9ab8,_0x2ab5f6=!0x0){var _0x347fa3=a6_0x238e;this['effect']=null,this[_0x347fa3(0xae8)]=null,this[_0x347fa3(0x937)]=_0x2b9ab8['createDrawContext'](),_0x2ab5f6&&(this[_0x347fa3(0xb11)]=_0x2b9ab8['createMaterialContext']());}static['IsWrapper'](_0x2deaa5){var _0x2e9468=a6_0x238e;return void 0x0===_0x2deaa5[_0x2e9468(0x843)];}static[_0xef46ce(0x4d6)](_0x1a15dc){return void 0x0===_0x1a15dc['getPipelineContext']?_0x1a15dc['effect']:_0x1a15dc;}[_0xef46ce(0x41a)](_0x5f314f,_0x9af504,_0x5d87d5=!0x0){var _0x41e540=_0xef46ce;this[_0x41e540(0x704)]=_0x5f314f,void 0x0!==_0x9af504&&(this[_0x41e540(0xae8)]=_0x9af504),_0x5d87d5&&null!=(_0x5f314f=this[_0x41e540(0x937)])&&_0x5f314f[_0x41e540(0x40b)]();}[_0xef46ce(0xae6)](){var _0x2fd784=_0xef46ce,_0x242731;null!=(_0x242731=this[_0x2fd784(0x937)])&&_0x242731[_0x2fd784(0xae6)]();}}},0x6421:(_0x3b170a,_0x3a9145,_0x5ce50b)=>{var _0x3b5bba=a6_0x36115b;_0x5ce50b['d'](_0x3a9145,{'L':()=>_0x56a5bb});class _0x56a5bb{constructor(){var _0x5c7f05=a6_0x238e;this['_defines']={},this[_0x5c7f05(0xa57)]=0x20,this[_0x5c7f05(0x19c)]=-0x1,this[_0x5c7f05(0x893)]=null;}['unBindMesh'](){var _0x31e112=a6_0x238e;this[_0x31e112(0x893)]=null;}[_0x3b5bba(0xacc)](_0x3f94b6,_0x11a791){var _0x364528=_0x3b5bba;this[_0x364528(0x1e0)][_0x3f94b6]||(_0x3f94b6<this['_currentRank']&&(this[_0x364528(0xa57)]=_0x3f94b6),_0x3f94b6>this[_0x364528(0x19c)]&&(this['_maxRank']=_0x3f94b6),this['_defines'][_0x3f94b6]=new Array()),this[_0x364528(0x1e0)][_0x3f94b6]['push'](_0x11a791);}['addCPUSkinningFallback'](_0x4ff1bd,_0x5a719b){var _0x56ca8e=_0x3b5bba;this[_0x56ca8e(0x893)]=_0x5a719b,_0x4ff1bd<this['_currentRank']&&(this[_0x56ca8e(0xa57)]=_0x4ff1bd),_0x4ff1bd>this[_0x56ca8e(0x19c)]&&(this['_maxRank']=_0x4ff1bd);}get[_0x3b5bba(0x964)](){var _0x1a0c4f=_0x3b5bba;return this[_0x1a0c4f(0xa57)]<=this[_0x1a0c4f(0x19c)];}['reduce'](_0x3b84c4,_0x488db8){var _0x3af1ac=_0x3b5bba;if(this[_0x3af1ac(0x893)]&&this[_0x3af1ac(0x893)]['computeBonesUsingShaders']&&0x0<this['_mesh']['numBoneInfluencers']){this[_0x3af1ac(0x893)]['computeBonesUsingShaders']=!0x1,_0x3b84c4=_0x3b84c4[_0x3af1ac(0xc73)](_0x3af1ac(0x4aa)+this[_0x3af1ac(0x893)]['numBoneInfluencers'],_0x3af1ac(0x721)),_0x488db8[_0x3af1ac(0xbce)]=!0x0;var _0x1e31ce=this[_0x3af1ac(0x893)]['getScene']();for(let _0x458262=0x0;_0x458262<_0x1e31ce[_0x3af1ac(0x3ec)][_0x3af1ac(0xb85)];_0x458262++){const _0x3271d5=_0x1e31ce[_0x3af1ac(0x3ec)][_0x458262];if(_0x3271d5['material']){if(_0x3271d5[_0x3af1ac(0x7c7)]&&0x0!==_0x3271d5[_0x3af1ac(0x359)]){if(_0x3271d5[_0x3af1ac(0x121)][_0x3af1ac(0x582)]()===_0x488db8)_0x3271d5[_0x3af1ac(0x7c7)]=!0x1;else{if(_0x3271d5[_0x3af1ac(0x53a)]){for(const _0x2919bd of _0x3271d5[_0x3af1ac(0x53a)])if(_0x2919bd[_0x3af1ac(0x704)]===_0x488db8){_0x3271d5['computeBonesUsingShaders']=!0x1;break;}}}}}else!this['_mesh']['material']&&_0x3271d5[_0x3af1ac(0x7c7)]&&0x0<_0x3271d5['numBoneInfluencers']&&(_0x3271d5['computeBonesUsingShaders']=!0x1);}}else{var _0x24c258=this[_0x3af1ac(0x1e0)][this[_0x3af1ac(0xa57)]];if(_0x24c258){for(let _0x3cd188=0x0;_0x3cd188<_0x24c258['length'];_0x3cd188++)_0x3b84c4=_0x3b84c4[_0x3af1ac(0xc73)]('#define\x20'+_0x24c258[_0x3cd188],'');}this[_0x3af1ac(0xa57)]++;}return _0x3b84c4;}}},0x3c2a:(_0x3032ad,_0xf889d2,_0x5aaa9e)=>{var _0x38a7b9=a6_0x36115b,_0x46f130=_0x5aaa9e(0x12fad),_0x2fd672=_0x5aaa9e(0x7c4f),_0x2fd672=(Object[_0x38a7b9(0x939)](_0x2fd672['K']['prototype'],'decalMap',{'get':function(){var _0xad95f=_0x38a7b9;if(!this['_decalMap']){if(this[_0xad95f(0x60e)])return null;this[_0xad95f(0x5a8)]=new _0x46f130['E'](this);}return this['_decalMap'];},'enumerable':!0x0,'configurable':!0x0}),_0x5aaa9e(0x1ee0));Object[_0x38a7b9(0x939)](_0x2fd672['m'][_0x38a7b9(0x40f)],'decalMap',{'get':function(){var _0x2ea741=_0x38a7b9;if(!this['_decalMap']){if(this[_0x2ea741(0x60e)])return null;this['_decalMap']=new _0x46f130['E'](this);}return this[_0x2ea741(0x5a8)];},'enumerable':!0x0,'configurable':!0x0}),_0x5aaa9e(0x19ba);},0x11e40:(_0x3d5ada,_0x22f3a5,_0x2b028a)=>{var _0x581547=a6_0x36115b;_0x2b028a['d'](_0x22f3a5,{'H':()=>_0x12da89});class _0x12da89{constructor(_0x1d8c99){var _0x3ab2cc=a6_0x238e;if(this[_0x3ab2cc(0x7ef)]=[],this[_0x3ab2cc(0x68a)]=!0x0,this[_0x3ab2cc(0x189)]=!0x0,this[_0x3ab2cc(0xa6e)]=!0x1,this['_areAttributesDirty']=!0x0,this[_0x3ab2cc(0x772)]=!0x0,this['_areFresnelDirty']=!0x0,this[_0x3ab2cc(0x941)]=!0x0,this[_0x3ab2cc(0xb98)]=!0x0,this[_0x3ab2cc(0x320)]=!0x0,this[_0x3ab2cc(0x754)]=!0x1,this[_0x3ab2cc(0x6e6)]=!0x1,this[_0x3ab2cc(0x8d1)]=!0x1,this[_0x3ab2cc(0xb60)]=!0x1,this[_0x3ab2cc(0x31d)]=_0x1d8c99){for(const _0x1f3fd1 in _0x1d8c99)Object['prototype'][_0x3ab2cc(0x3e3)]['call'](_0x1d8c99,_0x1f3fd1)&&this['_setDefaultValue'](_0x1f3fd1);}}get[_0x581547(0x868)](){var _0x9fe8d7=_0x581547;return this[_0x9fe8d7(0x68a)];}[_0x581547(0xa1a)](){var _0x1583ec=_0x581547;this[_0x1583ec(0x68a)]=!0x1,this[_0x1583ec(0x9dd)]=!0x1,this[_0x1583ec(0x772)]=!0x1,this[_0x1583ec(0x76b)]=!0x1,this[_0x1583ec(0x189)]=!0x1,this[_0x1583ec(0xa6e)]=!0x1,this[_0x1583ec(0x941)]=!0x1,this[_0x1583ec(0xb98)]=!0x1,this[_0x1583ec(0x320)]=!0x1;}[_0x581547(0xcdc)](){var _0x4a1008=_0x581547;this[_0x4a1008(0x68a)]=!0x0;}['markAllAsDirty'](){var _0x27d572=_0x581547;this[_0x27d572(0x772)]=!0x0,this['_areAttributesDirty']=!0x0,this[_0x27d572(0x189)]=!0x0,this[_0x27d572(0x76b)]=!0x0,this[_0x27d572(0x941)]=!0x0,this[_0x27d572(0x320)]=!0x0,this[_0x27d572(0x68a)]=!0x0;}[_0x581547(0x9f1)](){var _0x321a8b=_0x581547;this[_0x321a8b(0x320)]=!0x0,this[_0x321a8b(0x68a)]=!0x0;}[_0x581547(0xc48)](_0x3a1603=!0x1){var _0x8ea126=_0x581547;this[_0x8ea126(0x189)]=!0x0,this[_0x8ea126(0xa6e)]=this[_0x8ea126(0xa6e)]||_0x3a1603,this[_0x8ea126(0x68a)]=!0x0;}['markAsAttributesDirty'](){var _0x45f2e7=_0x581547;this[_0x45f2e7(0x9dd)]=!0x0,this[_0x45f2e7(0x68a)]=!0x0;}[_0x581547(0x9c4)](){var _0x10b04a=_0x581547;this[_0x10b04a(0x772)]=!0x0,this[_0x10b04a(0x68a)]=!0x0;}[_0x581547(0x53f)](){var _0x4aaadf=_0x581547;this[_0x4aaadf(0x76b)]=!0x0,this[_0x4aaadf(0x68a)]=!0x0;}['markAsMiscDirty'](){var _0x32791d=_0x581547;this[_0x32791d(0x941)]=!0x0,this['_isDirty']=!0x0;}['markAsPrePassDirty'](){var _0x4328a6=_0x581547;this['_arePrePassDirty']=!0x0,this[_0x4328a6(0x68a)]=!0x0;}[_0x581547(0x47b)](){var _0x426ed9=_0x581547;this[_0x426ed9(0x7ef)][_0x426ed9(0xb85)]=0x0;for(const _0x52d72b of Object['keys'](this))'_'!==_0x52d72b[0x0]&&this['_keys'][_0x426ed9(0x731)](_0x52d72b);if(this[_0x426ed9(0x31d)]){for(const _0x428562 in this[_0x426ed9(0x31d)])-0x1===this['_keys'][_0x426ed9(0x168)](_0x428562)&&this[_0x426ed9(0x7ef)][_0x426ed9(0x731)](_0x428562);}}[_0x581547(0x8c4)](_0x48a317){var _0x23eed5=_0x581547;if(this[_0x23eed5(0x7ef)]['length']!==_0x48a317[_0x23eed5(0x7ef)][_0x23eed5(0xb85)])return!0x1;for(let _0x96aea7=0x0;_0x96aea7<this[_0x23eed5(0x7ef)][_0x23eed5(0xb85)];_0x96aea7++){var _0x130c1f=this[_0x23eed5(0x7ef)][_0x96aea7];if(this[_0x130c1f]!==_0x48a317[_0x130c1f])return!0x1;}return!0x0;}[_0x581547(0x947)](_0x4cd50f){var _0x467176=_0x581547;this[_0x467176(0x7ef)][_0x467176(0xb85)]!==_0x4cd50f['_keys'][_0x467176(0xb85)]&&(_0x4cd50f[_0x467176(0x7ef)]=this[_0x467176(0x7ef)][_0x467176(0x7ff)](0x0));for(let _0x41079b=0x0;_0x41079b<this[_0x467176(0x7ef)][_0x467176(0xb85)];_0x41079b++){var _0x45e4f6=this[_0x467176(0x7ef)][_0x41079b];_0x4cd50f[_0x45e4f6]=this[_0x45e4f6];}}['reset'](){var _0x32728e=_0x581547;this[_0x32728e(0x7ef)][_0x32728e(0x9cd)](_0x3d34f9=>this[_0x32728e(0x96f)](_0x3d34f9));}[_0x581547(0x96f)](_0x3f134f){var _0x2c14ec=_0x581547,_0x5ae263,_0x99f775=null!=(_0x99f775=null==(_0x99f775=null==(_0x99f775=this[_0x2c14ec(0x31d)])?void 0x0:_0x99f775[_0x3f134f])?void 0x0:_0x99f775[_0x2c14ec(0x6a4)])?_0x99f775:typeof this[_0x3f134f],_0x58ba47=null==(_0x5ae263=null==(_0x5ae263=this[_0x2c14ec(0x31d)])?void 0x0:_0x5ae263[_0x3f134f])?void 0x0:_0x5ae263[_0x2c14ec(0x2d3)];switch(_0x99f775){case _0x2c14ec(0x83b):this[_0x3f134f]=null!=_0x58ba47?_0x58ba47:0x0;break;case _0x2c14ec(0x1d3):this[_0x3f134f]=null!=_0x58ba47?_0x58ba47:'';break;default:this[_0x3f134f]=null!=_0x58ba47&&_0x58ba47;}}[_0x581547(0x4c9)](){var _0x5ccc99=_0x581547;let _0x3509d2='';for(let _0x57a5dc=0x0;_0x57a5dc<this[_0x5ccc99(0x7ef)]['length'];_0x57a5dc++){var _0x28dd11=this[_0x5ccc99(0x7ef)][_0x57a5dc],_0x3cf0c0=this[_0x28dd11];switch(typeof _0x3cf0c0){case _0x5ccc99(0x83b):case _0x5ccc99(0x1d3):_0x3509d2+=_0x5ccc99(0x568)+_0x28dd11+'\x20'+_0x3cf0c0+'\x0a';break;default:_0x3cf0c0&&(_0x3509d2+=_0x5ccc99(0x568)+_0x28dd11+'\x0a');}}return _0x3509d2;}}},0x627e:(_0x3a5e94,_0xd77587,_0x574548)=>{var _0x57836d=a6_0x36115b;_0x574548['d'](_0xd77587,{'S':()=>_0x536f69});function _0x7389b2(_0xad9ff9,_0xd86607,_0x50e5cf,_0xf540b9){var _0x4d4cb6=a6_0x238e,_0x43ea91,_0x44baf4=arguments[_0x4d4cb6(0xb85)],_0x2610f2=_0x44baf4<0x3?_0xd86607:null===_0xf540b9?_0xf540b9=Object[_0x4d4cb6(0x56b)](_0xd86607,_0x50e5cf):_0xf540b9;if('object'==typeof Reflect&&_0x4d4cb6(0x153)==typeof Reflect[_0x4d4cb6(0xbd1)])_0x2610f2=Reflect[_0x4d4cb6(0xbd1)](_0xad9ff9,_0xd86607,_0x50e5cf,_0xf540b9);else{for(var _0x17097f=_0xad9ff9[_0x4d4cb6(0xb85)]-0x1;0x0<=_0x17097f;_0x17097f--)(_0x43ea91=_0xad9ff9[_0x17097f])&&(_0x2610f2=(_0x44baf4<0x3?_0x43ea91(_0x2610f2):0x3<_0x44baf4?_0x43ea91(_0xd86607,_0x50e5cf,_0x2610f2):_0x43ea91(_0xd86607,_0x50e5cf))||_0x2610f2);}0x3<_0x44baf4&&_0x2610f2&&Object[_0x4d4cb6(0x939)](_0xd86607,_0x50e5cf,_0x2610f2);}var _0x4fb15c=_0x574548(0x77a5),_0x344be1=_0x574548(0x153ad);class _0x536f69{constructor(){var _0x47c5a7=a6_0x238e;this[_0x47c5a7(0x40b)]();}[_0x57836d(0x40b)](){var _0xeda805=_0x57836d;this['enabled']=!0x1,this[_0xeda805(0x617)]=0xff,this[_0xeda805(0x182)]=_0x4fb15c['g'][_0xeda805(0x300)],this[_0xeda805(0xa40)]=0x1,this[_0xeda805(0x9a5)]=0xff,this['opStencilFail']=_0x4fb15c['g'][_0xeda805(0x899)],this[_0xeda805(0x489)]=_0x4fb15c['g'][_0xeda805(0x899)],this['opStencilDepthPass']=_0x4fb15c['g']['REPLACE'];}get[_0x57836d(0x182)](){var _0x226eb4=_0x57836d;return this[_0x226eb4(0xca2)];}set['func'](_0x26f3cd){var _0xb72b72=_0x57836d;this[_0xb72b72(0xca2)]=_0x26f3cd;}get['funcRef'](){return this['_funcRef'];}set[_0x57836d(0xa40)](_0x35a787){var _0x1ebf9f=_0x57836d;this[_0x1ebf9f(0xad2)]=_0x35a787;}get[_0x57836d(0x9a5)](){var _0x3d0ed1=_0x57836d;return this[_0x3d0ed1(0x571)];}set[_0x57836d(0x9a5)](_0x5da1b9){var _0x11f361=_0x57836d;this[_0x11f361(0x571)]=_0x5da1b9;}get[_0x57836d(0x8b6)](){var _0x3150d9=_0x57836d;return this[_0x3150d9(0x33a)];}set[_0x57836d(0x8b6)](_0x7d3406){this['_opStencilFail']=_0x7d3406;}get['opDepthFail'](){var _0x10d75c=_0x57836d;return this[_0x10d75c(0x6ee)];}set['opDepthFail'](_0x5f3151){this['_opDepthFail']=_0x5f3151;}get[_0x57836d(0xba0)](){return this['_opStencilDepthPass'];}set[_0x57836d(0xba0)](_0x3884eb){var _0x583bd5=_0x57836d;this[_0x583bd5(0x646)]=_0x3884eb;}get[_0x57836d(0x617)](){return this['_mask'];}set[_0x57836d(0x617)](_0x300536){this['_mask']=_0x300536;}get[_0x57836d(0x8c1)](){var _0x10e9ff=_0x57836d;return this[_0x10e9ff(0xc89)];}set['enabled'](_0x11540b){this['_enabled']=_0x11540b;}[_0x57836d(0x8af)](){return'MaterialStencilState';}['copyTo'](_0x173f45){var _0x2eae04=_0x57836d;_0x344be1['p4'][_0x2eae04(0x826)](()=>_0x173f45,this);}[_0x57836d(0xa55)](){var _0x4513f0=_0x57836d;return _0x344be1['p4'][_0x4513f0(0xad8)](this);}[_0x57836d(0x9d1)](_0x49964a,_0x433350,_0x234569){_0x344be1['p4']['Parse'](()=>this,_0x49964a,_0x433350,_0x234569);}}_0x7389b2([(0x0,_0x344be1['qC'])()],_0x536f69[_0x57836d(0x40f)],_0x57836d(0x182),null),_0x7389b2([(0x0,_0x344be1['qC'])()],_0x536f69[_0x57836d(0x40f)],_0x57836d(0xa40),null),_0x7389b2([(0x0,_0x344be1['qC'])()],_0x536f69[_0x57836d(0x40f)],_0x57836d(0x9a5),null),_0x7389b2([(0x0,_0x344be1['qC'])()],_0x536f69['prototype'],'opStencilFail',null),_0x7389b2([(0x0,_0x344be1['qC'])()],_0x536f69[_0x57836d(0x40f)],'opDepthFail',null),_0x7389b2([(0x0,_0x344be1['qC'])()],_0x536f69[_0x57836d(0x40f)],_0x57836d(0xba0),null),_0x7389b2([(0x0,_0x344be1['qC'])()],_0x536f69[_0x57836d(0x40f)],_0x57836d(0x617),null),_0x7389b2([(0x0,_0x344be1['qC'])()],_0x536f69[_0x57836d(0x40f)],_0x57836d(0x8c1),null);},0x1836a:(_0x255929,_0x3d821c,_0x89bd57)=>{var _0x25eb5b=a6_0x36115b;_0x89bd57['d'](_0x3d821c,{'o':()=>_0x38a69e});var _0x55e86f=_0x89bd57(0x77a5);class _0x38a69e{constructor(){this['previousWorldMatrices']={},this['previousBones']={};}static[_0x25eb5b(0x14d)](_0x2ce160){var _0x17e745=_0x25eb5b;_0x2ce160['push'](_0x17e745(0x836),_0x17e745(0x126),'mPreviousBones');}static[_0x25eb5b(0x938)](_0x5edec7){}[_0x25eb5b(0x681)](_0x12354b,_0x1362f3,_0x1ef262,_0x159d75,_0x10c872){var _0x1576d6=_0x25eb5b,_0x2581cc;_0x1362f3[_0x1576d6(0xb8a)]&&_0x1362f3['prePassRenderer'][_0x1576d6(0x8c1)]&&_0x1362f3[_0x1576d6(0xb8a)][_0x1576d6(0x64c)]&&-0x1!==_0x1362f3['prePassRenderer'][_0x1576d6(0xb79)](_0x55e86f['g'][_0x1576d6(0x574)])&&(this[_0x1576d6(0x3f4)][_0x1ef262[_0x1576d6(0x84b)]]||(this[_0x1576d6(0x3f4)][_0x1ef262[_0x1576d6(0x84b)]]=_0x159d75[_0x1576d6(0x21d)]()),this['previousViewProjection']||(this[_0x1576d6(0x126)]=_0x1362f3[_0x1576d6(0x55d)]()['clone'](),this[_0x1576d6(0x4c5)]=_0x1362f3[_0x1576d6(0x55d)]()[_0x1576d6(0x21d)]()),_0x2581cc=_0x1362f3[_0x1576d6(0x5e8)](),this[_0x1576d6(0x4c5)]['updateFlag']!==_0x1362f3['getTransformMatrix']()['updateFlag']?(this[_0x1576d6(0xb75)]=_0x2581cc[_0x1576d6(0xc65)],this[_0x1576d6(0x126)]['copyFrom'](this['currentViewProjection']),this['currentViewProjection'][_0x1576d6(0x373)](_0x1362f3['getTransformMatrix']())):this[_0x1576d6(0xb75)]!==_0x2581cc[_0x1576d6(0xc65)]&&(this['_lastUpdateFrameId']=_0x2581cc[_0x1576d6(0xc65)],this[_0x1576d6(0x126)][_0x1576d6(0x373)](this['currentViewProjection'])),_0x12354b[_0x1576d6(0xc1f)](_0x1576d6(0x836),this[_0x1576d6(0x3f4)][_0x1ef262[_0x1576d6(0x84b)]]),_0x12354b[_0x1576d6(0xc1f)](_0x1576d6(0x126),this['previousViewProjection']),this[_0x1576d6(0x3f4)][_0x1ef262[_0x1576d6(0x84b)]]=_0x159d75[_0x1576d6(0x21d)]());}}},0x58c8:(_0x49ca6c,_0x392e21,_0x45e55c)=>{var _0xa7b2b4=a6_0x36115b;_0x45e55c['d'](_0x392e21,{'c':()=>_0x4ddd8a});class _0x4ddd8a{constructor(_0x2d4de4){var _0x409613=a6_0x238e;this[_0x409613(0xa79)](_0x2d4de4)?(this['setMatrix3x3']=_0x2d4de4[_0x409613(0x93d)]['bind'](_0x2d4de4),this[_0x409613(0x5b7)]=_0x2d4de4[_0x409613(0xb90)]['bind'](_0x2d4de4),this[_0x409613(0x2ea)]=_0x2d4de4[_0x409613(0x6f4)][_0x409613(0xa56)](_0x2d4de4),this[_0x409613(0x6da)]=_0x2d4de4['updateFloat2']['bind'](_0x2d4de4),this['setFloat3']=_0x2d4de4[_0x409613(0x534)]['bind'](_0x2d4de4),this[_0x409613(0x1d7)]=_0x2d4de4[_0x409613(0x5ae)]['bind'](_0x2d4de4),this[_0x409613(0x27c)]=_0x2d4de4[_0x409613(0x1f1)][_0x409613(0xa56)](_0x2d4de4),this['setArray']=_0x2d4de4[_0x409613(0x201)][_0x409613(0xa56)](_0x2d4de4),this['setIntArray']=_0x2d4de4[_0x409613(0x55b)]['bind'](_0x2d4de4),this[_0x409613(0xc1f)]=_0x2d4de4[_0x409613(0xc97)][_0x409613(0xa56)](_0x2d4de4),this[_0x409613(0x220)]=_0x2d4de4[_0x409613(0x95c)][_0x409613(0xa56)](_0x2d4de4),this[_0x409613(0x36f)]=_0x2d4de4[_0x409613(0xb25)][_0x409613(0xa56)](_0x2d4de4),this[_0x409613(0xb0a)]=_0x2d4de4['updateVector4']['bind'](_0x2d4de4),this[_0x409613(0x2f5)]=_0x2d4de4[_0x409613(0x73e)][_0x409613(0xa56)](_0x2d4de4),this[_0x409613(0x462)]=_0x2d4de4['updateColor4']['bind'](_0x2d4de4),this[_0x409613(0x5d4)]=_0x2d4de4[_0x409613(0x591)][_0x409613(0xa56)](_0x2d4de4),this['setInt']=_0x2d4de4[_0x409613(0x295)][_0x409613(0xa56)](_0x2d4de4),this['setInt2']=_0x2d4de4[_0x409613(0x722)][_0x409613(0xa56)](_0x2d4de4),this['setInt3']=_0x2d4de4[_0x409613(0xccb)]['bind'](_0x2d4de4),this['setInt4']=_0x2d4de4['updateInt4'][_0x409613(0xa56)](_0x2d4de4)):(this[_0x409613(0x128)]=_0x2d4de4[_0x409613(0x128)][_0x409613(0xa56)](_0x2d4de4),this[_0x409613(0x5b7)]=_0x2d4de4[_0x409613(0x5b7)][_0x409613(0xa56)](_0x2d4de4),this[_0x409613(0x2ea)]=_0x2d4de4[_0x409613(0x2ea)]['bind'](_0x2d4de4),this[_0x409613(0x6da)]=_0x2d4de4['setFloat2'][_0x409613(0xa56)](_0x2d4de4),this['setFloat3']=_0x2d4de4[_0x409613(0x328)][_0x409613(0xa56)](_0x2d4de4),this[_0x409613(0x1d7)]=_0x2d4de4['setFloat4'][_0x409613(0xa56)](_0x2d4de4),this[_0x409613(0x27c)]=_0x2d4de4[_0x409613(0x27c)]['bind'](_0x2d4de4),this['setArray']=_0x2d4de4[_0x409613(0x43f)]['bind'](_0x2d4de4),this['setIntArray']=_0x2d4de4['setIntArray'][_0x409613(0xa56)](_0x2d4de4),this[_0x409613(0xc1f)]=_0x2d4de4['setMatrix']['bind'](_0x2d4de4),this[_0x409613(0x220)]=_0x2d4de4[_0x409613(0x220)][_0x409613(0xa56)](_0x2d4de4),this[_0x409613(0x36f)]=_0x2d4de4[_0x409613(0x36f)]['bind'](_0x2d4de4),this[_0x409613(0xb0a)]=_0x2d4de4['setVector4']['bind'](_0x2d4de4),this[_0x409613(0x2f5)]=_0x2d4de4['setColor3'][_0x409613(0xa56)](_0x2d4de4),this[_0x409613(0x462)]=_0x2d4de4[_0x409613(0x462)]['bind'](_0x2d4de4),this['setDirectColor4']=_0x2d4de4[_0x409613(0x5d4)]['bind'](_0x2d4de4),this[_0x409613(0xa3c)]=_0x2d4de4[_0x409613(0xa3c)]['bind'](_0x2d4de4),this[_0x409613(0xac2)]=_0x2d4de4[_0x409613(0xac2)][_0x409613(0xa56)](_0x2d4de4),this[_0x409613(0xc25)]=_0x2d4de4[_0x409613(0xc25)][_0x409613(0xa56)](_0x2d4de4),this[_0x409613(0xbfb)]=_0x2d4de4['setInt4'][_0x409613(0xa56)](_0x2d4de4));}[_0xa7b2b4(0xa79)](_0x4c546d){return void 0x0!==_0x4c546d['addUniform'];}}},0xceed:(_0x3a2706,_0x35489e,_0x35f830)=>{var _0x5068f0=a6_0x36115b;_0x35f830['d'](_0x35489e,{'$':()=>_0x13e614});class _0x13e614{constructor(_0x269ca4,_0x51ded2){var _0x29f0bd=a6_0x238e;this[_0x29f0bd(0x781)]=_0x269ca4,this[_0x29f0bd(0x831)]=_0x51ded2;}[_0x5068f0(0x4c9)](){var _0x41a6d5=_0x5068f0;return _0x41a6d5(0x49e)+this[_0x41a6d5(0x781)]+_0x41a6d5(0x90e)+this[_0x41a6d5(0x831)]+'}';}['getClassName'](){var _0x16d00f=_0x5068f0;return _0x16d00f(0x9fb);}[_0x5068f0(0xcd1)](){var _0x2e6e0d=_0x5068f0;return 0x18d*(0x0|this[_0x2e6e0d(0x781)])^(0x0|this['height']);}[_0x5068f0(0x373)](_0xcfbe6c){var _0x3409af=_0x5068f0;this[_0x3409af(0x781)]=_0xcfbe6c[_0x3409af(0x781)],this[_0x3409af(0x831)]=_0xcfbe6c[_0x3409af(0x831)];}[_0x5068f0(0x37c)](_0x34909d,_0x327546){var _0x423d3a=_0x5068f0;return this[_0x423d3a(0x781)]=_0x34909d,this['height']=_0x327546,this;}['set'](_0x331930,_0x37b12c){var _0x4485e0=_0x5068f0;return this[_0x4485e0(0x37c)](_0x331930,_0x37b12c);}[_0x5068f0(0x5fb)](_0x4a1cd7,_0x3874ef){var _0x4bc0c5=_0x5068f0;return new _0x13e614(this[_0x4bc0c5(0x781)]*_0x4a1cd7,this[_0x4bc0c5(0x831)]*_0x3874ef);}[_0x5068f0(0x21d)](){var _0x49aff9=_0x5068f0;return new _0x13e614(this[_0x49aff9(0x781)],this[_0x49aff9(0x831)]);}[_0x5068f0(0xbee)](_0x3c5173){var _0x4213d0=_0x5068f0;return!!_0x3c5173&&this[_0x4213d0(0x781)]===_0x3c5173[_0x4213d0(0x781)]&&this[_0x4213d0(0x831)]===_0x3c5173['height'];}get[_0x5068f0(0x78c)](){var _0x481ce4=_0x5068f0;return this['width']*this[_0x481ce4(0x831)];}static[_0x5068f0(0x90f)](){return new _0x13e614(0x0,0x0);}[_0x5068f0(0x4b6)](_0x22da42){var _0x1d77eb=_0x5068f0;return new _0x13e614(this[_0x1d77eb(0x781)]+_0x22da42[_0x1d77eb(0x781)],this['height']+_0x22da42[_0x1d77eb(0x831)]);}[_0x5068f0(0x2a7)](_0x5d225f){var _0x128aaa=_0x5068f0;return new _0x13e614(this[_0x128aaa(0x781)]-_0x5d225f[_0x128aaa(0x781)],this[_0x128aaa(0x831)]-_0x5d225f[_0x128aaa(0x831)]);}static[_0x5068f0(0xa8c)](_0x4b1b9e,_0x3de568,_0x7d0783){var _0x518c07=_0x5068f0,_0x23fb22=_0x4b1b9e[_0x518c07(0x781)]+(_0x3de568[_0x518c07(0x781)]-_0x4b1b9e[_0x518c07(0x781)])*_0x7d0783,_0x3de568=_0x4b1b9e[_0x518c07(0x831)]+(_0x3de568[_0x518c07(0x831)]-_0x4b1b9e[_0x518c07(0x831)])*_0x7d0783;return new _0x13e614(_0x23fb22,_0x3de568);}}},0x6fac:(_0x1cddaf,_0x3721f4,_0x198756)=>{var _0x514877=a6_0x36115b;_0x198756['d'](_0x3721f4,{'l':()=>_0x4cda7e});class _0x4cda7e{constructor(_0x334f9a,_0x1fa6ae,_0x1b8bf9,_0x3a405c){var _0x11bc7d=a6_0x238e;this['x']=_0x334f9a,this['y']=_0x1fa6ae,this[_0x11bc7d(0x781)]=_0x1b8bf9,this[_0x11bc7d(0x831)]=_0x3a405c;}['toGlobal'](_0x26d867,_0x2e3e51){var _0x343096=a6_0x238e;return new _0x4cda7e(this['x']*_0x26d867,this['y']*_0x2e3e51,this[_0x343096(0x781)]*_0x26d867,this[_0x343096(0x831)]*_0x2e3e51);}[_0x514877(0x8d2)](_0x3b1a12,_0x3ce3ff,_0x46e5c9){var _0x17717c=_0x514877;return _0x46e5c9['x']=this['x']*_0x3b1a12,_0x46e5c9['y']=this['y']*_0x3ce3ff,_0x46e5c9['width']=this[_0x17717c(0x781)]*_0x3b1a12,_0x46e5c9[_0x17717c(0x831)]=this[_0x17717c(0x831)]*_0x3ce3ff,this;}[_0x514877(0x21d)](){var _0x185ba8=_0x514877;return new _0x4cda7e(this['x'],this['y'],this['width'],this[_0x185ba8(0x831)]);}}},0x19ba:(_0x42897c,_0x580f1b,_0x58b806)=>{var _0x1455b5=a6_0x36115b;_0x58b806=_0x58b806(0x51f),Object[_0x1455b5(0x939)](_0x58b806['x'][_0x1455b5(0x40f)],_0x1455b5(0x91d),{'get':function(){var _0xfd4429=_0x1455b5;return this[_0xfd4429(0x5a8)];},'set':function(_0x4188e2){var _0x419abd=_0x1455b5;this[_0x419abd(0x5a8)]=_0x4188e2;},'enumerable':!0x0,'configurable':!0x0});},0x7bfa:(_0xdb623,_0x49a9dc,_0x1715d1)=>{_0x1715d1['d'](_0x49a9dc,{'g':()=>_0x3606e2});class _0x3606e2{constructor(_0x19180b,_0x28bae5){var _0x2f8eec=a6_0x238e;this[_0x2f8eec(0x37e)]=_0x19180b,this[_0x2f8eec(0xcdb)]=_0x28bae5;}}},0x53f7:(_0x4719f3,_0x3b4378,_0x5e4945)=>{var _0x3e8300=a6_0x36115b,_0x2108da=_0x5e4945(0x77a5),_0x3189f7=_0x5e4945(0x9fd1),_0x5e4945=_0x5e4945(0x10187);_0x5e4945['P'][_0x3e8300(0x40f)][_0x3e8300(0x9b0)]=function(_0x553ec3,_0x55043d,_0x38245c,_0x112463,_0xa6f69a,_0x31cb9f){var _0x4d650e=_0x3e8300;const _0x1c1757=_0x3189f7['jp']['Vector3'][0x0];var _0x1ffd67=_0x3189f7['jp'][_0x4d650e(0xbb3)][0x1];let _0x4c7315=Infinity;for(let _0x100188=this[_0x4d650e(0x46f)];_0x100188<this[_0x4d650e(0x46f)]+this[_0x4d650e(0x993)]-(0x3-_0x112463);_0x100188+=_0x112463){var _0x4339ba=_0x38245c[_0x100188],_0x5a0464=_0x38245c[_0x100188+0x1],_0x239f89=_0x38245c[_0x100188+0x2];_0xa6f69a&&0xffffffff===_0x239f89?_0x100188+=0x2:(_0x4339ba=_0x55043d[_0x4339ba],_0x5a0464=_0x55043d[_0x5a0464],_0x239f89=_0x55043d[_0x239f89],_0x4339ba&&_0x5a0464&&_0x239f89&&(_0x4339ba=_0x3189f7['P']['ProjectOnTriangleToRef'](_0x553ec3,_0x4339ba,_0x5a0464,_0x239f89,_0x1ffd67))<_0x4c7315&&(_0x1c1757['copyFrom'](_0x1ffd67),_0x4c7315=_0x4339ba));}return _0x31cb9f[_0x4d650e(0x373)](_0x1c1757),_0x4c7315;},_0x5e4945['P'][_0x3e8300(0x40f)][_0x3e8300(0x727)]=function(_0x21afdc,_0x151ae6,_0x489e9f,_0x5e4e2c){var _0x401f49=_0x3e8300;const _0x2228c8=_0x3189f7['jp'][_0x401f49(0xbb3)][0x0];var _0x588600=_0x3189f7['jp'][_0x401f49(0xbb3)][0x1];let _0x29affa=Infinity;for(let _0x525a15=this[_0x401f49(0x61e)];_0x525a15<this[_0x401f49(0x61e)]+this[_0x401f49(0xbb4)];_0x525a15+=0x3){var _0x423d19=_0x151ae6[_0x525a15],_0x2e760e=_0x151ae6[_0x525a15+0x1],_0x253758=_0x151ae6[_0x525a15+0x2],_0x423d19=_0x3189f7['P'][_0x401f49(0x9df)](_0x21afdc,_0x423d19,_0x2e760e,_0x253758,_0x588600);_0x423d19<_0x29affa&&(_0x2228c8[_0x401f49(0x373)](_0x588600),_0x29affa=_0x423d19);}return _0x5e4e2c[_0x401f49(0x373)](_0x2228c8),_0x29affa;},_0x5e4945['P'][_0x3e8300(0x40f)]['projectToRef']=function(_0x5761e,_0x1fe66d,_0x309e71,_0x3c2364){var _0x1a58f4=_0x3e8300,_0x3cdaa2=this[_0x1a58f4(0x7d3)]();if(!_0x3cdaa2)return-0x1;let _0x2dcd7b=0x3,_0x3c2a9d=!0x1;switch(_0x3cdaa2[_0x1a58f4(0x514)]){case _0x2108da['g'][_0x1a58f4(0x6d3)]:case _0x2108da['g'][_0x1a58f4(0x777)]:case _0x2108da['g'][_0x1a58f4(0xc00)]:case _0x2108da['g'][_0x1a58f4(0x763)]:return-0x1;case _0x2108da['g'][_0x1a58f4(0x596)]:_0x2dcd7b=0x1,_0x3c2a9d=!0x0;}return _0x3cdaa2[_0x1a58f4(0x514)]===_0x2108da['g']['MATERIAL_LineListDrawMode']?-0x1:!_0x309e71[_0x1a58f4(0xb85)]&&this['_mesh'][_0x1a58f4(0x7f6)]?this[_0x1a58f4(0x727)](_0x5761e,_0x1fe66d,_0x309e71,_0x3c2364):this[_0x1a58f4(0x9b0)](_0x5761e,_0x1fe66d,_0x309e71,_0x2dcd7b,_0x3c2a9d,_0x3c2364);};},0xb1d7:(_0x59c1a3,_0x2db54e,_0x4bf1b7)=>{var _0x4ad1f8=a6_0x36115b,_0x41ba88=_0x4bf1b7(0x1dad),_0x71f890=_0x4bf1b7(0x1a27),_0x1df654=_0x4bf1b7(0x9fd1),_0x3eeaed=_0x4bf1b7(0x10ea4);_0x41ba88['Kj'][_0x4ad1f8(0x40f)]['thinInstanceAdd']=function(_0x4752b7,_0x2036ac=!0x0){var _0x41fb7d=_0x4ad1f8;if(!this[_0x41fb7d(0xa8b)]()['getEngine']()[_0x41fb7d(0x7ac)]()[_0x41fb7d(0x771)])return _0x3eeaed['Y'][_0x41fb7d(0x358)](_0x41fb7d(0x5dc)),-0x1;this[_0x41fb7d(0x609)](_0x41fb7d(0xca9),Array[_0x41fb7d(0xcb4)](_0x4752b7)?_0x4752b7[_0x41fb7d(0xb85)]:0x1);var _0x2c73be=this[_0x41fb7d(0x724)]['instancesCount'];if(Array['isArray'](_0x4752b7)){for(let _0x568719=0x0;_0x568719<_0x4752b7[_0x41fb7d(0xb85)];++_0x568719)this[_0x41fb7d(0x757)](this['_thinInstanceDataStorage'][_0x41fb7d(0x418)]++,_0x4752b7[_0x568719],_0x568719===_0x4752b7[_0x41fb7d(0xb85)]-0x1&&_0x2036ac);}else this[_0x41fb7d(0x757)](this[_0x41fb7d(0x724)]['instancesCount']++,_0x4752b7,_0x2036ac);return _0x2c73be;},_0x41ba88['Kj'][_0x4ad1f8(0x40f)][_0x4ad1f8(0xa37)]=function(_0x45cfaa=!0x0){var _0xa48e95=_0x4ad1f8;return this[_0xa48e95(0x178)](_0x1df654['y3'][_0xa48e95(0x5c0)],_0x45cfaa);},_0x41ba88['Kj'][_0x4ad1f8(0x40f)]['thinInstanceRegisterAttribute']=function(_0x41129b,_0x4a3b54){var _0x4e8941=_0x4ad1f8;_0x41129b===_0x71f890['o'][_0x4e8941(0x623)]&&(_0x41129b=_0x71f890['o'][_0x4e8941(0x2e8)]),this['removeVerticesData'](_0x41129b),this[_0x4e8941(0x6d6)](),this[_0x4e8941(0x892)][_0x4e8941(0x403)][_0x41129b]=_0x4a3b54,this[_0x4e8941(0x892)][_0x4e8941(0xbe5)][_0x41129b]=_0x4a3b54*Math[_0x4e8941(0xa14)](0x20,this['_thinInstanceDataStorage']['instancesCount']),this[_0x4e8941(0x892)][_0x4e8941(0x758)][_0x41129b]=new Float32Array(this[_0x4e8941(0x892)][_0x4e8941(0xbe5)][_0x41129b]),this[_0x4e8941(0x892)][_0x4e8941(0x992)][_0x41129b]=new _0x71f890['o'](this[_0x4e8941(0x5e8)](),this[_0x4e8941(0x892)]['data'][_0x41129b],_0x41129b,!0x0,!0x1,_0x4a3b54,!0x0),this[_0x4e8941(0x876)](this[_0x4e8941(0x892)][_0x4e8941(0x992)][_0x41129b]);},_0x41ba88['Kj']['prototype'][_0x4ad1f8(0x757)]=function(_0x4e9284,_0x34f67f,_0x49e670=!0x0){var _0x4a7a8b=_0x4ad1f8;if(!this[_0x4a7a8b(0x724)][_0x4a7a8b(0x47a)]||_0x4e9284>=this['_thinInstanceDataStorage'][_0x4a7a8b(0x418)])return!0x1;var _0x1f8081=this[_0x4a7a8b(0x724)]['matrixData'];return _0x34f67f['copyToArray'](_0x1f8081,0x10*_0x4e9284),this[_0x4a7a8b(0x724)][_0x4a7a8b(0x46a)]&&(this[_0x4a7a8b(0x724)][_0x4a7a8b(0x46a)][_0x4e9284]=_0x34f67f),_0x49e670&&(this['thinInstanceBufferUpdated'](_0x4a7a8b(0xca9)),this[_0x4a7a8b(0x76e)]||this['thinInstanceRefreshBoundingInfo'](!0x1)),!0x0;},_0x41ba88['Kj'][_0x4ad1f8(0x40f)]['thinInstanceSetAttributeAt']=function(_0x55f6eb,_0x2939fc,_0x3675eb,_0x12155b=!0x0){var _0x27a2a3=_0x4ad1f8;return _0x55f6eb===_0x71f890['o'][_0x27a2a3(0x623)]&&(_0x55f6eb=_0x71f890['o'][_0x27a2a3(0x2e8)]),!(!this[_0x27a2a3(0x892)]||!this[_0x27a2a3(0x892)][_0x27a2a3(0x758)][_0x55f6eb]||_0x2939fc>=this[_0x27a2a3(0x724)][_0x27a2a3(0x418)]||(this[_0x27a2a3(0x609)](_0x55f6eb,0x0),this['_userThinInstanceBuffersStorage'][_0x27a2a3(0x758)][_0x55f6eb]['set'](_0x3675eb,_0x2939fc*this[_0x27a2a3(0x892)][_0x27a2a3(0x403)][_0x55f6eb]),_0x12155b&&this[_0x27a2a3(0x341)](_0x55f6eb),0x0));},Object['defineProperty'](_0x41ba88['Kj']['prototype'],_0x4ad1f8(0x88d),{'get':function(){var _0x3e9c39=_0x4ad1f8;return this[_0x3e9c39(0x724)][_0x3e9c39(0x418)];},'set':function(_0x3db55a){var _0x5b1cdd=_0x4ad1f8,_0x6d2223=null!=(_0x6d2223=this[_0x5b1cdd(0x724)]['matrixData'])?_0x6d2223:null==(_0x6d2223=this['source'])?void 0x0:_0x6d2223[_0x5b1cdd(0x724)][_0x5b1cdd(0x47a)];_0x3db55a<=(_0x6d2223?_0x6d2223[_0x5b1cdd(0xb85)]/0x10:0x0)&&(this[_0x5b1cdd(0x724)][_0x5b1cdd(0x418)]=_0x3db55a);},'enumerable':!0x0,'configurable':!0x0}),_0x41ba88['Kj']['prototype'][_0x4ad1f8(0x29a)]=function(_0x9e9061,_0x3ae58f,_0x4d3281=!0x1){var _0x170f22=_0x4ad1f8;_0x9e9061===_0x71f890['o']['ColorKind']&&(_0x9e9061=_0x71f890['o']['ColorInstanceKind']);const _0x12d65d=new _0x71f890['l'](this[_0x170f22(0x5e8)](),_0x3ae58f,!_0x4d3281,0x10,!0x1,!0x0);for(let _0x34c0f6=0x0;_0x34c0f6<0x4;_0x34c0f6++)this[_0x170f22(0x876)](_0x12d65d[_0x170f22(0x24e)](_0x9e9061+_0x34c0f6,0x4*_0x34c0f6,0x4));return _0x12d65d;},_0x41ba88['Kj']['prototype'][_0x4ad1f8(0x483)]=function(_0x37a1f5,_0x2e69ce,_0xd291e0=0x0,_0x41223e=!0x1){var _0x46e188=_0x4ad1f8,_0x1d1736;_0xd291e0=_0xd291e0||0x10,_0x46e188(0xca9)===_0x37a1f5?(null!=(_0x1d1736=this[_0x46e188(0x724)][_0x46e188(0x398)])&&_0x1d1736[_0x46e188(0xae6)](),this[_0x46e188(0x724)][_0x46e188(0x398)]=null,this['_thinInstanceDataStorage'][_0x46e188(0x62d)]=_0x2e69ce?_0x2e69ce[_0x46e188(0xb85)]:0x20*_0xd291e0,this[_0x46e188(0x724)][_0x46e188(0x47a)]=_0x2e69ce,(this[_0x46e188(0x724)]['worldMatrices']=null)!==_0x2e69ce?(this['_thinInstanceDataStorage'][_0x46e188(0x418)]=_0x2e69ce[_0x46e188(0xb85)]/_0xd291e0,this[_0x46e188(0x724)][_0x46e188(0x398)]=this[_0x46e188(0x29a)](_0x46e188(0x473),_0x2e69ce,_0x41223e),this['doNotSyncBoundingInfo']||this['thinInstanceRefreshBoundingInfo'](!0x1)):(this['_thinInstanceDataStorage'][_0x46e188(0x418)]=0x0,this[_0x46e188(0x76e)]||this['refreshBoundingInfo']())):_0x46e188(0xa27)===_0x37a1f5?(null!=(_0x1d1736=this[_0x46e188(0x724)][_0x46e188(0xbf2)])&&_0x1d1736[_0x46e188(0xae6)](),(this[_0x46e188(0x724)][_0x46e188(0xbf2)]=null)!==(this['_thinInstanceDataStorage'][_0x46e188(0x666)]=_0x2e69ce)&&(this[_0x46e188(0x724)][_0x46e188(0xbf2)]=this['_thinInstanceCreateMatrixBuffer'](_0x46e188(0x836),_0x2e69ce,_0x41223e))):(_0x37a1f5===_0x71f890['o'][_0x46e188(0x623)]&&(_0x37a1f5=_0x71f890['o'][_0x46e188(0x2e8)]),null===_0x2e69ce?null!=(_0x1d1736=this[_0x46e188(0x892)])&&_0x1d1736[_0x46e188(0x758)][_0x37a1f5]&&(this[_0x46e188(0x603)](_0x37a1f5),delete this[_0x46e188(0x892)][_0x46e188(0x758)][_0x37a1f5],delete this[_0x46e188(0x892)][_0x46e188(0x403)][_0x37a1f5],delete this['_userThinInstanceBuffersStorage'][_0x46e188(0xbe5)][_0x37a1f5],delete this[_0x46e188(0x892)][_0x46e188(0x992)][_0x37a1f5]):(this[_0x46e188(0x6d6)](),this[_0x46e188(0x892)]['data'][_0x37a1f5]=_0x2e69ce,this[_0x46e188(0x892)][_0x46e188(0x403)][_0x37a1f5]=_0xd291e0,this[_0x46e188(0x892)][_0x46e188(0xbe5)][_0x37a1f5]=_0x2e69ce[_0x46e188(0xb85)],this['_userThinInstanceBuffersStorage'][_0x46e188(0x992)][_0x37a1f5]=new _0x71f890['o'](this['getEngine'](),_0x2e69ce,_0x37a1f5,!_0x41223e,!0x1,_0xd291e0,!0x0),this[_0x46e188(0x876)](this[_0x46e188(0x892)][_0x46e188(0x992)][_0x37a1f5])));},_0x41ba88['Kj']['prototype'][_0x4ad1f8(0x341)]=function(_0x208b25){var _0x4d802c=_0x4ad1f8,_0x17c334;_0x4d802c(0xca9)===_0x208b25?null!=(_0x17c334=this['_thinInstanceDataStorage'][_0x4d802c(0x398)])&&_0x17c334[_0x4d802c(0x7f0)](this[_0x4d802c(0x724)][_0x4d802c(0x47a)],0x0,this[_0x4d802c(0x724)][_0x4d802c(0x418)]):_0x4d802c(0xa27)===_0x208b25?null!=(_0x17c334=this[_0x4d802c(0x724)][_0x4d802c(0xbf2)])&&_0x17c334[_0x4d802c(0x7f0)](this[_0x4d802c(0x724)][_0x4d802c(0x666)],0x0,this['_thinInstanceDataStorage']['instancesCount']):(_0x208b25===_0x71f890['o']['ColorKind']&&(_0x208b25=_0x71f890['o']['ColorInstanceKind']),null!=(_0x17c334=this[_0x4d802c(0x892)])&&_0x17c334['vertexBuffers'][_0x208b25]&&this['_userThinInstanceBuffersStorage'][_0x4d802c(0x992)][_0x208b25][_0x4d802c(0x7f0)](this['_userThinInstanceBuffersStorage'][_0x4d802c(0x758)][_0x208b25],0x0));},_0x41ba88['Kj']['prototype'][_0x4ad1f8(0x2d2)]=function(_0x5e62e0,_0x3dcf4e,_0x2c5c93){var _0x6c9289=_0x4ad1f8,_0xc93ac9;'matrix'===_0x5e62e0?this[_0x6c9289(0x724)][_0x6c9289(0x398)]&&this[_0x6c9289(0x724)][_0x6c9289(0x398)][_0x6c9289(0x7f0)](_0x3dcf4e,_0x2c5c93):(_0x5e62e0===_0x71f890['o'][_0x6c9289(0x623)]&&(_0x5e62e0=_0x71f890['o'][_0x6c9289(0x2e8)]),null!=(_0xc93ac9=this[_0x6c9289(0x892)])&&_0xc93ac9[_0x6c9289(0x992)][_0x5e62e0]&&this['_userThinInstanceBuffersStorage']['vertexBuffers'][_0x5e62e0][_0x6c9289(0x7f0)](_0x3dcf4e,_0x2c5c93));},_0x41ba88['Kj'][_0x4ad1f8(0x40f)][_0x4ad1f8(0x9c1)]=function(){var _0x273ef5=_0x4ad1f8;if(!this[_0x273ef5(0x724)]['matrixData']||!this['_thinInstanceDataStorage'][_0x273ef5(0x398)])return[];var _0x2ae535=this[_0x273ef5(0x724)][_0x273ef5(0x47a)];if(!this[_0x273ef5(0x724)][_0x273ef5(0x46a)]){this[_0x273ef5(0x724)][_0x273ef5(0x46a)]=new Array();for(let _0x14412b=0x0;_0x14412b<this['_thinInstanceDataStorage']['instancesCount'];++_0x14412b)this['_thinInstanceDataStorage'][_0x273ef5(0x46a)][_0x14412b]=_0x1df654['y3']['FromArray'](_0x2ae535,0x10*_0x14412b);}return this[_0x273ef5(0x724)][_0x273ef5(0x46a)];},_0x41ba88['Kj'][_0x4ad1f8(0x40f)][_0x4ad1f8(0xb5a)]=function(_0x2659b4=!0x1,_0x1ecb2a=!0x1,_0x14e4e3=!0x1){var _0x4e0232=_0x4ad1f8;if(this[_0x4e0232(0x724)][_0x4e0232(0x47a)]&&this[_0x4e0232(0x724)][_0x4e0232(0x398)]){const _0x161a3f=this[_0x4e0232(0x724)][_0x4e0232(0x606)],_0x1fe8d1=(_0x2659b4&&(_0x161a3f['length']=0x0,this[_0x4e0232(0xb37)](_0x1ecb2a,_0x14e4e3)),this['getBoundingInfo']());var _0x5fc8e4=this['_thinInstanceDataStorage'][_0x4e0232(0x47a)];if(0x0===_0x161a3f['length']){for(let _0x1202fb=0x0;_0x1202fb<_0x1fe8d1[_0x4e0232(0x64d)][_0x4e0232(0x5a6)]['length'];++_0x1202fb)_0x161a3f[_0x4e0232(0x731)](_0x1fe8d1[_0x4e0232(0x64d)][_0x4e0232(0x5a6)][_0x1202fb][_0x4e0232(0x21d)]());}_0x1df654['jp'][_0x4e0232(0xbb3)][0x0][_0x4e0232(0x56c)](Number['POSITIVE_INFINITY']),_0x1df654['jp'][_0x4e0232(0xbb3)][0x1][_0x4e0232(0x56c)](Number[_0x4e0232(0x39e)]);for(let _0x55357e=0x0;_0x55357e<this[_0x4e0232(0x724)]['instancesCount'];++_0x55357e){_0x1df654['y3'][_0x4e0232(0xa99)](_0x5fc8e4,0x10*_0x55357e,_0x1df654['jp'][_0x4e0232(0x7c6)][0x0]);for(let _0x421e74=0x0;_0x421e74<_0x161a3f[_0x4e0232(0xb85)];++_0x421e74)_0x1df654['P']['TransformCoordinatesToRef'](_0x161a3f[_0x421e74],_0x1df654['jp'][_0x4e0232(0x7c6)][0x0],_0x1df654['jp']['Vector3'][0x2]),_0x1df654['jp'][_0x4e0232(0xbb3)][0x0][_0x4e0232(0x416)](_0x1df654['jp'][_0x4e0232(0xbb3)][0x2]),_0x1df654['jp'][_0x4e0232(0xbb3)][0x1][_0x4e0232(0xa42)](_0x1df654['jp'][_0x4e0232(0xbb3)][0x2]);}_0x1fe8d1[_0x4e0232(0x31b)](_0x1df654['jp'][_0x4e0232(0xbb3)][0x0],_0x1df654['jp'][_0x4e0232(0xbb3)][0x1]),this[_0x4e0232(0x561)]();}},_0x41ba88['Kj'][_0x4ad1f8(0x40f)][_0x4ad1f8(0x609)]=function(_0x135c22,_0x5a64d8=0x1){var _0x19314d=_0x4ad1f8,_0x5d6eea=_0x19314d(0xca9)===(_0x135c22=_0x135c22===_0x71f890['o']['ColorKind']?_0x71f890['o'][_0x19314d(0x2e8)]:_0x135c22);if(_0x5d6eea||this[_0x19314d(0x892)]&&this[_0x19314d(0x892)][_0x19314d(0x403)][_0x135c22]){var _0x1841a6=_0x5d6eea?0x10:this[_0x19314d(0x892)][_0x19314d(0x403)][_0x135c22],_0x3a517a=_0x5d6eea?this['_thinInstanceDataStorage'][_0x19314d(0x62d)]:this[_0x19314d(0x892)][_0x19314d(0xbe5)][_0x135c22];let _0x112bfc=_0x5d6eea?this[_0x19314d(0x724)][_0x19314d(0x47a)]:this[_0x19314d(0x892)]['data'][_0x135c22];var _0x2a8704=(this[_0x19314d(0x724)][_0x19314d(0x418)]+_0x5a64d8)*_0x1841a6;let _0x461cd1=_0x3a517a;for(;_0x461cd1<_0x2a8704;)_0x461cd1*=0x2;if(!_0x112bfc||_0x3a517a!=_0x461cd1){if(_0x112bfc){const _0xb342ec=new Float32Array(_0x461cd1);_0xb342ec[_0x19314d(0xd4)](_0x112bfc,0x0),_0x112bfc=_0xb342ec;}else _0x112bfc=new Float32Array(_0x461cd1);_0x5d6eea?(null!=(_0x5a64d8=this[_0x19314d(0x724)][_0x19314d(0x398)])&&_0x5a64d8[_0x19314d(0xae6)](),this[_0x19314d(0x724)][_0x19314d(0x398)]=this[_0x19314d(0x29a)](_0x19314d(0x473),_0x112bfc,!0x1),this[_0x19314d(0x724)][_0x19314d(0x47a)]=_0x112bfc,this[_0x19314d(0x724)][_0x19314d(0x62d)]=_0x461cd1,this[_0x19314d(0x5ff)][_0x19314d(0x7ce)]&&!this[_0x19314d(0x724)][_0x19314d(0x666)]&&(null!=(_0x3a517a=this[_0x19314d(0x724)][_0x19314d(0xbf2)])&&_0x3a517a[_0x19314d(0xae6)](),this['_thinInstanceDataStorage'][_0x19314d(0xbf2)]=this[_0x19314d(0x29a)](_0x19314d(0x836),_0x112bfc,!0x1))):(null!=(_0x5d6eea=this[_0x19314d(0x892)][_0x19314d(0x992)][_0x135c22])&&_0x5d6eea[_0x19314d(0xae6)](),this[_0x19314d(0x892)][_0x19314d(0x758)][_0x135c22]=_0x112bfc,this[_0x19314d(0x892)][_0x19314d(0xbe5)][_0x135c22]=_0x461cd1,this[_0x19314d(0x892)]['vertexBuffers'][_0x135c22]=new _0x71f890['o'](this['getEngine'](),_0x112bfc,_0x135c22,!0x0,!0x1,_0x1841a6,!0x0),this[_0x19314d(0x876)](this['_userThinInstanceBuffersStorage']['vertexBuffers'][_0x135c22]));}}},_0x41ba88['Kj'][_0x4ad1f8(0x40f)][_0x4ad1f8(0x6d6)]=function(){var _0x567d3b=_0x4ad1f8;this[_0x567d3b(0x892)]||(this[_0x567d3b(0x892)]={'data':{},'sizes':{},'vertexBuffers':{},'strides':{}});},_0x41ba88['Kj'][_0x4ad1f8(0x40f)][_0x4ad1f8(0x303)]=function(){var _0x194fbd=_0x4ad1f8,_0x2c7d63;null!=(_0x2c7d63=this[_0x194fbd(0x724)])&&_0x2c7d63[_0x194fbd(0x398)]&&(this[_0x194fbd(0x724)][_0x194fbd(0x398)][_0x194fbd(0xae6)](),this[_0x194fbd(0x724)][_0x194fbd(0x398)]=null);};},0x11b46:(_0x15b81a,_0x2f5828,_0x45e631)=>{var _0x3832f5=a6_0x36115b;_0x45e631['d'](_0x2f5828,{'s':()=>_0x29df94});class _0x29df94{constructor(_0x3da4e8){var _0x1e8556=a6_0x238e;this[_0x1e8556(0x1ea)]=new Float32Array(_0x3da4e8),this['_itemLength']=0x0;}get[_0x3832f5(0x7e0)](){var _0x576fd9=_0x3832f5;return this[_0x576fd9(0x2dd)];}['at'](_0x35d4aa){var _0x2a0e68=_0x3832f5;return _0x35d4aa<0x0||_0x35d4aa>=this['_itemLength']?NaN:this[_0x2a0e68(0x1ea)][_0x35d4aa];}[_0x3832f5(0x597)](_0x459ab4,_0x2adb76){var _0x200c58=_0x3832f5;return _0x2adb76<=_0x459ab4||_0x459ab4<0x0?new Float32Array(0x0):(_0x2adb76>this['_itemLength']&&(_0x2adb76=this['_itemLength']),this[_0x200c58(0x1ea)]['subarray'](_0x459ab4,_0x2adb76));}[_0x3832f5(0x731)](_0x457694){var _0x5ec013=_0x3832f5;this[_0x5ec013(0x1ea)][this['_itemLength']]=_0x457694,this[_0x5ec013(0x2dd)]++,this[_0x5ec013(0x2dd)]>=this['_view'][_0x5ec013(0xb85)]&&this[_0x5ec013(0x739)]();}['_growArray'](){var _0x24abb3=_0x3832f5,_0xc89c54=Math['floor'](1.5*this[_0x24abb3(0x1ea)]['length']);const _0x433c79=new Float32Array(_0xc89c54);_0x433c79[_0x24abb3(0xd4)](this['_view']),this['_view']=_0x433c79;}}},0x13e71:(_0x659fb7,_0x551c1b,_0x53ce86)=>{var _0x4cc7e8=a6_0x36115b,_0x1acbd0=_0x53ce86(0x1446b),_0x244544=_0x53ce86(0xf75);_0x1acbd0['x'][_0x4cc7e8(0x40f)]['getPerfCollector']=function(){var _0x1027d4=_0x4cc7e8;return this[_0x1027d4(0x1ab)]||(this['_perfCollector']=new _0x244544['P'](this)),this[_0x1027d4(0x1ab)];};},0x17a1c:(_0x40097e,_0x38fed0,_0x20e77f)=>{var _0x1eb1a5=a6_0x36115b;_0x20e77f['d'](_0x38fed0,{'q':()=>_0xc59297});class _0xc59297{static[_0x1eb1a5(0xba5)](_0x376196,_0x33b585){var _0x2715f0=_0x1eb1a5;return _0x2715f0(0x7e7)===(_0x376196=_0x376196[_0x2715f0(0x2f1)](/\([^()]*\)/g)?_0x376196[_0x2715f0(0xc73)](/\([^()]*\)/g,_0x4cd0f1=>(_0x4cd0f1=_0x4cd0f1['slice'](0x1,_0x4cd0f1['length']-0x1),_0xc59297[_0x2715f0(0x191)](_0x4cd0f1,_0x33b585))):_0xc59297[_0x2715f0(0x191)](_0x376196,_0x33b585))||_0x2715f0(0x407)!==_0x376196&&_0xc59297[_0x2715f0(0xba5)](_0x376196,_0x33b585);}static[_0x1eb1a5(0x191)](_0x5af313,_0x17b227){var _0x6a671b=_0x1eb1a5;_0x17b227=_0x17b227||(_0x562c65=>_0x6a671b(0x7e7)===_0x562c65);let _0x56f162;const _0x346478=_0x5af313[_0x6a671b(0x9fa)]('||');for(const _0x432ed9 in _0x346478)if(Object['prototype'][_0x6a671b(0x3e3)][_0x6a671b(0x3f7)](_0x346478,_0x432ed9)){let _0x183d05=_0xc59297[_0x6a671b(0x342)](_0x346478[_0x432ed9][_0x6a671b(0xa2e)]());const _0x43816c=_0x183d05[_0x6a671b(0x9fa)]('&&');if(0x1<_0x43816c[_0x6a671b(0xb85)])for(let _0xdd13d5=0x0;_0xdd13d5<_0x43816c[_0x6a671b(0xb85)];++_0xdd13d5){const _0x52e22a=_0xc59297['_SimplifyNegation'](_0x43816c[_0xdd13d5][_0x6a671b(0xa2e)]());if(!(_0x56f162='true'!==_0x52e22a&&'false'!==_0x52e22a?'!'===_0x52e22a[0x0]?!_0x17b227(_0x52e22a['substring'](0x1)):_0x17b227(_0x52e22a):_0x6a671b(0x7e7)===_0x52e22a)){_0x183d05=_0x6a671b(0x407);break;}}if(_0x56f162||_0x6a671b(0x7e7)===_0x183d05){_0x56f162=!0x0;break;}_0x56f162=_0x6a671b(0x7e7)!==_0x183d05&&'false'!==_0x183d05?'!'===_0x183d05[0x0]?!_0x17b227(_0x183d05[_0x6a671b(0x622)](0x1)):_0x17b227(_0x183d05):_0x6a671b(0x7e7)===_0x183d05;}return _0x56f162?_0x6a671b(0x7e7):_0x6a671b(0x407);}static['_SimplifyNegation'](_0x3c9ee7){var _0xd07cfb=_0x1eb1a5;return _0xd07cfb(0xa36)===(_0x3c9ee7=(_0x3c9ee7=_0x3c9ee7[_0xd07cfb(0xc73)](/^[\s!]+/,_0xd5091a=>(_0xd5091a=_0xd5091a[_0xd07cfb(0xc73)](/[\s]/g,()=>''))[_0xd07cfb(0xb85)]%0x2?'!':''))[_0xd07cfb(0xa2e)]())?_0x3c9ee7='false':_0xd07cfb(0xa4a)===_0x3c9ee7&&(_0x3c9ee7='true'),_0x3c9ee7;}}},0x5898:(_0x206f3c,_0x8c9082,_0x1af148)=>{var _0x480284=a6_0x36115b;_0x1af148['d'](_0x8c9082,{'B':()=>_0x4f8566,'M':()=>function(_0x48ea01,_0x11a90a){var _0x56ddd4=a6_0x238e;const _0xff0e3c=_0x2f3cae[_0x56ddd4(0x851)](_0x3f1d37=>{var _0x3b213c=_0x56ddd4;{var _0x24715e=_0x48ea01,_0xccbc1a=_0x3f1d37,_0x3b9b5b=_0x11a90a;const _0x5c5199=_0x24715e[_0xccbc1a];return'function'!=typeof _0x5c5199?null:((_0x5c5199[_0x3b213c(0x2e4)]=_0x19625d)['previous']=_0x5c5199,_0x24715e[_0xccbc1a]=_0x19625d,()=>{var _0x2fc1cd=_0x3b213c;const _0x166440=_0x19625d[_0x2fc1cd(0xae9)];if(_0x166440){const _0xcf31e0=_0x19625d[_0x2fc1cd(0x2e4)];_0xcf31e0?(_0x166440[_0x2fc1cd(0x2e4)]=_0xcf31e0)[_0x2fc1cd(0xae9)]=_0x166440:(_0x166440[_0x2fc1cd(0x2e4)]=void 0x0,_0x24715e[_0xccbc1a]=_0x166440),_0x19625d[_0x2fc1cd(0x2e4)]=void 0x0,_0x19625d['previous']=void 0x0;}});function _0x19625d(){var _0x12fe2e=_0x3b213c,_0x102fc1=_0x24715e['length'],_0x14fc03=_0x19625d[_0x12fe2e(0xae9)][_0x12fe2e(0xc72)](_0x24715e,arguments);return _0x3b9b5b(_0xccbc1a,_0x102fc1),_0x14fc03;}}});return()=>{var _0x1256d9=_0x56ddd4;_0xff0e3c[_0x1256d9(0x9cd)](_0x343dc7=>{null!=_0x343dc7&&_0x343dc7();});};}});class _0x4f8566{static[_0x480284(0x6e1)](_0x172e91,_0x159906){var _0x4e87e0=_0x480284;const _0x1d31f3=[];for(let _0x52cf83=0x0;_0x52cf83<_0x172e91;++_0x52cf83)_0x1d31f3[_0x4e87e0(0x731)](_0x159906());return _0x1d31f3;}static[_0x480284(0x1eb)](_0x739771,_0x4b17c0){return _0x4f8566['BuildArray'](_0x739771,_0x4b17c0);}}const _0x2f3cae=['push',_0x480284(0x557),_0x480284(0x45c),_0x480284(0xb16),_0x480284(0x333)];},0x75be:(_0x468cb2,_0x5d420d,_0x50f7c5)=>{_0x50f7c5['d'](_0x5d420d,{'AW':()=>function(_0x3e4058){var _0x42a8b1=a6_0x238e;return _0x3e4058[_0x42a8b1(0xc73)](/[.*+?^${}()|[\]\\]/g,_0x42a8b1(0x13c));},'Kt':()=>function(_0x140c9f){var _0x426196=a6_0x238e;let _0x1e6cf4=0x0,_0x48ff8b='',_0xc6e4c=!0x1;const _0x11a660=[];for(;_0x1e6cf4<_0x140c9f[_0x426196(0xb85)];){var _0x116f50,_0x431eea=_0x140c9f['charAt'](_0x1e6cf4);if(_0x48ff8b)_0x431eea===_0x48ff8b?'\x22'===_0x48ff8b||'\x27'===_0x48ff8b?('\x5c'!==_0x140c9f[_0x426196(0x734)](_0x1e6cf4-0x1)&&(_0x48ff8b=''),_0x11a660['push'](_0x431eea)):(_0x48ff8b='',_0xc6e4c=!0x1):'*/'===_0x48ff8b&&'*'===_0x431eea&&_0x1e6cf4+0x1<_0x140c9f['length']?''===(_0x48ff8b='/'===_0x140c9f['charAt'](_0x1e6cf4+0x1)?'':_0x48ff8b)&&(_0xc6e4c=!0x1,_0x1e6cf4++):_0xc6e4c||_0x11a660[_0x426196(0x731)](_0x431eea);else{switch(_0x431eea){case'\x22':case'\x27':case'`':_0x48ff8b=_0x431eea;break;case'/':_0x1e6cf4+0x1<_0x140c9f[_0x426196(0xb85)]&&('/'===(_0x116f50=_0x140c9f[_0x426196(0x734)](_0x1e6cf4+0x1))?(_0x48ff8b='\x0a',_0xc6e4c=!0x0):'*'===_0x116f50&&(_0x48ff8b='*/',_0xc6e4c=!0x0));}_0xc6e4c||_0x11a660['push'](_0x431eea);}_0x1e6cf4++;}return _0x11a660[_0x426196(0xb83)]('');},'Pm':()=>function(_0xa1a9d8,_0x284b5b){var _0x57d3a6=a6_0x238e;for(;_0x284b5b<_0xa1a9d8[_0x57d3a6(0xb85)];){var _0x15eea6=_0xa1a9d8[_0x284b5b];if('\x20'!==_0x15eea6&&'\x0a'!==_0x15eea6&&'\x0d'!==_0x15eea6&&'\x09'!==_0x15eea6&&'\x0a'!==_0x15eea6&&'\u00a0'!==_0x15eea6)break;_0x284b5b++;}return _0x284b5b;},'uA':()=>function(_0x1cf1fb){var _0x5c2c12=a6_0x238e;return _0x1cf1fb=_0x1cf1fb[_0x5c2c12(0xa29)](0x0),0x30<=_0x1cf1fb&&_0x1cf1fb<=0x39||0x41<=_0x1cf1fb&&_0x1cf1fb<=0x5a||0x61<=_0x1cf1fb&&_0x1cf1fb<=0x7a||0x5f==_0x1cf1fb;},'vt':()=>function(_0x1e1037,_0x2e0894,_0x157ae5,_0x3f478f){var _0x2c0e63=a6_0x238e;let _0x198196=_0x3f478f,_0x2003a4=0x0,_0x17aa11='';for(;_0x198196<_0x157ae5[_0x2c0e63(0xb85)];){var _0x4c4bfa,_0x5a11aa=_0x157ae5[_0x2c0e63(0x734)](_0x198196);if(_0x17aa11)_0x5a11aa===_0x17aa11?('\x22'!==_0x17aa11&&'\x27'!==_0x17aa11||'\x5c'!==_0x157ae5[_0x2c0e63(0x734)](_0x198196-0x1))&&(_0x17aa11=''):'*/'===_0x17aa11&&'*'===_0x5a11aa&&_0x198196+0x1<_0x157ae5[_0x2c0e63(0xb85)]&&''===(_0x17aa11='/'===_0x157ae5[_0x2c0e63(0x734)](_0x198196+0x1)?'':_0x17aa11)&&_0x198196++;else switch(_0x5a11aa){case _0x1e1037:_0x2003a4++;break;case _0x2e0894:_0x2003a4--;break;case'\x22':case'\x27':case'`':_0x17aa11=_0x5a11aa;break;case'/':_0x198196+0x1<_0x157ae5[_0x2c0e63(0xb85)]&&('/'===(_0x4c4bfa=_0x157ae5[_0x2c0e63(0x734)](_0x198196+0x1))?_0x17aa11='\x0a':'*'===_0x4c4bfa&&(_0x17aa11='*/'));}if(_0x198196++,0x0===_0x2003a4)break;}return 0x0===_0x2003a4?_0x198196-0x1:-0x1;},'wm':()=>function(_0x3954f7,_0x4aac35,_0x9fc8d2){var _0x59f2a1=a6_0x238e;for(;0x0<=_0x4aac35&&_0x3954f7[_0x59f2a1(0x734)](_0x4aac35)!==_0x9fc8d2;)_0x4aac35--;return _0x4aac35;}});},0x15cb9:(_0x31276e,_0xd4556c,_0x451461)=>{_0x451461['d'](_0xd4556c,{'S':()=>function(_0x1c6d6d){var _0x16b38e=a6_0x238e;return _0x1c6d6d+_0x16b38e(0x10a);}});},0x15d46:(_0x2050b9,_0x129e57,_0x2ac3c7)=>{var _0x38769b=a6_0x36115b;_0x2ac3c7['d'](_0x129e57,{'K':()=>_0xe502c6});var _0x457abd=_0x2ac3c7(0x10ea4),_0x238065=_0x2ac3c7(0xe456);class _0xe502c6{static[_0x38769b(0x3db)](_0x510f04){var _0x3cd3e9=_0x38769b;if(this[_0x3cd3e9(0x756)]&&this['RegisteredExternalClasses'][_0x510f04])return this[_0x3cd3e9(0x756)][_0x510f04];var _0x1f46d9=(0x0,_0x238065['q'])(_0x510f04);if(_0x1f46d9)return _0x1f46d9;_0x457abd['Y'][_0x3cd3e9(0x2e9)](_0x510f04+_0x3cd3e9(0x214));var _0x4a82e8=_0x510f04[_0x3cd3e9(0x9fa)]('.');let _0xa8660=window||this;for(let _0x4f3ae6=0x0,_0x3eaf1e=_0x4a82e8['length'];_0x4f3ae6<_0x3eaf1e;_0x4f3ae6++)_0xa8660=_0xa8660[_0x4a82e8[_0x4f3ae6]];return _0x3cd3e9(0x153)!=typeof _0xa8660?null:_0xa8660;}}_0xe502c6[_0x38769b(0x756)]={};},0xd78e:(_0xaa7525,_0x355c37,_0x479827)=>{var _0x1a2ef7=a6_0x36115b,_0x3e21e7=_0x479827(0xf96c),_0x4e4f33=_0x479827(0x9bf);_0x3e21e7['y$'][_0x1a2ef7(0x40f)][_0x1a2ef7(0xb3d)]=function(_0x14508a){var _0x5e828f=_0x1a2ef7,_0x1dc126;return this[_0x5e828f(0x795)]||(_0x1dc126=function(_0x50344d){var _0x562cbc=_0x5e828f;const _0x2f9152=new Array(),_0x1e2cdf=new Array(),_0x7303e7=new Array(),_0x1ae434=_0x50344d[_0x562cbc(0x4b6)](()=>{var _0x5c1576=_0x562cbc,_0x102ea6=_0x2f9152[_0x5c1576(0xb85)];for(let _0x4a5823=0x0;_0x4a5823<_0x102ea6;_0x4a5823++)(0x0,_0x4e4f33['WP'])(_0x2f9152[_0x5c1576(0xb16)](),_0x1e2cdf[_0x5c1576(0xb16)](),_0x7303e7[_0x5c1576(0xb16)]());});return{'scheduler':(_0xa6c10e,_0x452df0,_0x36e5a3)=>{var _0x1a4bb2=_0x562cbc;_0x2f9152[_0x1a4bb2(0x731)](_0xa6c10e),_0x1e2cdf[_0x1a4bb2(0x731)](_0x452df0),_0x7303e7[_0x1a4bb2(0x731)](_0x36e5a3);},'dispose':()=>{var _0x220f24=_0x562cbc;_0x50344d[_0x220f24(0x92f)](_0x1ae434);}};}(this),this[_0x5e828f(0x795)]=_0x1dc126[_0x5e828f(0x215)],this[_0x5e828f(0xbbe)]=_0x1dc126[_0x5e828f(0xae6)]),(0x0,_0x4e4f33['sM'])(_0x14508a,this[_0x5e828f(0x795)]);},_0x3e21e7['y$'][_0x1a2ef7(0x40f)][_0x1a2ef7(0x424)]=function(){var _0x213f2f=_0x1a2ef7;this[_0x213f2f(0xbbe)]&&this[_0x213f2f(0xbbe)](),this[_0x213f2f(0x795)]=void 0x0,this[_0x213f2f(0xbbe)]=void 0x0;};},0x1447:(_0x14d4dc,_0x558e52,_0x2153ff)=>{var _0xa5596c=a6_0x36115b;_0x2153ff['d'](_0x558e52,{'b':()=>_0x3c47b7});class _0x3c47b7{static[_0xa5596c(0x368)](_0x38bf76=0x3,_0x25e9be=0x1f4){var _0x173cde=_0xa5596c;return(_0x59ccba,_0x512c53,_0x109c58)=>0x0!==_0x512c53['status']||_0x38bf76<=_0x109c58||-0x1!==_0x59ccba[_0x173cde(0x168)](_0x173cde(0xcc3))?-0x1:Math[_0x173cde(0xb70)](0x2,_0x109c58)*_0x25e9be;}}},0x5de7:(_0x24216a,_0x3d61f5,_0x27b430)=>{var _0x49037a=a6_0x36115b;_0x27b430['d'](_0x3d61f5,{'x':()=>_0x3fe171});class _0x3fe171{constructor(){var _0x10e6e2=a6_0x238e;this[_0x10e6e2(0x792)]=0x0,this[_0x10e6e2(0x88a)]={};}[_0x49037a(0x373)](_0x15fa7d){var _0x36ab4a=_0x49037a;this[_0x36ab4a(0x20f)](),_0x15fa7d[_0x36ab4a(0x9cd)]((_0x310a38,_0x5a3dd9)=>this[_0x36ab4a(0x4b6)](_0x310a38,_0x5a3dd9));}[_0x49037a(0x2db)](_0x749872){_0x749872=this['_data'][_0x749872];if(void 0x0!==_0x749872)return _0x749872;}[_0x49037a(0x849)](_0x53b06a,_0x5062f4){var _0x26e2a9=_0x49037a;let _0x5e4140=this['get'](_0x53b06a);return void 0x0===_0x5e4140&&(_0x5e4140=_0x5062f4(_0x53b06a))&&this[_0x26e2a9(0x4b6)](_0x53b06a,_0x5e4140),_0x5e4140;}['getOrAdd'](_0x26811e,_0x374668){var _0x149008=_0x49037a,_0x39d147=this[_0x149008(0x2db)](_0x26811e);return void 0x0!==_0x39d147?_0x39d147:(this[_0x149008(0x4b6)](_0x26811e,_0x374668),_0x374668);}[_0x49037a(0x167)](_0x10395c){var _0x49ac76=_0x49037a;return void 0x0!==this[_0x49ac76(0x88a)][_0x10395c];}[_0x49037a(0x4b6)](_0x21c3f5,_0x229f11){return void 0x0===this['_data'][_0x21c3f5]&&(this['_data'][_0x21c3f5]=_0x229f11,++this['_count'],!0x0);}[_0x49037a(0xd4)](_0x51f818,_0x5a684b){var _0x127832=_0x49037a;return void 0x0!==this['_data'][_0x51f818]&&(this[_0x127832(0x88a)][_0x51f818]=_0x5a684b,!0x0);}['getAndRemove'](_0x533a3a){var _0x2c9f9e=_0x49037a,_0x40c4e0=this[_0x2c9f9e(0x2db)](_0x533a3a);return void 0x0!==_0x40c4e0?(delete this[_0x2c9f9e(0x88a)][_0x533a3a],--this[_0x2c9f9e(0x792)],_0x40c4e0):null;}[_0x49037a(0x92f)](_0x2e9896){var _0x5c3015=_0x49037a;return!!this['contains'](_0x2e9896)&&(delete this[_0x5c3015(0x88a)][_0x2e9896],--this[_0x5c3015(0x792)],!0x0);}['clear'](){var _0x18503f=_0x49037a;this[_0x18503f(0x88a)]={},this['_count']=0x0;}get['count'](){var _0x5ed155=_0x49037a;return this[_0x5ed155(0x792)];}[_0x49037a(0x9cd)](_0x1bdacb){var _0x51eab7=_0x49037a;for(const _0x23a811 in this[_0x51eab7(0x88a)]){var _0x39a1e5=this[_0x51eab7(0x88a)][_0x23a811];_0x1bdacb(_0x23a811,_0x39a1e5);}}['first'](_0x1a6c1){var _0x3d6399=_0x49037a;for(const _0x283cb8 in this[_0x3d6399(0x88a)]){var _0x51c849=this['_data'][_0x283cb8],_0x51c849=_0x1a6c1(_0x283cb8,_0x51c849);if(_0x51c849)return _0x51c849;}return null;}}},0x16361:(_0x30afef,_0x3dfade,_0x519e0e)=>{var _0x188af8=a6_0x36115b;_0x519e0e['d'](_0x3dfade,{'$':()=>_0x36693b});var _0x313240=_0x519e0e(0x17a1c);class _0x36693b{static[_0x188af8(0xbf1)](_0x50562a){var _0x488e56=_0x188af8;_0x50562a[_0x488e56(0x872)]=_0x50562a['_tags']||{},_0x50562a[_0x488e56(0x27b)]=()=>_0x36693b[_0x488e56(0x19d)](_0x50562a),_0x50562a['addTags']=_0x3e3672=>_0x36693b[_0x488e56(0x6e9)](_0x50562a,_0x3e3672),_0x50562a[_0x488e56(0xaa6)]=_0x533745=>_0x36693b['RemoveTagsFrom'](_0x50562a,_0x533745),_0x50562a[_0x488e56(0x3ea)]=_0x48be68=>_0x36693b[_0x488e56(0x7da)](_0x50562a,_0x48be68);}static['DisableFor'](_0x341bcb){var _0x459df1=_0x188af8;delete _0x341bcb[_0x459df1(0x872)],delete _0x341bcb[_0x459df1(0x27b)],delete _0x341bcb[_0x459df1(0x8b4)],delete _0x341bcb[_0x459df1(0xaa6)],delete _0x341bcb[_0x459df1(0x3ea)];}static[_0x188af8(0x19d)](_0x215468){var _0x44ace2=_0x188af8;if(!_0x215468[_0x44ace2(0x872)])return!0x1;var _0xd1e919=_0x215468[_0x44ace2(0x872)];for(const _0x4639b7 in _0xd1e919)if(Object[_0x44ace2(0x40f)][_0x44ace2(0x3e3)]['call'](_0xd1e919,_0x4639b7))return!0x0;return!0x1;}static['GetTags'](_0x28d2b7,_0x10478c=!0x0){var _0x557b5d=_0x188af8;if(!_0x28d2b7[_0x557b5d(0x872)])return null;if(_0x10478c){const _0x314919=[];for(const _0x12a5f1 in _0x28d2b7[_0x557b5d(0x872)])Object['prototype'][_0x557b5d(0x3e3)][_0x557b5d(0x3f7)](_0x28d2b7[_0x557b5d(0x872)],_0x12a5f1)&&!0x0===_0x28d2b7[_0x557b5d(0x872)][_0x12a5f1]&&_0x314919[_0x557b5d(0x731)](_0x12a5f1);return _0x314919[_0x557b5d(0xb83)]('\x20');}return _0x28d2b7[_0x557b5d(0x872)];}static[_0x188af8(0x6e9)](_0x42f80c,_0x973153){var _0x983575=_0x188af8;if(_0x973153&&_0x983575(0x1d3)==typeof _0x973153){const _0x3590d4=_0x973153[_0x983575(0x9fa)]('\x20');_0x3590d4[_0x983575(0x9cd)](function(_0x1855f5){var _0x2a7a4c=_0x983575;_0x36693b[_0x2a7a4c(0x778)](_0x42f80c,_0x1855f5);});}}static[_0x188af8(0x778)](_0x775c7a,_0x46a616){var _0x40bdcf=_0x188af8;''===(_0x46a616=_0x46a616[_0x40bdcf(0xa2e)]())||_0x40bdcf(0x7e7)===_0x46a616||'false'===_0x46a616||_0x46a616[_0x40bdcf(0x2f1)](/[\s]/)||_0x46a616['match'](/^([!]|([|]|[&]){2})/)||(_0x36693b['EnableFor'](_0x775c7a),_0x775c7a[_0x40bdcf(0x872)][_0x46a616]=!0x0);}static[_0x188af8(0x70c)](_0x3f9fc9,_0x54cba2){var _0x4abdc9=_0x188af8;if(_0x36693b[_0x4abdc9(0x19d)](_0x3f9fc9)){var _0x21f5a8=_0x54cba2[_0x4abdc9(0x9fa)]('\x20');for(const _0x42e4e9 in _0x21f5a8)_0x36693b[_0x4abdc9(0xbaf)](_0x3f9fc9,_0x21f5a8[_0x42e4e9]);}}static[_0x188af8(0xbaf)](_0x1570b4,_0x3602a5){var _0x39bb4a=_0x188af8;delete _0x1570b4[_0x39bb4a(0x872)][_0x3602a5];}static[_0x188af8(0x7da)](_0x2f2803,_0x3f0bcc){var _0x799c17=_0x188af8;return void 0x0===_0x3f0bcc||(''===_0x3f0bcc?_0x36693b['HasTags'](_0x2f2803):_0x313240['q']['Eval'](_0x3f0bcc,_0x7b756=>_0x36693b['HasTags'](_0x2f2803)&&_0x2f2803[_0x799c17(0x872)][_0x7b756]));}}},0xd84a:(_0x5ea80a,_0x34e9c5,_0x4c2198)=>{_0x4c2198['d'](_0x34e9c5,{'Q':()=>_0x5dce90});var _0x1e13f3=_0x4c2198(0x18233);class _0x5dce90{static['SetImmediate'](_0x239e4e){var _0x2269bf=a6_0x238e;(0x0,_0x1e13f3['CG'])()&&window[_0x2269bf(0x88b)]?window['setImmediate'](_0x239e4e):setTimeout(_0x239e4e,0x1);}}},0xc98:(_0x1e494a,_0x46cae8,_0xb1db0a)=>{var _0x124d6d=a6_0x36115b;_0xb1db0a['d'](_0x46cae8,{'L':()=>_0x1cf869});var _0x4f31a8=_0xb1db0a(0x1266b),_0x278748=_0xb1db0a(0x9fd1),_0x19ae50=_0xb1db0a(0x1b5c);class _0x1cf869{constructor(_0x29b78f=0x1,_0x36c181=Math['PI'],_0x189404=0x0){var _0x2865da=a6_0x238e;this['directionRandomizer']=_0x189404,this[_0x2865da(0x94d)]=0x1,this['heightRange']=0x1,this[_0x2865da(0x45d)]=!0x1,this[_0x2865da(0x896)]=_0x36c181,this[_0x2865da(0x97a)]=_0x29b78f;}get[_0x124d6d(0x97a)](){var _0x47c23b=_0x124d6d;return this[_0x47c23b(0x3fb)];}set[_0x124d6d(0x97a)](_0x45e711){var _0x56f6f8=_0x124d6d;this['_radius']=_0x45e711,this[_0x56f6f8(0x973)]();}get['angle'](){var _0x100e51=_0x124d6d;return this[_0x100e51(0x8e5)];}set[_0x124d6d(0x896)](_0x425a87){var _0x2584ca=_0x124d6d;this[_0x2584ca(0x8e5)]=_0x425a87,this['_buildHeight']();}[_0x124d6d(0x973)](){var _0x5ef75e=_0x124d6d;0x0!==this['_angle']?this[_0x5ef75e(0x4c8)]=this[_0x5ef75e(0x3fb)]/Math[_0x5ef75e(0x2f8)](this['_angle']/0x2):this[_0x5ef75e(0x4c8)]=0x1;}[_0x124d6d(0xbf9)](_0x4f7897,_0x48799b,_0x2731e1,_0x1070be){var _0x47226e=_0x124d6d;(_0x1070be?_0x278748['jp'][_0x47226e(0xbb3)][0x0][_0x47226e(0x373)](_0x2731e1[_0x47226e(0x943)]):_0x2731e1[_0x47226e(0x66a)][_0x47226e(0x10f)](_0x4f7897['getTranslation'](),_0x278748['jp']['Vector3'][0x0]))['normalize'](),(_0x1070be=_0x19ae50['R'][_0x47226e(0xc36)](0x0,this['directionRandomizer']),_0x2731e1=_0x19ae50['R'][_0x47226e(0xc36)](0x0,this[_0x47226e(0x800)]),_0x4f7897=_0x19ae50['R'][_0x47226e(0xc36)](0x0,this[_0x47226e(0x800)])),(_0x48799b['x']=_0x278748['jp'][_0x47226e(0xbb3)][0x0]['x']+_0x1070be,_0x48799b['y']=_0x278748['jp']['Vector3'][0x0]['y']+_0x2731e1,_0x48799b['z']=_0x278748['jp'][_0x47226e(0xbb3)][0x0]['z']+_0x4f7897,_0x48799b[_0x47226e(0x4b7)]());}['startPositionFunction'](_0x1881e6,_0x17f43b,_0x254648,_0x305f53){var _0x299a97=_0x124d6d,_0xf61e81=_0x19ae50['R']['RandomRange'](0x0,0x2*Math['PI']);let _0x5344cc;_0x5344cc=this[_0x299a97(0x45d)]?0.0001:0x1-(_0x5344cc=_0x19ae50['R'][_0x299a97(0xc36)](0x0,this['heightRange']))*_0x5344cc;var _0x4c5b0e=this['_radius']-_0x19ae50['R'][_0x299a97(0xc36)](0x0,this[_0x299a97(0x3fb)]*this['radiusRange']),_0x32f602=(_0x4c5b0e*=_0x5344cc)*Math['sin'](_0xf61e81),_0x4c5b0e=_0x4c5b0e*Math['cos'](_0xf61e81),_0xf61e81=_0x5344cc*this[_0x299a97(0x4c8)];if(_0x305f53)return _0x17f43b['x']=_0x32f602,_0x17f43b['y']=_0xf61e81,void(_0x17f43b['z']=_0x4c5b0e);_0x278748['P'][_0x299a97(0x678)](_0x32f602,_0xf61e81,_0x4c5b0e,_0x1881e6,_0x17f43b);}[_0x124d6d(0x21d)](){var _0x196a7f=_0x124d6d,_0x13ccb2=new _0x1cf869(this[_0x196a7f(0x3fb)],this[_0x196a7f(0x8e5)],this[_0x196a7f(0x800)]);return _0x4f31a8['j'][_0x196a7f(0xcca)](this,_0x13ccb2),_0x13ccb2;}[_0x124d6d(0x9eb)](_0x25ed21){var _0x5d01ac=_0x124d6d;_0x25ed21['setFloat2']('radius',this[_0x5d01ac(0x3fb)],this[_0x5d01ac(0x94d)]),_0x25ed21['setFloat'](_0x5d01ac(0x36e),this[_0x5d01ac(0x8e5)]),_0x25ed21[_0x5d01ac(0x6da)]('height',this[_0x5d01ac(0x4c8)],this[_0x5d01ac(0x889)]),_0x25ed21[_0x5d01ac(0x2ea)](_0x5d01ac(0x800),this['directionRandomizer']);}['buildUniformLayout'](_0x5e4311){var _0x37cb04=_0x124d6d;_0x5e4311['addUniform'](_0x37cb04(0x97a),0x2),_0x5e4311[_0x37cb04(0xbe8)](_0x37cb04(0x36e),0x1),_0x5e4311[_0x37cb04(0xbe8)](_0x37cb04(0x831),0x2),_0x5e4311[_0x37cb04(0xbe8)]('directionRandomizer',0x1);}['getEffectDefines'](){var _0x23cb9f=_0x124d6d;let _0x3c76f3=_0x23cb9f(0x9c0);return this[_0x23cb9f(0x45d)]&&(_0x3c76f3+=_0x23cb9f(0x54b)),_0x3c76f3;}[_0x124d6d(0x8af)](){var _0x8342bf=_0x124d6d;return _0x8342bf(0x3ce);}['serialize'](){var _0x4c385b=_0x124d6d;const _0x56d1f5={};return _0x56d1f5[_0x4c385b(0x6a4)]=this['getClassName'](),_0x56d1f5[_0x4c385b(0x97a)]=this[_0x4c385b(0x3fb)],_0x56d1f5['angle']=this[_0x4c385b(0x8e5)],_0x56d1f5[_0x4c385b(0x800)]=this[_0x4c385b(0x800)],_0x56d1f5['radiusRange']=this['radiusRange'],_0x56d1f5[_0x4c385b(0x889)]=this[_0x4c385b(0x889)],_0x56d1f5[_0x4c385b(0x45d)]=this[_0x4c385b(0x45d)],_0x56d1f5;}['parse'](_0x315d7b){var _0xed53ae=_0x124d6d;this[_0xed53ae(0x97a)]=_0x315d7b[_0xed53ae(0x97a)],this[_0xed53ae(0x896)]=_0x315d7b['angle'],this[_0xed53ae(0x800)]=_0x315d7b['directionRandomizer'],this['radiusRange']=void 0x0!==_0x315d7b[_0xed53ae(0x94d)]?_0x315d7b[_0xed53ae(0x94d)]:0x1,this[_0xed53ae(0x889)]=void 0x0!==_0x315d7b[_0xed53ae(0x94d)]?_0x315d7b[_0xed53ae(0x889)]:0x1,this[_0xed53ae(0x45d)]=void 0x0!==_0x315d7b[_0xed53ae(0x45d)]&&_0x315d7b[_0xed53ae(0x45d)];}}},0x3694:(_0x1e01c1,_0x329235,_0x52e9bd)=>{var _0x45bfe9=a6_0x36115b;_0x52e9bd['d'](_0x329235,{'k':()=>_0x339e9d,'z':()=>_0x1e3659});var _0x3d4dcb=_0x52e9bd(0x9fd1),_0x2d92a6=_0x52e9bd(0x1b5c),_0x2a833b=_0x52e9bd(0x1266b);class _0x339e9d{constructor(_0x4b4bca=0x1,_0x4167d6=0x1,_0x5c6858=0x1,_0x54a86a=0x0){var _0x18b5a4=a6_0x238e;this[_0x18b5a4(0x97a)]=_0x4b4bca,this[_0x18b5a4(0x831)]=_0x4167d6,this[_0x18b5a4(0x94d)]=_0x5c6858,this[_0x18b5a4(0x800)]=_0x54a86a,this[_0x18b5a4(0xae4)]=_0x3d4dcb['P'][_0x18b5a4(0x90f)]();}[_0x45bfe9(0xbf9)](_0x171c1f,_0x5ad74e,_0x3d3f4f,_0x48ae06,_0x1e91c3){var _0x484622=_0x45bfe9;_0x3d3f4f[_0x484622(0x66a)][_0x484622(0x10f)](_0x171c1f[_0x484622(0x277)](),this['_tempVector']),this[_0x484622(0xae4)][_0x484622(0x4b7)](),_0x3d4dcb['P'][_0x484622(0xf5)](this[_0x484622(0xae4)],_0x1e91c3,this[_0x484622(0xae4)]),(_0x3d3f4f=_0x2d92a6['R']['RandomRange'](-this[_0x484622(0x800)]/0x2,this['directionRandomizer']/0x2),_0x1e91c3=Math[_0x484622(0xc9a)](this['_tempVector']['x'],this[_0x484622(0xae4)]['z'])),(_0x1e91c3+=_0x2d92a6['R']['RandomRange'](-Math['PI']/0x2,Math['PI']/0x2)*this['directionRandomizer'],this[_0x484622(0xae4)]['y']=_0x3d3f4f,this[_0x484622(0xae4)]['x']=Math[_0x484622(0x9c5)](_0x1e91c3),this['_tempVector']['z']=Math['cos'](_0x1e91c3),this['_tempVector'][_0x484622(0x4b7)](),_0x48ae06?_0x5ad74e[_0x484622(0x373)](this[_0x484622(0xae4)]):_0x3d4dcb['P'][_0x484622(0x637)](this[_0x484622(0xae4)]['x'],this[_0x484622(0xae4)]['y'],this['_tempVector']['z'],_0x171c1f,_0x5ad74e));}['startPositionFunction'](_0x5c14c8,_0x1c193c,_0x2dddf1,_0x19ca10){var _0xcb5e1e=_0x45bfe9,_0x4c1d83=_0x2d92a6['R'][_0xcb5e1e(0xc36)](-this[_0xcb5e1e(0x831)]/0x2,this[_0xcb5e1e(0x831)]/0x2),_0x24df13=_0x2d92a6['R']['RandomRange'](0x0,0x2*Math['PI']),_0x6e6512=_0x2d92a6['R'][_0xcb5e1e(0xc36)]((0x1-this['radiusRange'])*(0x1-this[_0xcb5e1e(0x94d)]),0x1),_0x6e6512=Math[_0xcb5e1e(0x3dc)](_0x6e6512)*this[_0xcb5e1e(0x97a)],_0x1f5075=_0x6e6512*Math[_0xcb5e1e(0x92d)](_0x24df13),_0x6e6512=_0x6e6512*Math['sin'](_0x24df13);_0x19ca10?_0x1c193c[_0xcb5e1e(0x37c)](_0x1f5075,_0x4c1d83,_0x6e6512):_0x3d4dcb['P'][_0xcb5e1e(0x678)](_0x1f5075,_0x4c1d83,_0x6e6512,_0x5c14c8,_0x1c193c);}['clone'](){var _0x51b1c3=new _0x339e9d(this['radius'],this['directionRandomizer']);return _0x2a833b['j']['DeepCopy'](this,_0x51b1c3),_0x51b1c3;}[_0x45bfe9(0x9eb)](_0x5bff86){var _0x45c2ba=_0x45bfe9;_0x5bff86[_0x45c2ba(0x2ea)](_0x45c2ba(0x97a),this[_0x45c2ba(0x97a)]),_0x5bff86[_0x45c2ba(0x2ea)](_0x45c2ba(0x831),this[_0x45c2ba(0x831)]),_0x5bff86[_0x45c2ba(0x2ea)](_0x45c2ba(0x94d),this['radiusRange']),_0x5bff86[_0x45c2ba(0x2ea)](_0x45c2ba(0x800),this[_0x45c2ba(0x800)]);}[_0x45bfe9(0x69d)](_0x2a7f89){var _0x15889e=_0x45bfe9;_0x2a7f89[_0x15889e(0xbe8)](_0x15889e(0x97a),0x1),_0x2a7f89['addUniform']('height',0x1),_0x2a7f89['addUniform']('radiusRange',0x1),_0x2a7f89[_0x15889e(0xbe8)](_0x15889e(0x800),0x1);}[_0x45bfe9(0x7c3)](){return'#define\x20CYLINDEREMITTER';}[_0x45bfe9(0x8af)](){var _0xf16aa1=_0x45bfe9;return _0xf16aa1(0x2c6);}['serialize'](){var _0x228529=_0x45bfe9;const _0x176fa7={};return _0x176fa7['type']=this['getClassName'](),_0x176fa7[_0x228529(0x97a)]=this[_0x228529(0x97a)],_0x176fa7[_0x228529(0x831)]=this[_0x228529(0x831)],_0x176fa7['radiusRange']=this[_0x228529(0x94d)],_0x176fa7['directionRandomizer']=this[_0x228529(0x800)],_0x176fa7;}[_0x45bfe9(0x9d1)](_0x4cbf72){var _0x3dc77a=_0x45bfe9;this[_0x3dc77a(0x97a)]=_0x4cbf72[_0x3dc77a(0x97a)],this[_0x3dc77a(0x831)]=_0x4cbf72[_0x3dc77a(0x831)],this[_0x3dc77a(0x94d)]=_0x4cbf72[_0x3dc77a(0x94d)],this[_0x3dc77a(0x800)]=_0x4cbf72[_0x3dc77a(0x800)];}}class _0x1e3659 extends _0x339e9d{constructor(_0x352d23=0x1,_0x2a12d6=0x1,_0x2bc684=0x1,_0x2cbebd=new _0x3d4dcb['P'](0x0,0x1,0x0),_0x545967=new _0x3d4dcb['P'](0x0,0x1,0x0)){var _0x209c38=_0x45bfe9;super(_0x352d23,_0x2a12d6,_0x2bc684),this[_0x209c38(0x806)]=_0x2cbebd,this[_0x209c38(0x53e)]=_0x545967;}[_0x45bfe9(0xbf9)](_0x43cb0e,_0x2758cd){var _0x38cbb8=_0x45bfe9,_0x418870=_0x2d92a6['R'][_0x38cbb8(0xc36)](this[_0x38cbb8(0x806)]['x'],this[_0x38cbb8(0x53e)]['x']),_0x347a10=_0x2d92a6['R'][_0x38cbb8(0xc36)](this['direction1']['y'],this['direction2']['y']),_0x243b37=_0x2d92a6['R'][_0x38cbb8(0xc36)](this[_0x38cbb8(0x806)]['z'],this[_0x38cbb8(0x53e)]['z']);_0x3d4dcb['P'][_0x38cbb8(0x637)](_0x418870,_0x347a10,_0x243b37,_0x43cb0e,_0x2758cd);}['clone'](){var _0x28824e=_0x45bfe9,_0x4427c7=new _0x1e3659(this[_0x28824e(0x97a)],this[_0x28824e(0x831)],this[_0x28824e(0x94d)],this[_0x28824e(0x806)],this[_0x28824e(0x53e)]);return _0x2a833b['j'][_0x28824e(0xcca)](this,_0x4427c7),_0x4427c7;}['applyToShader'](_0x181d3c){var _0x5985b8=_0x45bfe9;_0x181d3c['setFloat']('radius',this[_0x5985b8(0x97a)]),_0x181d3c[_0x5985b8(0x2ea)](_0x5985b8(0x831),this[_0x5985b8(0x831)]),_0x181d3c[_0x5985b8(0x2ea)](_0x5985b8(0x94d),this[_0x5985b8(0x94d)]),_0x181d3c[_0x5985b8(0x36f)]('direction1',this[_0x5985b8(0x806)]),_0x181d3c[_0x5985b8(0x36f)]('direction2',this[_0x5985b8(0x53e)]);}[_0x45bfe9(0x69d)](_0x349440){var _0x1ff263=_0x45bfe9;_0x349440[_0x1ff263(0xbe8)](_0x1ff263(0x97a),0x1),_0x349440[_0x1ff263(0xbe8)]('height',0x1),_0x349440['addUniform']('radiusRange',0x1),_0x349440[_0x1ff263(0xbe8)](_0x1ff263(0x806),0x3),_0x349440[_0x1ff263(0xbe8)](_0x1ff263(0x53e),0x3);}[_0x45bfe9(0x7c3)](){var _0x26423b=_0x45bfe9;return _0x26423b(0x50f);}['getClassName'](){var _0x5b0340=_0x45bfe9;return _0x5b0340(0x552);}[_0x45bfe9(0xa55)](){var _0x2b55a4=_0x45bfe9;const _0x40d382=super['serialize']();return _0x40d382['direction1']=this[_0x2b55a4(0x806)][_0x2b55a4(0x567)](),_0x40d382['direction2']=this['direction2'][_0x2b55a4(0x567)](),_0x40d382;}[_0x45bfe9(0x9d1)](_0x5d4ed5){var _0x5a77ba=_0x45bfe9;super[_0x5a77ba(0x9d1)](_0x5d4ed5),this[_0x5a77ba(0x806)][_0x5a77ba(0x373)](_0x5d4ed5[_0x5a77ba(0x806)]),this[_0x5a77ba(0x53e)][_0x5a77ba(0x373)](_0x5d4ed5[_0x5a77ba(0x53e)]);}}},0x139b8:(_0x13bb99,_0x21a068,_0x1d3d28)=>{var _0x201147=a6_0x36115b;_0x1d3d28['d'](_0x21a068,{'V':()=>_0x57f375});var _0x4b9ad0=_0x1d3d28(0x1266b),_0x184fe2=_0x1d3d28(0x9fd1),_0x9eab59=_0x1d3d28(0x1b5c);class _0x57f375{constructor(_0x4e4abd=0x1,_0x1f7780=0x1,_0x2578ed=0x0){var _0x407032=a6_0x238e;this[_0x407032(0x97a)]=_0x4e4abd,this['radiusRange']=_0x1f7780,this['directionRandomizer']=_0x2578ed;}['startDirectionFunction'](_0x110fa3,_0x4f9bab,_0x448ebf,_0x38e028){var _0x53b041=a6_0x238e;const _0x996cc8=_0x448ebf['position'][_0x53b041(0x2a7)](_0x110fa3[_0x53b041(0x277)]())[_0x53b041(0x4b7)]();var _0x448ebf=_0x9eab59['R'][_0x53b041(0xc36)](0x0,this[_0x53b041(0x800)]),_0x4f65ee=_0x9eab59['R'][_0x53b041(0xc36)](0x0,this['directionRandomizer']),_0x573cdc=_0x9eab59['R'][_0x53b041(0xc36)](0x0,this[_0x53b041(0x800)]);_0x996cc8['x']+=_0x448ebf,_0x996cc8['y']+=_0x4f65ee,_0x996cc8['z']+=_0x573cdc,_0x996cc8['normalize'](),_0x38e028?_0x4f9bab[_0x53b041(0x373)](_0x996cc8):_0x184fe2['P']['TransformNormalFromFloatsToRef'](_0x996cc8['x'],_0x996cc8['y'],_0x996cc8['z'],_0x110fa3,_0x4f9bab);}['startPositionFunction'](_0x20d03e,_0x367ea7,_0x4022a6,_0x54160b){var _0x414b79=a6_0x238e,_0x1b4aba=this[_0x414b79(0x97a)]-_0x9eab59['R']['RandomRange'](0x0,this[_0x414b79(0x97a)]*this[_0x414b79(0x94d)]),_0x318402=_0x9eab59['R']['RandomRange'](0x0,0x1),_0x209bec=_0x9eab59['R'][_0x414b79(0xc36)](0x0,0x2*Math['PI']),_0x318402=Math['acos'](0x2*_0x318402-0x1),_0xfe8464=_0x1b4aba*Math[_0x414b79(0x92d)](_0x209bec)*Math[_0x414b79(0x9c5)](_0x318402),_0x2fb277=_0x1b4aba*Math['cos'](_0x318402),_0x1b4aba=_0x1b4aba*Math[_0x414b79(0x9c5)](_0x209bec)*Math[_0x414b79(0x9c5)](_0x318402);_0x54160b?_0x367ea7[_0x414b79(0x37c)](_0xfe8464,Math[_0x414b79(0xc0b)](_0x2fb277),_0x1b4aba):_0x184fe2['P'][_0x414b79(0x678)](_0xfe8464,Math[_0x414b79(0xc0b)](_0x2fb277),_0x1b4aba,_0x20d03e,_0x367ea7);}['clone'](){var _0x475eab=a6_0x238e,_0x3d8869=new _0x57f375(this[_0x475eab(0x97a)],this[_0x475eab(0x800)]);return _0x4b9ad0['j'][_0x475eab(0xcca)](this,_0x3d8869),_0x3d8869;}['applyToShader'](_0x246ff0){var _0xf59ba9=a6_0x238e;_0x246ff0[_0xf59ba9(0x2ea)]('radius',this[_0xf59ba9(0x97a)]),_0x246ff0[_0xf59ba9(0x2ea)](_0xf59ba9(0x94d),this[_0xf59ba9(0x94d)]),_0x246ff0[_0xf59ba9(0x2ea)]('directionRandomizer',this['directionRandomizer']);}[_0x201147(0x69d)](_0x2dcc1f){var _0x2f57b3=_0x201147;_0x2dcc1f[_0x2f57b3(0xbe8)](_0x2f57b3(0x97a),0x1),_0x2dcc1f[_0x2f57b3(0xbe8)](_0x2f57b3(0x94d),0x1),_0x2dcc1f[_0x2f57b3(0xbe8)]('directionRandomizer',0x1);}[_0x201147(0x7c3)](){var _0x44942f=_0x201147;return _0x44942f(0x203);}[_0x201147(0x8af)](){var _0x369eea=_0x201147;return _0x369eea(0xcd3);}['serialize'](){var _0x1503bf=_0x201147;const _0x1cab4f={};return _0x1cab4f[_0x1503bf(0x6a4)]=this[_0x1503bf(0x8af)](),_0x1cab4f[_0x1503bf(0x97a)]=this['radius'],_0x1cab4f['radiusRange']=this[_0x1503bf(0x94d)],_0x1cab4f[_0x1503bf(0x800)]=this[_0x1503bf(0x800)],_0x1cab4f;}[_0x201147(0x9d1)](_0x7f8bc0){var _0x119346=_0x201147;this[_0x119346(0x97a)]=_0x7f8bc0[_0x119346(0x97a)],this[_0x119346(0x94d)]=_0x7f8bc0[_0x119346(0x94d)],this['directionRandomizer']=_0x7f8bc0[_0x119346(0x800)];}}},0x14ce1:(_0x5ee792,_0x9dab58,_0xd78098)=>{var _0x4a5408=a6_0x36115b;_0xd78098['d'](_0x9dab58,{'c':()=>_0x26314e});var _0x4535e4=_0xd78098(0x1266b),_0x2582e9=_0xd78098(0x9fd1),_0x34f9f0=_0xd78098(0x1b5c);class _0x26314e{constructor(){var _0x2646f3=a6_0x238e;this[_0x2646f3(0x806)]=new _0x2582e9['P'](0x0,0x1,0x0),this[_0x2646f3(0x53e)]=new _0x2582e9['P'](0x0,0x1,0x0);}[_0x4a5408(0xbf9)](_0x32e672,_0x48ad73,_0x8f498d,_0x112c76){var _0x202b3a=_0x4a5408,_0x1555e1=_0x34f9f0['R'][_0x202b3a(0xc36)](this[_0x202b3a(0x806)]['x'],this[_0x202b3a(0x53e)]['x']),_0x1d695c=_0x34f9f0['R'][_0x202b3a(0xc36)](this[_0x202b3a(0x806)]['y'],this['direction2']['y']),_0xc94c92=_0x34f9f0['R'][_0x202b3a(0xc36)](this[_0x202b3a(0x806)]['z'],this[_0x202b3a(0x53e)]['z']);_0x112c76?_0x48ad73[_0x202b3a(0x37c)](_0x1555e1,_0x1d695c,_0xc94c92):_0x2582e9['P']['TransformNormalFromFloatsToRef'](_0x1555e1,_0x1d695c,_0xc94c92,_0x32e672,_0x48ad73);}['startPositionFunction'](_0x18d888,_0x165be9,_0x4930ed,_0x5998e3){var _0x160372=_0x4a5408;_0x5998e3?_0x165be9[_0x160372(0x37c)](0x0,0x0,0x0):_0x2582e9['P']['TransformCoordinatesFromFloatsToRef'](0x0,0x0,0x0,_0x18d888,_0x165be9);}[_0x4a5408(0x21d)](){var _0x4a5f13=_0x4a5408,_0x5ad56b=new _0x26314e();return _0x4535e4['j'][_0x4a5f13(0xcca)](this,_0x5ad56b),_0x5ad56b;}[_0x4a5408(0x9eb)](_0x10e4d1){var _0x5b6b57=_0x4a5408;_0x10e4d1[_0x5b6b57(0x36f)]('direction1',this['direction1']),_0x10e4d1[_0x5b6b57(0x36f)](_0x5b6b57(0x53e),this[_0x5b6b57(0x53e)]);}[_0x4a5408(0x69d)](_0x1c619e){var _0x11c6ac=_0x4a5408;_0x1c619e[_0x11c6ac(0xbe8)](_0x11c6ac(0x806),0x3),_0x1c619e['addUniform'](_0x11c6ac(0x53e),0x3);}[_0x4a5408(0x7c3)](){var _0x46f4b2=_0x4a5408;return _0x46f4b2(0x846);}[_0x4a5408(0x8af)](){var _0x51183c=_0x4a5408;return _0x51183c(0xa39);}[_0x4a5408(0xa55)](){var _0x3103d1=_0x4a5408;const _0x3abfb0={};return _0x3abfb0[_0x3103d1(0x6a4)]=this[_0x3103d1(0x8af)](),_0x3abfb0[_0x3103d1(0x806)]=this[_0x3103d1(0x806)][_0x3103d1(0x567)](),_0x3abfb0[_0x3103d1(0x53e)]=this[_0x3103d1(0x53e)]['asArray'](),_0x3abfb0;}['parse'](_0xf0dba4){var _0x1c742b=_0x4a5408;_0x2582e9['P'][_0x1c742b(0xa99)](_0xf0dba4[_0x1c742b(0x806)],0x0,this['direction1']),_0x2582e9['P']['FromArrayToRef'](_0xf0dba4[_0x1c742b(0x53e)],0x0,this['direction2']);}}},0x1511c:(_0x4d7471,_0x5d946f,_0x27e0d7)=>{var _0x577513=a6_0x36115b;_0x27e0d7['d'](_0x5d946f,{'A':()=>_0x5019bd,'c':()=>_0x430072});var _0x32bc14=_0x27e0d7(0x9fd1),_0x58f327=_0x27e0d7(0x1b5c),_0x50b397=_0x27e0d7(0x1266b);class _0x5019bd{constructor(_0x5b04a5=0x1,_0xe1dfd4=0x1,_0x1f28d2=0x0){var _0x3f0445=a6_0x238e;this[_0x3f0445(0x97a)]=_0x5b04a5,this['radiusRange']=_0xe1dfd4,this[_0x3f0445(0x800)]=_0x1f28d2;}[_0x577513(0xbf9)](_0x4e5049,_0x273ba0,_0x187305,_0xfb55c9){var _0x4671e6=_0x577513;const _0x562948=_0x187305[_0x4671e6(0x66a)][_0x4671e6(0x2a7)](_0x4e5049['getTranslation']())[_0x4671e6(0x4b7)]();var _0x187305=_0x58f327['R'][_0x4671e6(0xc36)](0x0,this[_0x4671e6(0x800)]),_0x336e1a=_0x58f327['R']['RandomRange'](0x0,this['directionRandomizer']),_0x46847f=_0x58f327['R'][_0x4671e6(0xc36)](0x0,this[_0x4671e6(0x800)]);_0x562948['x']+=_0x187305,_0x562948['y']+=_0x336e1a,_0x562948['z']+=_0x46847f,_0x562948[_0x4671e6(0x4b7)](),_0xfb55c9?_0x273ba0['copyFrom'](_0x562948):_0x32bc14['P'][_0x4671e6(0x637)](_0x562948['x'],_0x562948['y'],_0x562948['z'],_0x4e5049,_0x273ba0);}[_0x577513(0xa0f)](_0x4cc505,_0x2796c1,_0x28d4d7,_0x1ae23a){var _0x44645e=_0x577513,_0x2cf75d=this['radius']-_0x58f327['R']['RandomRange'](0x0,this[_0x44645e(0x97a)]*this[_0x44645e(0x94d)]),_0xae2db3=_0x58f327['R'][_0x44645e(0xc36)](0x0,0x1),_0x244be5=_0x58f327['R'][_0x44645e(0xc36)](0x0,0x2*Math['PI']),_0xae2db3=Math['acos'](0x2*_0xae2db3-0x1),_0x526d7f=_0x2cf75d*Math[_0x44645e(0x92d)](_0x244be5)*Math['sin'](_0xae2db3),_0x29fc9d=_0x2cf75d*Math[_0x44645e(0x92d)](_0xae2db3),_0x2cf75d=_0x2cf75d*Math[_0x44645e(0x9c5)](_0x244be5)*Math[_0x44645e(0x9c5)](_0xae2db3);_0x1ae23a?_0x2796c1[_0x44645e(0x37c)](_0x526d7f,_0x29fc9d,_0x2cf75d):_0x32bc14['P'][_0x44645e(0x678)](_0x526d7f,_0x29fc9d,_0x2cf75d,_0x4cc505,_0x2796c1);}[_0x577513(0x21d)](){var _0x47b951=_0x577513,_0x31e15f=new _0x5019bd(this[_0x47b951(0x97a)],this[_0x47b951(0x800)]);return _0x50b397['j'][_0x47b951(0xcca)](this,_0x31e15f),_0x31e15f;}[_0x577513(0x9eb)](_0x24e570){var _0xfbde75=_0x577513;_0x24e570[_0xfbde75(0x2ea)](_0xfbde75(0x97a),this[_0xfbde75(0x97a)]),_0x24e570[_0xfbde75(0x2ea)](_0xfbde75(0x94d),this[_0xfbde75(0x94d)]),_0x24e570['setFloat']('directionRandomizer',this[_0xfbde75(0x800)]);}[_0x577513(0x69d)](_0x3f7a48){var _0x69abc5=_0x577513;_0x3f7a48['addUniform'](_0x69abc5(0x97a),0x1),_0x3f7a48['addUniform'](_0x69abc5(0x94d),0x1),_0x3f7a48[_0x69abc5(0xbe8)]('directionRandomizer',0x1);}['getEffectDefines'](){var _0x4cd906=_0x577513;return _0x4cd906(0x3e8);}[_0x577513(0x8af)](){var _0x15e997=_0x577513;return _0x15e997(0x935);}[_0x577513(0xa55)](){var _0x59416b=_0x577513;const _0x1b25f2={};return _0x1b25f2[_0x59416b(0x6a4)]=this['getClassName'](),_0x1b25f2['radius']=this[_0x59416b(0x97a)],_0x1b25f2[_0x59416b(0x94d)]=this[_0x59416b(0x94d)],_0x1b25f2[_0x59416b(0x800)]=this[_0x59416b(0x800)],_0x1b25f2;}[_0x577513(0x9d1)](_0x723593){var _0x2b08fe=_0x577513;this[_0x2b08fe(0x97a)]=_0x723593[_0x2b08fe(0x97a)],this[_0x2b08fe(0x94d)]=_0x723593[_0x2b08fe(0x94d)],this[_0x2b08fe(0x800)]=_0x723593[_0x2b08fe(0x800)];}}class _0x430072 extends _0x5019bd{constructor(_0x67c0b0=0x1,_0x1c3474=new _0x32bc14['P'](0x0,0x1,0x0),_0x142e86=new _0x32bc14['P'](0x0,0x1,0x0)){super(_0x67c0b0),this['direction1']=_0x1c3474,this['direction2']=_0x142e86;}['startDirectionFunction'](_0xd076c6,_0x21e6d9){var _0x53dbcd=_0x577513,_0x1e8a9a=_0x58f327['R'][_0x53dbcd(0xc36)](this[_0x53dbcd(0x806)]['x'],this[_0x53dbcd(0x53e)]['x']),_0x46dddd=_0x58f327['R'][_0x53dbcd(0xc36)](this[_0x53dbcd(0x806)]['y'],this[_0x53dbcd(0x53e)]['y']),_0x4768c=_0x58f327['R']['RandomRange'](this[_0x53dbcd(0x806)]['z'],this[_0x53dbcd(0x53e)]['z']);_0x32bc14['P'][_0x53dbcd(0x637)](_0x1e8a9a,_0x46dddd,_0x4768c,_0xd076c6,_0x21e6d9);}['clone'](){var _0xf96ef2=_0x577513,_0x247f81=new _0x430072(this[_0xf96ef2(0x97a)],this[_0xf96ef2(0x806)],this[_0xf96ef2(0x53e)]);return _0x50b397['j'][_0xf96ef2(0xcca)](this,_0x247f81),_0x247f81;}['applyToShader'](_0x303fa8){var _0x1f079f=_0x577513;_0x303fa8[_0x1f079f(0x2ea)](_0x1f079f(0x97a),this['radius']),_0x303fa8[_0x1f079f(0x2ea)](_0x1f079f(0x94d),this[_0x1f079f(0x94d)]),_0x303fa8[_0x1f079f(0x36f)](_0x1f079f(0x806),this[_0x1f079f(0x806)]),_0x303fa8['setVector3']('direction2',this['direction2']);}[_0x577513(0x69d)](_0x1b2ce3){var _0x14bb30=_0x577513;_0x1b2ce3[_0x14bb30(0xbe8)](_0x14bb30(0x97a),0x1),_0x1b2ce3[_0x14bb30(0xbe8)](_0x14bb30(0x94d),0x1),_0x1b2ce3[_0x14bb30(0xbe8)](_0x14bb30(0x806),0x3),_0x1b2ce3[_0x14bb30(0xbe8)]('direction2',0x3);}['getEffectDefines'](){var _0x54f3d8=_0x577513;return _0x54f3d8(0xaa7);}[_0x577513(0x8af)](){return'SphereDirectedParticleEmitter';}['serialize'](){var _0x197cb4=_0x577513;const _0x2b8e91=super[_0x197cb4(0xa55)]();return _0x2b8e91[_0x197cb4(0x806)]=this[_0x197cb4(0x806)][_0x197cb4(0x567)](),_0x2b8e91[_0x197cb4(0x53e)]=this['direction2'][_0x197cb4(0x567)](),_0x2b8e91;}['parse'](_0x2dda02){var _0x408afc=_0x577513;super['parse'](_0x2dda02),this[_0x408afc(0x806)][_0x408afc(0x373)](_0x2dda02[_0x408afc(0x806)]),this[_0x408afc(0x53e)]['copyFrom'](_0x2dda02[_0x408afc(0x53e)]);}}},0x5bc8:(_0x4774ab,_0x247feb,_0x54b174)=>{var _0x1a74b3=a6_0x36115b,_0x40f7c9=_0x54b174(0x1dad),_0xa3591d=_0x54b174(0xd8dd),_0x4a63de=_0x54b174(0xe0c0),_0x5c6a69=_0x54b174(0xee04),_0x3348f5=_0x54b174(0x17dd3),_0x2b1148=_0x54b174(0xbb85);_0x54b174(0x1560d),_0x4a63de['p'][_0x1a74b3(0xb97)](_0x2b1148['l'][_0x1a74b3(0xc66)],(_0x49fcab,_0x528312,_0x35f689,_0x385091)=>{var _0x458322=_0x1a74b3;const _0x1044d5=_0x4a63de['p']['GetIndividualParser'](_0x2b1148['l'][_0x458322(0xc66)]);if(_0x1044d5&&void 0x0!==_0x49fcab[_0x458322(0x5c9)]&&null!==_0x49fcab['particleSystems'])for(let _0x2d38dc=0x0,_0x29d402=_0x49fcab[_0x458322(0x5c9)]['length'];_0x2d38dc<_0x29d402;_0x2d38dc++){var _0x34c967=_0x49fcab[_0x458322(0x5c9)][_0x2d38dc];_0x35f689[_0x458322(0x5c9)][_0x458322(0x731)](_0x1044d5(_0x34c967,_0x528312,_0x385091));}}),_0x4a63de['p'][_0x1a74b3(0x890)](_0x2b1148['l'][_0x1a74b3(0xc66)],(_0x5d42d0,_0x32fa31,_0x245bf5)=>(_0x5d42d0[_0x1a74b3(0x9d0)]?_0xa3591d['h']:_0x3348f5['p'])[_0x1a74b3(0xb88)](_0x5d42d0,_0x32fa31,_0x245bf5)),_0x5c6a69['D'][_0x1a74b3(0x40f)]['createEffectForParticles']=function(_0x5279eb,_0x3b6f26=[],_0x2d31ac=[],_0x491e03='',_0x2e1587,_0x3f377d,_0x2a3127,_0x29d3e2){var _0x373523=_0x1a74b3;let _0x53071d=[],_0x17fe05=[];const _0x71f003=[];return _0x29d3e2?_0x29d3e2[_0x373523(0x853)](_0x17fe05,_0x53071d,_0x71f003):(_0x53071d=_0x3348f5['p'][_0x373523(0x453)](),_0x17fe05=_0x3348f5['p'][_0x373523(0xc88)]()),-0x1===_0x491e03['indexOf'](_0x373523(0x971))&&(_0x491e03+=_0x373523(0xc0f)),null!=_0x29d3e2&&_0x29d3e2[_0x373523(0xef)]&&-0x1===_0x491e03[_0x373523(0x168)](_0x373523(0xc9d))&&(_0x491e03+=_0x373523(0x998)),-0x1===_0x2d31ac[_0x373523(0x168)]('diffuseSampler')&&_0x2d31ac[_0x373523(0x731)](_0x373523(0x402)),this[_0x373523(0x6f2)]({'vertex':null!=(_0x29d3e2=null==_0x29d3e2?void 0x0:_0x29d3e2['vertexShaderName'])?_0x29d3e2:_0x373523(0x4c6),'fragmentElement':_0x5279eb},_0x53071d,_0x17fe05['concat'](_0x3b6f26),_0x71f003[_0x373523(0x107)](_0x2d31ac),_0x491e03,_0x2e1587,_0x3f377d,_0x2a3127);},_0x40f7c9['Kj'][_0x1a74b3(0x40f)][_0x1a74b3(0x419)]=function(){var _0x370cc4=_0x1a74b3;const _0x28ad17=new Array();for(let _0x29bd55=0x0;_0x29bd55<this[_0x370cc4(0xa8b)]()[_0x370cc4(0x5c9)][_0x370cc4(0xb85)];_0x29bd55++){var _0x2b2dba=this['getScene']()['particleSystems'][_0x29bd55];_0x2b2dba[_0x370cc4(0xb86)]===this&&_0x28ad17[_0x370cc4(0x731)](_0x2b2dba);}return _0x28ad17;},_0x40f7c9['Kj']['prototype']['getHierarchyEmittedParticleSystems']=function(){var _0x15bcfe=_0x1a74b3;const _0x22634c=new Array(),_0x543b5a=this[_0x15bcfe(0x229)]();_0x543b5a[_0x15bcfe(0x731)](this);for(let _0x5ab091=0x0;_0x5ab091<this[_0x15bcfe(0xa8b)]()[_0x15bcfe(0x5c9)][_0x15bcfe(0xb85)];_0x5ab091++){var _0x17f33f=this['getScene']()[_0x15bcfe(0x5c9)][_0x5ab091],_0x5a7a1e=_0x17f33f[_0x15bcfe(0xb86)];_0x5a7a1e['position']&&-0x1!==_0x543b5a[_0x15bcfe(0x168)](_0x5a7a1e)&&_0x22634c[_0x15bcfe(0x731)](_0x17f33f);}return _0x22634c;};},0xc773:(_0x15f83c,_0x3bbcc1,_0x30885f)=>{var _0x50d217=a6_0x36115b,_0x4d2421=_0x30885f(0x10ea4),_0x5b011b=_0x30885f(0xf96c),_0x4625a0=_0x30885f(0xbb85),_0x138b2f=_0x30885f(0x1446b),_0x57c2ea=_0x30885f(0x38ef),_0x1ac82b=_0x30885f(0x12b14);_0x138b2f['x'][_0x50d217(0x40f)]['getPhysicsEngine']=function(){var _0x3ad89d=_0x50d217;return this[_0x3ad89d(0xbaa)];},_0x138b2f['x']['prototype']['enablePhysics']=function(_0x37050c=null,_0x5b989b){var _0x5df4f3=_0x50d217;if(this[_0x5df4f3(0xbaa)])return!0x0;var _0x2be73d;this[_0x5df4f3(0x934)](_0x4625a0['l'][_0x5df4f3(0xc14)])||(_0x2be73d=new _0x53a3ee(this),this[_0x5df4f3(0x145)](_0x2be73d));try{if(_0x5b989b&&0x1!==(null==_0x5b989b?void 0x0:_0x5b989b['getPluginVersion']())){if(0x2!==(null==_0x5b989b?void 0x0:_0x5b989b['getPluginVersion']()))throw new Error(_0x5df4f3(0x60f));this[_0x5df4f3(0xbaa)]=new _0x1ac82b['T'](_0x37050c,_0x5b989b);}else this['_physicsEngine']=new _0x57c2ea['T'](_0x37050c,_0x5b989b);return!(this['_physicsTimeAccumulator']=0x0);}catch(_0xa5e542){return _0x4d2421['Y']['Error'](_0xa5e542[_0x5df4f3(0x746)]),!0x1;}},_0x138b2f['x'][_0x50d217(0x40f)]['disablePhysicsEngine']=function(){var _0x3d6201=_0x50d217;this[_0x3d6201(0xbaa)]&&(this[_0x3d6201(0xbaa)][_0x3d6201(0xae6)](),this[_0x3d6201(0xbaa)]=null);},_0x138b2f['x']['prototype']['isPhysicsEnabled']=function(){var _0x2d20da=_0x50d217;return void 0x0!==this[_0x2d20da(0xbaa)];},_0x138b2f['x'][_0x50d217(0x40f)][_0x50d217(0x141)]=function(_0xae564e){var _0x4c04ed=_0x50d217;const _0x7a1d32=_0xae564e['parts'][0x0][_0x4c04ed(0xcdb)];_0x7a1d32[_0x4c04ed(0xacf)]&&(_0x7a1d32[_0x4c04ed(0xacf)]['dispose'](),_0x7a1d32['physicsImpostor']=null);},_0x138b2f['x']['prototype']['_advancePhysicsEngineStep']=function(_0x1f4afa){var _0x43e9da=_0x50d217;if(this['_physicsEngine']){var _0xad50ab=this[_0x43e9da(0xbaa)][_0x43e9da(0x662)]();if(0x0<_0xad50ab){for(this[_0x43e9da(0xb8d)]+=_0x1f4afa;this[_0x43e9da(0xb8d)]>_0xad50ab;)this[_0x43e9da(0xcb2)][_0x43e9da(0x575)](this),this[_0x43e9da(0xbaa)][_0x43e9da(0x80f)](_0xad50ab/0x3e8),this['onAfterPhysicsObservable'][_0x43e9da(0x575)](this),this[_0x43e9da(0xb8d)]-=_0xad50ab;}else this[_0x43e9da(0xcb2)]['notifyObservers'](this),this[_0x43e9da(0xbaa)][_0x43e9da(0x80f)](_0x1f4afa/0x3e8),this[_0x43e9da(0xac1)]['notifyObservers'](this);}};class _0x53a3ee{constructor(_0x5ae5da){var _0x4dbbc9=_0x50d217;this[_0x4dbbc9(0x8f9)]=_0x4625a0['l']['NAME_PHYSICSENGINE'],this[_0x4dbbc9(0x7b4)]=_0x5ae5da,this['scene'][_0x4dbbc9(0xcb2)]=new _0x5b011b['y$'](),this[_0x4dbbc9(0x7b4)][_0x4dbbc9(0xac1)]=new _0x5b011b['y$'](),this[_0x4dbbc9(0x7b4)][_0x4dbbc9(0x11f)]=()=>this[_0x4dbbc9(0x7b4)][_0x4dbbc9(0xbaa)]?0x3e8*this[_0x4dbbc9(0x7b4)][_0x4dbbc9(0xbaa)][_0x4dbbc9(0xc85)]():0x3e8/0x3c;}[_0x50d217(0x208)](){}['rebuild'](){}[_0x50d217(0xae6)](){var _0x22f782=_0x50d217;this[_0x22f782(0x7b4)][_0x22f782(0xcb2)][_0x22f782(0x20f)](),this['scene'][_0x22f782(0xac1)][_0x22f782(0x20f)](),this[_0x22f782(0x7b4)]['_physicsEngine']&&this[_0x22f782(0x7b4)][_0x22f782(0x463)]();}}_0x30885f(0x643f);},0x643f:(_0x2c8f3e,_0x4e30c5,_0x1cd879)=>{var _0x4250a9=a6_0x36115b,_0x56dbd9=_0x1cd879(0x51f),_0x26dc47=_0x1cd879(0x10abe);Object['defineProperty'](_0x56dbd9['x'][_0x4250a9(0x40f)],'physicsImpostor',{'get':function(){var _0x56fb16=_0x4250a9;return this[_0x56fb16(0x6f7)];},'set':function(_0x5138cf){var _0x1bf35c=_0x4250a9;this['_physicsImpostor']!==_0x5138cf&&(this[_0x1bf35c(0x36c)]&&this['onDisposeObservable']['remove'](this[_0x1bf35c(0x36c)]),(this['_physicsImpostor']=_0x5138cf)&&(this[_0x1bf35c(0x36c)]=this['onDisposeObservable'][_0x1bf35c(0x4b6)](()=>{var _0x4da53e=_0x1bf35c;this[_0x4da53e(0xacf)]&&(this['physicsImpostor'][_0x4da53e(0xae6)](),this[_0x4da53e(0xacf)]=null);})));},'enumerable':!0x0,'configurable':!0x0}),_0x56dbd9['x'][_0x4250a9(0x40f)][_0x4250a9(0x1b3)]=function(){var _0x31998a=_0x4250a9;return this[_0x31998a(0xacf)];},_0x56dbd9['x'][_0x4250a9(0x40f)][_0x4250a9(0x4f3)]=function(_0x2dc19b,_0x3ce125){var _0x1073a4=_0x4250a9;return this[_0x1073a4(0xacf)]&&this[_0x1073a4(0xacf)][_0x1073a4(0x4f3)](_0x2dc19b,_0x3ce125),this;},_0x56dbd9['x'][_0x4250a9(0x40f)][_0x4250a9(0x36b)]=function(_0x331b28,_0x48fdef,_0x281e80,_0xbf0e87){var _0xb11812=_0x4250a9;return this[_0xb11812(0xacf)]&&_0x331b28[_0xb11812(0xacf)]&&this[_0xb11812(0xacf)][_0xb11812(0x883)](_0x331b28[_0xb11812(0xacf)],_0x26dc47['q7'][_0xb11812(0x909)],{'mainPivot':_0x48fdef,'connectedPivot':_0x281e80,'nativeParams':_0xbf0e87}),this;};},0x7f34:(_0xb54a64,_0x2e2841,_0x27243c)=>{var _0x27ebe7=a6_0x36115b;_0x27243c['d'](_0x2e2841,{'a':()=>_0x519a8e});class _0x519a8e{constructor(){var _0x411eab=a6_0x238e;this[_0x411eab(0x20d)]={};}get[_0x27ebe7(0x2ab)](){var _0x31c8df=_0x27ebe7;const _0x429211=[];for(const _0x49c09c in this[_0x31c8df(0x20d)]){var _0x30adbd;Object['prototype']['hasOwnProperty'][_0x31c8df(0x3f7)](this['_renderPipelines'],_0x49c09c)&&(_0x30adbd=this[_0x31c8df(0x20d)][_0x49c09c])[_0x31c8df(0x146)]&&_0x429211[_0x31c8df(0x731)](_0x30adbd);}return _0x429211;}[_0x27ebe7(0x86f)](_0x47599e){var _0x426797=_0x27ebe7;this[_0x426797(0x20d)][_0x47599e[_0x426797(0x67e)]]=_0x47599e;}[_0x27ebe7(0xec)](_0x2161b0){var _0x49453d=_0x27ebe7;delete this[_0x49453d(0x20d)][_0x2161b0];}[_0x27ebe7(0x4dd)](_0x29bcaf,_0x521961,_0x4a0f5c=!0x1){var _0x513514=_0x27ebe7;const _0x3db065=this[_0x513514(0x20d)][_0x29bcaf];_0x3db065&&_0x3db065[_0x513514(0x859)](_0x521961,_0x4a0f5c);}[_0x27ebe7(0x23e)](_0x3d17c8,_0x1cc22f){var _0x136a6d=_0x27ebe7;const _0x16f2bd=this['_renderPipelines'][_0x3d17c8];_0x16f2bd&&_0x16f2bd[_0x136a6d(0x898)](_0x1cc22f);}[_0x27ebe7(0x9e5)](_0x45fc2b,_0x2a6c54,_0x3343e9){var _0x232168=_0x27ebe7;const _0x56dc56=this[_0x232168(0x20d)][_0x45fc2b];_0x56dc56&&_0x56dc56[_0x232168(0x51d)](_0x2a6c54,_0x3343e9);}[_0x27ebe7(0x61a)](_0x418a71,_0x3d7f42,_0x4c62b8){var _0xadf680=_0x27ebe7;const _0x538508=this[_0xadf680(0x20d)][_0x418a71];_0x538508&&_0x538508[_0xadf680(0x47e)](_0x3d7f42,_0x4c62b8);}[_0x27ebe7(0x25a)](){var _0x21fd67=_0x27ebe7;for(const _0x12df49 in this[_0x21fd67(0x20d)])if(Object[_0x21fd67(0x40f)][_0x21fd67(0x3e3)]['call'](this['_renderPipelines'],_0x12df49)){const _0x5e437a=this[_0x21fd67(0x20d)][_0x12df49];_0x5e437a[_0x21fd67(0x146)]?_0x5e437a[_0x21fd67(0x11b)]():(_0x5e437a[_0x21fd67(0xae6)](),delete this[_0x21fd67(0x20d)][_0x12df49]);}}['_rebuild'](){var _0x1bd8a8=_0x27ebe7;for(const _0x2ac9b1 in this[_0x1bd8a8(0x20d)])if(Object[_0x1bd8a8(0x40f)][_0x1bd8a8(0x3e3)]['call'](this['_renderPipelines'],_0x2ac9b1)){const _0x58d2ea=this['_renderPipelines'][_0x2ac9b1];_0x58d2ea[_0x1bd8a8(0x414)]();}}['dispose'](){var _0x29e0ee=_0x27ebe7;for(const _0x307a81 in this[_0x29e0ee(0x20d)])if(Object[_0x29e0ee(0x40f)][_0x29e0ee(0x3e3)][_0x29e0ee(0x3f7)](this[_0x29e0ee(0x20d)],_0x307a81)){const _0x2fff21=this[_0x29e0ee(0x20d)][_0x307a81];_0x2fff21[_0x29e0ee(0xae6)]();}}}},0x13aac:(_0x292386,_0x23b16d,_0x5c512e)=>{var _0x2bdd2b=a6_0x36115b;_0x5c512e['d'](_0x23b16d,{'B':()=>_0x3d3283});var _0x42dc0b=_0x5c512e(0x77a5),_0x213e14=_0x5c512e(0x1097c);class _0x3d3283{constructor(_0xfb8902,_0x4f6966,_0x1a2135,_0x2ff2bf=0x1){var _0x4a1e33=a6_0x238e;this[_0x4a1e33(0x4ae)]=_0xfb8902,this[_0x4a1e33(0x217)]=new _0x213e14['p'](_0xfb8902,!0x0),this[_0x4a1e33(0x364)]=this[_0x4a1e33(0x4ae)][_0x4a1e33(0x1cd)]({'width':_0x4f6966,'height':_0x1a2135},{'generateMipMaps':!0x1,'type':_0x42dc0b['g'][_0x4a1e33(0x4ca)],'format':_0x42dc0b['g']['TEXTUREFORMAT_R'],'samplingMode':_0x42dc0b['g']['TEXTURE_NEAREST_SAMPLINGMODE'],'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'samples':_0x2ff2bf,'noColorAttachment':!0x0,'label':'FluidRenderingDepthTextureCopyRTT'}),this['_depthRTWrapper']['createDepthStencilTexture'](0x0,!0x1,!0x1,0x1,void 0x0,_0x4a1e33(0x57e));}get[_0x2bdd2b(0xc1d)](){var _0x26fb67=_0x2bdd2b;return this[_0x26fb67(0x364)];}[_0x2bdd2b(0x24d)](_0x1d113c){var _0xdd28d4=_0x2bdd2b;return this[_0xdd28d4(0x217)][_0xdd28d4(0x24d)](_0x1d113c,this[_0xdd28d4(0x364)]);}[_0x2bdd2b(0xae6)](){var _0x1aab22=_0x2bdd2b;this[_0x1aab22(0x364)]['dispose'](),this[_0x1aab22(0x217)][_0x1aab22(0xae6)]();}}},0xeff9:(_0x281ebc,_0x1a68d4,_0x346dd2)=>{var _0x4e3346=a6_0x36115b;_0x346dd2['d'](_0x1a68d4,{'a':()=>_0x3c6bf4});var _0x541bbe=_0x346dd2(0x77a5),_0x2ff486=_0x346dd2(0xbac7),_0x5cd0d0=_0x346dd2(0x9fd1),_0xcfcc7a=_0x346dd2(0x5f28),_0x3c9559=_0x346dd2(0xf96c);class _0x3c6bf4{constructor(_0x541d12,_0x50892c,_0x203e75,_0x884f97,_0x4e49d3,_0x10e128,_0x297c02=_0x541bbe['g'][_0x4e3346(0x940)],_0x2e4e8d=_0x541bbe['g'][_0x4e3346(0x48c)],_0x50a9b3=_0x541bbe['g']['TEXTURETYPE_FLOAT'],_0x4c51a0=_0x541bbe['g'][_0x4e3346(0x48c)],_0x3f0c36=!0x1,_0x3bb639=null,_0x9fc386=!0x0,_0x5c2118=0x1){var _0x3754b2=_0x4e3346;this[_0x3754b2(0xb7c)]=!0x0,this['blurSizeDivisor']=0x1,this[_0x3754b2(0x444)]=0x7,this[_0x3754b2(0x417)]=0x3,this[_0x3754b2(0x426)]=0x64,this[_0x3754b2(0xc42)]=0xa,this[_0x3754b2(0x7a1)]=0.02,this[_0x3754b2(0x27e)]=new _0x3c9559['y$'](),this[_0x3754b2(0x67e)]=_0x541d12,this[_0x3754b2(0x5ff)]=_0x50892c,this[_0x3754b2(0xb3c)]=_0x3bb639,this[_0x3754b2(0x4ae)]=_0x50892c['getEngine'](),this['_width']=_0x203e75,this[_0x3754b2(0x4c8)]=_0x884f97,this[_0x3754b2(0x2d5)]=_0x4e49d3,this[_0x3754b2(0xcc5)]=_0x10e128,this['_textureType']=_0x297c02,this[_0x3754b2(0x43b)]=_0x2e4e8d,this[_0x3754b2(0xb33)]=_0x50a9b3,this['_blurTextureFormat']=_0x4c51a0,this[_0x3754b2(0x641)]=_0x3f0c36,this['_generateDepthBuffer']=_0x9fc386,this[_0x3754b2(0x340)]=_0x5c2118,this[_0x3754b2(0xa09)]=0x0,this[_0x3754b2(0xb7c)]=0x0!==_0x4e49d3&&0x0!==_0x10e128,this['_rt']=null,this[_0x3754b2(0x913)]=null,this['_rtBlur']=null,this[_0x3754b2(0xbca)]=null,this[_0x3754b2(0xad6)]=null;}get[_0x4e3346(0x7e5)](){return this['_blurNumIterations'];}set[_0x4e3346(0x7e5)](_0x5e36ac){var _0x494e6b=_0x4e3346;if(this[_0x494e6b(0x417)]!==_0x5e36ac&&(this['_blurNumIterations']=_0x5e36ac,null!==this['_blurPostProcesses'])){var _0x1c06d6=this[_0x494e6b(0xad6)][0x0],_0x172f0b=this['_blurPostProcesses'][0x1];this[_0x494e6b(0xad6)]=[];for(let _0xc5f923=0x0;_0xc5f923<0x2*this[_0x494e6b(0x417)];++_0xc5f923)this['_blurPostProcesses'][_0xc5f923]=0x1&_0xc5f923?_0x172f0b:_0x1c06d6;}}get[_0x4e3346(0x2e0)](){return this['_rt'];}get[_0x4e3346(0x5e6)](){return this['_rtBlur'];}get['texture'](){return this['_texture'];}get[_0x4e3346(0x8d5)](){var _0x77ce51=_0x4e3346;return this[_0x77ce51(0xbca)];}[_0x4e3346(0xa03)](){var _0x5915d6=_0x4e3346,_0x18a3da,_0x3715f9,_0x2faa70;this[_0x5915d6(0xae6)](),this[_0x5915d6(0x509)](),this['enableBlur']&&this[_0x5915d6(0x913)]&&([_0x18a3da,_0x3715f9,_0x2faa70]=this[_0x5915d6(0x86e)](this['_texture'],this['_blurTextureType'],this[_0x5915d6(0xa5f)],this[_0x5915d6(0xbac)],this[_0x5915d6(0x67e)],this[_0x5915d6(0x641)]),this[_0x5915d6(0x3ef)]=_0x18a3da,this[_0x5915d6(0xbca)]=_0x3715f9,this['_blurPostProcesses']=_0x2faa70);}[_0x4e3346(0xba9)](){var _0x34c244=_0x4e3346;this[_0x34c244(0xb7c)]&&this[_0x34c244(0xad6)]&&(this[_0x34c244(0xa09)]=0x0,this[_0x34c244(0x5ff)][_0x34c244(0x108)][_0x34c244(0x3c5)](this[_0x34c244(0xad6)],this[_0x34c244(0x3ef)],!0x0),this[_0x34c244(0x4ae)]['unBindFramebuffer'](this['_rtBlur']));}[_0x4e3346(0x509)](){var _0x3607af=_0x4e3346;this[_0x3607af(0x749)]=this['_engine'][_0x3607af(0x1cd)]({'width':this['_width'],'height':this['_height']},{'generateMipMaps':!0x1,'type':this[_0x3607af(0xcc6)],'format':this[_0x3607af(0x43b)],'samplingMode':_0x541bbe['g'][_0x3607af(0x3bd)],'generateDepthBuffer':this[_0x3607af(0xcd7)],'generateStencilBuffer':!0x1,'samples':this[_0x3607af(0x340)],'label':_0x3607af(0x587)+this[_0x3607af(0x67e)]});const _0x2570f1=this['_rt'][_0x3607af(0xa91)];_0x2570f1[_0x3607af(0x8f6)](),this['_texture']=new _0x2ff486['x'](null,this[_0x3607af(0x5ff)]),this[_0x3607af(0x913)][_0x3607af(0x8f9)]=_0x3607af(0x195)+this[_0x3607af(0x67e)],this[_0x3607af(0x913)][_0x3607af(0x913)]=_0x2570f1,this[_0x3607af(0x913)][_0x3607af(0x186)]=_0x2ff486['x'][_0x3607af(0x794)],this[_0x3607af(0x913)][_0x3607af(0x797)]=_0x2ff486['x'][_0x3607af(0x794)],this[_0x3607af(0x913)][_0x3607af(0xcab)]=0x1;}[_0x4e3346(0x86e)](_0x2a0d5c,_0xeaa8e1,_0x169435,_0x127a21,_0x5bb098,_0x3a5583=!0x1){var _0xb9dde5=_0x4e3346;const _0x51d18a=this['_scene']['getEngine']();var _0x127a21=new _0x5cd0d0['FM'](Math[_0xb9dde5(0x90c)](this[_0xb9dde5(0x2d5)]/_0x127a21),Math[_0xb9dde5(0x90c)](this[_0xb9dde5(0xcc5)]/_0x127a21)),_0x4570d4=_0xeaa8e1===_0x541bbe['g'][_0xb9dde5(0x940)]&&_0x51d18a['getCaps']()[_0xb9dde5(0x63b)]||_0xeaa8e1===_0x541bbe['g'][_0xb9dde5(0x1d6)]&&_0x51d18a[_0xb9dde5(0x7ac)]()['textureHalfFloatLinearFiltering'],_0x127a21=this[_0xb9dde5(0x4ae)][_0xb9dde5(0x1cd)]({'width':_0x127a21['x'],'height':_0x127a21['y']},{'generateMipMaps':!0x1,'type':_0xeaa8e1,'format':_0x169435,'samplingMode':_0x4570d4?_0x541bbe['g']['TEXTURE_BILINEAR_SAMPLINGMODE']:_0x541bbe['g']['TEXTURE_NEAREST_SAMPLINGMODE'],'generateDepthBuffer':!0x1,'generateStencilBuffer':!0x1,'samples':this['_samples'],'label':_0xb9dde5(0xad9)+_0x5bb098});const _0x42210c=_0x127a21[_0xb9dde5(0xa91)],_0x549026=(_0x42210c[_0xb9dde5(0x8f6)](),new _0x2ff486['x'](null,this[_0xb9dde5(0x5ff)]));if(_0x549026[_0xb9dde5(0x8f9)]=_0xb9dde5(0x1b2)+_0x5bb098,_0x549026[_0xb9dde5(0x913)]=_0x42210c,_0x549026[_0xb9dde5(0x186)]=_0x2ff486['x'][_0xb9dde5(0x794)],_0x549026[_0xb9dde5(0x797)]=_0x2ff486['x'][_0xb9dde5(0x794)],_0x549026[_0xb9dde5(0xcab)]=0x1,_0x3a5583){const _0x5c6a3f=new _0xcfcc7a['D'](_0xb9dde5(0x5b2),_0xb9dde5(0x5d7),[_0xb9dde5(0x22b),_0xb9dde5(0xf9)],null,0x1,null,_0x541bbe['g']['TEXTURE_NEAREST_SAMPLINGMODE'],_0x51d18a,!0x0,null,_0xeaa8e1,void 0x0,void 0x0,void 0x0,_0x169435),_0x308694=(_0x5c6a3f[_0xb9dde5(0x819)]=this[_0xb9dde5(0x340)],_0x5c6a3f[_0xb9dde5(0x3b1)]=!0x0,_0x5c6a3f['onApplyObservable'][_0xb9dde5(0x4b6)](_0x767443=>{var _0x2123e2=_0xb9dde5;0x0===this[_0x2123e2(0xa09)]?_0x767443[_0x2123e2(0x3ac)](_0x2123e2(0x718),_0x2a0d5c):_0x767443[_0x2123e2(0x249)](_0x2123e2(0x718),_0x5c6a3f[_0x2123e2(0x834)][_0x2123e2(0xa91)]),_0x767443[_0x2123e2(0xa3c)](_0x2123e2(0x22b),this[_0x2123e2(0x444)]),_0x767443[_0x2123e2(0x6da)](_0x2123e2(0xf9),0x1/this[_0x2123e2(0x2d5)],0x0),this[_0x2123e2(0xa09)]++;}),_0x5c6a3f[_0xb9dde5(0x38d)]['add'](()=>{var _0x3d40df=_0xb9dde5;_0x5c6a3f[_0x3d40df(0x33b)]['forEach'](_0x328e7d=>{var _0xbe38fd=_0x3d40df;_0x328e7d[_0xbe38fd(0xa91)][_0xbe38fd(0x186)]=_0x2ff486['x'][_0xbe38fd(0x794)],_0x328e7d['texture'][_0xbe38fd(0x797)]=_0x2ff486['x'][_0xbe38fd(0x794)];});}),this[_0xb9dde5(0x4ec)](_0x5c6a3f),new _0xcfcc7a['D'](_0xb9dde5(0x8f2),'fluidRenderingStandardBlur',[_0xb9dde5(0x22b),_0xb9dde5(0xf9)],null,0x1,null,_0x541bbe['g'][_0xb9dde5(0x3bd)],_0x51d18a,!0x0,null,_0xeaa8e1,void 0x0,void 0x0,void 0x0,_0x169435)),_0x4151d2=(_0x308694['samples']=this[_0xb9dde5(0x340)],_0x308694['onApplyObservable']['add'](_0xe0acf6=>{var _0x5cbda9=_0xb9dde5;_0xe0acf6[_0x5cbda9(0xa3c)](_0x5cbda9(0x22b),this[_0x5cbda9(0x444)]),_0xe0acf6[_0x5cbda9(0x6da)](_0x5cbda9(0xf9),0x0,0x1/this['_blurTextureSizeY']),this[_0x5cbda9(0xa09)]++;}),_0x308694['onSizeChangedObservable'][_0xb9dde5(0x4b6)](()=>{var _0x5bf3c2=_0xb9dde5;_0x308694['_textures'][_0x5bf3c2(0x9cd)](_0x361837=>{var _0x418b25=_0x5bf3c2;_0x361837[_0x418b25(0xa91)][_0x418b25(0x186)]=_0x2ff486['x'][_0x418b25(0x794)],_0x361837['texture']['wrapV']=_0x2ff486['x'][_0x418b25(0x794)];});}),this[_0xb9dde5(0x4ec)](_0x308694),_0x5c6a3f['autoClear']=!0x1,_0x308694['autoClear']=!0x1,[]);for(let _0x4e2c02=0x0;_0x4e2c02<0x2*this[_0xb9dde5(0x417)];++_0x4e2c02)_0x4151d2[_0x4e2c02]=0x1&_0x4e2c02?_0x308694:_0x5c6a3f;return[_0x127a21,_0x549026,_0x4151d2];}{_0x4570d4=[_0xb9dde5(0x346),_0xb9dde5(0xf9),_0xb9dde5(0x620),'depthThreshold'];const _0x2acb36=new _0xcfcc7a['D']('BilateralBlurX',_0xb9dde5(0x5bc),_0x4570d4,null,0x1,null,_0x541bbe['g'][_0xb9dde5(0x3bd)],_0x51d18a,!0x0,null,_0xeaa8e1,void 0x0,void 0x0,void 0x0,_0x169435),_0x1d84f7=(_0x2acb36[_0xb9dde5(0x819)]=this['_samples'],_0x2acb36[_0xb9dde5(0x3b1)]=!0x0,_0x2acb36[_0xb9dde5(0x73d)]['add'](_0x1750c1=>{var _0x38437d=_0xb9dde5;0x0===this[_0x38437d(0xa09)]?_0x1750c1['setTexture'](_0x38437d(0x718),_0x2a0d5c):_0x1750c1[_0x38437d(0x249)](_0x38437d(0x718),_0x2acb36[_0x38437d(0x834)]['texture']),_0x1750c1[_0x38437d(0xa3c)](_0x38437d(0x346),this[_0x38437d(0x426)]),_0x1750c1[_0x38437d(0x6da)]('blurDir',0x1/this[_0x38437d(0x2d5)],0x0),_0x1750c1['setFloat'](_0x38437d(0x620),this[_0x38437d(0x6a0)]()),_0x1750c1[_0x38437d(0x2ea)](_0x38437d(0x695),this[_0x38437d(0x751)]()),this[_0x38437d(0xa09)]++;}),_0x2acb36[_0xb9dde5(0x38d)][_0xb9dde5(0x4b6)](()=>{var _0x31b0d2=_0xb9dde5;_0x2acb36['_textures'][_0x31b0d2(0x9cd)](_0x41829c=>{var _0x282729=_0x31b0d2;_0x41829c[_0x282729(0xa91)][_0x282729(0x186)]=_0x2ff486['x']['CLAMP_ADDRESSMODE'],_0x41829c[_0x282729(0xa91)][_0x282729(0x797)]=_0x2ff486['x'][_0x282729(0x794)];});}),this[_0xb9dde5(0x4ec)](_0x2acb36),new _0xcfcc7a['D'](_0xb9dde5(0x8f2),_0xb9dde5(0x5bc),_0x4570d4,null,0x1,null,_0x541bbe['g'][_0xb9dde5(0x3bd)],_0x51d18a,!0x0,null,_0xeaa8e1,void 0x0,void 0x0,void 0x0,_0x169435)),_0x2f3744=(_0x1d84f7[_0xb9dde5(0x819)]=this['_samples'],_0x1d84f7['onApplyObservable'][_0xb9dde5(0x4b6)](_0x5c995c=>{var _0x3641c0=_0xb9dde5;_0x5c995c[_0x3641c0(0xa3c)](_0x3641c0(0x346),this[_0x3641c0(0x426)]),_0x5c995c[_0x3641c0(0x6da)]('blurDir',0x0,0x1/this[_0x3641c0(0xcc5)]),_0x5c995c[_0x3641c0(0x2ea)]('projectedParticleConstant',this[_0x3641c0(0x6a0)]()),_0x5c995c[_0x3641c0(0x2ea)](_0x3641c0(0x695),this[_0x3641c0(0x751)]()),this[_0x3641c0(0xa09)]++;}),_0x1d84f7[_0xb9dde5(0x38d)]['add'](()=>{var _0x14ce44=_0xb9dde5;_0x1d84f7[_0x14ce44(0x33b)][_0x14ce44(0x9cd)](_0xf9bf7d=>{var _0x302041=_0x14ce44;_0xf9bf7d[_0x302041(0xa91)]['wrapU']=_0x2ff486['x'][_0x302041(0x794)],_0xf9bf7d[_0x302041(0xa91)][_0x302041(0x797)]=_0x2ff486['x'][_0x302041(0x794)];});}),this[_0xb9dde5(0x4ec)](_0x1d84f7),_0x2acb36[_0xb9dde5(0x89c)]=!0x1,_0x1d84f7['autoClear']=!0x1,[]);for(let _0x4704ec=0x0;_0x4704ec<0x2*this[_0xb9dde5(0x417)];++_0x4704ec)_0x2f3744[_0x4704ec]=0x1&_0x4704ec?_0x1d84f7:_0x2acb36;return[_0x127a21,_0x549026,_0x2f3744];}}[_0x4e3346(0x4ec)](_0x38761c){var _0x19993d=_0x4e3346;_0x38761c['isReusable']()&&(_0x38761c[_0x19993d(0x691)][_0x19993d(0x4b6)](()=>{var _0x4c0e82=_0x19993d;_0x38761c[_0x4c0e82(0x1be)]=(_0x38761c['_currentRenderTextureInd']+0x1)%0x2;}),_0x38761c[_0x19993d(0x73d)]['add'](()=>{var _0x2144f8=_0x19993d;_0x38761c['_currentRenderTextureInd']=(_0x38761c[_0x2144f8(0x1be)]+0x1)%0x2;}));}[_0x4e3346(0x6a0)](){var _0x5053ad=_0x4e3346,_0x2d9696;return this[_0x5053ad(0x444)]*this['particleSize']*0.05*(this[_0x5053ad(0x4c8)]/0x2)/Math['tan']((null!=(_0x2d9696=null==(_0x2d9696=this[_0x5053ad(0xb3c)])?void 0x0:_0x2d9696['fov'])?_0x2d9696:0x2d*Math['PI']/0xb4)/0x2);}['_getDepthThreshold'](){var _0x2032e9=_0x4e3346;return this[_0x2032e9(0x7a1)]/0x2*this['blurDepthScale'];}[_0x4e3346(0xae6)](){var _0x20fba3=_0x4e3346,_0x379666;this[_0x20fba3(0x27e)]['hasObservers']()&&this[_0x20fba3(0x27e)][_0x20fba3(0x575)](this),null!=(_0x379666=this[_0x20fba3(0x749)])&&_0x379666[_0x20fba3(0xae6)](),(this[_0x20fba3(0x749)]=null)!=(_0x379666=this[_0x20fba3(0x913)])&&_0x379666[_0x20fba3(0xae6)](),(this['_texture']=null)!=(_0x379666=this[_0x20fba3(0x3ef)])&&_0x379666[_0x20fba3(0xae6)](),(this['_rtBlur']=null)!=(_0x379666=this[_0x20fba3(0xbca)])&&_0x379666[_0x20fba3(0xae6)](),this[_0x20fba3(0xbca)]=null,this[_0x20fba3(0xad6)]&&(this[_0x20fba3(0xad6)][0x0][_0x20fba3(0xae6)](),this[_0x20fba3(0xad6)][0x1]['dispose']()),this[_0x20fba3(0xad6)]=null;}}},0x1616b:(_0x3e1c42,_0x2f6602,_0x101aab)=>{_0x101aab['d'](_0x2f6602,{'p':()=>_0x5eea45});var _0x2c859b=_0x101aab(0x77a5);class _0x5eea45{constructor(){var _0x297912=a6_0x238e;this['enabled']=!0x1,this['name']=_0x297912(0x804),this[_0x297912(0x428)]=[_0x2c859b['g'][_0x297912(0x574)]];}}},0xbf60:(_0x564f95,_0x19a038,_0x1f408d)=>{_0x1f408d['d'](_0x19a038,{'g':()=>_0x227bb6});var _0x1f393a=_0x1f408d(0x77a5);class _0x227bb6{constructor(){var _0x4ecbd2=a6_0x238e;this[_0x4ecbd2(0x8c1)]=!0x1,this[_0x4ecbd2(0x8f9)]=_0x4ecbd2(0x1bf),this['texturesRequired']=[_0x1f393a['g'][_0x4ecbd2(0x461)],_0x1f393a['g'][_0x4ecbd2(0xb8e)],_0x1f393a['g'][_0x4ecbd2(0x685)]];}}},0x498b:(_0x12a54e,_0x18fcb5,_0x1f24df)=>{_0x1f24df['d'](_0x18fcb5,{'y':()=>_0x2fdcd0});var _0x22c3dd=_0x1f24df(0x77a5);class _0x2fdcd0{constructor(){var _0x351916=a6_0x238e;this[_0x351916(0x8c1)]=!0x1,this[_0x351916(0x8f9)]=_0x351916(0xc76),this[_0x351916(0x428)]=[_0x22c3dd['g'][_0x351916(0x461)],_0x22c3dd['g'][_0x351916(0xb8e)],_0x22c3dd['g'][_0x351916(0x110)]];}}},0x10748:(_0xc3cf64,_0x1af3ad,_0x3144fe)=>{_0x3144fe['d'](_0x1af3ad,{'M':()=>_0x42cfa8});var _0x2a2351=_0x3144fe(0x77a5);class _0x42cfa8{constructor(){var _0x508aeb=a6_0x238e;this['enabled']=!0x1,this[_0x508aeb(0x8f9)]='ssao2',this[_0x508aeb(0x428)]=[_0x2a2351['g'][_0x508aeb(0x461)],_0x2a2351['g'][_0x508aeb(0x685)]];}}},0x8362:(_0x22ea82,_0x1a4ab3,_0x42117e)=>{var _0x526954=a6_0x36115b;_0x42117e['d'](_0x1a4ab3,{'u':()=>_0x57e373});var _0x4e1326=_0x42117e(0x10ea4),_0x4d46d9=_0x42117e(0xc84b),_0x2fd01e=_0x42117e(0xbac7),_0x1a4ab3=_0x42117e(0x5f28),_0x4687b5=_0x42117e(0x77a5),_0x797c1=(_0x42117e(0x816b),_0x42117e(0x17a92));_0x797c1['v'][_0x526954(0x827)][_0x526954(0xa0c)]=_0x526954(0x79f),_0x42117e(0x175b0),_0x42117e(0x6b23),_0x797c1['v']['IncludesShadersStore']['diffusionProfile']=_0x526954(0xb9e),(_0x797c1['v']['ShadersStore']['subSurfaceScatteringPixelShader']='#include<fibonacci>\x0a#include<helperFunctions>\x0a#include<subSurfaceScatteringFunctions>\x0a#include<diffusionProfile>\x0avarying\x20vec2\x20vUV;\x0auniform\x20vec2\x20texelSize;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20irradianceSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20sampler2D\x20albedoSampler;\x0auniform\x20vec2\x20viewportSize;\x0auniform\x20float\x20metersPerUnit;\x0aconst\x20float\x20LOG2_E=1.4426950408889634;\x0aconst\x20float\x20SSS_PIXELS_PER_SAMPLE=4.;\x0aconst\x20int\x20_SssSampleBudget=40;\x0a#define\x20rcp(x)\x201./x\x0a#define\x20Sq(x)\x20x*x\x0a#define\x20SSS_BILATERAL_FILTER\x20true\x0avec3\x20EvalBurleyDiffusionProfile(float\x20r,vec3\x20S)\x0a{\x0avec3\x20exp_13=exp2(((LOG2_E*(-1.0/3.0))*r)*S);\x20\x0avec3\x20expSum=exp_13*(1.+exp_13*exp_13);\x20\x0areturn\x20(S*rcp(8.*PI))*expSum;\x20\x0a}\x0avec2\x20SampleBurleyDiffusionProfile(float\x20u,float\x20rcpS)\x0a{\x0au=1.-u;\x20\x0afloat\x20g=1.+(4.*u)*(2.*u+sqrt(1.+(4.*u)*u));\x0afloat\x20n=exp2(log2(g)*(-1.0/3.0));\x20\x0afloat\x20p=(g*n)*n;\x20\x0afloat\x20c=1.+p+n;\x20\x0afloat\x20d=(3./LOG2_E*2.)+(3./LOG2_E)*log2(u);\x20\x0afloat\x20x=(3./LOG2_E)*log2(c)-d;\x20\x0afloat\x20rcpExp=((c*c)*c)*rcp((4.*u)*((c*c)+(4.*u)*(4.*u)));\x0afloat\x20r=x*rcpS;\x0afloat\x20rcpPdf=(8.*PI*rcpS)*rcpExp;\x20\x0areturn\x20vec2(r,rcpPdf);\x0a}\x0avec3\x20ComputeBilateralWeight(float\x20xy2,float\x20z,float\x20mmPerUnit,vec3\x20S,float\x20rcpPdf)\x0a{\x0a#ifndef\x20SSS_BILATERAL_FILTER\x0az=0.;\x0a#endif\x0afloat\x20r=sqrt(xy2+(z*mmPerUnit)*(z*mmPerUnit));\x0afloat\x20area=rcpPdf;\x0a#if\x20SSS_CLAMP_ARTIFACT\x0areturn\x20clamp(EvalBurleyDiffusionProfile(r,S)*area,0.0,1.0);\x0a#else\x0areturn\x20EvalBurleyDiffusionProfile(r,S)*area;\x0a#endif\x0a}\x0avoid\x20EvaluateSample(int\x20i,int\x20n,vec3\x20S,float\x20d,vec3\x20centerPosVS,float\x20mmPerUnit,float\x20pixelsPerMm,\x0afloat\x20phase,inout\x20vec3\x20totalIrradiance,inout\x20vec3\x20totalWeight)\x0a{\x0afloat\x20scale\x20=rcp(float(n));\x0afloat\x20offset=rcp(float(n))*0.5;\x0afloat\x20sinPhase,cosPhase;\x0asinPhase=sin(phase);\x0acosPhase=cos(phase);\x0avec2\x20bdp=SampleBurleyDiffusionProfile(float(i)*scale+offset,d);\x0afloat\x20r=bdp.x;\x0afloat\x20rcpPdf=bdp.y;\x0afloat\x20phi=SampleDiskGolden(i,n).y;\x0afloat\x20sinPhi,cosPhi;\x0asinPhi=sin(phi);\x0acosPhi=cos(phi);\x0afloat\x20sinPsi=cosPhase*sinPhi+sinPhase*cosPhi;\x20\x0afloat\x20cosPsi=cosPhase*cosPhi-sinPhase*sinPhi;\x20\x0avec2\x20vec=r*vec2(cosPsi,sinPsi);\x0avec2\x20position;\x20\x0afloat\x20xy2;\x0aposition=vUV+round((pixelsPerMm*r)*vec2(cosPsi,sinPsi))*texelSize;\x0axy2\x20=r*r;\x0avec4\x20textureSample=texture2D(irradianceSampler,position);\x0afloat\x20viewZ=texture2D(depthSampler,position).r;\x0avec3\x20irradiance\x20=textureSample.rgb;\x0aif\x20(testLightingForSSS(textureSample.a))\x0a{\x0afloat\x20relZ=viewZ-centerPosVS.z;\x0avec3\x20weight=ComputeBilateralWeight(xy2,relZ,mmPerUnit,S,rcpPdf);\x0atotalIrradiance+=weight*irradiance;\x0atotalWeight\x20+=weight;\x0a}\x0aelse\x0a{\x0a}\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec4\x20irradianceAndDiffusionProfile\x20=texture2D(irradianceSampler,vUV);\x0avec3\x20centerIrradiance=irradianceAndDiffusionProfile.rgb;\x0aint\x20diffusionProfileIndex=int(round(irradianceAndDiffusionProfile.a*255.));\x0afloat\x20centerDepth\x20=0.;\x0avec4\x20inputColor=texture2D(textureSampler,vUV);\x0abool\x20passedStencilTest=testLightingForSSS(irradianceAndDiffusionProfile.a);\x0aif\x20(passedStencilTest)\x0a{\x0acenterDepth=texture2D(depthSampler,vUV).r;\x0a}\x0aif\x20(!passedStencilTest)\x20{\x20\x0agl_FragColor=inputColor;\x0areturn;\x0a}\x0afloat\x20distScale\x20=1.;\x0avec3\x20S\x20=diffusionS[diffusionProfileIndex];\x0afloat\x20d\x20=diffusionD[diffusionProfileIndex];\x0afloat\x20filterRadius=filterRadii[diffusionProfileIndex];\x0avec2\x20centerPosNDC=vUV;\x0avec2\x20cornerPosNDC=vUV+0.5*texelSize;\x0avec3\x20centerPosVS\x20=vec3(centerPosNDC*viewportSize,1.0)*centerDepth;\x20\x0avec3\x20cornerPosVS\x20=vec3(cornerPosNDC*viewportSize,1.0)*centerDepth;\x20\x0afloat\x20mmPerUnit\x20=1000.*(metersPerUnit*rcp(distScale));\x0afloat\x20unitsPerMm=rcp(mmPerUnit);\x0afloat\x20unitsPerPixel=2.*abs(cornerPosVS.x-centerPosVS.x);\x0afloat\x20pixelsPerMm\x20=rcp(unitsPerPixel)*unitsPerMm;\x0afloat\x20filterArea\x20=PI*Sq(filterRadius*pixelsPerMm);\x0aint\x20sampleCount\x20=int(filterArea*rcp(SSS_PIXELS_PER_SAMPLE));\x0aint\x20sampleBudget=_SssSampleBudget;\x0aint\x20texturingMode=0;\x0avec3\x20albedo\x20=texture2D(albedoSampler,vUV).rgb;\x0aif\x20(distScale==0.\x20||\x20sampleCount<1)\x0a{\x0a#ifdef\x20DEBUG_SSS_SAMPLES\x0avec3\x20green=vec3(0.,1.,0.);\x0agl_FragColor=vec4(green,1.0);\x0areturn;\x0a#endif\x0agl_FragColor=vec4(inputColor.rgb+albedo*centerIrradiance,1.0);\x0areturn;\x0a}\x0a#ifdef\x20DEBUG_SSS_SAMPLES\x0avec3\x20red\x20=vec3(1.,0.,0.);\x0avec3\x20blue=vec3(0.,0.,1.);\x0agl_FragColor=vec4(mix(blue,red,clamp(float(sampleCount)/float(sampleBudget),0.0,1.0)),1.0);\x0areturn;\x0a#endif\x0afloat\x20phase=0.;\x0aint\x20n=min(sampleCount,sampleBudget);\x0avec3\x20centerWeight\x20=vec3(0.);\x20\x0avec3\x20totalIrradiance=vec3(0.);\x0avec3\x20totalWeight\x20=vec3(0.);\x0afor\x20(int\x20i=0;\x20i<n;\x20i++)\x0a{\x0aEvaluateSample(i,n,S,d,centerPosVS,mmPerUnit,pixelsPerMm,\x0aphase,totalIrradiance,totalWeight);\x0a}\x0atotalWeight=max(totalWeight,HALF_MIN);\x0agl_FragColor=vec4(inputColor.rgb+albedo*max(totalIrradiance/totalWeight,vec3(0.0)),1.);\x0a}',_0x42117e(0x4617));class _0x54f730 extends _0x1a4ab3['D']{[_0x526954(0x8af)](){var _0xfbd616=_0x526954;return _0xfbd616(0x725);}constructor(_0x267942,_0x4fe59c,_0x43539a,_0x1a5fa4=null,_0x49bd7c,_0x5bc4b6,_0x50841a,_0x15cb5e=_0x4687b5['g'][_0x526954(0x312)]){var _0x33d0d2=_0x526954;super(_0x267942,_0x33d0d2(0x42f),['texelSize',_0x33d0d2(0x952),_0x33d0d2(0x950)],['diffusionS','diffusionD',_0x33d0d2(0xab4),'irradianceSampler',_0x33d0d2(0x348),_0x33d0d2(0x8df)],_0x43539a,_0x1a5fa4,_0x49bd7c||_0x2fd01e['x'][_0x33d0d2(0x228)],_0x5bc4b6,_0x50841a,null,_0x15cb5e,_0x33d0d2(0xb9c),void 0x0,!0x0),this[_0x33d0d2(0x5ff)]=_0x4fe59c,this['updateEffect'](),this[_0x33d0d2(0x73d)][_0x33d0d2(0x4b6)](_0x4b6e6b=>{var _0x376996=_0x33d0d2,_0x48356b;_0x4fe59c[_0x376996(0xb8a)]&&_0x4fe59c[_0x376996(0x14f)]?(_0x48356b=this[_0x376996(0x7c5)],_0x4b6e6b['setFloat'](_0x376996(0x950),_0x4fe59c[_0x376996(0x14f)]['metersPerUnit']),_0x4b6e6b['setFloat2'](_0x376996(0x7c5),_0x48356b['x'],_0x48356b['y']),_0x4b6e6b['setTexture'](_0x376996(0x198),_0x4fe59c[_0x376996(0xb8a)][_0x376996(0x626)]()[_0x376996(0x345)][_0x4fe59c['prePassRenderer'][_0x376996(0xb79)](_0x4687b5['g'][_0x376996(0x118)])]),_0x4b6e6b[_0x376996(0x3ac)](_0x376996(0x348),_0x4fe59c['prePassRenderer'][_0x376996(0x626)]()[_0x376996(0x345)][_0x4fe59c[_0x376996(0xb8a)][_0x376996(0xb79)](_0x4687b5['g'][_0x376996(0x685)])]),_0x4b6e6b[_0x376996(0x3ac)](_0x376996(0x8df),_0x4fe59c[_0x376996(0xb8a)][_0x376996(0x626)]()[_0x376996(0x345)][_0x4fe59c['prePassRenderer'][_0x376996(0xb79)](_0x4687b5['g'][_0x376996(0x7b8)])]),_0x4b6e6b[_0x376996(0x6da)]('viewportSize',Math[_0x376996(0x2f8)](_0x4fe59c['activeCamera'][_0x376996(0x282)]/0x2)*_0x4fe59c['getEngine']()[_0x376996(0x188)](_0x4fe59c[_0x376996(0x89a)],!0x0),Math[_0x376996(0x2f8)](_0x4fe59c[_0x376996(0x89a)][_0x376996(0x282)]/0x2)),_0x4b6e6b[_0x376996(0x290)](_0x376996(0x112),_0x4fe59c['subSurfaceConfiguration'][_0x376996(0x485)]),_0x4b6e6b['setArray'](_0x376996(0x811),_0x4fe59c['subSurfaceConfiguration'][_0x376996(0x531)]),_0x4b6e6b[_0x376996(0x43f)](_0x376996(0xab4),_0x4fe59c['subSurfaceConfiguration']['ssFilterRadii'])):_0x4e1326['Y'][_0x376996(0x358)](_0x376996(0x833));});}}var _0x438b49=_0x42117e(0xbb85),_0xde8210=_0x42117e(0x15cb9);class _0x57e373{constructor(_0x55dfb2){var _0x1aab06=_0x526954;this[_0x1aab06(0x8b8)]=[],this['_ssFilterRadii']=[],this[_0x1aab06(0x250)]=[],this[_0x1aab06(0x8c1)]=!0x1,this[_0x1aab06(0x688)]=!0x0,this[_0x1aab06(0x8f9)]=_0x438b49['l'][_0x1aab06(0x79b)],this[_0x1aab06(0x57f)]=[],this[_0x1aab06(0x950)]=0x1,this['texturesRequired']=[_0x4687b5['g']['PREPASS_DEPTH_TEXTURE_TYPE'],_0x4687b5['g'][_0x1aab06(0x7b8)],_0x4687b5['g']['PREPASS_COLOR_TEXTURE_TYPE'],_0x4687b5['g'][_0x1aab06(0x118)]],this[_0x1aab06(0x98a)](new _0x4d46d9['Wo'](0x1,0x1,0x1)),this[_0x1aab06(0x5ff)]=_0x55dfb2,_0x57e373[_0x1aab06(0x1bd)](this[_0x1aab06(0x5ff)]);}get['ssDiffusionS'](){var _0x46ff26=_0x526954;return this[_0x46ff26(0x8b8)];}get[_0x526954(0x531)](){var _0x20b220=_0x526954;return this[_0x20b220(0x250)];}get['ssFilterRadii'](){var _0x23fb50=_0x526954;return this[_0x23fb50(0xd7)];}[_0x526954(0x98a)](_0x41395a){var _0x443ab2=_0x526954;if(0x5<=this[_0x443ab2(0x531)][_0x443ab2(0xb85)])return _0x4e1326['Y'][_0x443ab2(0x358)](_0x443ab2(0xc15)),0x0;for(let _0x722bdf=0x0;_0x722bdf<this[_0x443ab2(0x8b8)][_0x443ab2(0xb85)]/0x3;_0x722bdf++)if(this[_0x443ab2(0x8b8)][0x3*_0x722bdf]===_0x41395a['r']&&this['_ssDiffusionS'][0x3*_0x722bdf+0x1]===_0x41395a['g']&&this[_0x443ab2(0x8b8)][0x3*_0x722bdf+0x2]===_0x41395a['b'])return _0x722bdf;return this[_0x443ab2(0x8b8)]['push'](_0x41395a['r'],_0x41395a['b'],_0x41395a['g']),this[_0x443ab2(0x250)][_0x443ab2(0x731)](Math['max'](Math[_0x443ab2(0xa14)](_0x41395a['r'],_0x41395a['b']),_0x41395a['g'])),this[_0x443ab2(0xd7)][_0x443ab2(0x731)](this['getDiffusionProfileParameters'](_0x41395a)),this[_0x443ab2(0x57f)][_0x443ab2(0x731)](_0x41395a),this['_ssDiffusionD'][_0x443ab2(0xb85)]-0x1;}['createPostProcess'](){var _0x175120=_0x526954;return this[_0x175120(0xbf5)]=new _0x54f730(_0x175120(0x42f),this[_0x175120(0x5ff)],0x1,null,void 0x0,this[_0x175120(0x5ff)]['getEngine']()),this[_0x175120(0xbf5)][_0x175120(0x89c)]=!0x1,this[_0x175120(0xbf5)];}['clearAllDiffusionProfiles'](){var _0x5d5991=_0x526954;this[_0x5d5991(0x250)]=[],this[_0x5d5991(0x8b8)]=[],this[_0x5d5991(0xd7)]=[],this['ssDiffusionProfileColors']=[];}['dispose'](){var _0x4999a6=_0x526954;this[_0x4999a6(0xbc3)](),this[_0x4999a6(0xbf5)]&&this['postProcess'][_0x4999a6(0xae6)]();}[_0x526954(0x2f4)](_0x5b7fdd){var _0xaeaf24=_0x526954;return _0x5b7fdd=Math['max'](_0x5b7fdd['r'],_0x5b7fdd['g'],_0x5b7fdd['b']),this[_0xaeaf24(0xb6a)](0.997,_0x5b7fdd);}[_0x526954(0xb6a)](_0x9b6fc1,_0x3df7ea){var _0x2679d6=_0x526954,_0x2a781c=0x1+0x4*(_0x9b6fc1=0x1-_0x9b6fc1)*(0x2*_0x9b6fc1+Math[_0x2679d6(0x3dc)](0x1+0x4*_0x9b6fc1*_0x9b6fc1)),_0x5beaa6=Math[_0x2679d6(0xb70)](_0x2a781c,-0x1/0x3);return 0x3*Math[_0x2679d6(0x9a0)]((0x1+_0x2a781c*_0x5beaa6*_0x5beaa6+_0x5beaa6)/(0x4*_0x9b6fc1))*_0x3df7ea;}}_0x57e373['_SceneComponentInitialization']=_0x44314d=>{var _0x4e2d17=_0x526954;throw(0x0,_0xde8210['S'])(_0x4e2d17(0x4bd));};},0x15a7:(_0x3344b7,_0x5a5aab,_0x4fe47e)=>{var _0x4e2102=a6_0x36115b;_0x4fe47e(0x17a92)['v'][_0x4e2102(0xac0)][_0x4e2102(0x6d4)]=_0x4e2102(0x2e6);},0x6052:(_0x567d71,_0x11ffae,_0x176197)=>{var _0xb75fd9=a6_0x36115b,_0x20801b=_0x176197(0x17a92);_0x176197(0x6cce),_0x20801b['v'][_0xb75fd9(0x827)]['backgroundUboDeclaration']='layout(std140,column_major)\x20uniform;\x0auniform\x20Material\x0a{\x0auniform\x20vec4\x20vPrimaryColor;\x0auniform\x20vec4\x20vPrimaryColorShadow;\x0auniform\x20vec2\x20vDiffuseInfos;\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0auniform\x20float\x20fFovMultiplier;\x0auniform\x20float\x20pointSize;\x0auniform\x20float\x20shadowLevel;\x0auniform\x20float\x20alpha;\x0a#if\x20defined(REFLECTIONFRESNEL)\x20||\x20defined(OPACITYFRESNEL)\x0auniform\x20vec3\x20vBackgroundCenter;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0auniform\x20vec4\x20vReflectionControl;\x0a#endif\x0a};\x0a#include<sceneUboDeclaration>\x0a';},0xdcea:(_0x1d964f,_0x51adf8,_0x30399d)=>{var _0x595304=a6_0x36115b;_0x30399d(0x17a92)['v']['IncludesShadersStore'][_0x595304(0x9f8)]=_0x595304(0xcad);},0x12929:(_0x5cc2c9,_0x214a1f,_0x254d64)=>{var _0x4c6894=a6_0x36115b;_0x254d64(0x17a92)['v']['IncludesShadersStore'][_0x4c6894(0x2bc)]=_0x4c6894(0x404);},0x13f9a:(_0x383750,_0x31075d,_0x24a811)=>{var _0x23d01e=a6_0x36115b;_0x24a811(0x17a92)['v'][_0x23d01e(0x827)][_0x23d01e(0x9aa)]='#if\x20NUM_BONE_INFLUENCERS>0\x0aattribute\x20vec4\x20matricesIndices;\x0aattribute\x20vec4\x20matricesWeights;\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aattribute\x20vec4\x20matricesIndicesExtra;\x0aattribute\x20vec4\x20matricesWeightsExtra;\x0a#endif\x0a#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#ifdef\x20BONETEXTURE\x0auniform\x20sampler2D\x20boneSampler;\x0auniform\x20float\x20boneTextureWidth;\x0a#else\x0auniform\x20mat4\x20mBones[BonesPerMesh];\x0a#ifdef\x20BONES_VELOCITY_ENABLED\x0auniform\x20mat4\x20mPreviousBones[BonesPerMesh];\x0a#endif\x0a#endif\x0a#ifdef\x20BONETEXTURE\x0a#define\x20inline\x0amat4\x20readMatrixFromRawSampler(sampler2D\x20smp,float\x20index)\x0a{\x0afloat\x20offset=index\x20*4.0;\x0afloat\x20dx=1.0/boneTextureWidth;\x0avec4\x20m0=texture2D(smp,vec2(dx*(offset+0.5),0.));\x0avec4\x20m1=texture2D(smp,vec2(dx*(offset+1.5),0.));\x0avec4\x20m2=texture2D(smp,vec2(dx*(offset+2.5),0.));\x0avec4\x20m3=texture2D(smp,vec2(dx*(offset+3.5),0.));\x0areturn\x20mat4(m0,m1,m2,m3);\x0a}\x0a#endif\x0a#endif\x0a#endif\x0a';},0xb434:(_0x31befd,_0x512196,_0x513fdc)=>{var _0x1fa2be=a6_0x36115b;_0x513fdc(0x17a92)['v'][_0x1fa2be(0x827)]['bonesVertex']='#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0amat4\x20influence;\x0a#ifdef\x20BONETEXTURE\x0ainfluence=readMatrixFromRawSampler(boneSampler,matricesIndices[0])*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[1])*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[2])*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[3])*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[0])*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[1])*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[2])*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[3])*matricesWeightsExtra[3];\x0a#endif\x0a#else\x0ainfluence=mBones[int(matricesIndices[0])]*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence+=mBones[int(matricesIndices[1])]*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence+=mBones[int(matricesIndices[2])]*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence+=mBones[int(matricesIndices[3])]*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence+=mBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence+=mBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence+=mBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence+=mBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\x0a#endif\x0a#endif\x0afinalWorld=finalWorld*influence;\x0a#endif\x0a#endif\x0a';},0x140f3:(_0x1e23f8,_0x275a83,_0x5ebbb6)=>{var _0x150d4d=a6_0x36115b;_0x5ebbb6(0x17a92)['v'][_0x150d4d(0x827)]['boundingBoxRendererUboDeclaration']='#ifdef\x20WEBGL2\x0auniform\x20vec4\x20color;\x0auniform\x20mat4\x20world;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0a#else\x0alayout(std140,column_major)\x20uniform;\x0auniform\x20BoundingBoxRenderer\x20{\x0avec4\x20color;\x0amat4\x20world;\x0amat4\x20viewProjection;\x0amat4\x20viewProjectionR;\x0a};\x0a#endif\x0a';},0x6664:(_0x39e7a4,_0x3c730f,_0x55b9ea)=>{var _0x1ab658=a6_0x36115b;_0x55b9ea(0x17a92)['v'][_0x1ab658(0x827)][_0x1ab658(0x1c3)]=_0x1ab658(0x1f0);},0xe577:(_0x3b18fb,_0x3c6d1a,_0x4ad595)=>{var _0x234f5d=a6_0x36115b,_0x1ffeda=_0x4ad595(0x17a92);_0x4ad595(0x126e8),_0x1ffeda['v'][_0x234f5d(0x827)][_0x234f5d(0x62b)]='#if\x20defined(BUMP)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_SAMPLERNAME_,bump)\x0a#endif\x0a#if\x20defined(DETAIL)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_SAMPLERNAME_,detail)\x0a#endif\x0a#if\x20defined(BUMP)\x20&&\x20defined(PARALLAX)\x0aconst\x20float\x20minSamples=4.;\x0aconst\x20float\x20maxSamples=15.;\x0aconst\x20int\x20iMaxSamples=15;\x0avec2\x20parallaxOcclusion(vec3\x20vViewDirCoT,vec3\x20vNormalCoT,vec2\x20texCoord,float\x20parallaxScale)\x20{\x0afloat\x20parallaxLimit=length(vViewDirCoT.xy)/vViewDirCoT.z;\x0aparallaxLimit*=parallaxScale;\x0avec2\x20vOffsetDir=normalize(vViewDirCoT.xy);\x0avec2\x20vMaxOffset=vOffsetDir*parallaxLimit;\x0afloat\x20numSamples=maxSamples+(dot(vViewDirCoT,vNormalCoT)*(minSamples-maxSamples));\x0afloat\x20stepSize=1.0/numSamples;\x0afloat\x20currRayHeight=1.0;\x0avec2\x20vCurrOffset=vec2(0,0);\x0avec2\x20vLastOffset=vec2(0,0);\x0afloat\x20lastSampledHeight=1.0;\x0afloat\x20currSampledHeight=1.0;\x0abool\x20keepWorking=true;\x0afor\x20(int\x20i=0;\x20i<iMaxSamples;\x20i++)\x0a{\x0acurrSampledHeight=texture2D(bumpSampler,texCoord+vCurrOffset).w;\x0aif\x20(!keepWorking)\x0a{\x0a}\x0aelse\x20if\x20(currSampledHeight>currRayHeight)\x0a{\x0afloat\x20delta1=currSampledHeight-currRayHeight;\x0afloat\x20delta2=(currRayHeight+stepSize)-lastSampledHeight;\x0afloat\x20ratio=delta1/(delta1+delta2);\x0avCurrOffset=(ratio)*\x20vLastOffset+(1.0-ratio)*vCurrOffset;\x0akeepWorking=false;\x0a}\x0aelse\x0a{\x0acurrRayHeight-=stepSize;\x0avLastOffset=vCurrOffset;\x0avCurrOffset+=stepSize*vMaxOffset;\x0alastSampledHeight=currSampledHeight;\x0a}\x0a}\x0areturn\x20vCurrOffset;\x0a}\x0avec2\x20parallaxOffset(vec3\x20viewDir,float\x20heightScale)\x0a{\x0afloat\x20height=texture2D(bumpSampler,vBumpUV).w;\x0avec2\x20texCoordOffset=heightScale*viewDir.xy*height;\x0areturn\x20-texCoordOffset;\x0a}\x0a#endif\x0a';},0x8cac:(_0x11c007,_0xc3e993,_0x362388)=>{var _0x55c062=a6_0x36115b;_0x362388(0x17a92)['v'][_0x55c062(0x827)][_0x55c062(0x71e)]='#if\x20defined(BUMP)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x20||\x20defined(DETAIL)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x20\x0avarying\x20mat3\x20vTBN;\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0auniform\x20mat4\x20normalMatrix;\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x0amat4\x20toNormalMatrix(mat4\x20wMatrix)\x0a{\x0amat4\x20ret=inverse(wMatrix);\x0aret=transpose(ret);\x0aret[0][3]=0.;\x0aret[1][3]=0.;\x0aret[2][3]=0.;\x0aret[3]=vec4(0.,0.,0.,1.);\x0areturn\x20ret;\x0a}\x0a#else\x0amat4\x20toNormalMatrix(mat4\x20m)\x0a{\x0afloat\x0aa00=m[0][0],a01=m[0][1],a02=m[0][2],a03=m[0][3],\x0aa10=m[1][0],a11=m[1][1],a12=m[1][2],a13=m[1][3],\x0aa20=m[2][0],a21=m[2][1],a22=m[2][2],a23=m[2][3],\x0aa30=m[3][0],a31=m[3][1],a32=m[3][2],a33=m[3][3],\x0ab00=a00*a11-a01*a10,\x0ab01=a00*a12-a02*a10,\x0ab02=a00*a13-a03*a10,\x0ab03=a01*a12-a02*a11,\x0ab04=a01*a13-a03*a11,\x0ab05=a02*a13-a03*a12,\x0ab06=a20*a31-a21*a30,\x0ab07=a20*a32-a22*a30,\x0ab08=a20*a33-a23*a30,\x0ab09=a21*a32-a22*a31,\x0ab10=a21*a33-a23*a31,\x0ab11=a22*a33-a23*a32,\x0adet=b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06;\x0amat4\x20mi=mat4(\x0aa11*b11-a12*b10+a13*b09,\x0aa02*b10-a01*b11-a03*b09,\x0aa31*b05-a32*b04+a33*b03,\x0aa22*b04-a21*b05-a23*b03,\x0aa12*b08-a10*b11-a13*b07,\x0aa00*b11-a02*b08+a03*b07,\x0aa32*b02-a30*b05-a33*b01,\x0aa20*b05-a22*b02+a23*b01,\x0aa10*b10-a11*b08+a13*b06,\x0aa01*b08-a00*b10-a03*b06,\x0aa30*b04-a31*b02+a33*b00,\x0aa21*b02-a20*b04-a23*b00,\x0aa11*b07-a10*b09-a12*b06,\x0aa00*b09-a01*b07+a02*b06,\x0aa31*b01-a30*b03-a32*b00,\x0aa20*b03-a21*b01+a22*b00)/det;\x0areturn\x20mat4(mi[0][0],mi[1][0],mi[2][0],mi[3][0],\x0ami[0][1],mi[1][1],mi[2][1],mi[3][1],\x0ami[0][2],mi[1][2],mi[2][2],mi[3][2],\x0ami[0][3],mi[1][3],mi[2][3],mi[3][3]);\x0a}\x0a#endif\x0a#endif\x0avec3\x20perturbNormalBase(mat3\x20cotangentFrame,vec3\x20normal,float\x20scale)\x0a{\x0a#ifdef\x20NORMALXYSCALE\x0anormal=normalize(normal*vec3(scale,scale,1.0));\x0a#endif\x0areturn\x20normalize(cotangentFrame*normal);\x0a}\x0avec3\x20perturbNormal(mat3\x20cotangentFrame,vec3\x20textureSample,float\x20scale)\x0a{\x0areturn\x20perturbNormalBase(cotangentFrame,textureSample*2.0-1.0,scale);\x0a}\x0amat3\x20cotangent_frame(vec3\x20normal,vec3\x20p,vec2\x20uv,vec2\x20tangentSpaceParams)\x0a{\x0avec3\x20dp1=dFdx(p);\x0avec3\x20dp2=dFdy(p);\x0avec2\x20duv1=dFdx(uv);\x0avec2\x20duv2=dFdy(uv);\x0avec3\x20dp2perp=cross(dp2,normal);\x0avec3\x20dp1perp=cross(normal,dp1);\x0avec3\x20tangent=dp2perp*duv1.x+dp1perp*duv2.x;\x0avec3\x20bitangent=dp2perp*duv1.y+dp1perp*duv2.y;\x0atangent*=tangentSpaceParams.x;\x0abitangent*=tangentSpaceParams.y;\x0afloat\x20det=max(dot(tangent,tangent),dot(bitangent,bitangent));\x0afloat\x20invmax=det==0.0\x20?\x200.0\x20:\x20inversesqrt(det);\x0areturn\x20mat3(tangent*invmax,bitangent*invmax,normal);\x0a}\x0a#endif\x0a';},0xced6:(_0x20a43e,_0x40317a,_0x5e8eb6)=>{var _0x25e65e=a6_0x36115b;_0x5e8eb6(0x17a92)['v'][_0x25e65e(0x827)]['bumpVertex']=_0x25e65e(0x16e);},0x8785:(_0xfda37,_0x56c299,_0x40b61f)=>{var _0x430a00=a6_0x36115b;_0x40b61f(0x17a92)['v'][_0x430a00(0x827)]['bumpVertexDeclaration']=_0x430a00(0x13d);},0x3328:(_0x2467e5,_0x1b12f3,_0x488fc2)=>{var _0x206d25=a6_0x36115b;_0x488fc2(0x17a92)['v']['IncludesShadersStore'][_0x206d25(0x1f7)]=_0x206d25(0x87b);},0xff1b:(_0x2bc9b3,_0x436995,_0x2e1f3a)=>{var _0x55b667=a6_0x36115b;_0x2e1f3a(0x17a92)['v'][_0x55b667(0x827)][_0x55b667(0x32d)]=_0x55b667(0x878);},0x6efd:(_0x2c679b,_0x562e36,_0x22b9e5)=>{var _0x1a9186=a6_0x36115b;_0x22b9e5(0x17a92)['v'][_0x1a9186(0x827)]['clipPlaneVertex']=_0x1a9186(0x468);},0x13216:(_0x391106,_0xf65e42,_0x2bcfbe)=>{var _0x59afc2=a6_0x36115b;_0x2bcfbe(0x17a92)['v']['IncludesShadersStore'][_0x59afc2(0x51a)]=_0x59afc2(0xcaa);},0xcff7:(_0x47270a,_0x5da859,_0x3dda49)=>{var _0x2c067a=a6_0x36115b;_0x3dda49(0x17a92)['v']['IncludesShadersStore']['decalFragment']=_0x2c067a(0x4e7);},0xf57c:(_0x22e022,_0x2a9b9e,_0x4d03fc)=>{var _0x2a32b9=a6_0x36115b;_0x4d03fc(0x17a92)['v'][_0x2a32b9(0x827)][_0x2a32b9(0x605)]=_0x2a32b9(0x13b);},0x2826:(_0x2ef6de,_0x204eac,_0x43e736)=>{var _0x189f5c=a6_0x36115b;_0x43e736(0x17a92)['v'][_0x189f5c(0x827)][_0x189f5c(0x9a4)]=_0x189f5c(0x55c);},0x4bc6:(_0xaee4a3,_0x4cde73,_0x3f11d2)=>{var _0x1531d1=a6_0x36115b,_0x436920=_0x3f11d2(0x17a92);_0x3f11d2(0x6cce),_0x3f11d2(0x11fa6),_0x436920['v'][_0x1531d1(0x827)][_0x1531d1(0x4ab)]='layout(std140,column_major)\x20uniform;\x0auniform\x20Material\x0a{\x0avec4\x20diffuseLeftColor;\x0avec4\x20diffuseRightColor;\x0avec4\x20opacityParts;\x0avec4\x20reflectionLeftColor;\x0avec4\x20reflectionRightColor;\x0avec4\x20refractionLeftColor;\x0avec4\x20refractionRightColor;\x0avec4\x20emissiveLeftColor;\x0avec4\x20emissiveRightColor;\x0avec2\x20vDiffuseInfos;\x0avec2\x20vAmbientInfos;\x0avec2\x20vOpacityInfos;\x0avec2\x20vReflectionInfos;\x0avec3\x20vReflectionPosition;\x0avec3\x20vReflectionSize;\x0avec2\x20vEmissiveInfos;\x0avec2\x20vLightmapInfos;\x0avec2\x20vSpecularInfos;\x0avec3\x20vBumpInfos;\x0amat4\x20diffuseMatrix;\x0amat4\x20ambientMatrix;\x0amat4\x20opacityMatrix;\x0amat4\x20reflectionMatrix;\x0amat4\x20emissiveMatrix;\x0amat4\x20lightmapMatrix;\x0amat4\x20specularMatrix;\x0amat4\x20bumpMatrix;\x0avec2\x20vTangentSpaceParams;\x0afloat\x20pointSize;\x0afloat\x20alphaCutOff;\x0amat4\x20refractionMatrix;\x0avec4\x20vRefractionInfos;\x0avec3\x20vRefractionPosition;\x0avec3\x20vRefractionSize;\x0avec4\x20vSpecularColor;\x0avec3\x20vEmissiveColor;\x0avec4\x20vDiffuseColor;\x0avec3\x20vAmbientColor;\x0a#define\x20ADDITIONAL_UBO_DECLARATION\x0a};\x0a#include<sceneUboDeclaration>\x0a#include<meshUboDeclaration>\x0a';},0x6318:(_0x329145,_0x3da8d8,_0x2cb5bf)=>{var _0x428dda=a6_0x36115b;_0x2cb5bf(0x17a92)['v'][_0x428dda(0x827)][_0x428dda(0x825)]=_0x428dda(0xac3);},0x10ef:(_0x771152,_0x41b729,_0x1055dc)=>{var _0x132e82=a6_0x36115b;_0x1055dc(0x17a92)['v'][_0x132e82(0x827)][_0x132e82(0x42e)]=_0x132e82(0xb65);},0x12a16:(_0x202ae3,_0x455323,_0x1ae7ae)=>{var _0x398068=a6_0x36115b;_0x1ae7ae(0x17a92)['v'][_0x398068(0x827)]['fogFragmentDeclaration']=_0x398068(0x5b4);},0x9871:(_0x163582,_0x484a1b,_0xbece36)=>{var _0x30fdaa=a6_0x36115b;_0xbece36(0x17a92)['v'][_0x30fdaa(0x827)][_0x30fdaa(0xc4b)]=_0x30fdaa(0x272);},0x6a99:(_0x20e095,_0x323e52,_0x48f709)=>{var _0x161b2d=a6_0x36115b;_0x48f709(0x17a92)['v'][_0x161b2d(0x827)][_0x161b2d(0x1b7)]=_0x161b2d(0x35b);},0xb008:(_0x1fa500,_0x177e71,_0x5ac94c)=>{var _0x3a357e=a6_0x36115b;_0x5ac94c(0x17a92)['v'][_0x3a357e(0x827)][_0x3a357e(0x210)]=_0x3a357e(0x50c);},0x14535:(_0x5c616d,_0x59d6de,_0x3871f6)=>{var _0x30bf8d=a6_0x36115b;_0x3871f6(0x17a92)['v'][_0x30bf8d(0x827)][_0x30bf8d(0x87f)]=_0x30bf8d(0x181);},0x16b85:(_0x32cb69,_0x4fa1c5,_0x2120ae)=>{var _0x55eb40=a6_0x36115b;_0x2120ae(0x17a92)['v'][_0x55eb40(0x827)][_0x55eb40(0x457)]='#ifdef\x20NUM_SAMPLES\x0a#if\x20NUM_SAMPLES>0\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0afloat\x20radicalInverse_VdC(uint\x20bits)\x20\x0a{\x0abits=(bits<<16u)\x20|\x20(bits>>16u);\x0abits=((bits\x20&\x200x55555555u)<<1u)\x20|\x20((bits\x20&\x200xAAAAAAAAu)>>1u);\x0abits=((bits\x20&\x200x33333333u)<<2u)\x20|\x20((bits\x20&\x200xCCCCCCCCu)>>2u);\x0abits=((bits\x20&\x200x0F0F0F0Fu)<<4u)\x20|\x20((bits\x20&\x200xF0F0F0F0u)>>4u);\x0abits=((bits\x20&\x200x00FF00FFu)<<8u)\x20|\x20((bits\x20&\x200xFF00FF00u)>>8u);\x0areturn\x20float(bits)*2.3283064365386963e-10;\x20\x0a}\x0avec2\x20hammersley(uint\x20i,uint\x20N)\x0a{\x0areturn\x20vec2(float(i)/float(N),radicalInverse_VdC(i));\x0a}\x0a#else\x0afloat\x20vanDerCorpus(int\x20n,int\x20base)\x0a{\x0afloat\x20invBase=1.0/float(base);\x0afloat\x20denom\x20=1.0;\x0afloat\x20result\x20=0.0;\x0afor(int\x20i=0;\x20i<32;\x20++i)\x0a{\x0aif(n>0)\x0a{\x0adenom\x20=mod(float(n),2.0);\x0aresult+=denom*invBase;\x0ainvBase=invBase/2.0;\x0an\x20=int(float(n)/2.0);\x0a}\x0a}\x0areturn\x20result;\x0a}\x0avec2\x20hammersley(int\x20i,int\x20N)\x0a{\x0areturn\x20vec2(float(i)/float(N),vanDerCorpus(i,2));\x0a}\x0a#endif\x0afloat\x20log4(float\x20x)\x20{\x0areturn\x20log2(x)/2.;\x0a}\x0aconst\x20float\x20NUM_SAMPLES_FLOAT=float(NUM_SAMPLES);\x0aconst\x20float\x20NUM_SAMPLES_FLOAT_INVERSED=1./NUM_SAMPLES_FLOAT;\x0aconst\x20float\x20K=4.;\x0a#define\x20inline\x0avec3\x20irradiance(samplerCube\x20inputTexture,vec3\x20inputN,vec2\x20filteringInfo)\x0a{\x0avec3\x20n=normalize(inputN);\x0avec3\x20result=vec3(0.0);\x0avec3\x20tangent=abs(n.z)<0.999\x20?\x20vec3(0.,0.,1.)\x20:\x20vec3(1.,0.,0.);\x0atangent=normalize(cross(tangent,n));\x0avec3\x20bitangent=cross(n,tangent);\x0amat3\x20tbn=mat3(tangent,bitangent,n);\x0afloat\x20maxLevel=filteringInfo.y;\x0afloat\x20dim0=filteringInfo.x;\x0afloat\x20omegaP=(4.*PI)/(6.*dim0*dim0);\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0afor(uint\x20i=0u;\x20i<NUM_SAMPLES;\x20++i)\x0a#else\x0afor(int\x20i=0;\x20i<NUM_SAMPLES;\x20++i)\x0a#endif\x0a{\x0avec2\x20Xi=hammersley(i,NUM_SAMPLES);\x0avec3\x20Ls=hemisphereCosSample(Xi);\x0aLs=normalize(Ls);\x0avec3\x20Ns=vec3(0.,0.,1.);\x0afloat\x20NoL=dot(Ns,Ls);\x0aif\x20(NoL>0.)\x20{\x0afloat\x20pdf_inversed=PI/NoL;\x0afloat\x20omegaS=NUM_SAMPLES_FLOAT_INVERSED*pdf_inversed;\x0afloat\x20l=log4(omegaS)-log4(omegaP)+log4(K);\x0afloat\x20mipLevel=clamp(l,0.0,maxLevel);\x0avec3\x20c=textureCubeLodEXT(inputTexture,tbn*Ls,mipLevel).rgb;\x0a#ifdef\x20GAMMA_INPUT\x0ac=toLinearSpace(c);\x0a#endif\x0aresult+=c;\x0a}\x0a}\x0aresult=result*NUM_SAMPLES_FLOAT_INVERSED;\x0areturn\x20result;\x0a}\x0a#define\x20inline\x0avec3\x20radiance(float\x20alphaG,samplerCube\x20inputTexture,vec3\x20inputN,vec2\x20filteringInfo)\x0a{\x0avec3\x20n=normalize(inputN);\x0aif\x20(alphaG==0.)\x20{\x0avec3\x20c=textureCube(inputTexture,n).rgb;\x0a#ifdef\x20GAMMA_INPUT\x0ac=toLinearSpace(c);\x0a#endif\x0areturn\x20c;\x0a}\x20else\x20{\x0avec3\x20result=vec3(0.);\x0avec3\x20tangent=abs(n.z)<0.999\x20?\x20vec3(0.,0.,1.)\x20:\x20vec3(1.,0.,0.);\x0atangent=normalize(cross(tangent,n));\x0avec3\x20bitangent=cross(n,tangent);\x0amat3\x20tbn=mat3(tangent,bitangent,n);\x0afloat\x20maxLevel=filteringInfo.y;\x0afloat\x20dim0=filteringInfo.x;\x0afloat\x20omegaP=(4.*PI)/(6.*dim0*dim0);\x0afloat\x20weight=0.;\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0afor(uint\x20i=0u;\x20i<NUM_SAMPLES;\x20++i)\x0a#else\x0afor(int\x20i=0;\x20i<NUM_SAMPLES;\x20++i)\x0a#endif\x0a{\x0avec2\x20Xi=hammersley(i,NUM_SAMPLES);\x0avec3\x20H=hemisphereImportanceSampleDggx(Xi,alphaG);\x0afloat\x20NoV=1.;\x0afloat\x20NoH=H.z;\x0afloat\x20NoH2=H.z*H.z;\x0afloat\x20NoL=2.*NoH2-1.;\x0avec3\x20L=vec3(2.*NoH*H.x,2.*NoH*H.y,NoL);\x0aL=normalize(L);\x0aif\x20(NoL>0.)\x20{\x0afloat\x20pdf_inversed=4./normalDistributionFunction_TrowbridgeReitzGGX(NoH,alphaG);\x0afloat\x20omegaS=NUM_SAMPLES_FLOAT_INVERSED*pdf_inversed;\x0afloat\x20l=log4(omegaS)-log4(omegaP)+log4(K);\x0afloat\x20mipLevel=clamp(float(l),0.0,maxLevel);\x0aweight+=NoL;\x0avec3\x20c=textureCubeLodEXT(inputTexture,tbn*L,mipLevel).rgb;\x0a#ifdef\x20GAMMA_INPUT\x0ac=toLinearSpace(c);\x0a#endif\x0aresult+=c*NoL;\x0a}\x0a}\x0aresult=result/weight;\x0areturn\x20result;\x0a}\x0a}\x0a#endif\x0a#endif\x0a';},0x175b0:(_0x1e0e9b,_0xc5ab36,_0x121edf)=>{var _0x1d9a4f=a6_0x36115b;_0x121edf(0x17a92)['v']['IncludesShadersStore'][_0x1d9a4f(0x281)]=_0x1d9a4f(0x7df);},0x17ef8:(_0x2ed1b1,_0x303ddc,_0xdc781)=>{var _0x78be16=a6_0x36115b;_0xdc781(0x17a92)['v'][_0x78be16(0x827)][_0x78be16(0x329)]='#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0agl_FragColor.rgb=pow(gl_FragColor.rgb,vec3(2.2));\x0a#endif\x0a';},0x16c11:(_0x394ce5,_0x3b8ea2,_0x5acbb0)=>{var _0x4d9d6b=a6_0x36115b;_0x5acbb0(0x17a92)['v'][_0x4d9d6b(0x827)][_0x4d9d6b(0xc37)]=_0x4d9d6b(0x779);},0x119a9:(_0x3dc4fb,_0x393953,_0x7765c6)=>{var _0x22be10=a6_0x36115b;_0x7765c6(0x17a92)['v'][_0x22be10(0x827)][_0x22be10(0x19e)]='#if\x20defined(COLORGRADING)\x20&&\x20!defined(COLORGRADING3D)\x0a/**\x20\x0a*\x20Polyfill\x20for\x20SAMPLE_TEXTURE_3D,which\x20is\x20unsupported\x20in\x20WebGL.\x0a*\x20sampler3dSetting.x=textureOffset\x20(0.5/textureSize).\x0a*\x20sampler3dSetting.y=textureSize.\x0a*/\x0a#define\x20inline\x0avec3\x20sampleTexture3D(sampler2D\x20colorTransform,vec3\x20color,vec2\x20sampler3dSetting)\x0a{\x0afloat\x20sliceSize=2.0*sampler3dSetting.x;\x20\x0a#ifdef\x20SAMPLER3DGREENDEPTH\x0afloat\x20sliceContinuous=(color.g-sampler3dSetting.x)*sampler3dSetting.y;\x0a#else\x0afloat\x20sliceContinuous=(color.b-sampler3dSetting.x)*sampler3dSetting.y;\x0a#endif\x0afloat\x20sliceInteger=floor(sliceContinuous);\x0afloat\x20sliceFraction=sliceContinuous-sliceInteger;\x0a#ifdef\x20SAMPLER3DGREENDEPTH\x0avec2\x20sliceUV=color.rb;\x0a#else\x0avec2\x20sliceUV=color.rg;\x0a#endif\x0asliceUV.x*=sliceSize;\x0asliceUV.x+=sliceInteger*sliceSize;\x0asliceUV=saturate(sliceUV);\x0avec4\x20slice0Color=texture2D(colorTransform,sliceUV);\x0asliceUV.x+=sliceSize;\x0asliceUV=saturate(sliceUV);\x0avec4\x20slice1Color=texture2D(colorTransform,sliceUV);\x0avec3\x20result=mix(slice0Color.rgb,slice1Color.rgb,sliceFraction);\x0a#ifdef\x20SAMPLER3DBGRMAP\x0acolor.rgb=result.rgb;\x0a#else\x0acolor.rgb=result.bgr;\x0a#endif\x0areturn\x20color;\x0a}\x0a#endif\x0a#ifdef\x20TONEMAPPING_ACES\x0aconst\x20mat3\x20ACESInputMat=mat3(\x0avec3(0.59719,0.07600,0.02840),\x0avec3(0.35458,0.90834,0.13383),\x0avec3(0.04823,0.01566,0.83777)\x0a);\x0aconst\x20mat3\x20ACESOutputMat=mat3(\x0avec3(\x201.60475,-0.10208,-0.00327),\x0avec3(-0.53108,\x201.10813,-0.07276),\x0avec3(-0.07367,-0.00605,\x201.07602)\x0a);\x0avec3\x20RRTAndODTFit(vec3\x20v)\x0a{\x0avec3\x20a=v*(v+0.0245786)-0.000090537;\x0avec3\x20b=v*(0.983729*v+0.4329510)+0.238081;\x0areturn\x20a/b;\x0a}\x0avec3\x20ACESFitted(vec3\x20color)\x0a{\x0acolor=ACESInputMat*color;\x0acolor=RRTAndODTFit(color);\x0acolor=ACESOutputMat*color;\x0acolor=saturate(color);\x0areturn\x20color;\x0a}\x0a#endif\x0a#define\x20CUSTOM_IMAGEPROCESSINGFUNCTIONS_DEFINITIONS\x0avec4\x20applyImageProcessing(vec4\x20result)\x20{\x0a#define\x20CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATSTART\x0a#ifdef\x20EXPOSURE\x0aresult.rgb*=exposureLinear;\x0a#endif\x0a#ifdef\x20VIGNETTE\x0avec2\x20viewportXY=gl_FragCoord.xy*vInverseScreenSize;\x0aviewportXY=viewportXY*2.0-1.0;\x0avec3\x20vignetteXY1=vec3(viewportXY*vignetteSettings1.xy+vignetteSettings1.zw,1.0);\x0afloat\x20vignetteTerm=dot(vignetteXY1,vignetteXY1);\x0afloat\x20vignette=pow(vignetteTerm,vignetteSettings2.w);\x0avec3\x20vignetteColor=vignetteSettings2.rgb;\x0a#ifdef\x20VIGNETTEBLENDMODEMULTIPLY\x0avec3\x20vignetteColorMultiplier=mix(vignetteColor,vec3(1,1,1),vignette);\x0aresult.rgb*=vignetteColorMultiplier;\x0a#endif\x0a#ifdef\x20VIGNETTEBLENDMODEOPAQUE\x0aresult.rgb=mix(vignetteColor,result.rgb,vignette);\x0a#endif\x0a#endif\x0a#ifdef\x20TONEMAPPING\x0a#ifdef\x20TONEMAPPING_ACES\x0aresult.rgb=ACESFitted(result.rgb);\x0a#else\x0aconst\x20float\x20tonemappingCalibration=1.590579;\x0aresult.rgb=1.0-exp2(-tonemappingCalibration*result.rgb);\x0a#endif\x0a#endif\x0aresult.rgb=toGammaSpace(result.rgb);\x0aresult.rgb=saturate(result.rgb);\x0a#ifdef\x20CONTRAST\x0avec3\x20resultHighContrast=result.rgb*result.rgb*(3.0-2.0*result.rgb);\x0aif\x20(contrast<1.0)\x20{\x0aresult.rgb=mix(vec3(0.5,0.5,0.5),result.rgb,contrast);\x0a}\x20else\x20{\x0aresult.rgb=mix(result.rgb,resultHighContrast,contrast-1.0);\x0a}\x0a#endif\x0a#ifdef\x20COLORGRADING\x0avec3\x20colorTransformInput=result.rgb*colorTransformSettings.xxx+colorTransformSettings.yyy;\x0a#ifdef\x20COLORGRADING3D\x0avec3\x20colorTransformOutput=texture(txColorTransform,colorTransformInput).rgb;\x0a#else\x0avec3\x20colorTransformOutput=sampleTexture3D(txColorTransform,colorTransformInput,colorTransformSettings.yz).rgb;\x0a#endif\x0aresult.rgb=mix(result.rgb,colorTransformOutput,colorTransformSettings.www);\x0a#endif\x0a#ifdef\x20COLORCURVES\x0afloat\x20luma=getLuminance(result.rgb);\x0avec2\x20curveMix=clamp(vec2(luma*3.0-1.5,luma*-3.0+1.5),vec2(0.0),vec2(1.0));\x0avec4\x20colorCurve=vCameraColorCurveNeutral+curveMix.x*vCameraColorCurvePositive-curveMix.y*vCameraColorCurveNegative;\x0aresult.rgb*=colorCurve.rgb;\x0aresult.rgb=mix(vec3(luma),result.rgb,colorCurve.a);\x0a#endif\x0a#ifdef\x20DITHER\x0afloat\x20rand=getRand(gl_FragCoord.xy*vInverseScreenSize);\x0afloat\x20dither=mix(-ditherIntensity,ditherIntensity,rand);\x0aresult.rgb=saturate(result.rgb+vec3(dither));\x0a#endif\x0a#define\x20CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATEND\x0areturn\x20result;\x0a}';},0x1b98:(_0x4cad50,_0x29f91d,_0x3a6af0)=>{var _0xe07ddd=a6_0x36115b;_0x3a6af0(0x17a92)['v']['IncludesShadersStore'][_0xe07ddd(0x527)]=_0xe07ddd(0x22f);},0x12bc6:(_0x5036d1,_0x3e384c,_0x199aa7)=>{var _0x82a335=a6_0x36115b;_0x199aa7(0x17a92)['v'][_0x82a335(0x827)]['instancesDeclaration']=_0x82a335(0xa2a);},0x733d:(_0x3567d7,_0x21df48,_0x1fa2f8)=>{var _0x27235f=a6_0x36115b;_0x1fa2f8(0x17a92)['v'][_0x27235f(0x827)][_0x27235f(0x99d)]=_0x27235f(0x677);},0x1610b:(_0x2b666c,_0xd3b140,_0x3f3f54)=>{var _0x3d2f91=a6_0x36115b;_0x3f3f54(0x17a92)['v'][_0x3d2f91(0x827)]['kernelBlurVaryingDeclaration']=_0x3d2f91(0x887);},0xb0bc:(_0x3b607f,_0x34b6b5,_0x5b7985)=>{var _0x2acdd8=a6_0x36115b;_0x5b7985(0x17a92)['v'][_0x2acdd8(0x827)][_0x2acdd8(0xb42)]=_0x2acdd8(0xb80);},0xe6c7:(_0x57fdc4,_0xe541e1,_0x1678e6)=>{var _0x4995da=a6_0x36115b;_0x1678e6(0x17a92)['v'][_0x4995da(0x827)]['lightFragmentDeclaration']=_0x4995da(0x4e2);},0x15fb5:(_0x297c41,_0x2ec14b,_0x15f431)=>{var _0x5b6c7f=a6_0x36115b;_0x15f431(0x17a92)['v'][_0x5b6c7f(0x827)]['lightUboDeclaration']='#ifdef\x20LIGHT{X}\x0auniform\x20Light{X}\x0a{\x0avec4\x20vLightData;\x0avec4\x20vLightDiffuse;\x0avec4\x20vLightSpecular;\x0a#ifdef\x20SPOTLIGHT{X}\x0avec4\x20vLightDirection;\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(POINTLIGHT{X})\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(HEMILIGHT{X})\x0avec3\x20vLightGround;\x0a#endif\x0avec4\x20shadowsInfo;\x0avec2\x20depthValues;\x0a}\x20light{X};\x0a#ifdef\x20PROJECTEDLIGHTTEXTURE{X}\x0auniform\x20mat4\x20textureProjectionMatrix{X};\x0auniform\x20sampler2D\x20projectionLightSampler{X};\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20viewFrustumZ{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20frustumLengths{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20cascadeBlendFactor{X};\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2DArray\x20depthSampler{X};\x0auniform\x20vec2\x20lightSizeUVCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20depthCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20penumbraDarkness{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20highp\x20sampler2DArray\x20shadowSampler{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0aconst\x20vec3\x20vCascadeColorsMultiplier{X}[8]=vec3[8]\x0a(\x0avec3\x20(\x201.5,0.0,0.0\x20),\x0avec3\x20(\x200.0,1.5,0.0\x20),\x0avec3\x20(\x200.0,0.0,5.5\x20),\x0avec3\x20(\x201.5,0.0,5.5\x20),\x0avec3\x20(\x201.5,1.5,0.0\x20),\x0avec3\x20(\x201.0,1.0,1.0\x20),\x0avec3\x20(\x200.0,1.0,5.5\x20),\x0avec3\x20(\x200.5,3.5,0.75\x20)\x0a);\x0avec3\x20shadowDebug{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMUSESHADOWMAXZ{X}\x0aint\x20index{X}=-1;\x0a#else\x0aint\x20index{X}=SHADOWCSMNUM_CASCADES{X}-1;\x0a#endif\x0afloat\x20diff{X}=0.;\x0a#elif\x20defined(SHADOWCUBE{X})\x0auniform\x20samplerCube\x20shadowSampler{X};\x20\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2D\x20depthSampler{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20sampler2D\x20shadowSampler{X};\x0a#endif\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0a#endif\x0a#endif\x0a';},0x1b3f:(_0x57193e,_0x65af39,_0xfe2e2d)=>{var _0x52a880=a6_0x36115b;_0xfe2e2d(0x17a92)['v'][_0x52a880(0x827)][_0x52a880(0xfe)]=_0x52a880(0xbe6);},0xc971:(_0x2c3289,_0x13d0dc,_0x30cd78)=>{var _0x2e5ad3=a6_0x36115b;_0x30cd78(0x17a92)['v']['IncludesShadersStore']['lightVxUboDeclaration']=_0x2e5ad3(0x822);},0x1f57:(_0x1a9e74,_0x4c827b,_0xf6e6da)=>{var _0x181c3c=a6_0x36115b;_0xf6e6da(0x17a92)['v'][_0x181c3c(0x827)]['lightsFragmentFunctions']=_0x181c3c(0x283);},0x17bd9:(_0x3c391c,_0x4f7b31,_0x39a786)=>{var _0xcdfd68=a6_0x36115b;_0x39a786(0x17a92)['v'][_0xcdfd68(0x827)][_0xcdfd68(0xc35)]=_0xcdfd68(0x7e9);},0x1445f:(_0x1d20ec,_0x581fab,_0x20d0fe)=>{var _0x152708=a6_0x36115b;_0x20d0fe(0x17a92)['v'][_0x152708(0x827)][_0x152708(0x1d0)]=_0x152708(0x2af);},0x13da6:(_0x2c1059,_0x49f241,_0x424bb6)=>{var _0x47bdda=a6_0x36115b;_0x424bb6(0x17a92)['v'][_0x47bdda(0x827)][_0x47bdda(0x7a0)]=_0x47bdda(0xa63);},0x94fa:(_0x5a2c69,_0x7e5594,_0x5916fc)=>{var _0x51672f=a6_0x36115b;_0x5916fc(0x17a92)['v'][_0x51672f(0x827)]['mainUVVaryingDeclaration']='#ifdef\x20MAINUV{X}\x0avarying\x20vec2\x20vMainUV{X};\x0a#endif\x0a';},0x11fa6:(_0x2f4ed6,_0x529d0b,_0x5f4c17)=>{var _0x1d3fb4=a6_0x36115b;_0x5f4c17(0x17a92)['v'][_0x1d3fb4(0x827)][_0x1d3fb4(0xcc7)]=_0x1d3fb4(0x7c9);},0x1070:(_0x2bee5a,_0x475047,_0x3c5436)=>{var _0x5edafe=a6_0x36115b;_0x3c5436(0x17a92)['v']['IncludesShadersStore'][_0x5edafe(0x580)]=_0x5edafe(0xbc9);},0x12abc:(_0x59aa56,_0x45ea99,_0x2cd395)=>{var _0x1b9b73=a6_0x36115b;_0x2cd395(0x17a92)['v'][_0x1b9b73(0x827)][_0x1b9b73(0x796)]=_0x1b9b73(0x967);},0x13906:(_0x3b0694,_0x2bc8e2,_0x17eef2)=>{_0x17eef2(0x17a92)['v']['IncludesShadersStore']['morphTargetsVertexGlobal']='#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x0afloat\x20vertexID;\x0a#endif\x0a#endif\x0a';},0x9ea3:(_0x36425a,_0x403e9d,_0x55eddf)=>{var _0x5f0f88=a6_0x36115b;_0x55eddf(0x17a92)['v']['IncludesShadersStore'][_0x5f0f88(0x6a5)]='#ifdef\x20MORPHTARGETS\x0auniform\x20float\x20morphTargetInfluences[NUM_MORPH_INFLUENCERS];\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0aprecision\x20mediump\x20sampler2DArray;\x20\x0auniform\x20float\x20morphTargetTextureIndices[NUM_MORPH_INFLUENCERS];\x0auniform\x20vec3\x20morphTargetTextureInfo;\x0auniform\x20sampler2DArray\x20morphTargets;\x0avec3\x20readVector3FromRawSampler(int\x20targetIndex,float\x20vertexIndex)\x0a{\x20\x0afloat\x20y=floor(vertexIndex/morphTargetTextureInfo.y);\x0afloat\x20x=vertexIndex-y*morphTargetTextureInfo.y;\x0avec3\x20textureUV=vec3((x+0.5)/morphTargetTextureInfo.y,(y+0.5)/morphTargetTextureInfo.z,morphTargetTextureIndices[targetIndex]);\x0areturn\x20texture(morphTargets,textureUV).xyz;\x0a}\x0a#endif\x0a#endif\x0a';},0xa8cd:(_0x102d63,_0x51e538,_0x1129c4)=>{var _0x1faba4=a6_0x36115b;_0x1129c4(0x17a92)['v'][_0x1faba4(0x827)][_0x1faba4(0x7f7)]=_0x1faba4(0xa8d);},0xa965:(_0x5b882d,_0x22defe,_0x162348)=>{var _0x3a1b23=a6_0x36115b;_0x162348(0x17a92)['v'][_0x3a1b23(0x827)][_0x3a1b23(0x9bb)]=_0x3a1b23(0x3c6);},0xe85e:(_0x2d08eb,_0x3cfd92,_0x44705d)=>{var _0xf8b362=a6_0x36115b;_0x44705d(0x17a92)['v'][_0xf8b362(0x827)][_0xf8b362(0x528)]='vec4\x20pack(float\x20depth)\x0a{\x0aconst\x20vec4\x20bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);\x0aconst\x20vec4\x20bit_mask=vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);\x0avec4\x20res=fract(depth*bit_shift);\x0ares-=res.xxyz*bit_mask;\x0areturn\x20res;\x0a}\x0afloat\x20unpack(vec4\x20color)\x0a{\x0aconst\x20vec4\x20bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);\x0areturn\x20dot(color,bit_shift);\x0a}';},0x10b3e:(_0x54dbbe,_0x215a31,_0x4b4b2d)=>{var _0x7b6199=a6_0x36115b;_0x4b4b2d(0x17a92)['v'][_0x7b6199(0x827)]['pbrBRDFFunctions']=_0x7b6199(0x672);},0xc853:(_0x317bcd,_0x3079ea,_0x12081f)=>{var _0x2093d0=a6_0x36115b,_0x5a5c46=_0x12081f(0x17a92);_0x12081f(0x6cce),_0x12081f(0x11fa6),_0x5a5c46['v'][_0x2093d0(0x827)][_0x2093d0(0x774)]=_0x2093d0(0x75b);},0x67c9:(_0x341bd0,_0x47a3e6,_0x5eb8df)=>{var _0x12bf17=a6_0x36115b;_0x5eb8df(0x17a92)['v']['IncludesShadersStore']['prePassDeclaration']=_0x12bf17(0x388);},0x1abd:(_0x4c409e,_0x16047a,_0x5b8fbf)=>{var _0x5131b0=a6_0x36115b;_0x5b8fbf(0x17a92)['v'][_0x5131b0(0x827)][_0x5131b0(0x291)]='#ifdef\x20PREPASS_DEPTH\x0avViewPos=(view*worldPos).rgb;\x0a#endif\x0a#if\x20defined(PREPASS_VELOCITY)\x20&&\x20defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*worldPos;\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0amat4\x20previousInfluence;\x0apreviousInfluence=mPreviousBones[int(matricesIndices[0])]*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[1])]*matricesWeights[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[2])]*matricesWeights[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[3])]*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\x0a#endif\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*previousInfluence*vec4(positionUpdated,1.0);\x0a#else\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#endif\x0a';},0x18442:(_0x240296,_0x4e26be,_0x1009e0)=>{var _0x34e34a=a6_0x36115b;_0x1009e0(0x17a92)['v']['IncludesShadersStore'][_0x34e34a(0xaca)]=_0x34e34a(0x170);},0x11645:(_0x352e50,_0x290595,_0x5c8075)=>{var _0x1a70d9=a6_0x36115b;_0x5c8075(0x17a92)['v']['IncludesShadersStore'][_0x1a70d9(0x703)]=_0x1a70d9(0x628);},0x126e8:(_0x1dd2f6,_0x4ca45a,_0xdc23e9)=>{var _0xa19d10=a6_0x36115b;_0xdc23e9(0x17a92)['v'][_0xa19d10(0x827)]['samplerFragmentDeclaration']=_0xa19d10(0x6dc);},0x15b7a:(_0x3ad5b1,_0x64e67e,_0x2ef9b5)=>{var _0x196207=a6_0x36115b;_0x2ef9b5(0x17a92)['v'][_0x196207(0x827)][_0x196207(0x143)]=_0x196207(0xc64);},0x2f27:(_0x3f839a,_0x4d443e,_0x16a442)=>{var _0x2291b2=a6_0x36115b;_0x16a442(0x17a92)['v'][_0x2291b2(0x827)][_0x2291b2(0x394)]=_0x2291b2(0x1d4);},0x6cce:(_0x2d2290,_0x4a20ff,_0x3e78cb)=>{var _0x7d4382=a6_0x36115b;_0x3e78cb(0x17a92)['v'][_0x7d4382(0x827)][_0x7d4382(0x970)]=_0x7d4382(0x224);},0x4547:(_0xfd3466,_0x664e89,_0x278e99)=>{var _0x45888c=a6_0x36115b;_0x278e99(0x17a92)['v'][_0x45888c(0x827)][_0x45888c(0x33e)]=_0x45888c(0x88c);},0x1f85:(_0x4a344e,_0x24b5f9,_0x4f1848)=>{var _0x3814c3=a6_0x36115b;_0x4f1848(0x17a92)['v'][_0x3814c3(0x827)][_0x3814c3(0xc84)]=_0x3814c3(0x3a6);},0x6e75:(_0x8034d1,_0x49c523,_0x51f05b)=>{var _0x355f9a=a6_0x36115b;_0x51f05b(0x17a92)['v'][_0x355f9a(0x827)][_0x355f9a(0x8cd)]='#ifdef\x20SHADOWS\x0a#if\x20defined(SHADOWCSM{X})\x0avPositionFromCamera{X}=view*worldPos;\x0afor\x20(int\x20i=0;\x20i<SHADOWCSMNUM_CASCADES{X};\x20i++)\x20{\x0avPositionFromLight{X}[i]=lightMatrix{X}[i]*worldPos;\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetric{X}[i]=(-vPositionFromLight{X}[i].z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#else\x0avDepthMetric{X}[i]=(vPositionFromLight{X}[i].z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#endif\x0a}\x0a#elif\x20defined(SHADOW{X})\x20&&\x20!defined(SHADOWCUBE{X})\x0avPositionFromLight{X}=lightMatrix{X}*worldPos;\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetric{X}=(-vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#else\x0avDepthMetric{X}=(vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#endif\x0a#endif\x0a#endif\x0a';},0x6b23:(_0x530ac2,_0x4ef556,_0x9d82f)=>{var _0x597cb0=a6_0x36115b;_0x9d82f(0x17a92)['v']['IncludesShadersStore'][_0x597cb0(0xcb3)]=_0x597cb0(0xc74);},0x17bd8:(_0x5064a3,_0x3a537c,_0x284997)=>{var _0xefce64=a6_0x36115b;_0x284997(0x17a92)['v'][_0xefce64(0x827)][_0xefce64(0x907)]='#ifdef\x20UV{X}\x0aattribute\x20vec2\x20uv{X};\x0a#endif\x0a';},0xd68d:(_0x3c78f9,_0x4a7c3c,_0x19e3d5)=>{_0x19e3d5(0x17a92)['v']['IncludesShadersStore']['uvVariableDeclaration']='#if\x20!defined(UV{X})\x20&&\x20defined(MAINUV{X})\x0avec2\x20uv{X}=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV{X}\x0avMainUV{X}=uv{X};\x0a#endif\x0a';},0xedb9:(_0x11bb34,_0x3b8b8e,_0x21fb8f)=>{var _0x45e4e9=a6_0x36115b;_0x21fb8f(0x17a92)['v']['IncludesShadersStore']['vertexColorMixing']=_0x45e4e9(0xb2d);},0x16944:(_0x14ff09,_0x1c0d34,_0x57832a)=>{var _0x4a06f9=a6_0x36115b;_0x57832a(0x17a92)['v'][_0x4a06f9(0x2dc)]['anaglyphPixelShader']=_0x4a06f9(0x5ee);},0x2318:(_0x5ba77e,_0x4eda26,_0x18aa3c)=>{var _0x570f1f=a6_0x36115b,_0x2f090a=_0x18aa3c(0x17a92);_0x2f090a['v'][_0x570f1f(0x827)][_0x570f1f(0x76c)]=_0x570f1f(0x293),_0x18aa3c(0x6052),_0x18aa3c(0x175b0),_0x18aa3c(0x11645),_0x18aa3c(0x16c11),_0x18aa3c(0xe6c7),_0x18aa3c(0x15fb5),_0x18aa3c(0x1f57),_0x18aa3c(0x1f85),_0x18aa3c(0x119a9),_0x18aa3c(0xff1b),_0x18aa3c(0x12a16),_0x18aa3c(0x3328),_0x18aa3c(0xb0bc),_0x18aa3c(0x10ef),_0x2f090a['v'][_0x570f1f(0x2dc)]['backgroundPixelShader']=_0x570f1f(0xba8);},0xa0d7:(_0x53e27f,_0x4a13ae,_0x429262)=>{var _0x4ee787=a6_0x36115b,_0x41b211=_0x429262(0x17a92);_0x41b211['v']['IncludesShadersStore'][_0x4ee787(0x3e0)]=_0x4ee787(0x926),_0x429262(0x6052),_0x429262(0x175b0),_0x429262(0x13f9a),_0x429262(0x12929),_0x429262(0x12bc6),_0x429262(0x13216),_0x429262(0x6a99),_0x429262(0x1b3f),_0x429262(0xc971),_0x429262(0x733d),_0x429262(0xb434),_0x429262(0xdcea),_0x429262(0x6efd),_0x429262(0x9871),_0x429262(0x6e75),_0x41b211['v'][_0x4ee787(0x2dc)][_0x4ee787(0x4ee)]='precision\x20highp\x20float;\x0a#include<__decl__backgroundVertex>\x0a#include<helperFunctions>\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20MAINUV1\x0avarying\x20vec2\x20vMainUV1;\x0a#endif\x0a#ifdef\x20MAINUV2\x0avarying\x20vec2\x20vMainUV2;\x0a#endif\x0a#if\x20defined(DIFFUSE)\x20&&\x20DIFFUSEDIRECTUV==0\x0avarying\x20vec2\x20vDiffuseUV;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avPositionUVW=position;\x0a#endif\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*finalWorld*vec4(position,1.0);\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*finalWorld*vec4(position,1.0);\x0a}\x0a#else\x0agl_Position=viewProjection*finalWorld*vec4(position,1.0);\x0a#endif\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0amat3\x20normalWorld=mat3(finalWorld);\x0a#ifdef\x20NONUNIFORMSCALING\x0anormalWorld=transposeMat3(inverseMat3(normalWorld));\x0a#endif\x0avNormalW=normalize(normalWorld*normal);\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avDirectionW=normalize(vec3(finalWorld*vec4(position,0.0)));\x0a#ifdef\x20EQUIRECTANGULAR_RELFECTION_FOV\x0amat3\x20screenToWorld=inverseMat3(mat3(finalWorld*viewProjection));\x0avec3\x20segment=mix(vDirectionW,screenToWorld*vec3(0.0,0.0,1.0),abs(fFovMultiplier-1.0));\x0aif\x20(fFovMultiplier<=1.0)\x20{\x0avDirectionW=normalize(segment);\x0a}\x20else\x20{\x0avDirectionW=normalize(vDirectionW+(vDirectionW-segment));\x0a}\x0a#endif\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV1\x0avMainUV1=uv;\x0a#endif\x0a#ifdef\x20MAINUV2\x0avMainUV2=uv2;\x0a#endif\x0a#if\x20defined(DIFFUSE)\x20&&\x20DIFFUSEDIRECTUV==0\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#ifdef\x20VERTEXCOLOR\x0avColor=color;\x0a#endif\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0x16de7:(_0x39a0d0,_0x466f5d,_0x2d3d52)=>{var _0x591b87=a6_0x36115b;_0x2d3d52(0x17a92)['v'][_0x591b87(0x2dc)]['blackAndWhitePixelShader']=_0x591b87(0x311);},0x51b7:(_0x3a1fc5,_0x1c4be9,_0x49106d)=>{var _0x4c32e3=a6_0x36115b;_0x49106d(0x17a92)['v'][_0x4c32e3(0x2dc)][_0x4c32e3(0xa4d)]=_0x4c32e3(0x6f6);},0x1660e:(_0x4876f8,_0x110042,_0x11c9ab)=>{var _0x5a561d=a6_0x36115b,_0x3fd9f3=_0x11c9ab(0x17a92);_0x3fd9f3['v'][_0x5a561d(0x827)][_0x5a561d(0xc68)]=_0x5a561d(0x493),_0x11c9ab(0x140f3),_0x3fd9f3['v'][_0x5a561d(0x2dc)]['boundingBoxRendererPixelShader']=_0x5a561d(0x783);},0x885c:(_0x4eb81c,_0x1acdd9,_0x58a4f5)=>{var _0x2aa870=a6_0x36115b,_0x5623b7=_0x58a4f5(0x17a92);_0x5623b7['v']['IncludesShadersStore'][_0x2aa870(0x361)]=_0x2aa870(0x37f),_0x58a4f5(0x140f3),_0x5623b7['v'][_0x2aa870(0x2dc)][_0x2aa870(0x1d2)]=_0x2aa870(0xcbb);},0x9518:(_0x171242,_0x23047b,_0xa592e8)=>{var _0x49d0ef=a6_0x36115b;_0xa592e8(0x17a92)['v'][_0x49d0ef(0x2dc)][_0x49d0ef(0x93f)]=_0x49d0ef(0xb82);},0x1411e:(_0x559e23,_0x360da8,_0x5f3ba3)=>{var _0x12e68d=a6_0x36115b;_0x5f3ba3(0x17a92)['v'][_0x12e68d(0x2dc)]['circleOfConfusionPixelShader']='uniform\x20sampler2D\x20depthSampler;\x0avarying\x20vec2\x20vUV;\x0auniform\x20vec2\x20cameraMinMaxZ;\x0auniform\x20float\x20focusDistance;\x0auniform\x20float\x20cocPrecalculation;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20depth=texture2D(depthSampler,vUV).r;\x0a#define\x20CUSTOM_COC_DEPTH\x0afloat\x20pixelDistance=(cameraMinMaxZ.x+cameraMinMaxZ.y*depth)*1000.0;\x20\x0a#define\x20CUSTOM_COC_PIXELDISTANCE\x0afloat\x20coc=abs(cocPrecalculation*((focusDistance-pixelDistance)/pixelDistance));\x0acoc=clamp(coc,0.0,1.0);\x0agl_FragColor=vec4(coc,coc,coc,1.0);\x0a}\x0a';},0x119:(_0x27228e,_0x34ea98,_0xbddff1)=>{var _0x196c6a=a6_0x36115b,_0x880f89=_0xbddff1(0x17a92);_0xbddff1(0xff1b),_0xbddff1(0x3328),_0x880f89['v'][_0x196c6a(0x2dc)][_0x196c6a(0x4c3)]=_0x196c6a(0x130);},0x17a74:(_0x2c057d,_0x3ef19b,_0x428173)=>{var _0x28128d=a6_0x36115b,_0x7a32bd=_0x428173(0x17a92);_0x428173(0x13f9a),_0x428173(0x12929),_0x428173(0x13216),_0x428173(0x12bc6),_0x428173(0x733d),_0x428173(0xb434),_0x428173(0xdcea),_0x428173(0x6efd),_0x428173(0xedb9),_0x7a32bd['v']['ShadersStore'][_0x28128d(0x4a4)]='attribute\x20vec3\x20position;\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<vertexColorMixing>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0xbba1:(_0x1a03a9,_0x5638ba,_0x4d36f2)=>{var _0x21aa73=a6_0x36115b;_0x4d36f2(0x17a92)['v'][_0x21aa73(0x2dc)]['colorCorrectionPixelShader']=_0x21aa73(0x621);},0x10824:(_0x21dfc5,_0x514a25,_0x521783)=>{var _0x37ab5=a6_0x36115b;_0x521783(0x17a92)['v'][_0x37ab5(0x2dc)][_0x37ab5(0x1a3)]=_0x37ab5(0x366);},0x11840:(_0x169113,_0x52ec30,_0x3fab1c)=>{var _0x6be4a5=a6_0x36115b,_0xcd63cd=_0x3fab1c(0x17a92);_0x3fab1c(0x175b0),_0xcd63cd['v']['ShadersStore'][_0x6be4a5(0x52e)]='uniform\x20float\x20conversion;\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#include<helperFunctions>\x0avoid\x20main(void)\x20\x0a{\x0avec4\x20color=texture2D(textureSampler,vUV);\x0a#ifdef\x20DEPTH_TEXTURE\x0agl_FragDepth=color.r;\x0a#else\x0aif\x20(conversion==1.)\x20{\x0acolor=toLinearSpace(color);\x0a}\x20else\x20if\x20(conversion==2.)\x20{\x0acolor=toGammaSpace(color);\x0a}\x0agl_FragColor=color;\x0a#endif\x0a}\x0a';},0x1859e:(_0x1f2d83,_0x179f3c,_0x359c7b)=>{var _0x4039d2=a6_0x36115b,_0x1daddd=_0x359c7b(0x17a92);_0x359c7b(0xf57c),_0x1daddd['v'][_0x4039d2(0x827)][_0x4039d2(0xcb1)]=_0x4039d2(0x671),_0x359c7b(0x4bc6),_0x359c7b(0x67c9),_0x359c7b(0xa8cd),_0x359c7b(0x94fa),_0x359c7b(0x175b0),_0x359c7b(0xe6c7),_0x359c7b(0x15fb5),_0x359c7b(0x1f57),_0x359c7b(0x1f85),_0x359c7b(0x126e8),_0x359c7b(0xb008),_0x359c7b(0x11645),_0x359c7b(0x16c11),_0x359c7b(0x119a9),_0x359c7b(0x8cac),_0x359c7b(0xe577),_0x359c7b(0xff1b),_0x359c7b(0x17bd9),_0x359c7b(0x12a16),_0x359c7b(0x3328),_0x359c7b(0x6664),_0x359c7b(0xcff7),_0x359c7b(0x6318),_0x359c7b(0xb0bc),_0x359c7b(0x1445f),_0x359c7b(0x10ef),_0x359c7b(0xa965),_0x1daddd['v'][_0x4039d2(0x2dc)][_0x4039d2(0x503)]=_0x4039d2(0x68e);},0xf570:(_0x392110,_0x30620c,_0x347330)=>{var _0x4f6901=a6_0x36115b,_0x5cadbf=_0x347330(0x17a92);_0x347330(0x2826),_0x5cadbf['v'][_0x4f6901(0x827)][_0x4f6901(0x54a)]=_0x4f6901(0x813),_0x347330(0x4bc6),_0x347330(0x17bd8),_0x347330(0x175b0),_0x347330(0x13f9a),_0x347330(0x12929),_0x347330(0x12bc6),_0x347330(0x18442),_0x347330(0x94fa),_0x347330(0x15b7a),_0x347330(0x8785),_0x347330(0x13216),_0x347330(0x6a99),_0x347330(0x1b3f),_0x347330(0xc971),_0x347330(0x9ea3),_0x347330(0x12abc),_0x347330(0x17bd9),_0x347330(0x13906),_0x347330(0x1070),_0x347330(0x733d),_0x347330(0xb434),_0x347330(0xdcea),_0x347330(0x1abd),_0x347330(0xd68d),_0x347330(0x2f27),_0x347330(0xced6),_0x347330(0x6efd),_0x347330(0x9871),_0x347330(0x6e75),_0x347330(0xedb9),_0x5cadbf['v'][_0x4f6901(0x827)]['pointCloudVertex']=_0x4f6901(0x8bb),_0x347330(0x13da6),_0x5cadbf['v'][_0x4f6901(0x2dc)][_0x4f6901(0xa64)]=_0x4f6901(0x66f);},0x5012:(_0x258ac2,_0x1816e7,_0x5ee72c)=>{var _0x8d1cd7=a6_0x36115b,_0x5ce2a=_0x5ee72c(0x17a92);_0x5ee72c(0xff1b),_0x5ee72c(0xe85e),_0x5ee72c(0x3328),_0x5ce2a['v'][_0x8d1cd7(0x2dc)][_0x8d1cd7(0xb31)]=_0x8d1cd7(0x352);},0xcf33:(_0x4a990b,_0xff944c,_0x1e78a2)=>{var _0x1733c8=a6_0x36115b,_0x20031d=_0x1e78a2(0x17a92);_0x1e78a2(0x13f9a),_0x1e78a2(0x12929),_0x1e78a2(0x9ea3),_0x1e78a2(0x12abc),_0x1e78a2(0x13216),_0x1e78a2(0x12bc6),_0x1e78a2(0x13906),_0x1e78a2(0x1070),_0x1e78a2(0x733d),_0x1e78a2(0xb434),_0x1e78a2(0xdcea),_0x1e78a2(0x6efd),_0x20031d['v'][_0x1733c8(0x2dc)][_0x1733c8(0x5f7)]='attribute\x20vec3\x20position;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<clipPlaneVertexDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20vec2\x20depthValues;\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(NEED_UV)\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#ifdef\x20STORE_CAMERASPACE_Z\x0auniform\x20mat4\x20view;\x0avarying\x20vec4\x20vViewPos;\x0a#endif\x0avarying\x20float\x20vDepthMetric;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#include<clipPlaneVertex>\x0agl_Position=viewProjection*worldPos;\x0a#ifdef\x20STORE_CAMERASPACE_Z\x0avViewPos=view*worldPos;\x0a#else\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetric=((-gl_Position.z+depthValues.x)/(depthValues.y));\x0a#else\x0avDepthMetric=((gl_Position.z+depthValues.x)/(depthValues.y));\x0a#endif\x0a#endif\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(BASIC_RENDER)\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a}\x0a';},0x66e6:(_0x441a9a,_0x107c91,_0x46341d)=>{var _0x149afc=a6_0x36115b;_0x46341d(0x17a92)['v'][_0x149afc(0x2dc)][_0x149afc(0x36a)]=_0x149afc(0x1b9);},0x1006d:(_0x11e5c5,_0x22fa3d,_0x44da2f)=>{var _0x50e433=a6_0x36115b;_0x44da2f(0x17a92)['v'][_0x50e433(0x2dc)]['depthOfFieldPixelShader']='uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20highlightsSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20sampler2D\x20grainSampler;\x0auniform\x20float\x20grain_amount;\x0auniform\x20bool\x20blur_noise;\x0auniform\x20float\x20screen_width;\x0auniform\x20float\x20screen_height;\x0auniform\x20float\x20distortion;\x0auniform\x20bool\x20dof_enabled;\x0auniform\x20float\x20screen_distance;\x20\x0auniform\x20float\x20aperture;\x0auniform\x20float\x20darken;\x0auniform\x20float\x20edge_blur;\x0auniform\x20bool\x20highlights;\x0auniform\x20float\x20near;\x0auniform\x20float\x20far;\x0avarying\x20vec2\x20vUV;\x0a#define\x20PI\x203.14159265\x0a#define\x20TWOPI\x206.28318530\x0a#define\x20inverse_focal_length\x200.1\x20\x0avec2\x20centered_screen_pos;\x0avec2\x20distorted_coords;\x0afloat\x20radius2;\x0afloat\x20radius;\x0avec2\x20rand(vec2\x20co)\x0a{\x0afloat\x20noise1=(fract(sin(dot(co,vec2(12.9898,78.233)))*43758.5453));\x0afloat\x20noise2=(fract(sin(dot(co,vec2(12.9898,78.233)*2.0))*43758.5453));\x0areturn\x20clamp(vec2(noise1,noise2),0.0,1.0);\x0a}\x0avec2\x20getDistortedCoords(vec2\x20coords)\x20{\x0aif\x20(distortion==0.0)\x20{\x20return\x20coords;\x20}\x0avec2\x20direction=1.0*normalize(centered_screen_pos);\x0avec2\x20dist_coords=vec2(0.5,0.5);\x0adist_coords.x=0.5+direction.x*radius2*1.0;\x0adist_coords.y=0.5+direction.y*radius2*1.0;\x0afloat\x20dist_amount=clamp(distortion*0.23,0.0,1.0);\x0adist_coords=mix(coords,dist_coords,dist_amount);\x0areturn\x20dist_coords;\x0a}\x0afloat\x20sampleScreen(inout\x20vec4\x20color,in\x20vec2\x20offset,in\x20float\x20weight)\x20{\x0avec2\x20coords=distorted_coords;\x0afloat\x20angle=rand(coords*100.0).x*TWOPI;\x0acoords+=vec2(offset.x*cos(angle)-offset.y*sin(angle),offset.x*sin(angle)+offset.y*cos(angle));\x0acolor+=texture2D(textureSampler,coords)*weight;\x0areturn\x20weight;\x0a}\x0afloat\x20getBlurLevel(float\x20size)\x20{\x0areturn\x20min(3.0,ceil(size/1.0));\x0a}\x0avec4\x20getBlurColor(float\x20size)\x20{\x0avec4\x20col=texture2D(textureSampler,distorted_coords);\x0afloat\x20blur_level=getBlurLevel(size);\x0afloat\x20w=(size/screen_width);\x0afloat\x20h=(size/screen_height);\x0afloat\x20total_weight=1.0;\x0avec2\x20sample_coords;\x0atotal_weight+=sampleScreen(col,vec2(-0.50*w,0.24*h),0.93);\x0atotal_weight+=sampleScreen(col,vec2(0.30*w,-0.75*h),0.90);\x0atotal_weight+=sampleScreen(col,vec2(0.36*w,0.96*h),0.87);\x0atotal_weight+=sampleScreen(col,vec2(-1.08*w,-0.55*h),0.85);\x0atotal_weight+=sampleScreen(col,vec2(1.33*w,-0.37*h),0.83);\x0atotal_weight+=sampleScreen(col,vec2(-0.82*w,1.31*h),0.80);\x0atotal_weight+=sampleScreen(col,vec2(-0.31*w,-1.67*h),0.78);\x0atotal_weight+=sampleScreen(col,vec2(1.47*w,1.11*h),0.76);\x0atotal_weight+=sampleScreen(col,vec2(-1.97*w,0.19*h),0.74);\x0atotal_weight+=sampleScreen(col,vec2(1.42*w,-1.57*h),0.72);\x0aif\x20(blur_level>1.0)\x20{\x0atotal_weight+=sampleScreen(col,vec2(0.01*w,2.25*h),0.70);\x0atotal_weight+=sampleScreen(col,vec2(-1.62*w,-1.74*h),0.67);\x0atotal_weight+=sampleScreen(col,vec2(2.49*w,0.20*h),0.65);\x0atotal_weight+=sampleScreen(col,vec2(-2.07*w,1.61*h),0.63);\x0atotal_weight+=sampleScreen(col,vec2(0.46*w,-2.70*h),0.61);\x0atotal_weight+=sampleScreen(col,vec2(1.55*w,2.40*h),0.59);\x0atotal_weight+=sampleScreen(col,vec2(-2.88*w,-0.75*h),0.56);\x0atotal_weight+=sampleScreen(col,vec2(2.73*w,-1.44*h),0.54);\x0atotal_weight+=sampleScreen(col,vec2(-1.08*w,3.02*h),0.52);\x0atotal_weight+=sampleScreen(col,vec2(-1.28*w,-3.05*h),0.49);\x0a}\x0aif\x20(blur_level>2.0)\x20{\x0atotal_weight+=sampleScreen(col,vec2(3.11*w,1.43*h),0.46);\x0atotal_weight+=sampleScreen(col,vec2(-3.36*w,1.08*h),0.44);\x0atotal_weight+=sampleScreen(col,vec2(1.80*w,-3.16*h),0.41);\x0atotal_weight+=sampleScreen(col,vec2(0.83*w,3.65*h),0.38);\x0atotal_weight+=sampleScreen(col,vec2(-3.16*w,-2.19*h),0.34);\x0atotal_weight+=sampleScreen(col,vec2(3.92*w,-0.53*h),0.31);\x0atotal_weight+=sampleScreen(col,vec2(-2.59*w,3.12*h),0.26);\x0atotal_weight+=sampleScreen(col,vec2(-0.20*w,-4.15*h),0.22);\x0atotal_weight+=sampleScreen(col,vec2(3.02*w,3.00*h),0.15);\x0a}\x0acol/=total_weight;\x20\x0aif\x20(darken>0.0)\x20{\x0acol.rgb*=clamp(0.3,1.0,1.05-size*0.5*darken);\x0a}\x0areturn\x20col;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0acentered_screen_pos=vec2(vUV.x-0.5,vUV.y-0.5);\x0aradius2=centered_screen_pos.x*centered_screen_pos.x+centered_screen_pos.y*centered_screen_pos.y;\x0aradius=sqrt(radius2);\x0adistorted_coords=getDistortedCoords(vUV);\x20\x0avec2\x20texels_coords=vec2(vUV.x*screen_width,vUV.y*screen_height);\x20\x0afloat\x20depth=texture2D(depthSampler,distorted_coords).r;\x20\x0afloat\x20distance=near+(far-near)*depth;\x20\x0avec4\x20color=texture2D(textureSampler,vUV);\x20\x0afloat\x20coc=abs(aperture*(screen_distance*(inverse_focal_length-1.0/distance)-1.0));\x0aif\x20(dof_enabled==false\x20||\x20coc<0.07)\x20{\x20coc=0.0;\x20}\x0afloat\x20edge_blur_amount=0.0;\x0aif\x20(edge_blur>0.0)\x20{\x0aedge_blur_amount=clamp((radius*2.0-1.0+0.15*edge_blur)*1.5,0.0,1.0)*1.3;\x0a}\x0afloat\x20blur_amount=max(edge_blur_amount,coc);\x0aif\x20(blur_amount==0.0)\x20{\x0agl_FragColor=texture2D(textureSampler,distorted_coords);\x0a}\x0aelse\x20{\x0agl_FragColor=getBlurColor(blur_amount*1.7);\x0aif\x20(highlights)\x20{\x0agl_FragColor.rgb+=clamp(coc,0.0,1.0)*texture2D(highlightsSampler,distorted_coords).rgb;\x0a}\x0aif\x20(blur_noise)\x20{\x0avec2\x20noise=rand(distorted_coords)*0.01*blur_amount;\x0avec2\x20blurred_coord=vec2(distorted_coords.x+noise.x,distorted_coords.y+noise.y);\x0agl_FragColor=0.04*texture2D(textureSampler,blurred_coord)+0.96*gl_FragColor;\x0a}\x0a}\x0aif\x20(grain_amount>0.0)\x20{\x0avec4\x20grain_color=texture2D(grainSampler,texels_coords*0.003);\x0agl_FragColor.rgb+=(-0.5+grain_color.rgb)*0.30*grain_amount;\x0a}\x0a}\x0a';},0x1203:(_0x12421b,_0x236ddf,_0x327a47)=>{var _0x50f63d=a6_0x36115b;_0x327a47(0x17a92)['v'][_0x50f63d(0x2dc)][_0x50f63d(0xdf)]=_0x50f63d(0xa10);},0x1157d:(_0x25faf8,_0x3f653d,_0x4170bf)=>{var _0x49ae50=a6_0x36115b;_0x4170bf(0x17a92)['v']['ShadersStore'][_0x49ae50(0x4ed)]='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20passSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(passSampler,vUV);\x0a}';},0x2d30:(_0x26d463,_0x14af2a,_0x26a339)=>{var _0x1224ba=a6_0x36115b,_0x22e1dc=_0x26a339(0x17a92);_0x26a339(0x175b0),_0x22e1dc['v'][_0x1224ba(0x2dc)][_0x1224ba(0x434)]=_0x1224ba(0x239);},0x5b3f:(_0x23db78,_0x5597fd,_0x1ab6e7)=>{var _0x1993ce=a6_0x36115b;_0x1ab6e7(0x17a92)['v']['ShadersStore']['filterPixelShader']=_0x1993ce(0xa51);},0xf945:(_0x58e241,_0x145ca6,_0x36356c)=>{var _0x6be44b=a6_0x36115b;_0x36356c(0x17a92)['v']['ShadersStore']['fluidRenderingBilateralBlurPixelShader']=_0x6be44b(0x5f0);},0x10315:(_0x37a70f,_0x55db65,_0x44688a)=>{var _0x55a815=a6_0x36115b;_0x44688a(0x17a92)['v'][_0x55a815(0x2dc)]['fluidRenderingParticleDepthPixelShader']=_0x55a815(0xa9d);},0xd43b:(_0x3219ef,_0x48f5b3,_0x276ecf)=>{var _0x51ad78=a6_0x36115b;_0x276ecf(0x17a92)['v'][_0x51ad78(0x2dc)]['fluidRenderingParticleDepthVertexShader']=_0x51ad78(0x94f);},0x7cc8:(_0x316a33,_0x2f6826,_0x1f9039)=>{var _0x116506=a6_0x36115b;_0x1f9039(0x17a92)['v'][_0x116506(0x2dc)][_0x116506(0x835)]='uniform\x20float\x20particleAlpha;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20diffuseColor;\x0avoid\x20main(void)\x20{\x0avec3\x20normal;\x0anormal.xy=uv*2.0-1.0;\x0afloat\x20r2=dot(normal.xy,normal.xy);\x0aif\x20(r2>1.0)\x20discard;\x0aglFragColor=vec4(diffuseColor,1.0);\x0a}\x0a';},0x10c8:(_0x3bd97d,_0x4d1999,_0x2d5b4f)=>{var _0x2c270b=a6_0x36115b;_0x2d5b4f(0x17a92)['v'][_0x2c270b(0x2dc)][_0x2c270b(0x7cc)]=_0x2c270b(0xe6);},0xd599:(_0x4a0c93,_0x1fff15,_0x25b991)=>{var _0xdf9083=a6_0x36115b;_0x25b991(0x17a92)['v'][_0xdf9083(0x2dc)][_0xdf9083(0xbf8)]='uniform\x20float\x20particleAlpha;\x0avarying\x20vec2\x20uv;\x0avoid\x20main(void)\x20{\x0avec3\x20normal;\x0anormal.xy=uv*2.0-1.0;\x0afloat\x20r2=dot(normal.xy,normal.xy);\x0aif\x20(r2>1.0)\x20discard;\x0afloat\x20thickness=sqrt(1.0-r2);\x0aglFragColor=vec4(vec3(particleAlpha*thickness),1.0);\x0a}\x0a';},0x11576:(_0x3d108c,_0x50a886,_0x4971e2)=>{var _0x5df827=a6_0x36115b;_0x4971e2(0x17a92)['v'][_0x5df827(0x2dc)]['fluidRenderingParticleThicknessVertexShader']=_0x5df827(0x75f);},0xf9e7:(_0x4a6064,_0x2b1496,_0x1356bb)=>{var _0x5833f7=a6_0x36115b;_0x1356bb(0x17a92)['v'][_0x5833f7(0x2dc)][_0x5833f7(0x70a)]=_0x5833f7(0x2e5);},0xdc0e:(_0xed3323,_0x259872,_0x5e0372)=>{var _0x19b7e6=a6_0x36115b;_0x5e0372(0x17a92)['v'][_0x19b7e6(0x2dc)][_0x19b7e6(0x78e)]=_0x19b7e6(0xaae);},0xd22e:(_0x5e0e9a,_0x2a0e2c,_0x435d7c)=>{var _0x111d1b=a6_0x36115b;_0x435d7c(0x17a92)['v'][_0x111d1b(0x2dc)][_0x111d1b(0x532)]='#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,b)\x20texture2D(s,c,b)\x0a#endif\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20texelSize;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20sampleCoordS;\x0avarying\x20vec2\x20sampleCoordE;\x0avarying\x20vec2\x20sampleCoordN;\x0avarying\x20vec2\x20sampleCoordW;\x0avarying\x20vec2\x20sampleCoordNW;\x0avarying\x20vec2\x20sampleCoordSE;\x0avarying\x20vec2\x20sampleCoordNE;\x0avarying\x20vec2\x20sampleCoordSW;\x0aconst\x20float\x20fxaaQualitySubpix=1.0;\x0aconst\x20float\x20fxaaQualityEdgeThreshold=0.166;\x0aconst\x20float\x20fxaaQualityEdgeThresholdMin=0.0833;\x0aconst\x20vec3\x20kLumaCoefficients=vec3(0.2126,0.7152,0.0722);\x0a#define\x20FxaaLuma(rgba)\x20dot(rgba.rgb,kLumaCoefficients)\x0avoid\x20main(){\x0avec2\x20posM;\x0aposM.x=vUV.x;\x0aposM.y=vUV.y;\x0avec4\x20rgbyM=TEXTUREFUNC(textureSampler,vUV,0.0);\x0afloat\x20lumaM=FxaaLuma(rgbyM);\x0afloat\x20lumaS=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordS,0.0));\x0afloat\x20lumaE=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordE,0.0));\x0afloat\x20lumaN=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordN,0.0));\x0afloat\x20lumaW=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordW,0.0));\x0afloat\x20maxSM=max(lumaS,lumaM);\x0afloat\x20minSM=min(lumaS,lumaM);\x0afloat\x20maxESM=max(lumaE,maxSM);\x0afloat\x20minESM=min(lumaE,minSM);\x0afloat\x20maxWN=max(lumaN,lumaW);\x0afloat\x20minWN=min(lumaN,lumaW);\x0afloat\x20rangeMax=max(maxWN,maxESM);\x0afloat\x20rangeMin=min(minWN,minESM);\x0afloat\x20rangeMaxScaled=rangeMax*fxaaQualityEdgeThreshold;\x0afloat\x20range=rangeMax-rangeMin;\x0afloat\x20rangeMaxClamped=max(fxaaQualityEdgeThresholdMin,rangeMaxScaled);\x0a#ifndef\x20MALI\x0aif(range<rangeMaxClamped)\x20\x0a{\x0agl_FragColor=rgbyM;\x0areturn;\x0a}\x0a#endif\x0afloat\x20lumaNW=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordNW,0.0));\x0afloat\x20lumaSE=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordSE,0.0));\x0afloat\x20lumaNE=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordNE,0.0));\x0afloat\x20lumaSW=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordSW,0.0));\x0afloat\x20lumaNS=lumaN+lumaS;\x0afloat\x20lumaWE=lumaW+lumaE;\x0afloat\x20subpixRcpRange=1.0/range;\x0afloat\x20subpixNSWE=lumaNS+lumaWE;\x0afloat\x20edgeHorz1=(-2.0*lumaM)+lumaNS;\x0afloat\x20edgeVert1=(-2.0*lumaM)+lumaWE;\x0afloat\x20lumaNESE=lumaNE+lumaSE;\x0afloat\x20lumaNWNE=lumaNW+lumaNE;\x0afloat\x20edgeHorz2=(-2.0*lumaE)+lumaNESE;\x0afloat\x20edgeVert2=(-2.0*lumaN)+lumaNWNE;\x0afloat\x20lumaNWSW=lumaNW+lumaSW;\x0afloat\x20lumaSWSE=lumaSW+lumaSE;\x0afloat\x20edgeHorz4=(abs(edgeHorz1)*2.0)+abs(edgeHorz2);\x0afloat\x20edgeVert4=(abs(edgeVert1)*2.0)+abs(edgeVert2);\x0afloat\x20edgeHorz3=(-2.0*lumaW)+lumaNWSW;\x0afloat\x20edgeVert3=(-2.0*lumaS)+lumaSWSE;\x0afloat\x20edgeHorz=abs(edgeHorz3)+edgeHorz4;\x0afloat\x20edgeVert=abs(edgeVert3)+edgeVert4;\x0afloat\x20subpixNWSWNESE=lumaNWSW+lumaNESE;\x0afloat\x20lengthSign=texelSize.x;\x0abool\x20horzSpan=edgeHorz>=edgeVert;\x0afloat\x20subpixA=subpixNSWE*2.0+subpixNWSWNESE;\x0aif\x20(!horzSpan)\x0a{\x0alumaN=lumaW;\x0a}\x0aif\x20(!horzSpan)\x20\x0a{\x0alumaS=lumaE;\x0a}\x0aif\x20(horzSpan)\x20\x0a{\x0alengthSign=texelSize.y;\x0a}\x0afloat\x20subpixB=(subpixA*(1.0/12.0))-lumaM;\x0afloat\x20gradientN=lumaN-lumaM;\x0afloat\x20gradientS=lumaS-lumaM;\x0afloat\x20lumaNN=lumaN+lumaM;\x0afloat\x20lumaSS=lumaS+lumaM;\x0abool\x20pairN=abs(gradientN)>=abs(gradientS);\x0afloat\x20gradient=max(abs(gradientN),abs(gradientS));\x0aif\x20(pairN)\x0a{\x0alengthSign=-lengthSign;\x0a}\x0afloat\x20subpixC=clamp(abs(subpixB)*subpixRcpRange,0.0,1.0);\x0avec2\x20posB;\x0aposB.x=posM.x;\x0aposB.y=posM.y;\x0avec2\x20offNP;\x0aoffNP.x=(!horzSpan)\x20?\x200.0\x20:\x20texelSize.x;\x0aoffNP.y=(horzSpan)\x20?\x200.0\x20:\x20texelSize.y;\x0aif\x20(!horzSpan)\x20\x0a{\x0aposB.x+=lengthSign*0.5;\x0a}\x0aif\x20(horzSpan)\x0a{\x0aposB.y+=lengthSign*0.5;\x0a}\x0avec2\x20posN;\x0aposN.x=posB.x-offNP.x*1.5;\x0aposN.y=posB.y-offNP.y*1.5;\x0avec2\x20posP;\x0aposP.x=posB.x+offNP.x*1.5;\x0aposP.y=posB.y+offNP.y*1.5;\x0afloat\x20subpixD=((-2.0)*subpixC)+3.0;\x0afloat\x20lumaEndN=FxaaLuma(TEXTUREFUNC(textureSampler,posN,0.0));\x0afloat\x20subpixE=subpixC*subpixC;\x0afloat\x20lumaEndP=FxaaLuma(TEXTUREFUNC(textureSampler,posP,0.0));\x0aif\x20(!pairN)\x20\x0a{\x0alumaNN=lumaSS;\x0a}\x0afloat\x20gradientScaled=gradient*1.0/4.0;\x0afloat\x20lumaMM=lumaM-lumaNN*0.5;\x0afloat\x20subpixF=subpixD*subpixE;\x0abool\x20lumaMLTZero=lumaMM<0.0;\x0alumaEndN-=lumaNN*0.5;\x0alumaEndP-=lumaNN*0.5;\x0abool\x20doneN=abs(lumaEndN)>=gradientScaled;\x0abool\x20doneP=abs(lumaEndP)>=gradientScaled;\x0aif\x20(!doneN)\x20\x0a{\x0aposN.x-=offNP.x*3.0;\x0a}\x0aif\x20(!doneN)\x20\x0a{\x0aposN.y-=offNP.y*3.0;\x0a}\x0abool\x20doneNP=(!doneN)\x20||\x20(!doneP);\x0aif\x20(!doneP)\x20\x0a{\x0aposP.x+=offNP.x*3.0;\x0a}\x0aif\x20(!doneP)\x0a{\x0aposP.y+=offNP.y*3.0;\x0a}\x0aif\x20(doneNP)\x0a{\x0aif\x20(!doneN)\x20lumaEndN=FxaaLuma(TEXTUREFUNC(textureSampler,posN.xy,0.0));\x0aif\x20(!doneP)\x20lumaEndP=FxaaLuma(TEXTUREFUNC(textureSampler,posP.xy,0.0));\x0aif\x20(!doneN)\x20lumaEndN=lumaEndN-lumaNN*0.5;\x0aif\x20(!doneP)\x20lumaEndP=lumaEndP-lumaNN*0.5;\x0adoneN=abs(lumaEndN)>=gradientScaled;\x0adoneP=abs(lumaEndP)>=gradientScaled;\x0aif\x20(!doneN)\x20posN.x-=offNP.x*12.0;\x0aif\x20(!doneN)\x20posN.y-=offNP.y*12.0;\x0adoneNP=(!doneN)\x20||\x20(!doneP);\x0aif\x20(!doneP)\x20posP.x+=offNP.x*12.0;\x0aif\x20(!doneP)\x20posP.y+=offNP.y*12.0;\x0a}\x0afloat\x20dstN=posM.x-posN.x;\x0afloat\x20dstP=posP.x-posM.x;\x0aif\x20(!horzSpan)\x0a{\x0adstN=posM.y-posN.y;\x0a}\x0aif\x20(!horzSpan)\x20\x0a{\x0adstP=posP.y-posM.y;\x0a}\x0abool\x20goodSpanN=(lumaEndN<0.0)\x20!=\x20lumaMLTZero;\x0afloat\x20spanLength=(dstP+dstN);\x0abool\x20goodSpanP=(lumaEndP<0.0)\x20!=\x20lumaMLTZero;\x0afloat\x20spanLengthRcp=1.0/spanLength;\x0abool\x20directionN=dstN<dstP;\x0afloat\x20dst=min(dstN,dstP);\x0abool\x20goodSpan=directionN\x20?\x20goodSpanN\x20:\x20goodSpanP;\x0afloat\x20subpixG=subpixF*subpixF;\x0afloat\x20pixelOffset=(dst*(-spanLengthRcp))+0.5;\x0afloat\x20subpixH=subpixG*fxaaQualitySubpix;\x0afloat\x20pixelOffsetGood=goodSpan\x20?\x20pixelOffset\x20:\x200.0;\x0afloat\x20pixelOffsetSubpix=max(pixelOffsetGood,subpixH);\x0aif\x20(!horzSpan)\x0a{\x0aposM.x+=pixelOffsetSubpix*lengthSign;\x0a}\x0aif\x20(horzSpan)\x0a{\x0aposM.y+=pixelOffsetSubpix*lengthSign;\x0a}\x0a#ifdef\x20MALI\x0aif(range<rangeMaxClamped)\x20\x0a{\x0agl_FragColor=rgbyM;\x0a}\x0aelse\x0a{\x0agl_FragColor=TEXTUREFUNC(textureSampler,posM,0.0);\x0a}\x0a#else\x0agl_FragColor=TEXTUREFUNC(textureSampler,posM,0.0);\x0a#endif\x0a}';},0x10cef:(_0x4e4174,_0x1bb6f5,_0x19567b)=>{var _0x25d6e1=a6_0x36115b;_0x19567b(0x17a92)['v'][_0x25d6e1(0x2dc)]['fxaaVertexShader']=_0x25d6e1(0x544);},0x16ef7:(_0x2dd356,_0x449e96,_0x418550)=>{var _0x42d84c=a6_0x36115b,_0x51b2fd=_0x418550(0x17a92);_0x418550(0xff1b),_0x51b2fd['v'][_0x42d84c(0x827)]['mrtFragmentDeclaration']=_0x42d84c(0x365),_0x418550(0x8cac),_0x418550(0xe577),_0x418550(0x175b0),_0x418550(0x3328),_0x418550(0x6664),_0x51b2fd['v']['ShadersStore'][_0x42d84c(0x8f3)]=_0x42d84c(0x530);},0x147cd:(_0x161cde,_0x2aee4d,_0x300fc9)=>{var _0x173a99=a6_0x36115b,_0x3eaaac=_0x300fc9(0x17a92);_0x300fc9(0x13f9a),_0x300fc9(0x12929),_0x300fc9(0x9ea3),_0x300fc9(0x12abc),_0x300fc9(0x12bc6),_0x3eaaac['v']['IncludesShadersStore'][_0x173a99(0xabf)]=_0x173a99(0xb9a),_0x300fc9(0x6cce),_0x3eaaac['v'][_0x173a99(0x827)][_0x173a99(0x5f5)]=_0x173a99(0xb09),_0x300fc9(0x13216),_0x300fc9(0x13906),_0x300fc9(0x1070),_0x300fc9(0x733d),_0x300fc9(0xb434),_0x300fc9(0xdcea),_0x300fc9(0x6efd),_0x300fc9(0xced6),_0x3eaaac['v'][_0x173a99(0x2dc)][_0x173a99(0x9d8)]='precision\x20highp\x20float;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<instancesDeclaration>\x0a#include<__decl__geometryVertex>\x0a#include<clipPlaneVertexDeclaration>\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0a#ifdef\x20NEED_UV\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20ALPHATEST\x0auniform\x20mat4\x20diffuseMatrix;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20mat4\x20bumpMatrix;\x0avarying\x20vec2\x20vBumpUV;\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0auniform\x20mat4\x20reflectivityMatrix;\x0auniform\x20mat4\x20albedoMatrix;\x0avarying\x20vec2\x20vReflectivityUV;\x0avarying\x20vec2\x20vAlbedoUV;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#ifdef\x20BUMP\x0avarying\x20mat4\x20vWorldView;\x0a#endif\x0a#ifdef\x20BUMP\x0avarying\x20vec3\x20vNormalW;\x0a#else\x0avarying\x20vec3\x20vNormalV;\x0a#endif\x0avarying\x20vec4\x20vViewPos;\x0a#if\x20defined(POSITION)\x20||\x20defined(BUMP)\x0avarying\x20vec3\x20vPositionW;\x0a#endif\x0a#ifdef\x20VELOCITY\x0auniform\x20mat4\x20previousViewProjection;\x0avarying\x20vec4\x20vCurrentPosition;\x0avarying\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0avec3\x20normalUpdated=normal;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#if\x20defined(VELOCITY)\x20&&\x20!defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=vec4(finalWorld*vec4(positionUpdated,1.0));\x0a#ifdef\x20BUMP\x0avWorldView=view*finalWorld;\x0avNormalW=normalUpdated;\x0a#else\x0avNormalV=normalize(vec3((view*finalWorld)*vec4(normalUpdated,0.0)));\x0a#endif\x0avViewPos=view*worldPos;\x0a#if\x20defined(VELOCITY)\x20&&\x20defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0amat4\x20previousInfluence;\x0apreviousInfluence=mPreviousBones[int(matricesIndices[0])]*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[1])]*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[2])]*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[3])]*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\x0a#endif\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*previousInfluence*vec4(positionUpdated,1.0);\x0a#else\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#endif\x0a#if\x20defined(POSITION)\x20||\x20defined(BUMP)\x0avPositionW=worldPos.xyz/worldPos.w;\x0a#endif\x0agl_Position=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0a#include<clipPlaneVertex>\x0a#ifdef\x20NEED_UV\x0a#ifdef\x20UV1\x0a#if\x20defined(ALPHATEST)\x20&&\x20defined(ALPHATEST_UV1)\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#else\x0avUV=uv;\x0a#endif\x0a#ifdef\x20BUMP_UV1\x0avBumpUV=vec2(bumpMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20REFLECTIVITY_UV1\x0avReflectivityUV=vec2(reflectivityMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20ALBEDO_UV1\x0avAlbedoUV=vec2(albedoMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20UV2\x0a#if\x20defined(ALPHATEST)\x20&&\x20defined(ALPHATEST_UV2)\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#else\x0avUV=uv2;\x0a#endif\x0a#ifdef\x20BUMP_UV2\x0avBumpUV=vec2(bumpMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#ifdef\x20REFLECTIVITY_UV2\x0avReflectivityUV=vec2(reflectivityMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#ifdef\x20ALBEDO_UV2\x0avAlbedoUV=vec2(albedoMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#endif\x0a#include<bumpVertex>\x0a}\x0a';},0x969e:(_0x2795d0,_0x1ae719,_0x4bb7a5)=>{var _0x3e9461=a6_0x36115b;_0x4bb7a5(0x17a92)['v'][_0x3e9461(0x2dc)][_0x3e9461(0x2a9)]=_0x3e9461(0xc9e);},0x2a8d:(_0x24f030,_0x3b38c8,_0x16e4ef)=>{var _0x301d99=a6_0x36115b,_0x3f180b=_0x16e4ef(0x17a92);_0x16e4ef(0x175b0),_0x16e4ef(0xff1b),_0x16e4ef(0x3328),_0x3f180b['v']['ShadersStore'][_0x301d99(0x41f)]=_0x301d99(0x886);},0x14398:(_0xa7d816,_0x561104,_0x21c3ea)=>{var _0x87cec8=a6_0x36115b,_0x3b19cd=_0x21c3ea(0x17a92);_0x21c3ea(0x13f9a),_0x21c3ea(0x12929),_0x21c3ea(0x9ea3),_0x21c3ea(0x12abc),_0x21c3ea(0x13216),_0x21c3ea(0x12bc6),_0x21c3ea(0x13906),_0x21c3ea(0x1070),_0x21c3ea(0x733d),_0x21c3ea(0xb434),_0x21c3ea(0xdcea),_0x21c3ea(0x6efd),_0x3b19cd['v'][_0x87cec8(0x2dc)][_0x87cec8(0x53d)]=_0x87cec8(0xbe9);},0x16980:(_0x13b3a4,_0x55b842,_0x2996eb)=>{var _0x327a7a=a6_0x36115b;_0x2996eb(0x17a92)['v'][_0x327a7a(0x2dc)]['glowMapMergePixelShader']=_0x327a7a(0x864);},0x13824:(_0x2d3d1c,_0x3e015d,_0x476578)=>{var _0x37f564=a6_0x36115b;_0x476578(0x17a92)['v'][_0x37f564(0x2dc)]['glowMapMergeVertexShader']=_0x37f564(0x5ed);},0x136d7:(_0x17c442,_0x5582fd,_0x40350c)=>{var _0x1369df=a6_0x36115b,_0x4cb699=_0x40350c(0x17a92);_0x4cb699['v'][_0x1369df(0x827)]['clipPlaneFragmentDeclaration2']=_0x1369df(0xb24),_0x40350c(0x16c11),_0x40350c(0x17bd9),_0x40350c(0x175b0),_0x40350c(0x119a9),_0x40350c(0x3328),_0x40350c(0x1445f),_0x4cb699['v'][_0x1369df(0x2dc)]['gpuRenderParticlesPixelShader']=_0x1369df(0x4f9);},0x4618:(_0x131824,_0x109af8,_0x35901a)=>{var _0x356f87=a6_0x36115b,_0x3cf27a=_0x35901a(0x17a92);_0x3cf27a['v']['IncludesShadersStore'][_0x356f87(0x581)]=_0x356f87(0x4c0),_0x35901a(0x17bd9),_0x35901a(0x6efd),_0x35901a(0x13da6),_0x3cf27a['v']['ShadersStore'][_0x356f87(0x162)]=_0x356f87(0x7a5);},0x820b:(_0x30dba9,_0x4025f9,_0x33b966)=>{var _0x17848c=a6_0x36115b;_0x33b966(0x17a92)['v']['ShadersStore'][_0x17848c(0x5e5)]=_0x17848c(0xca3);},0x5913:(_0x449944,_0x141978,_0x528d47)=>{var _0x1e1e31=a6_0x36115b;_0x528d47(0x17a92)['v'][_0x1e1e31(0x2dc)][_0x1e1e31(0xcde)]=_0x1e1e31(0x47d);},0x4ad4:(_0x448354,_0x758e2c,_0x37299d)=>{var _0x352ffe=a6_0x36115b,_0x382505=_0x37299d(0x17a92);_0x37299d(0x175b0),_0x382505['v'][_0x352ffe(0x2dc)]['grainPixelShader']=_0x352ffe(0xd8);},0x87f9:(_0x485883,_0x5af15d,_0x5e447b)=>{var _0x467867=a6_0x36115b,_0x1f3386=_0x5e447b(0x17a92);_0x5e447b(0x175b0),_0x5e447b(0x1b98),_0x5e447b(0x10b3e),_0x5e447b(0x16b85),_0x1f3386['v'][_0x467867(0x2dc)][_0x467867(0xb55)]=_0x467867(0xb29);},0x11e17:(_0x39a938,_0x27a19d,_0x50d134)=>{var _0x2c43bb=a6_0x36115b;_0x50d134(0x17a92)['v'][_0x2c43bb(0x2dc)][_0x2c43bb(0x421)]='attribute\x20vec2\x20position;\x0avarying\x20vec3\x20direction;\x0auniform\x20vec3\x20up;\x0auniform\x20vec3\x20right;\x0auniform\x20vec3\x20front;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0amat3\x20view=mat3(up,right,front);\x0adirection=view*vec3(position,1.0);\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0xd5bd:(_0x503061,_0x70edcb,_0x4657e0)=>{var _0x54eaad=a6_0x36115b;_0x4657e0(0x17a92)['v'][_0x54eaad(0x2dc)][_0x54eaad(0x408)]='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0aconst\x20vec3\x20RGBLuminanceCoefficients=vec3(0.2126,0.7152,0.0722);\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec4\x20tex=texture2D(textureSampler,vUV);\x0avec3\x20c=tex.rgb;\x0afloat\x20luma=dot(c.rgb,RGBLuminanceCoefficients);\x0agl_FragColor=vec4(pow(c,vec3(25.0-luma*15.0)),tex.a);\x20\x0a}';},0x816b:(_0x1292d3,_0x36a75f,_0xd926eb)=>{var _0x1f746e=a6_0x36115b,_0x4fb1de=_0xd926eb(0x17a92);_0xd926eb(0x16c11),_0xd926eb(0x175b0),_0xd926eb(0x119a9),_0x4fb1de['v'][_0x1f746e(0x2dc)][_0x1f746e(0x89f)]=_0x1f746e(0x5bf);},0x12a58:(_0x1ecd69,_0x130892,_0x5a99a8)=>{var _0x1d720d=a6_0x36115b,_0x248f22=_0x5a99a8(0x17a92);_0x5a99a8(0x1610b),_0x5a99a8(0xe85e),_0x248f22['v'][_0x1d720d(0x827)]['kernelBlurFragment']=_0x1d720d(0x71b),_0x248f22['v'][_0x1d720d(0x827)][_0x1d720d(0x8bf)]=_0x1d720d(0xb08),_0x248f22['v'][_0x1d720d(0x2dc)][_0x1d720d(0xc71)]='uniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20delta;\x0avarying\x20vec2\x20sampleCenter;\x0a#ifdef\x20DOF\x0auniform\x20sampler2D\x20circleOfConfusionSampler;\x0afloat\x20sampleCoC(in\x20vec2\x20offset)\x20{\x0afloat\x20coc=texture2D(circleOfConfusionSampler,offset).r;\x0areturn\x20coc;\x20\x0a}\x0a#endif\x0a#include<kernelBlurVaryingDeclaration>[0..varyingCount]\x0a#ifdef\x20PACKEDFLOAT\x0a#include<packingFunctions>\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20computedWeight=0.0;\x0a#ifdef\x20PACKEDFLOAT\x0afloat\x20blend=0.;\x0a#else\x0avec4\x20blend=vec4(0.);\x0a#endif\x0a#ifdef\x20DOF\x0afloat\x20sumOfWeights=CENTER_WEIGHT;\x20\x0afloat\x20factor=0.0;\x0a#ifdef\x20PACKEDFLOAT\x0ablend+=unpack(texture2D(textureSampler,sampleCenter))*CENTER_WEIGHT;\x0a#else\x0ablend+=texture2D(textureSampler,sampleCenter)*CENTER_WEIGHT;\x0a#endif\x0a#endif\x0a#include<kernelBlurFragment>[0..varyingCount]\x0a#include<kernelBlurFragment2>[0..depCount]\x0a#ifdef\x20PACKEDFLOAT\x0agl_FragColor=pack(blend);\x0a#else\x0agl_FragColor=blend;\x0a#endif\x0a#ifdef\x20DOF\x0agl_FragColor/=sumOfWeights;\x0a#endif\x0a}';},0x147a8:(_0x26e206,_0x1c3aeb,_0x1c27ae)=>{var _0x87a958=a6_0x36115b,_0x4bd133=_0x1c27ae(0x17a92);_0x1c27ae(0x1610b),_0x4bd133['v'][_0x87a958(0x827)][_0x87a958(0xbdd)]='sampleCoord{X}=sampleCenter+delta*KERNEL_OFFSET{X};',_0x4bd133['v'][_0x87a958(0x2dc)][_0x87a958(0x4a8)]=_0x87a958(0x34b);},0x1814a:(_0x1ba531,_0x33fae1,_0x5bcbc1)=>{var _0xc3059c=a6_0x36115b,_0x46fe8e=_0x5bcbc1(0x17a92);_0x5bcbc1(0x175b0),_0x46fe8e['v'][_0xc3059c(0x2dc)]['layerPixelShader']=_0xc3059c(0x158);},0xc8f5:(_0x533511,_0x24d373,_0x341fbf)=>{var _0x5cab8e=a6_0x36115b;_0x341fbf(0x17a92)['v'][_0x5cab8e(0x2dc)][_0x5cab8e(0x839)]='attribute\x20vec2\x20position;\x0auniform\x20vec2\x20scale;\x0auniform\x20vec2\x20offset;\x0auniform\x20mat4\x20textureMatrix;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec2\x20shiftedPosition=position*scale+offset;\x0avUV=vec2(textureMatrix*vec4(shiftedPosition*madd+madd,1.0,0.0));\x0agl_Position=vec4(shiftedPosition,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0x139b9:(_0x5c6095,_0x48f96a,_0x139915)=>{var _0x28c8ec=a6_0x36115b;_0x139915(0x17a92)['v'][_0x28c8ec(0x2dc)]['lensFlarePixelShader']='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec4\x20color;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0agl_FragColor=baseColor*color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0xc013:(_0x56ec41,_0x56d1e5,_0x3686f8)=>{var _0x20911b=a6_0x36115b;_0x3686f8(0x17a92)['v'][_0x20911b(0x2dc)][_0x20911b(0x92b)]=_0x20911b(0x216);},0xd962:(_0x482acd,_0xc28668,_0x555e31)=>{var _0x4938c0=a6_0x36115b;_0x555e31(0x17a92)['v'][_0x4938c0(0x2dc)][_0x4938c0(0x80b)]=_0x4938c0(0x7b9);},0x6909:(_0x27d04a,_0xf8269f,_0x4e5b7a)=>{var _0x41b679=a6_0x36115b,_0x31cf57=_0x4e5b7a(0x17a92);_0x4e5b7a(0xff1b),_0x4e5b7a(0x3328),_0x31cf57['v']['ShadersStore'][_0x41b679(0xaac)]=_0x41b679(0xb9f);},0x8559:(_0x9adaa,_0x534c57,_0x2ca00c)=>{var _0x2553e2=a6_0x36115b,_0x2d0641=_0x2ca00c(0x17a92);_0x2ca00c(0x12bc6),_0x2ca00c(0x13216),_0x2ca00c(0x733d),_0x2ca00c(0x6efd),_0x2d0641['v'][_0x2553e2(0x2dc)][_0x2553e2(0x543)]=_0x2553e2(0xc52);},0x12903:(_0x5fbc24,_0x555495,_0xed3ea5)=>{var _0xde1128=a6_0x36115b;_0xed3ea5(0x17a92)['v'][_0xde1128(0x2dc)][_0xde1128(0x9c2)]=_0xde1128(0x767);},0x15005:(_0x919d3,_0xa49c1e,_0x13f065)=>{var _0x3a51ec=a6_0x36115b,_0x40b898=_0x13f065(0x17a92);_0x13f065(0x13f9a),_0x13f065(0x12929),_0x13f065(0x9ea3),_0x13f065(0x12abc),_0x13f065(0x12bc6),_0x13f065(0x13906),_0x13f065(0x1070),_0x13f065(0x733d),_0x13f065(0xb434),_0x13f065(0xdcea),_0x40b898['v'][_0x3a51ec(0x2dc)]['meshUVSpaceRendererVertexShader']=_0x3a51ec(0x26f);},0x13733:(_0x144d9d,_0xfb3220,_0x3939a5)=>{var _0x5e36cb=a6_0x36115b;_0x3939a5(0x17a92)['v'][_0x5e36cb(0x2dc)][_0x5e36cb(0x4c4)]=_0x5e36cb(0xb95);},0x366b:(_0x553a8b,_0x36a832,_0x2a66e1)=>{var _0x2ab2c2=a6_0x36115b;_0x2a66e1(0x17a92)['v'][_0x2ab2c2(0x2dc)]['motionBlurPixelShader']=_0x2ab2c2(0x13f);},0xf422:(_0x13e348,_0x547569,_0x28fd6b)=>{var _0x43568a=a6_0x36115b;_0x28fd6b(0x17a92)['v'][_0x43568a(0x2dc)][_0x43568a(0x3d3)]=_0x43568a(0x117);},0xcfa6:(_0x281562,_0x1a8d5a,_0x1d51cd)=>{var _0x3279da=a6_0x36115b;_0x1d51cd(0x17a92)['v']['ShadersStore'][_0x3279da(0x5cd)]=_0x3279da(0x151);},0x1d0b:(_0x4848f7,_0x4bff4e,_0xac1b7a)=>{var _0x5e9dc4=a6_0x36115b;_0xac1b7a(0x17a92)['v'][_0x5e9dc4(0x2dc)][_0x5e9dc4(0x978)]=_0x5e9dc4(0xbc5);},0x4ae5:(_0x4e849c,_0x3f4f6a,_0x45cf88)=>{var _0x2bab80=a6_0x36115b,_0x2382c0=_0x45cf88(0x17a92);_0x45cf88(0xff1b),_0x45cf88(0x17bd9),_0x45cf88(0x3328),_0x45cf88(0x1445f),_0x2382c0['v'][_0x2bab80(0x2dc)][_0x2bab80(0x35f)]=_0x2bab80(0x6a6);},0x1294f:(_0x456886,_0x28c5ff,_0x155c0a)=>{var _0x2e8486=a6_0x36115b,_0x5c1aed=_0x155c0a(0x17a92);_0x155c0a(0x13f9a),_0x155c0a(0x12929),_0x155c0a(0x9ea3),_0x155c0a(0x12abc),_0x155c0a(0x13216),_0x155c0a(0x12bc6),_0x155c0a(0x17bd9),_0x155c0a(0x13906),_0x155c0a(0x1070),_0x155c0a(0x733d),_0x155c0a(0xb434),_0x155c0a(0xdcea),_0x155c0a(0x6efd),_0x155c0a(0x13da6),_0x5c1aed['v'][_0x2e8486(0x2dc)][_0x2e8486(0x257)]=_0x2e8486(0xc11);},0x5215:(_0x56dc74,_0x456e1b,_0x49309b)=>{var _0xd61bb8=a6_0x36115b,_0x1e57a7=_0x49309b(0x17a92);_0x49309b(0xff1b),_0x49309b(0x16c11),_0x49309b(0x17bd9),_0x49309b(0x175b0),_0x49309b(0x119a9),_0x49309b(0x3328),_0x49309b(0x1445f),_0x1e57a7['v'][_0xd61bb8(0x2dc)]['particlesPixelShader']=_0xd61bb8(0x676);},0x1560d:(_0x40783a,_0x34f8f8,_0x50474d)=>{var _0x2ca185=_0x50474d(0x17a92);_0x50474d(0x13216),_0x50474d(0x17bd9),_0x50474d(0x6efd),_0x50474d(0x13da6),_0x2ca185['v']['ShadersStore']['particlesVertexShader']='attribute\x20vec3\x20position;\x0aattribute\x20vec4\x20color;\x0aattribute\x20float\x20angle;\x0aattribute\x20vec2\x20size;\x0a#ifdef\x20ANIMATESHEET\x0aattribute\x20float\x20cellIndex;\x0a#endif\x0a#ifndef\x20BILLBOARD\x0aattribute\x20vec3\x20direction;\x0a#endif\x0a#ifdef\x20BILLBOARDSTRETCHED\x0aattribute\x20vec3\x20direction;\x0a#endif\x0a#ifdef\x20RAMPGRADIENT\x0aattribute\x20vec4\x20remapData;\x0a#endif\x0aattribute\x20vec2\x20offset;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20translationPivot;\x0a#ifdef\x20ANIMATESHEET\x0auniform\x20vec3\x20particlesInfos;\x20\x0a#endif\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20RAMPGRADIENT\x0avarying\x20vec4\x20remapRanges;\x0a#endif\x0a#if\x20defined(BILLBOARD)\x20&&\x20!defined(BILLBOARDY)\x20&&\x20!defined(BILLBOARDSTRETCHED)\x0auniform\x20mat4\x20invView;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<logDepthDeclaration>\x0a#ifdef\x20BILLBOARD\x0auniform\x20vec3\x20eyePosition;\x0a#endif\x0avec3\x20rotate(vec3\x20yaxis,vec3\x20rotatedCorner)\x20{\x0avec3\x20xaxis=normalize(cross(vec3(0.,1.0,0.),yaxis));\x0avec3\x20zaxis=normalize(cross(yaxis,xaxis));\x0avec3\x20row0=vec3(xaxis.x,xaxis.y,xaxis.z);\x0avec3\x20row1=vec3(yaxis.x,yaxis.y,yaxis.z);\x0avec3\x20row2=vec3(zaxis.x,zaxis.y,zaxis.z);\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0areturn\x20position+alignedCorner;\x0a}\x0a#ifdef\x20BILLBOARDSTRETCHED\x0avec3\x20rotateAlign(vec3\x20toCamera,vec3\x20rotatedCorner)\x20{\x0avec3\x20normalizedToCamera=normalize(toCamera);\x0avec3\x20normalizedCrossDirToCamera=normalize(cross(normalize(direction),normalizedToCamera));\x0avec3\x20row0=vec3(normalizedCrossDirToCamera.x,normalizedCrossDirToCamera.y,normalizedCrossDirToCamera.z);\x0avec3\x20row2=vec3(normalizedToCamera.x,normalizedToCamera.y,normalizedToCamera.z);\x0a#ifdef\x20BILLBOARDSTRETCHED_LOCAL\x0avec3\x20row1=direction;\x0a#else\x0avec3\x20crossProduct=normalize(cross(normalizedToCamera,normalizedCrossDirToCamera));\x0avec3\x20row1=vec3(crossProduct.x,crossProduct.y,crossProduct.z);\x0a#endif\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0areturn\x20position+alignedCorner;\x0a}\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec2\x20cornerPos;\x0acornerPos=(vec2(offset.x-0.5,offset.y\x20-0.5)-translationPivot)*size+translationPivot;\x0a#ifdef\x20BILLBOARD\x0avec3\x20rotatedCorner;\x0a#ifdef\x20BILLBOARDY\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.y=0.;\x0avec3\x20yaxis=position-eyePosition;\x0ayaxis.y=0.;\x0avPositionW=rotate(normalize(yaxis),rotatedCorner);\x0avec3\x20viewPos=(view*vec4(vPositionW,1.0)).xyz;\x0a#elif\x20defined(BILLBOARDSTRETCHED)\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0avec3\x20toCamera=position-eyePosition;\x0avPositionW=rotateAlign(toCamera,rotatedCorner);\x0avec3\x20viewPos=(view*vec4(vPositionW,1.0)).xyz;\x0a#else\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0avec3\x20viewPos=(view*vec4(position,1.0)).xyz+rotatedCorner;\x0avPositionW=(invView*vec4(viewPos,1)).xyz;\x0a#endif\x0a#ifdef\x20RAMPGRADIENT\x0aremapRanges=remapData;\x0a#endif\x0agl_Position=projection*vec4(viewPos,1.0);\x0a#else\x0avec3\x20rotatedCorner;\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.y=0.;\x0avec3\x20yaxis=normalize(direction);\x0avPositionW=rotate(yaxis,rotatedCorner);\x0agl_Position=projection*view*vec4(vPositionW,1.0);\x0a#endif\x0avColor=color;\x0a#ifdef\x20ANIMATESHEET\x0afloat\x20rowOffset=floor(cellIndex*particlesInfos.z);\x0afloat\x20columnOffset=cellIndex-rowOffset/particlesInfos.z;\x0avec2\x20uvScale=particlesInfos.xy;\x0avec2\x20uvOffset=vec2(offset.x\x20,1.0-offset.y);\x0avUV=(uvOffset+vec2(columnOffset,rowOffset))*uvScale;\x0a#else\x0avUV=offset;\x0a#endif\x0a#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0avec4\x20worldPos=vec4(vPositionW,1.0);\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0x8262:(_0x2eba6a,_0xddb5b3,_0x5bbae5)=>{var _0x23baf2=a6_0x36115b;_0x5bbae5['d'](_0xddb5b3,{'T':()=>_0xaf8832}),_0xddb5b3=_0x23baf2(0xa90);const _0xaf8832={'name':_0xddb5b3,'shader':_0x5bbae5(0x17a92)['v'][_0x23baf2(0x2dc)][_0xddb5b3]='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a}'};},0x5f4b:(_0x5d7f68,_0x4eb888,_0x2a8211)=>{var _0x2e69cc=a6_0x36115b;_0x2a8211(0x17a92)['v'][_0x2e69cc(0x2dc)]['passCubePixelShader']=_0x2e69cc(0x1ee);},0x11f54:(_0x2c9896,_0x23174b,_0x269686)=>{var _0x5a7c9c=a6_0x36115b,_0x1eccf4=_0x269686(0x17a92);_0x269686(0x67c9),_0x269686(0xa8cd),_0x269686(0xf57c),_0x1eccf4['v']['IncludesShadersStore']['pbrFragmentDeclaration']=_0x5a7c9c(0x773),_0x269686(0xc853),_0x269686(0x94fa),_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0x5ce)]=_0x5a7c9c(0x81b),_0x269686(0xe6c7),_0x269686(0x15fb5),_0x269686(0x126e8),_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0xcd8)]=_0x5a7c9c(0x411),_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0x49d)]=_0x5a7c9c(0x1fe),_0x269686(0x16c11),_0x269686(0xff1b),_0x269686(0x17bd9),_0x269686(0x12a16),_0x269686(0x175b0),_0x269686(0x6b23),_0x269686(0x1b98),_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0x989)]=_0x5a7c9c(0xb46),_0x269686(0x119a9),_0x269686(0x1f85),_0x269686(0x14535),_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0xbdf)]=_0x5a7c9c(0x9a8),_0x1eccf4['v']['IncludesShadersStore']['pbrDirectLightingFalloffFunctions']='float\x20computeDistanceLightFalloff_Standard(vec3\x20lightOffset,float\x20range)\x0a{\x0areturn\x20max(0.,1.0-length(lightOffset)/range);\x0a}\x0afloat\x20computeDistanceLightFalloff_Physical(float\x20lightDistanceSquared)\x0a{\x0areturn\x201.0/maxEps(lightDistanceSquared);\x0a}\x0afloat\x20computeDistanceLightFalloff_GLTF(float\x20lightDistanceSquared,float\x20inverseSquaredRange)\x0a{\x0afloat\x20lightDistanceFalloff=1.0/maxEps(lightDistanceSquared);\x0afloat\x20factor=lightDistanceSquared*inverseSquaredRange;\x0afloat\x20attenuation=saturate(1.0-factor*factor);\x0aattenuation*=attenuation;\x0alightDistanceFalloff*=attenuation;\x0areturn\x20lightDistanceFalloff;\x0a}\x0afloat\x20computeDistanceLightFalloff(vec3\x20lightOffset,float\x20lightDistanceSquared,float\x20range,float\x20inverseSquaredRange)\x0a{\x0a#ifdef\x20USEPHYSICALLIGHTFALLOFF\x0areturn\x20computeDistanceLightFalloff_Physical(lightDistanceSquared);\x0a#elif\x20defined(USEGLTFLIGHTFALLOFF)\x0areturn\x20computeDistanceLightFalloff_GLTF(lightDistanceSquared,inverseSquaredRange);\x0a#else\x0areturn\x20computeDistanceLightFalloff_Standard(lightOffset,range);\x0a#endif\x0a}\x0afloat\x20computeDirectionalLightFalloff_Standard(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20cosHalfAngle,float\x20exponent)\x0a{\x0afloat\x20falloff=0.0;\x0afloat\x20cosAngle=maxEps(dot(-lightDirection,directionToLightCenterW));\x0aif\x20(cosAngle>=cosHalfAngle)\x0a{\x0afalloff=max(0.,pow(cosAngle,exponent));\x0a}\x0areturn\x20falloff;\x0a}\x0afloat\x20computeDirectionalLightFalloff_Physical(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20cosHalfAngle)\x0a{\x0aconst\x20float\x20kMinusLog2ConeAngleIntensityRatio=6.64385618977;\x20\x0afloat\x20concentrationKappa=kMinusLog2ConeAngleIntensityRatio/(1.0-cosHalfAngle);\x0avec4\x20lightDirectionSpreadSG=vec4(-lightDirection*concentrationKappa,-concentrationKappa);\x0afloat\x20falloff=exp2(dot(vec4(directionToLightCenterW,1.0),lightDirectionSpreadSG));\x0areturn\x20falloff;\x0a}\x0afloat\x20computeDirectionalLightFalloff_GLTF(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20lightAngleScale,float\x20lightAngleOffset)\x0a{\x0afloat\x20cd=dot(-lightDirection,directionToLightCenterW);\x0afloat\x20falloff=saturate(cd*lightAngleScale+lightAngleOffset);\x0afalloff*=falloff;\x0areturn\x20falloff;\x0a}\x0afloat\x20computeDirectionalLightFalloff(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20cosHalfAngle,float\x20exponent,float\x20lightAngleScale,float\x20lightAngleOffset)\x0a{\x0a#ifdef\x20USEPHYSICALLIGHTFALLOFF\x0areturn\x20computeDirectionalLightFalloff_Physical(lightDirection,directionToLightCenterW,cosHalfAngle);\x0a#elif\x20defined(USEGLTFLIGHTFALLOFF)\x0areturn\x20computeDirectionalLightFalloff_GLTF(lightDirection,directionToLightCenterW,lightAngleScale,lightAngleOffset);\x0a#else\x0areturn\x20computeDirectionalLightFalloff_Standard(lightDirection,directionToLightCenterW,cosHalfAngle,exponent);\x0a#endif\x0a}',_0x269686(0x10b3e),_0x269686(0x16b85),_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0xb01)]=_0x5a7c9c(0x313),_0x1eccf4['v']['IncludesShadersStore'][_0x5a7c9c(0x235)]=_0x5a7c9c(0x643),_0x269686(0x8cac),_0x269686(0xe577),_0x269686(0x11645),_0x269686(0xcff7),_0x1eccf4['v'][_0x5a7c9c(0x827)]['pbrBlockAlbedoOpacity']=_0x5a7c9c(0xa1c),_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0xc90)]='struct\x20reflectivityOutParams\x0a{\x0afloat\x20microSurface;\x0afloat\x20roughness;\x0avec3\x20surfaceReflectivityColor;\x0a#ifdef\x20METALLICWORKFLOW\x0avec3\x20surfaceAlbedo;\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0avec3\x20ambientOcclusionColor;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avec4\x20surfaceMetallicColorMap;\x0avec4\x20surfaceReflectivityColorMap;\x0avec2\x20metallicRoughness;\x0avec3\x20metallicF0;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20reflectivityBlock(\x0ain\x20vec4\x20vReflectivityColor,\x0a#ifdef\x20METALLICWORKFLOW\x0ain\x20vec3\x20surfaceAlbedo,\x0ain\x20vec4\x20metallicReflectanceFactors,\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0ain\x20vec3\x20reflectivityInfos,\x0ain\x20vec4\x20surfaceMetallicOrReflectivityColorMap,\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0ain\x20vec3\x20ambientOcclusionColorIn,\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0ain\x20vec4\x20microSurfaceTexel,\x0a#endif\x0a#ifdef\x20DETAIL\x0ain\x20vec4\x20detailColor,\x0ain\x20vec4\x20vDetailInfos,\x0a#endif\x0aout\x20reflectivityOutParams\x20outParams\x0a)\x0a{\x0afloat\x20microSurface=vReflectivityColor.a;\x0avec3\x20surfaceReflectivityColor=vReflectivityColor.rgb;\x0a#ifdef\x20METALLICWORKFLOW\x0avec2\x20metallicRoughness=surfaceReflectivityColor.rg;\x0a#ifdef\x20REFLECTIVITY\x0a#if\x20DEBUGMODE>0\x0aoutParams.surfaceMetallicColorMap=surfaceMetallicOrReflectivityColorMap;\x0a#endif\x0a#ifdef\x20AOSTOREINMETALMAPRED\x0avec3\x20aoStoreInMetalMap=vec3(surfaceMetallicOrReflectivityColorMap.r,surfaceMetallicOrReflectivityColorMap.r,surfaceMetallicOrReflectivityColorMap.r);\x0aoutParams.ambientOcclusionColor=mix(ambientOcclusionColorIn,aoStoreInMetalMap,reflectivityInfos.z);\x0a#endif\x0a#ifdef\x20METALLNESSSTOREINMETALMAPBLUE\x0ametallicRoughness.r*=surfaceMetallicOrReflectivityColorMap.b;\x0a#else\x0ametallicRoughness.r*=surfaceMetallicOrReflectivityColorMap.r;\x0a#endif\x0a#ifdef\x20ROUGHNESSSTOREINMETALMAPALPHA\x0ametallicRoughness.g*=surfaceMetallicOrReflectivityColorMap.a;\x0a#else\x0a#ifdef\x20ROUGHNESSSTOREINMETALMAPGREEN\x0ametallicRoughness.g*=surfaceMetallicOrReflectivityColorMap.g;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0afloat\x20detailRoughness=mix(0.5,detailColor.b,vDetailInfos.w);\x0afloat\x20loLerp=mix(0.,metallicRoughness.g,detailRoughness*2.);\x0afloat\x20hiLerp=mix(metallicRoughness.g,1.,(detailRoughness-0.5)*2.);\x0ametallicRoughness.g=mix(loLerp,hiLerp,step(detailRoughness,0.5));\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0ametallicRoughness.g*=microSurfaceTexel.r;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.metallicRoughness=metallicRoughness;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_METALLICROUGHNESS\x0amicroSurface=1.0-metallicRoughness.g;\x0avec3\x20baseColor=surfaceAlbedo;\x0a#ifdef\x20FROSTBITE_REFLECTANCE\x0aoutParams.surfaceAlbedo=baseColor.rgb*(1.0-metallicRoughness.r);\x0asurfaceReflectivityColor=mix(0.16*reflectance*reflectance,baseColor,metallicRoughness.r);\x0a#else\x0avec3\x20metallicF0=metallicReflectanceFactors.rgb;\x0a#if\x20DEBUGMODE>0\x0aoutParams.metallicF0=metallicF0;\x0a#endif\x0aoutParams.surfaceAlbedo=mix(baseColor.rgb*(1.0-metallicF0),vec3(0.,0.,0.),metallicRoughness.r);\x0asurfaceReflectivityColor=mix(metallicF0,baseColor,metallicRoughness.r);\x0a#endif\x0a#else\x0a#ifdef\x20REFLECTIVITY\x0asurfaceReflectivityColor*=surfaceMetallicOrReflectivityColorMap.rgb;\x0a#if\x20DEBUGMODE>0\x0aoutParams.surfaceReflectivityColorMap=surfaceMetallicOrReflectivityColorMap;\x0a#endif\x0a#ifdef\x20MICROSURFACEFROMREFLECTIVITYMAP\x0amicroSurface*=surfaceMetallicOrReflectivityColorMap.a;\x0amicroSurface*=reflectivityInfos.z;\x0a#else\x0a#ifdef\x20MICROSURFACEAUTOMATIC\x0amicroSurface*=computeDefaultMicroSurface(microSurface,surfaceReflectivityColor);\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0amicroSurface*=microSurfaceTexel.r;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_MICROSURFACE\x0a#endif\x0a#endif\x0a#endif\x0amicroSurface=saturate(microSurface);\x0afloat\x20roughness=1.-microSurface;\x0aoutParams.microSurface=microSurface;\x0aoutParams.roughness=roughness;\x0aoutParams.surfaceReflectivityColor=surfaceReflectivityColor;\x0a}\x0a',_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0xbd6)]=_0x5a7c9c(0x6ab),_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0xabd)]=_0x5a7c9c(0xb0d),_0x1eccf4['v']['IncludesShadersStore'][_0x5a7c9c(0x817)]=_0x5a7c9c(0x3f3),_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0x410)]=_0x5a7c9c(0x7f8),_0x1eccf4['v']['IncludesShadersStore']['pbrBlockSheen']=_0x5a7c9c(0x653),_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0x28b)]=_0x5a7c9c(0xa1d),_0x1eccf4['v'][_0x5a7c9c(0x827)]['pbrBlockIridescence']=_0x5a7c9c(0x71c),_0x1eccf4['v'][_0x5a7c9c(0x827)]['pbrBlockSubSurface']='struct\x20subSurfaceOutParams\x0a{\x0avec3\x20specularEnvironmentReflectance;\x0a#ifdef\x20SS_REFRACTION\x0avec3\x20finalRefraction;\x0avec3\x20surfaceAlbedo;\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0afloat\x20alpha;\x0a#endif\x0a#ifdef\x20REFLECTION\x0afloat\x20refractionFactorForIrradiance;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0avec3\x20transmittance;\x0afloat\x20translucencyIntensity;\x0a#ifdef\x20REFLECTION\x0avec3\x20refractionIrradiance;\x0a#endif\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avec4\x20thicknessMap;\x0avec4\x20environmentRefraction;\x0avec3\x20refractionTransmittance;\x0a#endif\x0a};\x0a#ifdef\x20SUBSURFACE\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20subSurfaceBlock(\x0ain\x20vec3\x20vSubSurfaceIntensity,\x0ain\x20vec2\x20vThicknessParam,\x0ain\x20vec4\x20vTintColor,\x0ain\x20vec3\x20normalW,\x0ain\x20vec3\x20specularEnvironmentReflectance,\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0ain\x20vec4\x20thicknessMap,\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0ain\x20vec4\x20refractionIntensityMap,\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0ain\x20vec4\x20translucencyIntensityMap,\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20SS_TRANSLUCENCY\x0ain\x20mat4\x20reflectionMatrix,\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0ain\x20vec3\x20irradianceVector_,\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x0ain\x20samplerCube\x20reflectionSampler,\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20irradianceSampler,\x0a#else\x0ain\x20sampler2D\x20irradianceSampler,\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x20||\x20defined(SS_TRANSLUCENCY)\x0ain\x20vec3\x20surfaceAlbedo,\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20viewDirectionW,\x0ain\x20mat4\x20view,\x0ain\x20vec4\x20vRefractionInfos,\x0ain\x20mat4\x20refractionMatrix,\x0ain\x20vec4\x20vRefractionMicrosurfaceInfos,\x0ain\x20vec4\x20vLightingIntensity,\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0ain\x20float\x20alpha,\x0a#endif\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0ain\x20float\x20NdotVUnclamped,\x0a#endif\x0a#ifdef\x20SS_LINEARSPECULARREFRACTION\x0ain\x20float\x20roughness,\x0a#endif\x0ain\x20float\x20alphaG,\x0a#ifdef\x20SS_REFRACTIONMAP_3D\x0ain\x20samplerCube\x20refractionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0ain\x20samplerCube\x20refractionSamplerLow,\x0ain\x20samplerCube\x20refractionSamplerHigh,\x0a#endif\x0a#else\x0ain\x20sampler2D\x20refractionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0ain\x20sampler2D\x20refractionSamplerLow,\x0ain\x20sampler2D\x20refractionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0ain\x20anisotropicOutParams\x20anisotropicOut,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vRefractionFilteringInfo,\x0a#endif\x0a#ifdef\x20SS_USE_LOCAL_REFRACTIONMAP_CUBIC\x0ain\x20vec3\x20refractionPosition,\x0ain\x20vec3\x20refractionSize,\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0ain\x20vec3\x20vDiffusionDistance,\x0a#endif\x0aout\x20subSurfaceOutParams\x20outParams\x0a)\x0a{\x0aoutParams.specularEnvironmentReflectance=specularEnvironmentReflectance;\x0a#ifdef\x20SS_REFRACTION\x0afloat\x20refractionIntensity=vSubSurfaceIntensity.x;\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0arefractionIntensity*=(1.0-alpha);\x0aoutParams.alpha=1.0;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0afloat\x20translucencyIntensity=vSubSurfaceIntensity.y;\x0a#endif\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0a#if\x20defined(SS_USE_GLTF_TEXTURES)\x0afloat\x20thickness=thicknessMap.g*vThicknessParam.y+vThicknessParam.x;\x0a#else\x0afloat\x20thickness=thicknessMap.r*vThicknessParam.y+vThicknessParam.x;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.thicknessMap=thicknessMap;\x0a#endif\x0a#ifdef\x20SS_MASK_FROM_THICKNESS_TEXTURE\x0a#if\x20defined(SS_REFRACTION)\x20&&\x20defined(SS_REFRACTION_USE_INTENSITY_FROM_TEXTURE)\x0a#if\x20defined(SS_USE_GLTF_TEXTURES)\x0arefractionIntensity*=thicknessMap.r;\x0a#else\x0arefractionIntensity*=thicknessMap.g;\x0a#endif\x0a#endif\x0a#if\x20defined(SS_TRANSLUCENCY)\x20&&\x20defined(SS_TRANSLUCENCY_USE_INTENSITY_FROM_TEXTURE)\x0atranslucencyIntensity*=thicknessMap.b;\x0a#endif\x0a#endif\x0a#else\x0afloat\x20thickness=vThicknessParam.y;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0a#ifdef\x20SS_USE_GLTF_TEXTURES\x0arefractionIntensity*=refractionIntensityMap.r;\x0a#else\x0arefractionIntensity*=refractionIntensityMap.g;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0atranslucencyIntensity*=translucencyIntensityMap.b;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0athickness=maxEps(thickness);\x0avec3\x20transmittance=transmittanceBRDF_Burley(vTintColor.rgb,vDiffusionDistance,thickness);\x0atransmittance*=translucencyIntensity;\x0aoutParams.transmittance=transmittance;\x0aoutParams.translucencyIntensity=translucencyIntensity;\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0avec4\x20environmentRefraction=vec4(0.,0.,0.,0.);\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20refractionVector=refract(-viewDirectionW,anisotropicOut.anisotropicNormal,vRefractionInfos.y);\x0a#else\x0avec3\x20refractionVector=refract(-viewDirectionW,normalW,vRefractionInfos.y);\x0a#endif\x0a#ifdef\x20SS_REFRACTIONMAP_OPPOSITEZ\x0arefractionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONMAP_3D\x0a#ifdef\x20SS_USE_LOCAL_REFRACTIONMAP_CUBIC\x0arefractionVector=parallaxCorrectNormal(vPositionW,refractionVector,refractionSize,refractionPosition);\x0a#endif\x0arefractionVector.y=refractionVector.y*vRefractionInfos.w;\x0avec3\x20refractionCoords=refractionVector;\x0arefractionCoords=vec3(refractionMatrix*vec4(refractionCoords,0));\x0a#else\x0a#ifdef\x20SS_USE_THICKNESS_AS_DEPTH\x0avec3\x20vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*thickness,1.0)));\x0a#else\x0avec3\x20vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*vRefractionInfos.z,1.0)));\x0a#endif\x0avec2\x20refractionCoords=vRefractionUVW.xy/vRefractionUVW.z;\x0arefractionCoords.y=1.0-refractionCoords.y;\x0a#endif\x0a#ifdef\x20SS_HAS_THICKNESS\x0afloat\x20ior=vRefractionInfos.y;\x0a#else\x0afloat\x20ior=vRefractionMicrosurfaceInfos.w;\x0a#endif\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0afloat\x20refractionAlphaG=alphaG;\x0arefractionAlphaG=mix(alphaG,0.0,clamp(ior*3.0-2.0,0.0,1.0));\x0afloat\x20refractionLOD=getLodFromAlphaG(vRefractionMicrosurfaceInfos.x,refractionAlphaG,NdotVUnclamped);\x0a#elif\x20defined(SS_LINEARSPECULARREFRACTION)\x0afloat\x20refractionRoughness=alphaG;\x0arefractionRoughness=mix(alphaG,0.0,clamp(ior*3.0-2.0,0.0,1.0));\x0afloat\x20refractionLOD=getLinearLodFromRoughness(vRefractionMicrosurfaceInfos.x,refractionRoughness);\x0a#else\x0afloat\x20refractionAlphaG=alphaG;\x0arefractionAlphaG=mix(alphaG,0.0,clamp(ior*3.0-2.0,0.0,1.0));\x0afloat\x20refractionLOD=getLodFromAlphaG(vRefractionMicrosurfaceInfos.x,refractionAlphaG);\x0a#endif\x0a#ifdef\x20LODBASEDMICROSFURACE\x0arefractionLOD=refractionLOD*vRefractionMicrosurfaceInfos.y+vRefractionMicrosurfaceInfos.z;\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0afloat\x20automaticRefractionLOD=UNPACK_LOD(sampleRefraction(refractionSampler,refractionCoords).a);\x0afloat\x20requestedRefractionLOD=max(automaticRefractionLOD,refractionLOD);\x0a#else\x0afloat\x20requestedRefractionLOD=refractionLOD;\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x20&&\x20defined(SS_REFRACTIONMAP_3D)\x0aenvironmentRefraction=vec4(radiance(alphaG,refractionSampler,refractionCoords,vRefractionFilteringInfo),1.0);\x0a#else\x0aenvironmentRefraction=sampleRefractionLod(refractionSampler,refractionCoords,requestedRefractionLOD);\x0a#endif\x0a#else\x0afloat\x20lodRefractionNormalized=saturate(refractionLOD/log2(vRefractionMicrosurfaceInfos.x));\x0afloat\x20lodRefractionNormalizedDoubled=lodRefractionNormalized*2.0;\x0avec4\x20environmentRefractionMid=sampleRefraction(refractionSampler,refractionCoords);\x0aif\x20(lodRefractionNormalizedDoubled<1.0){\x0aenvironmentRefraction=mix(\x0asampleRefraction(refractionSamplerHigh,refractionCoords),\x0aenvironmentRefractionMid,\x0alodRefractionNormalizedDoubled\x0a);\x0a}\x20else\x20{\x0aenvironmentRefraction=mix(\x0aenvironmentRefractionMid,\x0asampleRefraction(refractionSamplerLow,refractionCoords),\x0alodRefractionNormalizedDoubled-1.0\x0a);\x0a}\x0a#endif\x0a#ifdef\x20SS_RGBDREFRACTION\x0aenvironmentRefraction.rgb=fromRGBD(environmentRefraction);\x0a#endif\x0a#ifdef\x20SS_GAMMAREFRACTION\x0aenvironmentRefraction.rgb=toLinearSpace(environmentRefraction.rgb);\x0a#endif\x0aenvironmentRefraction.rgb*=vRefractionInfos.x;\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0avec3\x20refractionTransmittance=vec3(refractionIntensity);\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0avec3\x20volumeAlbedo=computeColorAtDistanceInMedia(vTintColor.rgb,vTintColor.w);\x0arefractionTransmittance*=cocaLambert(volumeAlbedo,thickness);\x0a#elif\x20defined(SS_LINKREFRACTIONTOTRANSPARENCY)\x0afloat\x20maxChannel=max(max(surfaceAlbedo.r,surfaceAlbedo.g),surfaceAlbedo.b);\x0avec3\x20volumeAlbedo=saturate(maxChannel*surfaceAlbedo);\x0aenvironmentRefraction.rgb*=volumeAlbedo;\x0a#else\x0avec3\x20volumeAlbedo=computeColorAtDistanceInMedia(vTintColor.rgb,vTintColor.w);\x0arefractionTransmittance*=cocaLambert(volumeAlbedo,vThicknessParam.y);\x0a#endif\x0a#ifdef\x20SS_ALBEDOFORREFRACTIONTINT\x0aenvironmentRefraction.rgb*=surfaceAlbedo.rgb;\x0a#endif\x0aoutParams.surfaceAlbedo=surfaceAlbedo*(1.-refractionIntensity);\x0a#ifdef\x20REFLECTION\x0aoutParams.refractionFactorForIrradiance=(1.-refractionIntensity);\x0a#endif\x0a#ifdef\x20UNUSED_MULTIPLEBOUNCES\x0avec3\x20bounceSpecularEnvironmentReflectance=(2.0*specularEnvironmentReflectance)/(1.0+specularEnvironmentReflectance);\x0aoutParams.specularEnvironmentReflectance=mix(bounceSpecularEnvironmentReflectance,specularEnvironmentReflectance,refractionIntensity);\x0a#endif\x0arefractionTransmittance*=1.0-outParams.specularEnvironmentReflectance;\x0a#if\x20DEBUGMODE>0\x0aoutParams.refractionTransmittance=refractionTransmittance;\x0a#endif\x0aoutParams.finalRefraction=environmentRefraction.rgb*refractionTransmittance*vLightingIntensity.z;\x0a#if\x20DEBUGMODE>0\x0aoutParams.environmentRefraction=environmentRefraction;\x0a#endif\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(SS_TRANSLUCENCY)\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x20||\x20!defined(USESPHERICALFROMREFLECTIONMAP)\x0avec3\x20irradianceVector=vec3(reflectionMatrix*vec4(normalW,0)).xyz;\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0airradianceVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20INVERTCUBICMAP\x0airradianceVector.y*=-1.0;\x0a#endif\x0a#else\x0avec3\x20irradianceVector=irradianceVector_;\x0a#endif\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x0a#if\x20defined(REALTIME_FILTERING)\x0avec3\x20refractionIrradiance=irradiance(reflectionSampler,-irradianceVector,vReflectionFilteringInfo);\x0a#else\x0avec3\x20refractionIrradiance=computeEnvironmentIrradiance(-irradianceVector);\x0a#endif\x0a#elif\x20defined(USEIRRADIANCEMAP)\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20irradianceCoords=irradianceVector;\x0a#else\x0avec2\x20irradianceCoords=irradianceVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0airradianceCoords/=irradianceVector.z;\x0a#endif\x0airradianceCoords.y=1.0-irradianceCoords.y;\x0a#endif\x0avec4\x20refractionIrradiance=sampleReflection(irradianceSampler,-irradianceCoords);\x0a#ifdef\x20RGBDREFLECTION\x0arefractionIrradiance.rgb=fromRGBD(refractionIrradiance);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0arefractionIrradiance.rgb=toLinearSpace(refractionIrradiance.rgb);\x0a#endif\x0a#else\x0avec4\x20refractionIrradiance=vec4(0.);\x0a#endif\x0arefractionIrradiance.rgb*=transmittance;\x0a#ifdef\x20SS_ALBEDOFORTRANSLUCENCYTINT\x0arefractionIrradiance.rgb*=surfaceAlbedo.rgb;\x0a#endif\x0aoutParams.refractionIrradiance=refractionIrradiance.rgb;\x0a#endif\x0a}\x0a#endif\x0a',_0x269686(0x3328),_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0x11d)]=_0x5a7c9c(0xb59),_0x269686(0x6664),_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0xb6f)]=_0x5a7c9c(0x920),_0x269686(0x6318),_0x1eccf4['v'][_0x5a7c9c(0x827)]['pbrBlockLightmapInit']=_0x5a7c9c(0x52a),_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0x572)]=_0x5a7c9c(0x484),_0x1eccf4['v']['IncludesShadersStore']['pbrBlockReflectance0']=_0x5a7c9c(0xb61),_0x1eccf4['v']['IncludesShadersStore'][_0x5a7c9c(0xb50)]=_0x5a7c9c(0xed),_0x1eccf4['v'][_0x5a7c9c(0x827)]['pbrBlockDirectLighting']=_0x5a7c9c(0x8ed),_0x269686(0xb0bc),_0x1eccf4['v'][_0x5a7c9c(0x827)][_0x5a7c9c(0x13a)]=_0x5a7c9c(0x4b0),_0x1eccf4['v']['IncludesShadersStore'][_0x5a7c9c(0x380)]=_0x5a7c9c(0x169),_0x1eccf4['v'][_0x5a7c9c(0x827)]['pbrBlockFinalColorComposition']=_0x5a7c9c(0x3af),_0x269686(0x1445f),_0x269686(0x10ef),_0x1eccf4['v']['IncludesShadersStore'][_0x5a7c9c(0x8d6)]='#if\x20defined(IMAGEPROCESSINGPOSTPROCESS)\x20||\x20defined(SS_SCATTERING)\x0a#if\x20!defined(SKIPFINALCOLORCLAMP)\x0afinalColor.rgb=clamp(finalColor.rgb,0.,30.0);\x0a#endif\x0a#else\x0afinalColor=applyImageProcessing(finalColor);\x0a#endif\x0afinalColor.a*=visibility;\x0a#ifdef\x20PREMULTIPLYALPHA\x0afinalColor.rgb*=finalColor.a;\x0a#endif\x0a',_0x269686(0xa965),_0x1eccf4['v'][_0x5a7c9c(0x827)]['pbrDebug']=_0x5a7c9c(0x559),_0x1eccf4['v'][_0x5a7c9c(0x2dc)][_0x5a7c9c(0xb7d)]=_0x5a7c9c(0xc3f);},0x93ab:(_0x49deed,_0x2a79df,_0x5e5c5a)=>{var _0x5f1a66=a6_0x36115b,_0x2793e8=_0x5e5c5a(0x17a92);_0x5e5c5a(0x2826),_0x2793e8['v'][_0x5f1a66(0x827)][_0x5f1a66(0xa19)]=_0x5f1a66(0x2bb),_0x5e5c5a(0xc853),_0x5e5c5a(0x17bd8),_0x5e5c5a(0x94fa),_0x5e5c5a(0x175b0),_0x5e5c5a(0x13f9a),_0x5e5c5a(0x12929),_0x5e5c5a(0x12bc6),_0x5e5c5a(0x18442),_0x5e5c5a(0x15b7a),_0x5e5c5a(0x14535),_0x5e5c5a(0x8785),_0x5e5c5a(0x13216),_0x5e5c5a(0x6a99),_0x5e5c5a(0x1b3f),_0x5e5c5a(0xc971),_0x5e5c5a(0x9ea3),_0x5e5c5a(0x12abc),_0x5e5c5a(0x17bd9),_0x5e5c5a(0x13906),_0x5e5c5a(0x1070),_0x5e5c5a(0x733d),_0x5e5c5a(0xb434),_0x5e5c5a(0xdcea),_0x5e5c5a(0x1abd),_0x5e5c5a(0xd68d),_0x5e5c5a(0x2f27),_0x5e5c5a(0xced6),_0x5e5c5a(0x6efd),_0x5e5c5a(0x9871),_0x5e5c5a(0x6e75),_0x5e5c5a(0xedb9),_0x5e5c5a(0x13da6),_0x2793e8['v']['ShadersStore'][_0x5f1a66(0xe5)]='precision\x20highp\x20float;\x0a#include<__decl__pbrVertex>\x0a#define\x20CUSTOM_VERTEX_BEGIN\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0aattribute\x20vec4\x20tangent;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#include<uvAttributeDeclaration>[2..7]\x0a#include<mainUVVaryingDeclaration>[1..7]\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<helperFunctions>\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0a#include<prePassVertexDeclaration>\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal)\x0a#ifdef\x20CLEARCOAT\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness)\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy)\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity)\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#if\x20DEBUGMODE>0\x0avarying\x20vec4\x20vClipSpacePosition;\x0a#endif\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avarying\x20vec3\x20vEnvironmentIrradiance;\x0a#include<harmonicsFunctions>\x0a#endif\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<bumpVertexDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#include<logDepthDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20NORMAL\x0avec3\x20normalUpdated=normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0avec4\x20tangentUpdated=tangent;\x0a#endif\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avPositionUVW=positionUpdated;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_POSITION\x0a#define\x20CUSTOM_VERTEX_UPDATE_NORMAL\x0a#include<instancesVertex>\x0a#if\x20defined(PREPASS)\x20&&\x20defined(PREPASS_VELOCITY)\x20&&\x20!defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0avPositionW=vec3(worldPos);\x0a#include<prePassVertex>\x0a#ifdef\x20NORMAL\x0amat3\x20normalWorld=mat3(finalWorld);\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avNormalW=normalUpdated/vec3(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));\x0avNormalW=normalize(normalWorld*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormalWorld=transposeMat3(inverseMat3(normalWorld));\x0a#endif\x0avNormalW=normalize(normalWorld*normalUpdated);\x0a#endif\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avec3\x20reflectionVector=vec3(reflectionMatrix*vec4(vNormalW,0)).xyz;\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0areflectionVector.z*=-1.0;\x0a#endif\x0avEnvironmentIrradiance=computeEnvironmentIrradiance(reflectionVector);\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_WORLDPOS\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avClipSpacePosition=gl_Position;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avDirectionW=normalize(vec3(finalWorld*vec4(positionUpdated,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uvUpdated=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV1\x0avMainUV1=uvUpdated;\x0a#endif\x0a#include<uvVariableDeclaration>[2..7]\x0a#include<samplerVertexImplementation>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo,_MATRIXNAME_,albedo,_INFONAME_,AlbedoInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_MATRIXNAME_,detail,_INFONAME_,DetailInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_MATRIXNAME_,ambient,_INFONAME_,AmbientInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_MATRIXNAME_,opacity,_INFONAME_,OpacityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_MATRIXNAME_,emissive,_INFONAME_,EmissiveInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_MATRIXNAME_,lightmap,_INFONAME_,LightmapInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity,_MATRIXNAME_,reflectivity,_INFONAME_,ReflectivityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler,_MATRIXNAME_,microSurfaceSampler,_INFONAME_,MicroSurfaceSamplerInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance,_MATRIXNAME_,metallicReflectance,_INFONAME_,MetallicReflectanceInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance,_MATRIXNAME_,reflectance,_INFONAME_,ReflectanceInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_MATRIXNAME_,bump,_INFONAME_,BumpInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_MATRIXNAME_,decal,_INFONAME_,DecalInfos.x)\x0a#ifdef\x20CLEARCOAT\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat,_MATRIXNAME_,clearCoat,_INFONAME_,ClearCoatInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness,_MATRIXNAME_,clearCoatRoughness,_INFONAME_,ClearCoatInfos.z)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump,_MATRIXNAME_,clearCoatBump,_INFONAME_,ClearCoatBumpInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint,_MATRIXNAME_,clearCoatTint,_INFONAME_,ClearCoatTintInfos.x)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include<samplerVertexImplementation>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence,_MATRIXNAME_,iridescence,_INFONAME_,IridescenceInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness,_MATRIXNAME_,iridescenceThickness,_INFONAME_,IridescenceInfos.z)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen,_MATRIXNAME_,sheen,_INFONAME_,SheenInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness,_MATRIXNAME_,sheen,_INFONAME_,SheenInfos.z)\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#include<samplerVertexImplementation>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy,_MATRIXNAME_,anisotropy,_INFONAME_,AnisotropyInfos.x)\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness,_MATRIXNAME_,thickness,_INFONAME_,ThicknessInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity,_MATRIXNAME_,refractionIntensity,_INFONAME_,RefractionIntensityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity,_MATRIXNAME_,translucencyIntensity,_INFONAME_,TranslucencyIntensityInfos.x)\x0a#endif\x0a#include<bumpVertex>\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0x4617:(_0x12bea7,_0x1450eb,_0x5f5918)=>{var _0x1c8804=a6_0x36115b;_0x5f5918(0x17a92)['v'][_0x1c8804(0x2dc)][_0x1c8804(0x63c)]=_0x1c8804(0x732);},0x18235:(_0x791ea7,_0x5d3975,_0xf0be30)=>{var _0x28f468=a6_0x36115b;_0xf0be30(0x17a92)['v'][_0x28f468(0x2dc)][_0x28f468(0xc91)]=_0x28f468(0x693);},0x52aa:(_0x36d453,_0x214e6f,_0x1f3e50)=>{var _0x35e47e=a6_0x36115b;_0x1f3e50(0x17a92)['v'][_0x35e47e(0x2dc)]['refractionPixelShader']=_0x35e47e(0x1f8);},0x11c21:(_0xc054b2,_0x1eee51,_0x422528)=>{var _0x37f12f=_0x422528(0x17a92);_0x422528(0x175b0),_0x37f12f['v']['ShadersStore']['rgbdDecodePixelShader']='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include<helperFunctions>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=vec4(fromRGBD(texture2D(textureSampler,vUV)),1.0);\x0a}';},0x10c45:(_0x1c8988,_0x457e92,_0x237429)=>{var _0x3aa12c=a6_0x36115b,_0x3289d9=_0x237429(0x17a92);_0x237429(0x175b0),_0x3289d9['v']['ShadersStore'][_0x3aa12c(0x65d)]='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include<helperFunctions>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=toRGBD(texture2D(textureSampler,vUV).rgb);\x0a}';},0x16b3d:(_0x26d361,_0x32ded3,_0x276fc5)=>{var _0x42ef8d=a6_0x36115b;_0x276fc5(0x17a92)['v'][_0x42ef8d(0x2dc)][_0x42ef8d(0xcb6)]=_0x42ef8d(0xbeb);},0x869c:(_0x24ba32,_0x17ba41,_0x26ff59)=>{var _0x22b845=a6_0x36115b;_0x26ff59(0x17a92)['v'][_0x22b845(0x2dc)][_0x22b845(0xc6e)]=_0x22b845(0x647);},0x943:(_0x3412fb,_0x2a9df6,_0x272962)=>{var _0x2ccc45=a6_0x36115b,_0x4f41f3=_0x272962(0x17a92);_0x272962(0x175b0),_0x4f41f3['v'][_0x2ccc45(0x827)]['screenSpaceRayTrace']=_0x2ccc45(0x349),_0x4f41f3['v'][_0x2ccc45(0x2dc)][_0x2ccc45(0x745)]='#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,lod)\x20texture2DLodEXT(s,c,lod)\x0a#define\x20TEXTURECUBEFUNC(s,c,lod)\x20textureLod(s,c,lod)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,bias)\x20texture2D(s,c,bias)\x0a#define\x20TEXTURECUBEFUNC(s,c,bias)\x20textureCube(s,c,bias)\x0a#endif\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20SSR_SUPPORTED\x0auniform\x20sampler2D\x20reflectivitySampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0auniform\x20sampler2D\x20backDepthSampler;\x0auniform\x20float\x20backSizeFactor;\x0a#endif\x0a#ifdef\x20SSR_USE_ENVIRONMENT_CUBE\x0auniform\x20samplerCube\x20envCubeSampler;\x0a#ifdef\x20SSR_USE_LOCAL_REFLECTIONMAP_CUBIC\x0auniform\x20vec3\x20vReflectionPosition;\x0auniform\x20vec3\x20vReflectionSize;\x0a#endif\x0a#endif\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20invView;\x0auniform\x20mat4\x20projection;\x0auniform\x20mat4\x20invProjectionMatrix;\x0auniform\x20mat4\x20projectionPixel;\x0auniform\x20float\x20nearPlaneZ;\x0auniform\x20float\x20stepSize;\x0auniform\x20float\x20maxSteps;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20thickness;\x0auniform\x20float\x20roughnessFactor;\x0auniform\x20float\x20reflectionSpecularFalloffExponent;\x0auniform\x20float\x20maxDistance;\x0auniform\x20float\x20selfCollisionNumSkip;\x0auniform\x20float\x20reflectivityThreshold;\x0a#include<helperFunctions>\x0a#include<screenSpaceRayTrace>\x0avec3\x20fresnelSchlick(float\x20cosTheta,vec3\x20F0)\x0a{\x0areturn\x20F0+(1.0-F0)*pow(1.0-cosTheta,5.0);\x0a}\x0avec3\x20hash(vec3\x20a)\x0a{\x0aa=fract(a*0.8);\x0aa+=dot(a,a.yxz+19.19);\x0areturn\x20fract((a.xxy+a.yxx)*a.zyx);\x0a}\x0avec3\x20computeViewPosFromUVDepth(vec2\x20texCoord,float\x20depth)\x20{\x0avec4\x20ndc;\x0andc.xy=texCoord*2.0-1.0;\x0a#ifdef\x20SSRAYTRACE_RIGHT_HANDED_SCENE\x0andc.z=-projection[2].z-projection[3].z/depth;\x0a#else\x0andc.z=projection[2].z+projection[3].z/depth;\x0a#endif\x0andc.w=1.0;\x0avec4\x20eyePos=invProjectionMatrix*ndc;\x0aeyePos.xyz/=eyePos.w;\x0areturn\x20eyePos.xyz;\x0a}\x0afloat\x20computeAttenuationForIntersection(ivec2\x20hitPixel,vec2\x20hitUV,vec3\x20vsRayOrigin,vec3\x20vsHitPoint,vec3\x20reflectionVector,float\x20maxRayDistance,float\x20numIterations)\x20{\x0afloat\x20attenuation=1.0;\x0a#ifdef\x20SSR_ATTENUATE_SCREEN_BORDERS\x0avec2\x20dCoords=smoothstep(0.2,0.6,abs(vec2(0.5,0.5)-hitUV.xy));\x0aattenuation*=clamp(1.0-(dCoords.x+dCoords.y),0.0,1.0);\x0a#endif\x0a#ifdef\x20SSR_ATTENUATE_INTERSECTION_DISTANCE\x0aattenuation*=1.0-clamp(distance(vsRayOrigin,vsHitPoint)/maxRayDistance,0.0,1.0);\x0a#endif\x0a#ifdef\x20SSR_ATTENUATE_INTERSECTION_NUMITERATIONS\x0aattenuation*=1.0-(numIterations/maxSteps);\x0a#endif\x0a#ifdef\x20SSR_ATTENUATE_BACKFACE_REFLECTION\x0avec3\x20reflectionNormal=texelFetch(normalSampler,hitPixel,0).xyz;\x0afloat\x20directionBasedAttenuation=smoothstep(-0.17,0.0,dot(reflectionNormal,-reflectionVector));\x0aattenuation*=directionBasedAttenuation;\x0a#endif\x0areturn\x20attenuation;\x0a}\x0a#endif\x0avoid\x20main()\x0a{\x0a#ifdef\x20SSR_SUPPORTED\x0avec4\x20colorFull=TEXTUREFUNC(textureSampler,vUV,0.0);\x0avec3\x20color=colorFull.rgb;\x0avec4\x20reflectivity=TEXTUREFUNC(reflectivitySampler,vUV,0.0);\x0aif\x20(max(reflectivity.r,max(reflectivity.g,reflectivity.b))<=reflectivityThreshold)\x20{\x0a#ifdef\x20SSR_USE_BLUR\x0agl_FragColor=vec4(0.);\x0a#else\x0agl_FragColor=colorFull;\x0a#endif\x0areturn;\x0a}\x0a#ifdef\x20SSR_INPUT_IS_GAMMA_SPACE\x0acolor=toLinearSpace(color);\x0a#endif\x0avec2\x20texSize=vec2(textureSize(depthSampler,0));\x0avec3\x20csNormal=texelFetch(normalSampler,ivec2(vUV*texSize),0).xyz;\x20\x0afloat\x20depth=texelFetch(depthSampler,ivec2(vUV*texSize),0).r;\x0avec3\x20csPosition=computeViewPosFromUVDepth(vUV,depth);\x0avec3\x20csViewDirection=normalize(csPosition);\x0avec3\x20csReflectedVector=reflect(csViewDirection,csNormal);\x0a#ifdef\x20SSR_USE_ENVIRONMENT_CUBE\x0avec3\x20wReflectedVector=vec3(invView*vec4(csReflectedVector,0.0));\x0a#ifdef\x20SSR_USE_LOCAL_REFLECTIONMAP_CUBIC\x0avec4\x20worldPos=invView*vec4(csPosition,1.0);\x0awReflectedVector=parallaxCorrectNormal(worldPos.xyz,normalize(wReflectedVector),vReflectionSize,vReflectionPosition);\x0a#endif\x0a#ifdef\x20SSR_INVERTCUBICMAP\x0awReflectedVector.y*=-1.0;\x0a#endif\x0a#ifdef\x20SSRAYTRACE_RIGHT_HANDED_SCENE\x0awReflectedVector.z*=-1.0;\x0a#endif\x0avec3\x20envColor=TEXTURECUBEFUNC(envCubeSampler,wReflectedVector,0.0).xyz;\x0a#ifdef\x20SSR_ENVIRONMENT_CUBE_IS_GAMMASPACE\x0aenvColor=toLinearSpace(envColor);\x0a#endif\x0a#else\x0avec3\x20envColor=color;\x0a#endif\x0afloat\x20reflectionAttenuation=1.0;\x0abool\x20rayHasHit=false;\x0avec2\x20startPixel;\x0avec2\x20hitPixel;\x0avec3\x20hitPoint;\x0afloat\x20numIterations;\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0avec3\x20debugColor;\x0a#endif\x0a#ifdef\x20SSR_ATTENUATE_FACING_CAMERA\x0areflectionAttenuation*=1.0-smoothstep(0.25,0.5,dot(-csViewDirection,csReflectedVector));\x0a#endif\x0aif\x20(reflectionAttenuation>0.0)\x20{\x0a#ifdef\x20SSR_USE_BLUR\x0avec3\x20jitt=vec3(0.);\x0a#else\x0afloat\x20roughness=1.0-reflectivity.a;\x0avec3\x20jitt=mix(vec3(0.0),hash(csPosition),roughness)*roughnessFactor;\x20\x0a#endif\x0avec2\x20uv2=vUV*texSize;\x0afloat\x20c=(uv2.x+uv2.y)*0.25;\x0afloat\x20jitter=mod(c,1.0);\x20\x0arayHasHit=traceScreenSpaceRay1(\x0acsPosition,\x0anormalize(csReflectedVector+jitt),\x0aprojectionPixel,\x0adepthSampler,\x0atexSize,\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0abackDepthSampler,\x0abackSizeFactor,\x0a#endif\x0athickness,\x0anearPlaneZ,\x0astepSize,\x0ajitter,\x0amaxSteps,\x0amaxDistance,\x0aselfCollisionNumSkip,\x0astartPixel,\x0ahitPixel,\x0ahitPoint,\x0anumIterations\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0a,debugColor\x0a#endif\x0a);\x0a}\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0agl_FragColor=vec4(debugColor,1.);\x0areturn;\x0a#endif\x0avec3\x20F0=reflectivity.rgb;\x0avec3\x20fresnel=fresnelSchlick(max(dot(csNormal,-csViewDirection),0.0),F0);\x0avec3\x20SSR=envColor;\x0aif\x20(rayHasHit)\x20{\x0avec3\x20reflectedColor=texelFetch(textureSampler,ivec2(hitPixel),0).rgb;\x0a#ifdef\x20SSR_INPUT_IS_GAMMA_SPACE\x0areflectedColor=toLinearSpace(reflectedColor);\x0a#endif\x0areflectionAttenuation*=computeAttenuationForIntersection(ivec2(hitPixel),hitPixel/texSize,csPosition,hitPoint,csReflectedVector,maxDistance,numIterations);\x0aSSR=reflectedColor*reflectionAttenuation+(1.0-reflectionAttenuation)*envColor;\x0a}\x0aSSR*=fresnel;\x0a#ifdef\x20SSR_USE_BLUR\x0afloat\x20blur_radius=0.0;\x0afloat\x20roughness=1.0-reflectivity.a*(1.0-roughnessFactor);\x0aif\x20(roughness>0.001)\x20{\x0afloat\x20cone_angle=min(roughness,0.999)*3.14159265*0.5;\x0afloat\x20cone_len=distance(startPixel,hitPixel);\x0afloat\x20op_len=2.0*tan(cone_angle)*cone_len;\x20\x0afloat\x20a=op_len;\x0afloat\x20h=cone_len;\x0afloat\x20a2=a*a;\x0afloat\x20fh2=4.0f*h*h;\x0ablur_radius=(a*(sqrt(a2+fh2)-a))/(4.0f*h);\x0a}\x0agl_FragColor=vec4(SSR,blur_radius/255.0);\x20\x0a#else\x0avec3\x20reflectionMultiplier=clamp(pow(reflectivity.rgb*strength,vec3(reflectionSpecularFalloffExponent)),0.0,1.0);\x0avec3\x20colorMultiplier=1.0-reflectionMultiplier;\x0avec3\x20finalColor=(color*colorMultiplier)+(SSR*reflectionMultiplier);\x0a#ifdef\x20SSR_OUTPUT_IS_GAMMA_SPACE\x0afinalColor=toGammaSpace(finalColor);\x0a#endif\x0agl_FragColor=vec4(finalColor,colorFull.a);\x0a#endif\x0a#else\x0agl_FragColor=TEXTUREFUNC(textureSampler,vUV,0.0);\x0a#endif\x0a}\x0a';},0x138a8:(_0x380af3,_0x1b7f65,_0x12f123)=>{var _0x96ee4a=a6_0x36115b;_0x12f123(0x17a92)['v'][_0x96ee4a(0x2dc)][_0x96ee4a(0xbcb)]=_0x96ee4a(0x63e);},0x2797:(_0x553eda,_0x294b9b,_0xa82779)=>{var _0x5054ac=a6_0x36115b,_0x40809f=_0xa82779(0x17a92);_0xa82779(0x175b0),_0x40809f['v']['ShadersStore'][_0x5054ac(0x267)]=_0x5054ac(0x26b);},0x134a9:(_0x8289ee,_0x5ba824,_0x5dbdcc)=>{var _0x3f9fb7=a6_0x36115b,_0x30eb10=_0x5dbdcc(0x17a92);_0x5dbdcc(0xe85e),_0x30eb10['v']['IncludesShadersStore']['bayerDitherFunctions']=_0x3f9fb7(0x912),_0x30eb10['v']['IncludesShadersStore'][_0x3f9fb7(0x287)]='#if\x20SM_FLOAT==0\x0a#include<packingFunctions>\x0a#endif\x0a#if\x20SM_SOFTTRANSPARENTSHADOW==1\x0a#include<bayerDitherFunctions>\x0auniform\x20float\x20softTransparentShadowSM;\x0a#endif\x0avarying\x20float\x20vDepthMetricSM;\x0a#if\x20SM_USEDISTANCE==1\x0auniform\x20vec3\x20lightDataSM;\x0avarying\x20vec3\x20vPositionWSM;\x0a#endif\x0auniform\x20vec3\x20biasAndScaleSM;\x0auniform\x20vec2\x20depthValuesSM;\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0avarying\x20float\x20zSM;\x0a#endif\x0a',_0x5dbdcc(0xff1b),_0x5dbdcc(0x3328),_0x30eb10['v'][_0x3f9fb7(0x827)][_0x3f9fb7(0x714)]=_0x3f9fb7(0x260),_0x30eb10['v']['ShadersStore'][_0x3f9fb7(0x866)]=_0x3f9fb7(0x3fc);},0x13168:(_0x33a9c9,_0x512ea4,_0x3b576a)=>{var _0x2da6c3=a6_0x36115b,_0x31ec3b=_0x3b576a(0x17a92);_0x3b576a(0x13f9a),_0x3b576a(0x12929),_0x3b576a(0x9ea3),_0x3b576a(0x12abc),_0x3b576a(0x175b0),_0x31ec3b['v']['IncludesShadersStore']['sceneVertexDeclaration']=_0x2da6c3(0x46d),_0x31ec3b['v'][_0x2da6c3(0x827)]['meshVertexDeclaration']=_0x2da6c3(0x23f),_0x31ec3b['v']['IncludesShadersStore'][_0x2da6c3(0x7d1)]=_0x2da6c3(0x2fe),_0x3b576a(0x6cce),_0x3b576a(0x11fa6),_0x31ec3b['v'][_0x2da6c3(0x827)][_0x2da6c3(0x7f5)]='layout(std140,column_major)\x20uniform;\x0a#include<sceneUboDeclaration>\x0a#include<meshUboDeclaration>\x0a',_0x31ec3b['v']['IncludesShadersStore']['shadowMapVertexExtraDeclaration']=_0x2da6c3(0x71d),_0x3b576a(0x13216),_0x3b576a(0x13906),_0x3b576a(0x1070),_0x3b576a(0x733d),_0x3b576a(0xb434),_0x3b576a(0xdcea),_0x31ec3b['v'][_0x2da6c3(0x827)][_0x2da6c3(0xccf)]=_0x2da6c3(0x914),_0x31ec3b['v'][_0x2da6c3(0x827)][_0x2da6c3(0x25d)]=_0x2da6c3(0x966),_0x3b576a(0x6efd),_0x31ec3b['v'][_0x2da6c3(0x2dc)][_0x2da6c3(0x6bc)]='attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20INSTANCES\x0aattribute\x20vec4\x20world0;\x0aattribute\x20vec4\x20world1;\x0aattribute\x20vec4\x20world2;\x0aattribute\x20vec4\x20world3;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__shadowMapVertex>\x0a#ifdef\x20ALPHATEXTURE\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#include<shadowMapVertexExtraDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalUpdated=normal;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#ifdef\x20NORMAL\x0amat3\x20normWorldSM=mat3(finalWorld);\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avec3\x20vNormalW=normalUpdated/vec3(dot(normWorldSM[0],normWorldSM[0]),dot(normWorldSM[1],normWorldSM[1]),dot(normWorldSM[2],normWorldSM[2]));\x0avNormalW=normalize(normWorldSM*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormWorldSM=transposeMat3(inverseMat3(normWorldSM));\x0a#endif\x0avec3\x20vNormalW=normalize(normWorldSM*normalUpdated);\x0a#endif\x0a#endif\x0a#include<shadowMapVertexNormalBias>\x0agl_Position=viewProjection*worldPos;\x0a#include<shadowMapVertexMetric>\x0a#ifdef\x20ALPHATEXTURE\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#include<clipPlaneVertex>\x0a}';},0x48c1:(_0x21ce22,_0x3b1241,_0x2f9da6)=>{var _0x3aba04=a6_0x36115b;_0x2f9da6(0x17a92)['v'][_0x3aba04(0x2dc)][_0x3aba04(0x33c)]=_0x3aba04(0x18f);},0x7a4e:(_0x4c70e5,_0x162dd8,_0x5cbed0)=>{var _0x1558ae=a6_0x36115b;_0x5cbed0(0x17a92)['v'][_0x1558ae(0x2dc)]['spriteMapPixelShader']=_0x1558ae(0x540);},0xa16d:(_0x47dc51,_0x2b5cfe,_0x5a4fca)=>{var _0x30a221=a6_0x36115b;_0x5a4fca(0x17a92)['v'][_0x30a221(0x2dc)][_0x30a221(0x30b)]=_0x30a221(0x919);},0xea77:(_0x1b70ee,_0x5c333b,_0x10d0a)=>{var _0xf05153=a6_0x36115b;_0x10d0a(0x17a92)['v'][_0xf05153(0x2dc)][_0xf05153(0x77a)]='uniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20SSAO\x0auniform\x20sampler2D\x20randomSampler;\x0auniform\x20float\x20randTextureTiles;\x0auniform\x20float\x20samplesFactor;\x0auniform\x20vec3\x20sampleSphere[SAMPLES];\x0auniform\x20float\x20totalStrength;\x0auniform\x20float\x20radius;\x0auniform\x20float\x20area;\x0auniform\x20float\x20fallOff;\x0auniform\x20float\x20base;\x0avec3\x20normalFromDepth(float\x20depth,vec2\x20coords)\x0a{\x0avec2\x20offset1=vec2(0.0,radius);\x0avec2\x20offset2=vec2(radius,0.0);\x0afloat\x20depth1=texture2D(textureSampler,coords+offset1).r;\x0afloat\x20depth2=texture2D(textureSampler,coords+offset2).r;\x0avec3\x20p1=vec3(offset1,depth1-depth);\x0avec3\x20p2=vec3(offset2,depth2-depth);\x0avec3\x20normal=cross(p1,p2);\x0anormal.z=-normal.z;\x0areturn\x20normalize(normal);\x0a}\x0avoid\x20main()\x0a{\x0avec3\x20random=normalize(texture2D(randomSampler,vUV*randTextureTiles).rgb);\x0afloat\x20depth=texture2D(textureSampler,vUV).r;\x0avec3\x20position=vec3(vUV,depth);\x0avec3\x20normal=normalFromDepth(depth,vUV);\x0afloat\x20radiusDepth=radius/depth;\x0afloat\x20occlusion=0.0;\x0avec3\x20ray;\x0avec3\x20hemiRay;\x0afloat\x20occlusionDepth;\x0afloat\x20difference;\x0afor\x20(int\x20i=0;\x20i<SAMPLES;\x20i++)\x0a{\x0aray=radiusDepth*reflect(sampleSphere[i],random);\x0ahemiRay=position+sign(dot(ray,normal))*ray;\x0aocclusionDepth=texture2D(textureSampler,clamp(hemiRay.xy,vec2(0.001,0.001),vec2(0.999,0.999))).r;\x0adifference=depth-occlusionDepth;\x0aocclusion+=step(fallOff,difference)*(1.0-smoothstep(fallOff,area,difference));\x0a}\x0afloat\x20ao=1.0-totalStrength*occlusion*samplesFactor;\x0afloat\x20result=clamp(ao+base,0.0,1.0);\x0agl_FragColor.r=result;\x0agl_FragColor.g=result;\x0agl_FragColor.b=result;\x0agl_FragColor.a=1.0;\x0a}\x0a#endif\x0a';},0xbb2a:(_0x1ee921,_0x41b2e9,_0x49e62e)=>{var _0x23b7ac=a6_0x36115b;_0x49e62e(0x17a92)['v'][_0x23b7ac(0x2dc)][_0x23b7ac(0xac9)]=_0x23b7ac(0x3ae);},0xce3e:(_0x1e0d7d,_0x38f46f,_0xf81c5c)=>{var _0x4127c6=a6_0x36115b;_0xf81c5c(0x17a92)['v'][_0x4127c6(0x2dc)][_0x4127c6(0xa1e)]=_0x4127c6(0xc94);},0x152db:(_0x3d1322,_0x6c7a81,_0x3a03c0)=>{var _0x2f096f=a6_0x36115b,_0x13307e=_0x3a03c0(0x17a92);_0x3a03c0(0xe85e),_0x13307e['v'][_0x2f096f(0x2dc)][_0x2f096f(0x2cf)]='uniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0a#if\x20defined(PASS_POST_PROCESS)\x0avoid\x20main(void)\x0a{\x0avec4\x20color=texture2D(textureSampler,vUV);\x0agl_FragColor=color;\x0a}\x0a#endif\x0a#if\x20defined(DOWN_SAMPLE_X4)\x0auniform\x20vec2\x20dsOffsets[16];\x0avoid\x20main(void)\x0a{\x0avec4\x20average=vec4(0.0,0.0,0.0,0.0);\x0aaverage=texture2D(textureSampler,vUV+dsOffsets[0]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[1]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[2]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[3]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[4]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[5]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[6]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[7]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[8]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[9]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[10]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[11]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[12]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[13]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[14]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[15]);\x0aaverage/=16.0;\x0agl_FragColor=average;\x0a}\x0a#endif\x0a#if\x20defined(BRIGHT_PASS)\x0auniform\x20vec2\x20dsOffsets[4];\x0auniform\x20float\x20brightThreshold;\x0avoid\x20main(void)\x0a{\x0avec4\x20average=vec4(0.0,0.0,0.0,0.0);\x0aaverage=texture2D(textureSampler,vUV+vec2(dsOffsets[0].x,dsOffsets[0].y));\x0aaverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[1].x,dsOffsets[1].y));\x0aaverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[2].x,dsOffsets[2].y));\x0aaverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[3].x,dsOffsets[3].y));\x0aaverage*=0.25;\x0afloat\x20luminance=length(average.rgb);\x0aif\x20(luminance<brightThreshold)\x20{\x0aaverage=vec4(0.0,0.0,0.0,1.0);\x0a}\x0agl_FragColor=average;\x0a}\x0a#endif\x0a#if\x20defined(TEXTURE_ADDER)\x0auniform\x20sampler2D\x20otherSampler;\x0auniform\x20sampler2D\x20lensSampler;\x0auniform\x20float\x20exposure;\x0avoid\x20main(void)\x0a{\x0avec3\x20colour=texture2D(textureSampler,vUV).rgb;\x0acolour*=exposure;\x0avec3\x20X=max(vec3(0.0,0.0,0.0),colour-0.004);\x0avec3\x20retColor=(X*(6.2*X+0.5))/(X*(6.2*X+1.7)+0.06);\x0acolour=retColor*retColor;\x0acolour+=colour*texture2D(lensSampler,vUV).rgb;\x0avec4\x20finalColor=vec4(colour.rgb,1.0)+texture2D(otherSampler,vUV);\x0agl_FragColor=finalColor;\x0a}\x0a#endif\x0a#if\x20defined(VLS)\x0a#define\x20PI\x203.1415926535897932384626433832795\x0auniform\x20mat4\x20shadowViewProjection;\x0auniform\x20mat4\x20lightWorld;\x0auniform\x20vec3\x20cameraPosition;\x0auniform\x20vec3\x20sunDirection;\x0auniform\x20vec3\x20sunColor;\x0auniform\x20vec2\x20depthValues;\x0auniform\x20float\x20scatteringCoefficient;\x0auniform\x20float\x20scatteringPower;\x0auniform\x20sampler2D\x20shadowMapSampler;\x0auniform\x20sampler2D\x20positionSampler;\x0afloat\x20computeScattering(float\x20lightDotView)\x0a{\x0afloat\x20result=1.0-scatteringCoefficient*scatteringCoefficient;\x0aresult/=(4.0*PI*pow(1.0+scatteringCoefficient*scatteringCoefficient-(2.0*scatteringCoefficient)*lightDotView,1.5));\x0areturn\x20result;\x0a}\x0avoid\x20main(void)\x0a{\x0avec3\x20worldPos=texture2D(positionSampler,vUV).rgb;\x0avec3\x20startPosition=cameraPosition;\x0avec3\x20rayVector=worldPos-startPosition;\x0afloat\x20rayLength=length(rayVector);\x0avec3\x20rayDirection=rayVector/rayLength;\x0afloat\x20stepLength=rayLength/NB_STEPS;\x0avec3\x20stepL=rayDirection*stepLength;\x0avec3\x20currentPosition=startPosition;\x0avec3\x20accumFog=vec3(0.0);\x0afor\x20(int\x20i=0;\x20i<int(NB_STEPS);\x20i++)\x0a{\x0avec4\x20worldInShadowCameraSpace=shadowViewProjection*vec4(currentPosition,1.0);\x0afloat\x20depthMetric=\x20(worldInShadowCameraSpace.z+depthValues.x)/(depthValues.y);\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.0,1.0);\x0aworldInShadowCameraSpace.xyz/=worldInShadowCameraSpace.w;\x0aworldInShadowCameraSpace.xyz=0.5*worldInShadowCameraSpace.xyz+vec3(0.5);\x0afloat\x20shadowMapValue=texture2D(shadowMapSampler,worldInShadowCameraSpace.xy).r;\x0aif\x20(shadowMapValue>shadowPixelDepth)\x0aaccumFog+=sunColor*computeScattering(dot(rayDirection,sunDirection));\x0acurrentPosition+=stepL;\x0a}\x0aaccumFog/=NB_STEPS;\x0avec3\x20color=accumFog*scatteringPower;\x0agl_FragColor=vec4(color*exp(color)\x20,1.0);\x0a}\x0a#endif\x0a#if\x20defined(VLSMERGE)\x0auniform\x20sampler2D\x20originalSampler;\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(originalSampler,vUV)+texture2D(textureSampler,vUV);\x0a}\x0a#endif\x0a#if\x20defined(LUMINANCE)\x0auniform\x20vec2\x20lumOffsets[4];\x0avoid\x20main()\x0a{\x0afloat\x20average=0.0;\x0avec4\x20color=vec4(0.0);\x0afloat\x20maximum=-1e20;\x0avec3\x20weight=vec3(0.299,0.587,0.114);\x0afor\x20(int\x20i=0;\x20i<4;\x20i++)\x0a{\x0acolor=texture2D(textureSampler,vUV+\x20lumOffsets[i]);\x0afloat\x20GreyValue=dot(color.rgb,vec3(0.33,0.33,0.33));\x0a#ifdef\x20WEIGHTED_AVERAGE\x0afloat\x20GreyValue=dot(color.rgb,weight);\x0a#endif\x0a#ifdef\x20BRIGHTNESS\x0afloat\x20GreyValue=max(color.r,max(color.g,color.b));\x0a#endif\x0a#ifdef\x20HSL_COMPONENT\x0afloat\x20GreyValue=0.5*(max(color.r,max(color.g,color.b))+min(color.r,min(color.g,color.b)));\x0a#endif\x0a#ifdef\x20MAGNITUDE\x0afloat\x20GreyValue=length(color.rgb);\x0a#endif\x0amaximum=max(maximum,GreyValue);\x0aaverage+=(0.25*log(1e-5+GreyValue));\x0a}\x0aaverage=exp(average);\x0agl_FragColor=vec4(average,maximum,0.0,1.0);\x0a}\x0a#endif\x0a#if\x20defined(LUMINANCE_DOWN_SAMPLE)\x0auniform\x20vec2\x20dsOffsets[9];\x0auniform\x20float\x20halfDestPixelSize;\x0a#ifdef\x20FINAL_DOWN_SAMPLER\x0a#include<packingFunctions>\x0a#endif\x0avoid\x20main()\x0a{\x0avec4\x20color=vec4(0.0);\x0afloat\x20average=0.0;\x0afor\x20(int\x20i=0;\x20i<9;\x20i++)\x0a{\x0acolor=texture2D(textureSampler,vUV+vec2(halfDestPixelSize,halfDestPixelSize)+dsOffsets[i]);\x0aaverage+=color.r;\x0a}\x0aaverage/=9.0;\x0a#ifdef\x20FINAL_DOWN_SAMPLER\x0agl_FragColor=pack(average);\x0a#else\x0agl_FragColor=vec4(average,average,0.0,1.0);\x0a#endif\x0a}\x0a#endif\x0a#if\x20defined(HDR)\x0auniform\x20sampler2D\x20textureAdderSampler;\x0auniform\x20float\x20averageLuminance;\x0avoid\x20main()\x0a{\x0avec4\x20color=texture2D(textureAdderSampler,vUV);\x0a#ifndef\x20AUTO_EXPOSURE\x0avec4\x20adjustedColor=color/averageLuminance;\x0acolor=adjustedColor;\x0acolor.a=1.0;\x0a#endif\x0agl_FragColor=color;\x0a}\x0a#endif\x0a#if\x20defined(LENS_FLARE)\x0a#define\x20GHOSTS\x203\x0auniform\x20sampler2D\x20lensColorSampler;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20ghostDispersal;\x0auniform\x20float\x20haloWidth;\x0auniform\x20vec2\x20resolution;\x0auniform\x20float\x20distortionStrength;\x0afloat\x20hash(vec2\x20p)\x0a{\x0afloat\x20h=dot(p,vec2(127.1,311.7));\x0areturn\x20-1.0+2.0*fract(sin(h)*43758.5453123);\x0a}\x0afloat\x20noise(in\x20vec2\x20p)\x0a{\x0avec2\x20i=floor(p);\x0avec2\x20f=fract(p);\x0avec2\x20u=f*f*(3.0-2.0*f);\x0areturn\x20mix(mix(hash(i+vec2(0.0,0.0)),\x0ahash(i+vec2(1.0,0.0)),u.x),\x0amix(hash(i+vec2(0.0,1.0)),\x0ahash(i+vec2(1.0,1.0)),u.x),u.y);\x0a}\x0afloat\x20fbm(vec2\x20p)\x0a{\x0afloat\x20f=0.0;\x0af+=0.5000*noise(p);\x20p*=2.02;\x0af+=0.2500*noise(p);\x20p*=2.03;\x0af+=0.1250*noise(p);\x20p*=2.01;\x0af+=0.0625*noise(p);\x20p*=2.04;\x0af/=0.9375;\x0areturn\x20f;\x0a}\x0avec3\x20pattern(vec2\x20uv)\x0a{\x0avec2\x20p=-1.0+2.0*uv;\x0afloat\x20p2=dot(p,p);\x0afloat\x20f=fbm(vec2(15.0*p2))/2.0;\x0afloat\x20r=0.2+0.6*sin(12.5*length(uv-vec2(0.5)));\x0afloat\x20g=0.2+0.6*sin(20.5*length(uv-vec2(0.5)));\x0afloat\x20b=0.2+0.6*sin(17.2*length(uv-vec2(0.5)));\x0areturn\x20(1.0-f)*vec3(r,g,b);\x0a}\x0afloat\x20luminance(vec3\x20color)\x0a{\x0areturn\x20dot(color.rgb,vec3(0.2126,0.7152,0.0722));\x0a}\x0avec4\x20textureDistorted(sampler2D\x20tex,vec2\x20texcoord,vec2\x20direction,vec3\x20distortion)\x0a{\x0areturn\x20vec4(\x0atexture2D(tex,texcoord+direction*distortion.r).r,\x0atexture2D(tex,texcoord+direction*distortion.g).g,\x0atexture2D(tex,texcoord+direction*distortion.b).b,\x0a1.0\x0a);\x0a}\x0avoid\x20main(void)\x0a{\x0avec2\x20uv=-vUV+vec2(1.0);\x0avec2\x20ghostDir=(vec2(0.5)-uv)*ghostDispersal;\x0avec2\x20texelSize=1.0/resolution;\x0avec3\x20distortion=vec3(-texelSize.x*distortionStrength,0.0,texelSize.x*distortionStrength);\x0avec4\x20result=vec4(0.0);\x0afloat\x20ghostIndice=1.0;\x0afor\x20(int\x20i=0;\x20i<GHOSTS;\x20++i)\x0a{\x0avec2\x20offset=fract(uv+ghostDir*ghostIndice);\x0afloat\x20weight=length(vec2(0.5)-offset)/length(vec2(0.5));\x0aweight=pow(1.0-weight,10.0);\x0aresult+=textureDistorted(textureSampler,offset,normalize(ghostDir),distortion)*weight*strength;\x0aghostIndice+=1.0;\x0a}\x0avec2\x20haloVec=normalize(ghostDir)*haloWidth;\x0afloat\x20weight=length(vec2(0.5)-fract(uv+haloVec))/length(vec2(0.5));\x0aweight=pow(1.0-weight,10.0);\x0aresult+=textureDistorted(textureSampler,fract(uv+haloVec),normalize(ghostDir),distortion)*weight*strength;\x0aresult*=texture2D(lensColorSampler,vec2(length(vec2(0.5)-uv)/length(vec2(0.5))));\x0agl_FragColor=result;\x0a}\x0a#endif\x0a#if\x20defined(LENS_FLARE_COMPOSE)\x0auniform\x20sampler2D\x20otherSampler;\x0auniform\x20sampler2D\x20lensDirtSampler;\x0auniform\x20sampler2D\x20lensStarSampler;\x0auniform\x20mat4\x20lensStarMatrix;\x0avoid\x20main(void)\x0a{\x0avec2\x20lensFlareCoords=(lensStarMatrix*vec4(vUV,1.0,1.0)).xy;\x0avec4\x20lensMod=texture2D(lensDirtSampler,vUV);\x0alensMod+=texture2D(lensStarSampler,vUV/*lensFlareCoords*/);\x0avec4\x20result=texture2D(textureSampler,vUV)*lensMod;\x0agl_FragColor=texture2D(otherSampler,vUV)+result;\x0a}\x0a#endif\x0a#if\x20defined(DEPTH_OF_FIELD)\x0auniform\x20sampler2D\x20otherSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20float\x20distance;\x0avoid\x20main(void)\x0a{\x0avec4\x20sharp=texture2D(otherSampler,vUV);\x0avec4\x20blur=texture2D(textureSampler,vUV);\x0afloat\x20dist=clamp(texture2D(depthSampler,vUV).r*distance,0.0,1.0);\x0afloat\x20factor=0.0;\x0aif\x20(dist<0.05)\x0afactor=1.0;\x0aelse\x20if\x20(dist<0.1)\x0afactor=20.0*(0.1-dist);\x0aelse\x20if\x20(dist<0.5)\x0afactor=0.0;\x0aelse\x0afactor=2.0*(dist-0.5);\x0afactor=clamp(factor,0.0,0.90);\x0agl_FragColor=mix(sharp,blur,factor);\x0a}\x0a#endif\x0a#if\x20defined(MOTION_BLUR)\x0auniform\x20mat4\x20inverseViewProjection;\x0auniform\x20mat4\x20prevViewProjection;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20float\x20motionScale;\x0auniform\x20float\x20motionStrength;\x0auniform\x20sampler2D\x20depthSampler;\x0avoid\x20main(void)\x0a{\x0avec2\x20texelSize=1.0/screenSize;\x0afloat\x20depth=texture2D(depthSampler,vUV).r;\x0avec4\x20cpos=vec4(vUV*2.0-1.0,depth,1.0);\x0acpos=cpos*inverseViewProjection;\x0avec4\x20ppos=cpos*prevViewProjection;\x0appos.xyz/=ppos.w;\x0appos.xy=ppos.xy*0.5+0.5;\x0avec2\x20velocity=(ppos.xy-vUV)*motionScale*motionStrength;\x0afloat\x20speed=length(velocity/texelSize);\x0aint\x20nSamples=int(clamp(speed,1.0,MAX_MOTION_SAMPLES));\x0avec4\x20result=texture2D(textureSampler,vUV);\x0afor\x20(int\x20i=1;\x20i<int(MAX_MOTION_SAMPLES);\x20++i)\x20{\x0aif\x20(i>=nSamples)\x0abreak;\x0avec2\x20offset1=vUV+velocity*(float(i)/float(nSamples-1)-0.5);\x0aresult+=texture2D(textureSampler,offset1);\x0a}\x0agl_FragColor=result/float(nSamples);\x0a}\x0a#endif\x0a';},0xb043:(_0x11760f,_0xefcf1b,_0x3d73bc)=>{var _0x69e1da=a6_0x36115b;_0x3d73bc(0x17a92)['v']['ShadersStore']['stereoscopicInterlacePixelShader']=_0x69e1da(0x406);},0xa69a:(_0x162687,_0xcf35e1,_0x1bf399)=>{var _0x12dc80=a6_0x36115b;_0x1bf399(0x17a92)['v'][_0x12dc80(0x2dc)][_0x12dc80(0xc17)]=_0x12dc80(0xa47);},0xccd3:(_0x11968c,_0x57691a,_0x5ab9df)=>{var _0x40fb8f=a6_0x36115b;_0x5ab9df(0x17a92)['v']['ShadersStore'][_0x40fb8f(0xab5)]='uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20lightScatteringSampler;\x0auniform\x20float\x20decay;\x0auniform\x20float\x20exposure;\x0auniform\x20float\x20weight;\x0auniform\x20float\x20density;\x0auniform\x20vec2\x20meshPositionOnScreen;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec2\x20tc=vUV;\x0avec2\x20deltaTexCoord=(tc-meshPositionOnScreen.xy);\x0adeltaTexCoord*=1.0/float(NUM_SAMPLES)*density;\x0afloat\x20illuminationDecay=1.0;\x0avec4\x20color=texture2D(lightScatteringSampler,tc)*0.4;\x0afor(int\x20i=0;\x20i<NUM_SAMPLES;\x20i++)\x20{\x0atc-=deltaTexCoord;\x0avec4\x20dataSample=texture2D(lightScatteringSampler,tc)*0.4;\x0adataSample*=illuminationDecay*weight;\x0acolor+=dataSample;\x0ailluminationDecay*=decay;\x0a}\x0avec4\x20realColor=texture2D(textureSampler,vUV);\x0agl_FragColor=((vec4((vec3(color.r,color.g,color.b)*exposure),1))+(realColor*(1.5-0.4)));\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a';},0xf877:(_0x8bd834,_0x117922,_0x2e4a50)=>{var _0x1c7430=a6_0x36115b;_0x2e4a50(0x17a92)['v'][_0x1c7430(0x2dc)][_0x1c7430(0xc01)]=_0x1c7430(0x176);},0xae44:(_0x5d4ceb,_0xc7a136,_0xbdb2cb)=>{var _0x31845e=a6_0x36115b,_0x1a8a21=_0xbdb2cb(0x17a92);_0xbdb2cb(0x13f9a),_0xbdb2cb(0x12929),_0xbdb2cb(0x9ea3),_0xbdb2cb(0x12abc),_0xbdb2cb(0x12bc6),_0xbdb2cb(0x13906),_0xbdb2cb(0x1070),_0xbdb2cb(0x733d),_0xbdb2cb(0xb434),_0xbdb2cb(0xdcea),_0x1a8a21['v'][_0x31845e(0x2dc)][_0x31845e(0x3c2)]=_0x31845e(0x984);},0xfad:(_0x34c4e6,_0xc5e1ea,_0xe2f76f)=>{var _0x5be264=a6_0x36115b;_0xe2f76f(0x17a92)['v'][_0x5be264(0x2dc)][_0x5be264(0xb18)]=_0x5be264(0x4f8);},0x106e:(_0x1e581d,_0x5abb46,_0x31c706)=>{var _0x566bad=a6_0x36115b;_0x31c706(0x17a92)['v'][_0x566bad(0x2dc)][_0x566bad(0xc70)]=_0x566bad(0xab0);},0x557f:(_0x179868,_0x2fabdf,_0x3e260d)=>{var _0x461a55=a6_0x36115b;_0x3e260d['d'](_0x2fabdf,{'T':()=>_0x59c5ed});var _0x4514a5=_0x3e260d(0x77a5),_0x73adf2=_0x3e260d(0x1a27),_0x5dad69=_0x3e260d(0xcef),_0x2fabdf=(_0x3e260d(0x59fc),_0x3e260d(0x13479),_0x3e260d(0x17a92));_0x3e260d(0x12a16),_0x3e260d(0x10ef),_0x3e260d(0x17ef8),_0x2fabdf['v'][_0x461a55(0x2dc)][_0x461a55(0xc0a)]=_0x461a55(0x2f6),_0x3e260d(0x6a99),_0x2fabdf['v'][_0x461a55(0x2dc)][_0x461a55(0xb6d)]=_0x461a55(0x22c);class _0x59c5ed{constructor(_0x54a57d,_0x5380f9,_0x56ab57=0.01,_0xa875dc=null){var _0x4bfa35=_0x461a55;this[_0x4bfa35(0x430)]=_0x4514a5['g'][_0x4bfa35(0x20b)],this[_0x4bfa35(0x74b)]=!0x0,this[_0x4bfa35(0xba4)]=!0x1,this[_0x4bfa35(0x1f9)]=!0x0,this[_0x4bfa35(0x7af)]=!0x1,this['_useVAO']=!0x1,this['_useInstancing']=!0x1,this['_vertexBuffers']={},this[_0x4bfa35(0xb5b)]=_0x5380f9,this[_0x4bfa35(0x1ac)]=_0x56ab57,this['_engine']=_0x54a57d,this[_0x4bfa35(0xbf3)]=_0x54a57d[_0x4bfa35(0x7ac)]()['instancedArrays']&&_0x54a57d[_0x4bfa35(0x991)]['supportSpriteInstancing'],this[_0x4bfa35(0xb15)]=_0x54a57d[_0x4bfa35(0x7ac)]()[_0x4bfa35(0xaea)]&&!_0x54a57d[_0x4bfa35(0x8fa)],this[_0x4bfa35(0x5ff)]=_0xa875dc,this[_0x4bfa35(0xbf3)]||this[_0x4bfa35(0x3c8)](),this[_0x4bfa35(0x5a1)]=this['_useInstancing']?0x10:0x12,this[_0x4bfa35(0xbec)]=new Float32Array(_0x5380f9*this[_0x4bfa35(0x5a1)]*(this[_0x4bfa35(0xbf3)]?0x1:0x4)),this[_0x4bfa35(0x9dc)]=new _0x73adf2['l'](_0x54a57d,this['_vertexData'],!0x0,this['_vertexBufferSize']),(_0x56ab57=this['_buffer'][_0x4bfa35(0x24e)](_0x73adf2['o']['PositionKind'],0x0,0x4,this['_vertexBufferSize'],this[_0x4bfa35(0xbf3)]),_0xa875dc=this['_buffer'][_0x4bfa35(0x24e)](_0x4bfa35(0x122),0x4,0x2,this['_vertexBufferSize'],this[_0x4bfa35(0xbf3)]));let _0x5b651c=0x6,_0x3c0178;this[_0x4bfa35(0xbf3)]?(_0x5380f9=new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x1,0x1]),this[_0x4bfa35(0x928)]=new _0x73adf2['l'](_0x54a57d,_0x5380f9,!0x1,0x2),_0x3c0178=this['_spriteBuffer'][_0x4bfa35(0x24e)]('offsets',0x0,0x2)):(_0x3c0178=this[_0x4bfa35(0x9dc)][_0x4bfa35(0x24e)](_0x4bfa35(0x979),_0x5b651c,0x2,this[_0x4bfa35(0x5a1)],this[_0x4bfa35(0xbf3)]),_0x5b651c+=0x2);var _0x54a57d=this[_0x4bfa35(0x9dc)]['createVertexBuffer'](_0x4bfa35(0x179),_0x5b651c,0x2,this[_0x4bfa35(0x5a1)],this['_useInstancing']),_0x5380f9=this[_0x4bfa35(0x9dc)]['createVertexBuffer']('cellInfo',_0x5b651c+0x2,0x4,this['_vertexBufferSize'],this[_0x4bfa35(0xbf3)]),_0x479847=this[_0x4bfa35(0x9dc)][_0x4bfa35(0x24e)](_0x73adf2['o'][_0x4bfa35(0x623)],_0x5b651c+0x6,0x4,this[_0x4bfa35(0x5a1)],this[_0x4bfa35(0xbf3)]);this[_0x4bfa35(0x6cd)][_0x73adf2['o']['PositionKind']]=_0x56ab57,this[_0x4bfa35(0x6cd)]['options']=_0xa875dc,this[_0x4bfa35(0x6cd)]['offsets']=_0x3c0178,this['_vertexBuffers'][_0x4bfa35(0x179)]=_0x54a57d,this['_vertexBuffers'][_0x4bfa35(0x7fd)]=_0x5380f9,this[_0x4bfa35(0x6cd)][_0x73adf2['o'][_0x4bfa35(0x623)]]=_0x479847,this[_0x4bfa35(0x26e)]();}get[_0x461a55(0x523)](){var _0x3dd5a7=_0x461a55;return this[_0x3dd5a7(0xb5b)];}get[_0x461a55(0x24b)](){return this['_pixelPerfect'];}set[_0x461a55(0x24b)](_0x4dfacd){var _0x14c523=_0x461a55;this[_0x14c523(0x7af)]!==_0x4dfacd&&(this[_0x14c523(0x7af)]=_0x4dfacd,this['_createEffects']());}['_createEffects'](){var _0x15e115=_0x461a55;null!=(_0x3f8e90=this[_0x15e115(0x752)])&&_0x3f8e90[_0x15e115(0xae6)](),null!=(_0x3f8e90=this['_drawWrapperFog'])&&_0x3f8e90[_0x15e115(0xae6)](),null!=(_0x3f8e90=this[_0x15e115(0x95d)])&&_0x3f8e90[_0x15e115(0xae6)](),null!=(_0x3f8e90=this[_0x15e115(0x82c)])&&_0x3f8e90[_0x15e115(0xae6)](),this[_0x15e115(0x752)]=new _0x5dad69['q'](this[_0x15e115(0x4ae)]),this['_drawWrapperFog']=new _0x5dad69['q'](this[_0x15e115(0x4ae)]),this[_0x15e115(0x95d)]=new _0x5dad69['q'](this['_engine'],!0x1),this[_0x15e115(0x82c)]=new _0x5dad69['q'](this[_0x15e115(0x4ae)],!0x1),this[_0x15e115(0x752)][_0x15e115(0x937)]&&(this[_0x15e115(0x752)][_0x15e115(0x937)][_0x15e115(0x13e)]=this[_0x15e115(0xbf3)]),this[_0x15e115(0x651)]['drawContext']&&(this[_0x15e115(0x651)][_0x15e115(0x937)]['useInstancing']=this[_0x15e115(0xbf3)]),this[_0x15e115(0x95d)]['drawContext']&&(this[_0x15e115(0x95d)][_0x15e115(0x937)][_0x15e115(0x13e)]=this[_0x15e115(0xbf3)]),this['_drawWrapperFogDepth'][_0x15e115(0x937)]&&(this[_0x15e115(0x82c)][_0x15e115(0x937)][_0x15e115(0x13e)]=this[_0x15e115(0xbf3)]);var _0x3f8e90=this[_0x15e115(0x7af)]?_0x15e115(0x697):'';this[_0x15e115(0x752)][_0x15e115(0x704)]=this[_0x15e115(0x4ae)][_0x15e115(0x6f2)](_0x15e115(0x879),[_0x73adf2['o']['PositionKind'],_0x15e115(0x122),'offsets',_0x15e115(0x179),_0x15e115(0x7fd),_0x73adf2['o'][_0x15e115(0x623)]],['view',_0x15e115(0x799),_0x15e115(0x347),_0x15e115(0x3f0)],[_0x15e115(0x402)],_0x3f8e90),this['_drawWrapperDepth'][_0x15e115(0x704)]=this[_0x15e115(0x752)][_0x15e115(0x704)],this[_0x15e115(0x95d)][_0x15e115(0xb11)]=this[_0x15e115(0x752)]['materialContext'],this[_0x15e115(0x5ff)]&&(this[_0x15e115(0x651)][_0x15e115(0x704)]=this[_0x15e115(0x5ff)][_0x15e115(0x5e8)]()[_0x15e115(0x6f2)](_0x15e115(0x879),[_0x73adf2['o'][_0x15e115(0x86a)],_0x15e115(0x122),_0x15e115(0x979),'inverts',_0x15e115(0x7fd),_0x73adf2['o'][_0x15e115(0x623)]],[_0x15e115(0x389),'projection',_0x15e115(0x347),'alphaTest','vFogInfos',_0x15e115(0xa28)],['diffuseSampler'],_0x3f8e90+_0x15e115(0x7fa)),this[_0x15e115(0x82c)]['effect']=this[_0x15e115(0x651)][_0x15e115(0x704)],this[_0x15e115(0x82c)]['materialContext']=this[_0x15e115(0x651)][_0x15e115(0xb11)]);}['render'](_0x290dcf,_0x31f7c6,_0x1e4d57,_0x16f0f7,_0x4ae3c8=null){var _0x1d69ee=_0x461a55;if(this[_0x1d69ee(0xa91)]&&this[_0x1d69ee(0xa91)][_0x1d69ee(0x682)]()&&_0x290dcf[_0x1d69ee(0xb85)]){let _0x11992e=this['_drawWrapperBase'],_0x42e871=this['_drawWrapperDepth'],_0x24edef=!0x1;this[_0x1d69ee(0x1f9)]&&this[_0x1d69ee(0x5ff)]&&this['_scene'][_0x1d69ee(0x1f9)]&&0x0!==this['_scene'][_0x1d69ee(0x9af)]&&(_0x11992e=this[_0x1d69ee(0x651)],_0x42e871=this[_0x1d69ee(0x82c)],_0x24edef=!0x0);const _0x82683f=_0x11992e[_0x1d69ee(0x704)];if(_0x82683f[_0x1d69ee(0x682)]()){const _0x54715b=this['_engine'];var _0x2d70b8,_0x127f51,_0x1141c5,_0x18c37c=!(!this[_0x1d69ee(0x5ff)]||!this[_0x1d69ee(0x5ff)][_0x1d69ee(0xc21)]),_0x54b4c1=this[_0x1d69ee(0xa91)][_0x1d69ee(0x370)](),_0x10ad69=Math[_0x1d69ee(0x280)](this['_capacity'],_0x290dcf[_0x1d69ee(0xb85)]);let _0x5afd76=0x0,_0xfe5d15=!0x0;for(let _0x5517ed=0x0;_0x5517ed<_0x10ad69;_0x5517ed++){const _0x49405b=_0x290dcf[_0x5517ed];_0x49405b&&_0x49405b['isVisible']&&(_0xfe5d15=!0x1,_0x49405b['_animate'](_0x31f7c6),this[_0x1d69ee(0xc6d)](_0x5afd76++,_0x49405b,0x0,0x0,_0x54b4c1,_0x18c37c,_0x4ae3c8),this['_useInstancing']||(this['_appendSpriteVertex'](_0x5afd76++,_0x49405b,0x1,0x0,_0x54b4c1,_0x18c37c,_0x4ae3c8),this[_0x1d69ee(0xc6d)](_0x5afd76++,_0x49405b,0x1,0x1,_0x54b4c1,_0x18c37c,_0x4ae3c8),this[_0x1d69ee(0xc6d)](_0x5afd76++,_0x49405b,0x0,0x1,_0x54b4c1,_0x18c37c,_0x4ae3c8)));}_0xfe5d15||(this['_buffer'][_0x1d69ee(0x25a)](this[_0x1d69ee(0xbec)]),_0x2d70b8=!!_0x54715b[_0x1d69ee(0xb2a)]['cull'],_0x127f51=_0x54715b[_0x1d69ee(0xb2a)][_0x1d69ee(0x378)],_0x1141c5=_0x54715b['depthCullingState'][_0x1d69ee(0x3e1)],_0x54715b['setState'](_0x2d70b8,_0x127f51,!0x1,!0x1,void 0x0,void 0x0,_0x1141c5),_0x54715b[_0x1d69ee(0xab8)](_0x11992e),_0x82683f[_0x1d69ee(0x3ac)](_0x1d69ee(0x402),this[_0x1d69ee(0xa91)]),_0x82683f[_0x1d69ee(0xc1f)](_0x1d69ee(0x389),_0x1e4d57),_0x82683f[_0x1d69ee(0xc1f)]('projection',_0x16f0f7),_0x24edef&&(_0x1e4d57=this[_0x1d69ee(0x5ff)],_0x82683f[_0x1d69ee(0x1d7)](_0x1d69ee(0x50b),_0x1e4d57[_0x1d69ee(0x9af)],_0x1e4d57[_0x1d69ee(0x837)],_0x1e4d57[_0x1d69ee(0xbfa)],_0x1e4d57[_0x1d69ee(0x6a8)]),_0x82683f[_0x1d69ee(0x2f5)](_0x1d69ee(0xa28),_0x1e4d57[_0x1d69ee(0xf7)])),this['_useVAO']?(this['_vertexArrayObject']||(this[_0x1d69ee(0xa3b)]=_0x54715b['recordVertexArrayObject'](this[_0x1d69ee(0x6cd)],this[_0x1d69ee(0xb0b)],_0x82683f)),_0x54715b['bindVertexArrayObject'](this[_0x1d69ee(0xa3b)],this[_0x1d69ee(0xb0b)])):_0x54715b[_0x1d69ee(0x88f)](this[_0x1d69ee(0x6cd)],this[_0x1d69ee(0xb0b)],_0x82683f),_0x54715b['depthCullingState'][_0x1d69ee(0xc79)]=_0x54715b[_0x1d69ee(0xcc2)]?_0x4514a5['g']['GEQUAL']:_0x4514a5['g'][_0x1d69ee(0x8c6)],this['disableDepthWrite']||(_0x82683f[_0x1d69ee(0x556)](_0x1d69ee(0x3f0),!0x0),_0x54715b['setColorWrite'](!0x1),_0x54715b[_0x1d69ee(0xab8)](_0x42e871),this[_0x1d69ee(0xbf3)]?_0x54715b['drawArraysType'](_0x4514a5['g'][_0x1d69ee(0x596)],0x0,0x4,_0x5afd76):_0x54715b[_0x1d69ee(0x1ef)](_0x4514a5['g']['MATERIAL_TriangleFillMode'],0x0,_0x5afd76/0x4*0x6),_0x54715b['enableEffect'](_0x11992e),_0x54715b[_0x1d69ee(0x494)](!0x0),_0x82683f[_0x1d69ee(0x556)]('alphaTest',!0x1)),_0x54715b['setAlphaMode'](this[_0x1d69ee(0x430)]),this['_useInstancing']?_0x54715b[_0x1d69ee(0xcbd)](_0x4514a5['g'][_0x1d69ee(0x596)],0x0,0x4,_0x5afd76):_0x54715b[_0x1d69ee(0x1ef)](_0x4514a5['g']['MATERIAL_TriangleFillMode'],0x0,_0x5afd76/0x4*0x6),this[_0x1d69ee(0x74b)]&&_0x54715b[_0x1d69ee(0x437)](_0x4514a5['g'][_0x1d69ee(0x230)]),_0x18c37c&&this[_0x1d69ee(0x5ff)][_0x1d69ee(0x5e8)]()[_0x1d69ee(0x72a)](_0x2d70b8,_0x127f51,!0x1,!0x0,void 0x0,void 0x0,_0x1141c5),_0x54715b['unbindInstanceAttributes']());}}}[_0x461a55(0xc6d)](_0x10edde,_0x2bb579,_0x31ad23,_0x397102,_0x2f8503,_0x417984,_0x57b452){var _0x2f80c0=_0x461a55;let _0x84d45d=_0x10edde*this[_0x2f80c0(0x5a1)];0x0===_0x31ad23?_0x31ad23=this[_0x2f80c0(0x1ac)]:0x1===_0x31ad23&&(_0x31ad23=0x1-this[_0x2f80c0(0x1ac)]),0x0===_0x397102?_0x397102=this[_0x2f80c0(0x1ac)]:0x1===_0x397102&&(_0x397102=0x1-this[_0x2f80c0(0x1ac)]),_0x57b452?_0x57b452(_0x2bb579,_0x2f8503):(_0x2bb579[_0x2f80c0(0xc45)]||(_0x2bb579[_0x2f80c0(0xc45)]=0x0),_0x10edde=_0x2f8503[_0x2f80c0(0x781)]/this['cellWidth'],_0x57b452=_0x2bb579[_0x2f80c0(0xc45)]/_0x10edde>>0x0,_0x2bb579['_xOffset']=(_0x2bb579[_0x2f80c0(0xc45)]-_0x57b452*_0x10edde)*this['cellWidth']/_0x2f8503[_0x2f80c0(0x781)],_0x2bb579[_0x2f80c0(0x70d)]=_0x57b452*this['cellHeight']/_0x2f8503[_0x2f80c0(0x831)],_0x2bb579[_0x2f80c0(0x1f3)]=this[_0x2f80c0(0x253)],_0x2bb579[_0x2f80c0(0x6c8)]=this[_0x2f80c0(0xa5b)]),this[_0x2f80c0(0xbec)][_0x84d45d]=_0x2bb579[_0x2f80c0(0x66a)]['x'],this[_0x2f80c0(0xbec)][_0x84d45d+0x1]=_0x2bb579[_0x2f80c0(0x66a)]['y'],this[_0x2f80c0(0xbec)][_0x84d45d+0x2]=_0x2bb579[_0x2f80c0(0x66a)]['z'],this[_0x2f80c0(0xbec)][_0x84d45d+0x3]=_0x2bb579[_0x2f80c0(0x896)],this[_0x2f80c0(0xbec)][_0x84d45d+0x4]=_0x2bb579['width'],this['_vertexData'][_0x84d45d+0x5]=_0x2bb579[_0x2f80c0(0x831)],this[_0x2f80c0(0xbf3)]?_0x84d45d-=0x2:(this[_0x2f80c0(0xbec)][_0x84d45d+0x6]=_0x31ad23,this[_0x2f80c0(0xbec)][_0x84d45d+0x7]=_0x397102),this[_0x2f80c0(0xbec)][_0x84d45d+0x8]=_0x417984?_0x2bb579[_0x2f80c0(0x15e)]?0x0:0x1:_0x2bb579[_0x2f80c0(0x15e)]?0x1:0x0,this[_0x2f80c0(0xbec)][_0x84d45d+0x9]=_0x2bb579[_0x2f80c0(0xbd4)]?0x1:0x0,this['_vertexData'][_0x84d45d+0xa]=_0x2bb579[_0x2f80c0(0x633)],this[_0x2f80c0(0xbec)][_0x84d45d+0xb]=_0x2bb579['_yOffset'],this[_0x2f80c0(0xbec)][_0x84d45d+0xc]=_0x2bb579['_xSize']/_0x2f8503[_0x2f80c0(0x781)],this[_0x2f80c0(0xbec)][_0x84d45d+0xd]=_0x2bb579[_0x2f80c0(0x6c8)]/_0x2f8503[_0x2f80c0(0x831)],this[_0x2f80c0(0xbec)][_0x84d45d+0xe]=_0x2bb579[_0x2f80c0(0xac5)]['r'],this[_0x2f80c0(0xbec)][_0x84d45d+0xf]=_0x2bb579['color']['g'],this[_0x2f80c0(0xbec)][_0x84d45d+0x10]=_0x2bb579[_0x2f80c0(0xac5)]['b'],this[_0x2f80c0(0xbec)][_0x84d45d+0x11]=_0x2bb579[_0x2f80c0(0xac5)]['a'];}['_buildIndexBuffer'](){var _0x3dca02=_0x461a55;const _0xec7362=[];let _0x2d52b0=0x0;for(let _0x1861a8=0x0;_0x1861a8<this[_0x3dca02(0xb5b)];_0x1861a8++)_0xec7362['push'](_0x2d52b0),_0xec7362[_0x3dca02(0x731)](_0x2d52b0+0x1),_0xec7362[_0x3dca02(0x731)](_0x2d52b0+0x2),_0xec7362['push'](_0x2d52b0),_0xec7362[_0x3dca02(0x731)](_0x2d52b0+0x2),_0xec7362[_0x3dca02(0x731)](_0x2d52b0+0x3),_0x2d52b0+=0x4;this[_0x3dca02(0xb0b)]=this[_0x3dca02(0x4ae)][_0x3dca02(0xaf8)](_0xec7362);}[_0x461a55(0x47b)](){var _0x2e8c6d=_0x461a55,_0x20a5a5;this['_indexBuffer']&&this['_buildIndexBuffer'](),this['_useVAO']&&(this[_0x2e8c6d(0xa3b)]=void 0x0),this[_0x2e8c6d(0x9dc)]['_rebuild']();for(const _0x54cc92 in this[_0x2e8c6d(0x6cd)]){const _0x19fe2b=this[_0x2e8c6d(0x6cd)][_0x54cc92];_0x19fe2b['_rebuild']();}null!=(_0x20a5a5=this['_spriteBuffer'])&&_0x20a5a5[_0x2e8c6d(0x414)]();}['dispose'](){var _0x2bb3e8=_0x461a55;this['_buffer']&&(this[_0x2bb3e8(0x9dc)][_0x2bb3e8(0xae6)](),this[_0x2bb3e8(0x9dc)]=null),this[_0x2bb3e8(0x928)]&&(this[_0x2bb3e8(0x928)]['dispose'](),this[_0x2bb3e8(0x928)]=null),this['_indexBuffer']&&(this[_0x2bb3e8(0x4ae)][_0x2bb3e8(0x487)](this[_0x2bb3e8(0xb0b)]),this['_indexBuffer']=null),this[_0x2bb3e8(0xa3b)]&&(this[_0x2bb3e8(0x4ae)][_0x2bb3e8(0x5bd)](this[_0x2bb3e8(0xa3b)]),this[_0x2bb3e8(0xa3b)]=null),this['texture']&&(this['texture']['dispose'](),this[_0x2bb3e8(0xa91)]=null),this[_0x2bb3e8(0x752)][_0x2bb3e8(0xae6)](),this[_0x2bb3e8(0x651)][_0x2bb3e8(0xae6)](),this['_drawWrapperDepth']['dispose'](),this[_0x2bb3e8(0x82c)][_0x2bb3e8(0xae6)]();}}},0x1796e:(_0x18a818,_0x5d653a,_0x393869)=>{var _0x17ce20=a6_0x36115b;_0x393869['d'](_0x5d653a,{'l':()=>_0x41472e});class _0x41472e{constructor(){var _0xc1e710=a6_0x238e;this[_0xc1e710(0x781)]=0x1,this['height']=0x1,this[_0xc1e710(0x896)]=0x0,this[_0xc1e710(0x15e)]=!0x1,this[_0xc1e710(0xbd4)]=!0x1,this[_0xc1e710(0xc6b)]=!0x0,this[_0xc1e710(0x301)]=!0x1,this[_0xc1e710(0x3bb)]=!0x1,this[_0xc1e710(0x8f7)]=0x0,this['_toIndex']=0x0,this[_0xc1e710(0xb3f)]=0x0,this[_0xc1e710(0xb39)]=0x1,this[_0xc1e710(0x98d)]=0x0,this['_onBaseAnimationEnd']=null,this['position']={'x':0x1,'y':0x1,'z':0x1},this[_0xc1e710(0xac5)]={'r':0x1,'g':0x1,'b':0x1,'a':0x1};}get[_0x17ce20(0x4f6)](){return this['_animationStarted'];}get[_0x17ce20(0x7d8)](){var _0x2d372c=_0x17ce20;return this[_0x2d372c(0x8f7)];}get[_0x17ce20(0x81c)](){var _0x7ade39=_0x17ce20;return this[_0x7ade39(0xadb)];}get[_0x17ce20(0xae1)](){var _0x17d128=_0x17ce20;return this[_0x17d128(0x3bb)];}get['delay'](){var _0xba9b78=_0x17ce20;return Math[_0xba9b78(0xa14)](this[_0xba9b78(0xb3f)],0x1);}['playAnimation'](_0x2fba24,_0x1b19a6,_0x5ac6db,_0x19324e,_0x41e14a){var _0x43e358=_0x17ce20;this[_0x43e358(0x8f7)]=_0x2fba24,this[_0x43e358(0xadb)]=_0x1b19a6,this[_0x43e358(0x3bb)]=_0x5ac6db,this['_delay']=_0x19324e||0x1,this[_0x43e358(0x301)]=!0x0,this[_0x43e358(0x31c)]=_0x41e14a,_0x2fba24<_0x1b19a6?this[_0x43e358(0xb39)]=0x1:(this['_direction']=-0x1,this['_toIndex']=_0x2fba24,this[_0x43e358(0x8f7)]=_0x1b19a6),this[_0x43e358(0xc45)]=_0x2fba24,this[_0x43e358(0x98d)]=0x0;}[_0x17ce20(0x9fc)](){var _0x450581=_0x17ce20;this[_0x450581(0x301)]=!0x1;}[_0x17ce20(0x828)](_0x323a10){var _0x4af562=_0x17ce20;this['_animationStarted']&&(this['_time']+=_0x323a10,this[_0x4af562(0x98d)]>this[_0x4af562(0xb3f)]&&(this['_time']=this[_0x4af562(0x98d)]%this[_0x4af562(0xb3f)],this[_0x4af562(0xc45)]+=this[_0x4af562(0xb39)],(0x0<this[_0x4af562(0xb39)]&&this[_0x4af562(0xc45)]>this['_toIndex']||this[_0x4af562(0xb39)]<0x0&&this[_0x4af562(0xc45)]<this[_0x4af562(0x8f7)])&&(this['_loopAnimation']?this[_0x4af562(0xc45)]=0x0<this[_0x4af562(0xb39)]?this[_0x4af562(0x8f7)]:this[_0x4af562(0xadb)]:(this['cellIndex']=this[_0x4af562(0xadb)],this['_animationStarted']=!0x1,this[_0x4af562(0x31c)]&&this['_onBaseAnimationEnd']()))));}}},0x91e:(_0x1a18bc,_0x37aeb2,_0x5a1661)=>{var _0x1a4cd9=a6_0x36115b;_0x5a1661['d'](_0x37aeb2,{'Q':()=>_0x2d8d4a});class _0x2d8d4a{constructor(){var _0x24a838=a6_0x238e;this[_0x24a838(0x240)]=new Array(0x4),this[_0x24a838(0x42d)]=new Array(0x2),this[_0x24a838(0x924)]=new Array(0x4),this[_0x24a838(0x3d0)]=!0x1,this[_0x24a838(0x243)]=!0x1,this[_0x24a838(0x28e)]=!0x1,this[_0x24a838(0x679)]=!0x1,this[_0x24a838(0x73b)]=!0x1,this[_0x24a838(0x40b)]();}get[_0x1a4cd9(0x868)](){var _0x4c33a6=_0x1a4cd9;return this['_isAlphaBlendDirty']||this[_0x4c33a6(0x679)]||this['_isBlendEquationParametersDirty'];}get[_0x1a4cd9(0x3c0)](){var _0x328fd8=_0x1a4cd9;return this[_0x328fd8(0x243)];}set[_0x1a4cd9(0x3c0)](_0x362aaa){var _0x24b99b=_0x1a4cd9;this[_0x24b99b(0x243)]!==_0x362aaa&&(this[_0x24b99b(0x243)]=_0x362aaa,this[_0x24b99b(0x28e)]=!0x0);}[_0x1a4cd9(0xa62)](_0x4d20e1,_0xa27e22,_0x5d16b1,_0x1a1517){var _0x4ba0fa=_0x1a4cd9;this[_0x4ba0fa(0x924)][0x0]===_0x4d20e1&&this[_0x4ba0fa(0x924)][0x1]===_0xa27e22&&this[_0x4ba0fa(0x924)][0x2]===_0x5d16b1&&this[_0x4ba0fa(0x924)][0x3]===_0x1a1517||(this['_blendConstants'][0x0]=_0x4d20e1,this['_blendConstants'][0x1]=_0xa27e22,this[_0x4ba0fa(0x924)][0x2]=_0x5d16b1,this['_blendConstants'][0x3]=_0x1a1517,this[_0x4ba0fa(0x3d0)]=!0x0);}[_0x1a4cd9(0x619)](_0x3a8d88,_0x2d54af,_0x19f591,_0x2c4fab){var _0x297f7f=_0x1a4cd9;this[_0x297f7f(0x240)][0x0]===_0x3a8d88&&this[_0x297f7f(0x240)][0x1]===_0x2d54af&&this[_0x297f7f(0x240)][0x2]===_0x19f591&&this['_blendFunctionParameters'][0x3]===_0x2c4fab||(this[_0x297f7f(0x240)][0x0]=_0x3a8d88,this[_0x297f7f(0x240)][0x1]=_0x2d54af,this[_0x297f7f(0x240)][0x2]=_0x19f591,this[_0x297f7f(0x240)][0x3]=_0x2c4fab,this[_0x297f7f(0x679)]=!0x0);}[_0x1a4cd9(0xb2c)](_0x19cd93,_0x5d0948){var _0x214b08=_0x1a4cd9;this[_0x214b08(0x42d)][0x0]===_0x19cd93&&this[_0x214b08(0x42d)][0x1]===_0x5d0948||(this['_blendEquationParameters'][0x0]=_0x19cd93,this['_blendEquationParameters'][0x1]=_0x5d0948,this[_0x214b08(0x73b)]=!0x0);}[_0x1a4cd9(0x40b)](){var _0x54b29c=_0x1a4cd9;this[_0x54b29c(0x243)]=!0x1,this[_0x54b29c(0x240)][0x0]=null,this[_0x54b29c(0x240)][0x1]=null,this['_blendFunctionParameters'][0x2]=null,this[_0x54b29c(0x240)][0x3]=null,this['_blendEquationParameters'][0x0]=null,this[_0x54b29c(0x42d)][0x1]=null,this['_blendConstants'][0x0]=null,this[_0x54b29c(0x924)][0x1]=null,this['_blendConstants'][0x2]=null,this[_0x54b29c(0x924)][0x3]=null,this['_isAlphaBlendDirty']=!0x0,this[_0x54b29c(0x679)]=!0x1,this[_0x54b29c(0x73b)]=!0x1,this[_0x54b29c(0x3d0)]=!0x1;}[_0x1a4cd9(0xc72)](_0x387c90){var _0x565470=_0x1a4cd9;this[_0x565470(0x868)]&&(this[_0x565470(0x28e)]&&(this['_alphaBlend']?_0x387c90['enable'](_0x387c90[_0x565470(0xc44)]):_0x387c90[_0x565470(0x4f5)](_0x387c90[_0x565470(0xc44)]),this['_isAlphaBlendDirty']=!0x1),this[_0x565470(0x679)]&&(_0x387c90[_0x565470(0x8ef)](this[_0x565470(0x240)][0x0],this[_0x565470(0x240)][0x1],this[_0x565470(0x240)][0x2],this[_0x565470(0x240)][0x3]),this['_isBlendFunctionParametersDirty']=!0x1),this[_0x565470(0x73b)]&&(_0x387c90[_0x565470(0xab1)](this[_0x565470(0x42d)][0x0],this['_blendEquationParameters'][0x1]),this['_isBlendEquationParametersDirty']=!0x1),this[_0x565470(0x3d0)]&&(_0x387c90[_0x565470(0x58a)](this[_0x565470(0x924)][0x0],this['_blendConstants'][0x1],this['_blendConstants'][0x2],this['_blendConstants'][0x3]),this[_0x565470(0x3d0)]=!0x1));}}},0x12621:(_0x481a24,_0x4f4962,_0x9ab522)=>{var _0xa07fc5=a6_0x36115b;_0x9ab522['d'](_0x4f4962,{'k':()=>_0x5f2673});class _0x5f2673{constructor(_0x4efc68=!0x0){var _0x5952a2=a6_0x238e;this[_0x5952a2(0x94c)]=!0x1,this[_0x5952a2(0xc93)]=!0x1,this['_isDepthFuncDirty']=!0x1,this[_0x5952a2(0x76a)]=!0x1,this['_isCullDirty']=!0x1,this[_0x5952a2(0x62c)]=!0x1,this[_0x5952a2(0xc19)]=!0x1,_0x4efc68&&this[_0x5952a2(0x40b)]();}get['isDirty'](){var _0x13c199=a6_0x238e;return this[_0x13c199(0xa78)]||this['_isDepthTestDirty']||this[_0x13c199(0xc93)]||this[_0x13c199(0x76a)]||this[_0x13c199(0xc38)]||this['_isZOffsetDirty']||this[_0x13c199(0xc19)];}get[_0xa07fc5(0x378)](){return this['_zOffset'];}set[_0xa07fc5(0x378)](_0x1ab87e){var _0x579d96=_0xa07fc5;this[_0x579d96(0x640)]!==_0x1ab87e&&(this[_0x579d96(0x640)]=_0x1ab87e,this['_isZOffsetDirty']=!0x0);}get['zOffsetUnits'](){var _0x491ed6=_0xa07fc5;return this[_0x491ed6(0x4d9)];}set[_0xa07fc5(0x3e1)](_0x123b56){var _0x5e94df=_0xa07fc5;this['_zOffsetUnits']!==_0x123b56&&(this['_zOffsetUnits']=_0x123b56,this[_0x5e94df(0x62c)]=!0x0);}get[_0xa07fc5(0x91b)](){var _0x536636=_0xa07fc5;return this[_0x536636(0x31a)];}set['cullFace'](_0x3dfa05){var _0x229705=_0xa07fc5;this[_0x229705(0x31a)]!==_0x3dfa05&&(this[_0x229705(0x31a)]=_0x3dfa05,this[_0x229705(0x76a)]=!0x0);}get[_0xa07fc5(0xaab)](){var _0x33c6f1=_0xa07fc5;return this[_0x33c6f1(0x6dd)];}set['cull'](_0x54f867){var _0x39d413=_0xa07fc5;this[_0x39d413(0x6dd)]!==_0x54f867&&(this[_0x39d413(0x6dd)]=_0x54f867,this['_isCullDirty']=!0x0);}get[_0xa07fc5(0xc79)](){var _0x451992=_0xa07fc5;return this[_0x451992(0x5c8)];}set[_0xa07fc5(0xc79)](_0x315016){var _0x2f4382=_0xa07fc5;this[_0x2f4382(0x5c8)]!==_0x315016&&(this[_0x2f4382(0x5c8)]=_0x315016,this[_0x2f4382(0xa78)]=!0x0);}get[_0xa07fc5(0x573)](){var _0x4f82dc=_0xa07fc5;return this[_0x4f82dc(0x802)];}set[_0xa07fc5(0x573)](_0x156fd6){var _0x239011=_0xa07fc5;this[_0x239011(0x802)]!==_0x156fd6&&(this['_depthMask']=_0x156fd6,this[_0x239011(0xc93)]=!0x0);}get[_0xa07fc5(0x6f0)](){var _0x43eb1b=_0xa07fc5;return this[_0x43eb1b(0x506)];}set[_0xa07fc5(0x6f0)](_0x4aeea3){var _0x29e754=_0xa07fc5;this[_0x29e754(0x506)]!==_0x4aeea3&&(this[_0x29e754(0x506)]=_0x4aeea3,this[_0x29e754(0x94c)]=!0x0);}get[_0xa07fc5(0x3eb)](){var _0x3f0c00=_0xa07fc5;return this[_0x3f0c00(0xaa0)];}set['frontFace'](_0xfc1a4){var _0x111136=_0xa07fc5;this[_0x111136(0xaa0)]!==_0xfc1a4&&(this[_0x111136(0xaa0)]=_0xfc1a4,this['_isFrontFaceDirty']=!0x0);}[_0xa07fc5(0x40b)](){var _0x4e5b78=_0xa07fc5;this[_0x4e5b78(0x802)]=!0x0,this[_0x4e5b78(0x506)]=!0x0,this[_0x4e5b78(0x5c8)]=null,this[_0x4e5b78(0x31a)]=null,this[_0x4e5b78(0x6dd)]=null,this[_0x4e5b78(0x640)]=0x0,this[_0x4e5b78(0x4d9)]=0x0,this[_0x4e5b78(0xaa0)]=null,this[_0x4e5b78(0x94c)]=!0x0,this[_0x4e5b78(0xc93)]=!0x0,this[_0x4e5b78(0xa78)]=!0x1,this['_isCullFaceDirty']=!0x1,this[_0x4e5b78(0xc38)]=!0x1,this[_0x4e5b78(0x62c)]=!0x0,this[_0x4e5b78(0xc19)]=!0x1;}[_0xa07fc5(0xc72)](_0x4cadaa){var _0x34a85b=_0xa07fc5;this[_0x34a85b(0x868)]&&(this['_isCullDirty']&&(this[_0x34a85b(0xaab)]?_0x4cadaa[_0x34a85b(0x211)](_0x4cadaa[_0x34a85b(0xc5b)]):_0x4cadaa[_0x34a85b(0x4f5)](_0x4cadaa['CULL_FACE']),this[_0x34a85b(0xc38)]=!0x1),this[_0x34a85b(0x76a)]&&(_0x4cadaa[_0x34a85b(0x91b)](this[_0x34a85b(0x91b)]),this[_0x34a85b(0x76a)]=!0x1),this[_0x34a85b(0xc93)]&&(_0x4cadaa[_0x34a85b(0x573)](this['depthMask']),this[_0x34a85b(0xc93)]=!0x1),this['_isDepthTestDirty']&&(this[_0x34a85b(0x6f0)]?_0x4cadaa[_0x34a85b(0x211)](_0x4cadaa[_0x34a85b(0x30e)]):_0x4cadaa[_0x34a85b(0x4f5)](_0x4cadaa[_0x34a85b(0x30e)]),this[_0x34a85b(0x94c)]=!0x1),this[_0x34a85b(0xa78)]&&(_0x4cadaa[_0x34a85b(0xc79)](this[_0x34a85b(0xc79)]),this['_isDepthFuncDirty']=!0x1),this[_0x34a85b(0x62c)]&&(this[_0x34a85b(0x378)]||this[_0x34a85b(0x3e1)]?(_0x4cadaa['enable'](_0x4cadaa[_0x34a85b(0x2de)]),_0x4cadaa[_0x34a85b(0x238)](this[_0x34a85b(0x378)],this[_0x34a85b(0x3e1)])):_0x4cadaa[_0x34a85b(0x4f5)](_0x4cadaa[_0x34a85b(0x2de)]),this[_0x34a85b(0x62c)]=!0x1),this[_0x34a85b(0xc19)]&&(_0x4cadaa['frontFace'](this['frontFace']),this[_0x34a85b(0xc19)]=!0x1));}}},0x2902:(_0x334201,_0x5594c2,_0x18ff7b)=>{var _0x7f8fd1=a6_0x36115b;_0x18ff7b['d'](_0x5594c2,{'C':()=>_0x254256});class _0x254256{constructor(_0x2477d6=!0x0){var _0x38bd51=a6_0x238e;this[_0x38bd51(0x299)]=!0x1,this[_0x38bd51(0x6c3)]=!0x1,this[_0x38bd51(0x8f8)]=!0x1,this[_0x38bd51(0x9e4)]=!0x1,this['useStencilGlobalOnly']=!0x1,_0x2477d6&&this[_0x38bd51(0x40b)]();}get[_0x7f8fd1(0x868)](){var _0x35184b=_0x7f8fd1;return this[_0x35184b(0x299)]||this['_isStencilMaskDirty']||this[_0x35184b(0x8f8)]||this[_0x35184b(0x9e4)];}get[_0x7f8fd1(0x182)](){var _0x12cf57=_0x7f8fd1;return this[_0x12cf57(0xca2)];}set['func'](_0x3970fa){var _0x559f7c=_0x7f8fd1;this[_0x559f7c(0xca2)]!==_0x3970fa&&(this['_func']=_0x3970fa,this['_isStencilFuncDirty']=!0x0);}get['funcRef'](){var _0x302a3b=_0x7f8fd1;return this[_0x302a3b(0xad2)];}set[_0x7f8fd1(0xa40)](_0x555225){var _0x453aa2=_0x7f8fd1;this[_0x453aa2(0xad2)]!==_0x555225&&(this[_0x453aa2(0xad2)]=_0x555225,this['_isStencilFuncDirty']=!0x0);}get[_0x7f8fd1(0x9a5)](){return this['_funcMask'];}set['funcMask'](_0x33fa42){var _0x4e3420=_0x7f8fd1;this[_0x4e3420(0x571)]!==_0x33fa42&&(this['_funcMask']=_0x33fa42,this[_0x4e3420(0x8f8)]=!0x0);}get[_0x7f8fd1(0x8b6)](){var _0x3d1db1=_0x7f8fd1;return this[_0x3d1db1(0x33a)];}set[_0x7f8fd1(0x8b6)](_0xb0d6e4){var _0x1d1148=_0x7f8fd1;this['_opStencilFail']!==_0xb0d6e4&&(this[_0x1d1148(0x33a)]=_0xb0d6e4,this[_0x1d1148(0x9e4)]=!0x0);}get[_0x7f8fd1(0x489)](){var _0x1589ba=_0x7f8fd1;return this[_0x1589ba(0x6ee)];}set[_0x7f8fd1(0x489)](_0x426d8f){var _0x2bf8d1=_0x7f8fd1;this[_0x2bf8d1(0x6ee)]!==_0x426d8f&&(this['_opDepthFail']=_0x426d8f,this[_0x2bf8d1(0x9e4)]=!0x0);}get[_0x7f8fd1(0xba0)](){var _0x2236ce=_0x7f8fd1;return this[_0x2236ce(0x646)];}set['opStencilDepthPass'](_0x36d4de){var _0x1c33bc=_0x7f8fd1;this[_0x1c33bc(0x646)]!==_0x36d4de&&(this[_0x1c33bc(0x646)]=_0x36d4de,this['_isStencilOpDirty']=!0x0);}get[_0x7f8fd1(0x617)](){var _0x531ee0=_0x7f8fd1;return this[_0x531ee0(0x7b1)];}set['mask'](_0x2f50db){var _0x3bd846=_0x7f8fd1;this[_0x3bd846(0x7b1)]!==_0x2f50db&&(this[_0x3bd846(0x7b1)]=_0x2f50db,this[_0x3bd846(0x6c3)]=!0x0);}get[_0x7f8fd1(0x8c1)](){return this['_enabled'];}set[_0x7f8fd1(0x8c1)](_0x359469){var _0x4cdf4a=_0x7f8fd1;this[_0x4cdf4a(0xc89)]!==_0x359469&&(this[_0x4cdf4a(0xc89)]=_0x359469,this[_0x4cdf4a(0x299)]=!0x0);}[_0x7f8fd1(0x40b)](){var _0x4b687e=_0x7f8fd1,_0x16a9ca;this[_0x4b687e(0x294)]=void 0x0,null!=(_0x16a9ca=this[_0x4b687e(0xa88)])&&_0x16a9ca[_0x4b687e(0x40b)](),this[_0x4b687e(0x299)]=!0x0,this[_0x4b687e(0x6c3)]=!0x0,this[_0x4b687e(0x8f8)]=!0x0,this['_isStencilOpDirty']=!0x0;}[_0x7f8fd1(0xc72)](_0x62bece){var _0x27b6c0=_0x7f8fd1,_0x1c2179;_0x62bece&&(_0x1c2179=!this['useStencilGlobalOnly']&&!(null==(_0x1c2179=this['stencilMaterial'])||!_0x1c2179['enabled']),this[_0x27b6c0(0x8c1)]=(_0x1c2179?this['stencilMaterial']:this[_0x27b6c0(0xa88)])[_0x27b6c0(0x8c1)],this[_0x27b6c0(0x182)]=(_0x1c2179?this['stencilMaterial']:this[_0x27b6c0(0xa88)])[_0x27b6c0(0x182)],this[_0x27b6c0(0xa40)]=(_0x1c2179?this['stencilMaterial']:this[_0x27b6c0(0xa88)])['funcRef'],this[_0x27b6c0(0x9a5)]=(_0x1c2179?this[_0x27b6c0(0x294)]:this['stencilGlobal'])[_0x27b6c0(0x9a5)],this[_0x27b6c0(0x8b6)]=(_0x1c2179?this['stencilMaterial']:this[_0x27b6c0(0xa88)])[_0x27b6c0(0x8b6)],this['opDepthFail']=(_0x1c2179?this[_0x27b6c0(0x294)]:this[_0x27b6c0(0xa88)])['opDepthFail'],this[_0x27b6c0(0xba0)]=(_0x1c2179?this[_0x27b6c0(0x294)]:this[_0x27b6c0(0xa88)])[_0x27b6c0(0xba0)],this[_0x27b6c0(0x617)]=(_0x1c2179?this['stencilMaterial']:this[_0x27b6c0(0xa88)])['mask'],this[_0x27b6c0(0x868)]&&(this[_0x27b6c0(0x299)]&&(this[_0x27b6c0(0x8c1)]?_0x62bece[_0x27b6c0(0x211)](_0x62bece[_0x27b6c0(0x4f2)]):_0x62bece[_0x27b6c0(0x4f5)](_0x62bece[_0x27b6c0(0x4f2)]),this[_0x27b6c0(0x299)]=!0x1),this['_isStencilMaskDirty']&&(_0x62bece[_0x27b6c0(0x1e9)](this[_0x27b6c0(0x617)]),this['_isStencilMaskDirty']=!0x1),this[_0x27b6c0(0x8f8)]&&(_0x62bece[_0x27b6c0(0x150)](this['func'],this['funcRef'],this['funcMask']),this['_isStencilFuncDirty']=!0x1),this[_0x27b6c0(0x9e4)]&&(_0x62bece[_0x27b6c0(0x8a4)](this[_0x27b6c0(0x8b6)],this[_0x27b6c0(0x489)],this['opStencilDepthPass']),this[_0x27b6c0(0x9e4)]=!0x1)));}}},0xde31:(_0x26ebd2,_0x29a5db,_0x524b63)=>{var _0x10fbb5=a6_0x36115b;_0x524b63['d'](_0x29a5db,{'F':()=>_0x4574a7});class _0x4574a7{constructor(_0x1ac47f){var _0x4a2b3e=a6_0x238e;this[_0x4a2b3e(0x317)]=_0x1ac47f,this[_0x4a2b3e(0x61d)]=!0x1,this['_removeOnDetach']=[],this['isDisposed']=!0x1,this['disableAutoAttach']=!0x1,this[_0x4a2b3e(0x1a2)]='';}get[_0x10fbb5(0xc54)](){var _0x1c4658=_0x10fbb5;return this[_0x1c4658(0x61d)];}[_0x10fbb5(0x563)](_0x20f2aa){var _0x3a3e8a=_0x10fbb5;if(this['isDisposed'])return!0x1;if(_0x20f2aa)this[_0x3a3e8a(0xc54)]&&this[_0x3a3e8a(0xa66)]();else{if(this[_0x3a3e8a(0xc54)])return!0x1;}return this[_0x3a3e8a(0x61d)]=!0x0,this['_addNewAttachObserver'](this['_xrSessionManager'][_0x3a3e8a(0x6e4)],_0x7ce3b9=>this[_0x3a3e8a(0x6fb)](_0x7ce3b9)),!0x0;}[_0x10fbb5(0xa66)](){var _0x128cc9=_0x10fbb5;return this[_0x128cc9(0x61d)]?(this[_0x128cc9(0x61d)]=!0x1,this[_0x128cc9(0x2e3)]['forEach'](_0x59706e=>{var _0x378260=_0x128cc9;_0x59706e['observable'][_0x378260(0x92f)](_0x59706e[_0x378260(0xb51)]);}),!0x0):!(this[_0x128cc9(0x86d)]=!0x0);}[_0x10fbb5(0xae6)](){var _0x15ff5b=_0x10fbb5;this['detach'](),this[_0x15ff5b(0xfb)]=!0x0;}[_0x10fbb5(0x458)](){return!0x0;}[_0x10fbb5(0xb9b)](_0x30df29,_0x57766e){var _0x17a97c=_0x10fbb5;this['_removeOnDetach'][_0x17a97c(0x731)]({'observable':_0x30df29,'observer':_0x30df29[_0x17a97c(0x4b6)](_0x57766e)});}}},0x3a6b:(_0x27658a,_0x5b2d7a,_0x5853c7)=>{var _0x2f8495=a6_0x36115b;_0x5853c7['d'](_0x5b2d7a,{'s':()=>_0x2c054e});class _0x2c054e{constructor(_0x135ef2,_0x13c69a,_0x14d6b4,_0x2e7fa1,_0x38e867){var _0x5a610c=a6_0x238e;this[_0x5a610c(0x82a)]=_0x135ef2,this[_0x5a610c(0x765)]=_0x13c69a,this['layer']=_0x14d6b4,this[_0x5a610c(0x888)]=_0x2e7fa1,this[_0x5a610c(0x83c)]=_0x38e867;}get['isFixedFoveationSupported'](){var _0x21e46a=a6_0x238e;return _0x21e46a(0x30f)==this[_0x21e46a(0x888)]&&_0x21e46a(0x83b)==typeof this[_0x21e46a(0xbea)]['fixedFoveation'];}get['fixedFoveation'](){var _0x2e4cc1=a6_0x238e;return this[_0x2e4cc1(0x4fe)]?this[_0x2e4cc1(0xbea)][_0x2e4cc1(0x7bc)]:null;}set[_0x2f8495(0x7bc)](_0x108db3){var _0x429afe=_0x2f8495;this['isFixedFoveationSupported']&&(_0x108db3=Math[_0x429afe(0xa14)](0x0,Math[_0x429afe(0x280)](0x1,_0x108db3||0x0)),this[_0x429afe(0xbea)][_0x429afe(0x7bc)]=_0x108db3);}}},0x43e9:(_0x41724d,_0x41697f,_0x1f12e)=>{var _0x3c0499=a6_0x36115b;_0x1f12e['d'](_0x41697f,{'T':()=>_0x50eac2});var _0x39f506=_0x1f12e(0x2f9d);class _0x50eac2{constructor(_0x10222c,_0x49b200){var _0x359449=a6_0x238e;this[_0x359449(0x25c)]=0x0,this[_0x359449(0x321)]={},this[_0x359449(0x2a0)]=0x0,_0x10222c instanceof SharedArrayBuffer?(this[_0x359449(0x4d1)]=_0x10222c,this['modelTotalCount']=_0x10222c[_0x359449(0xabb)]/(0x4*_0x50eac2['modelDataLength']),this[_0x359449(0x321)]=_0x49b200):(this[_0x359449(0x4d1)]=new SharedArrayBuffer(_0x10222c*(0x4*_0x50eac2[_0x359449(0xa15)])),this[_0x359449(0x25c)]=_0x10222c),this[_0x359449(0x2ff)]=new TextEncoder(),this[_0x359449(0x570)]=new TextDecoder(),this[_0x359449(0x98e)]=new Float32Array(this['modelArrayBuff']),this['i32d']=new Int32Array(this[_0x359449(0x4d1)]),this[_0x359449(0xa6f)]=new Uint8Array(this[_0x359449(0x4d1)]),this[_0x359449(0xa7c)]=new Uint8Array(0xc8);}[_0x3c0499(0x7b3)](_0x44f510){var _0x4e79b1=_0x3c0499;return _0x44f510=this[_0x4e79b1(0x321)][_0x44f510],this['f32d'][_0x4e79b1(0x597)](_0x44f510,_0x44f510+0x3);}[_0x3c0499(0x183)](_0x4b423d){var _0x319e60=_0x3c0499;return _0x4b423d=this['modelIndexOffsetStart'][_0x4b423d]+0x3,this[_0x319e60(0x98e)][_0x319e60(0x597)](_0x4b423d,_0x4b423d+0x3);}[_0x3c0499(0x16a)](_0x1ff0a0){var _0xfb2ab4=_0x3c0499;return _0x1ff0a0=this[_0xfb2ab4(0x321)][_0x1ff0a0]+0x6,this['f32d'][_0xfb2ab4(0x597)](_0x1ff0a0,_0x1ff0a0+0x10);}[_0x3c0499(0x4de)](_0x2e9a03){var _0x1052ae=_0x3c0499;return _0x2e9a03=this['modelIndexOffsetStart'][_0x2e9a03]+0x1d,this[_0x1052ae(0x9e8)][_0x1052ae(0x597)](_0x2e9a03,_0x2e9a03+0x1);}[_0x3c0499(0x67a)](_0x84fb7d){var _0x5bc049=_0x3c0499;return _0x84fb7d=this['modelIndexOffsetStart'][_0x84fb7d]+0x1c,this[_0x5bc049(0x9e8)][_0x5bc049(0x597)](_0x84fb7d,_0x84fb7d+0x1);}[_0x3c0499(0x7c4)](_0x570bfe){var _0x5595cf=_0x3c0499;return _0x570bfe=this[_0x5595cf(0x321)][_0x570bfe]+0x1b,this[_0x5595cf(0x9e8)][_0x5595cf(0x597)](_0x570bfe,_0x570bfe+0x1);}['废弃'](_0x49c628){var _0xc85e40=_0x3c0499;return _0x49c628=this[_0xc85e40(0x321)][_0x49c628]+0x1a,this[_0xc85e40(0x9e8)][_0xc85e40(0x597)](_0x49c628,_0x49c628+0x1);}[_0x3c0499(0x832)](_0x71558b){var _0x1528a6=_0x3c0499;return _0x71558b=this[_0x1528a6(0x321)][_0x71558b]+0x19,this[_0x1528a6(0x9e8)]['subarray'](_0x71558b,_0x71558b+0x1);}[_0x3c0499(0x64b)](_0x1c915c){var _0x30f8d1=_0x3c0499;return _0x1c915c=this[_0x30f8d1(0x321)][_0x1c915c]+0x18,this[_0x30f8d1(0x9e8)][_0x30f8d1(0x597)](_0x1c915c,_0x1c915c+0x1);}[_0x3c0499(0x520)](_0x35dfc4){var _0x194817=_0x3c0499;return _0x35dfc4=this[_0x194817(0x321)][_0x35dfc4]+0x17,this['i32d'][_0x194817(0x597)](_0x35dfc4,_0x35dfc4+0x1);}[_0x3c0499(0x829)](_0x4d8350){var _0x50ce05=_0x3c0499;return _0x4d8350=this[_0x50ce05(0x321)][_0x4d8350]+0x16,this['i32d'][_0x50ce05(0x597)](_0x4d8350,_0x4d8350+0x1);}[_0x3c0499(0xa58)](_0x137880){var _0xa3e8df=_0x3c0499;return _0x137880=0x4*this['modelIndexOffsetStart'][_0x137880]+0x78,_0x137880=this[_0xa3e8df(0xa6f)][_0xa3e8df(0x597)](_0x137880,0xc8+_0x137880),(this['textBuffer'][_0xa3e8df(0xd4)](_0x137880),this[_0xa3e8df(0x570)][_0xa3e8df(0x45f)](this[_0xa3e8df(0xa7c)])[_0xa3e8df(0xc73)](/\x00/g,''));}[_0x3c0499(0x918)](_0x4521f0,_0x5000c3){var _0x576ec8=_0x3c0499;if(_0x5000c3){_0x4521f0=0x4*this[_0x576ec8(0x321)][_0x4521f0]+0x78;let _0x56768d=this[_0x576ec8(0xa6f)][_0x576ec8(0x597)](_0x4521f0,0xc8+_0x4521f0);_0x56768d[_0x576ec8(0xd4)](this['textE'][_0x576ec8(0xc5d)](_0x5000c3));}}[_0x3c0499(0x820)](_0xeacec2){var _0x1ac858=_0x3c0499;return _0xeacec2=0x4*this[_0x1ac858(0x321)][_0xeacec2]+0x140,_0xeacec2=this[_0x1ac858(0xa6f)]['subarray'](_0xeacec2,0x20+_0xeacec2),0x0!==_0xeacec2[0x0]?(this[_0x1ac858(0xa7c)][_0x1ac858(0xd4)](_0xeacec2),this[_0x1ac858(0x570)][_0x1ac858(0x45f)](this[_0x1ac858(0xa7c)][_0x1ac858(0x597)](0x0,0x20))):'';}[_0x3c0499(0xbc1)](_0x590967,_0x12e81a){var _0x57d2b9=_0x3c0499;if(_0x12e81a){_0x590967=0x4*this[_0x57d2b9(0x321)][_0x590967]+0x140;let _0x2843bc=this['ui8d'][_0x57d2b9(0x597)](_0x590967,0x20+_0x590967);_0x2843bc[_0x57d2b9(0xd4)](this[_0x57d2b9(0x2ff)][_0x57d2b9(0xc5d)](_0x12e81a));}}[_0x3c0499(0x7a7)](_0x28d0ad){var _0x220d8f=_0x3c0499;this[_0x220d8f(0x321)][_0x28d0ad['id']]=this['currentOffsetStartTemp'],this[_0x220d8f(0x2a0)]+=_0x50eac2['modelDataLength'];var _0x536d40=this[_0x220d8f(0x321)][_0x28d0ad['id']];let _0x4200d5=this[_0x220d8f(0x98e)][_0x220d8f(0x597)](_0x536d40,_0x536d40+0x16),_0x3851b0=[0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x1];_0x28d0ad['transform']&&(_0x3851b0=(0x0,_0x39f506['ux'])(_0x28d0ad['transform'][_0x220d8f(0x9fa)]('\x20'))),_0x4200d5[_0x220d8f(0xd4)]([...(0x0,_0x39f506['ux'])(_0x28d0ad['boxMin']['split']('\x20')),...(0x0,_0x39f506['ux'])(_0x28d0ad[_0x220d8f(0x183)][_0x220d8f(0x9fa)]('\x20')),..._0x3851b0]),_0x536d40=this[_0x220d8f(0x321)][_0x28d0ad['id']]+0x16;let _0x526d54=this[_0x220d8f(0x9e8)]['subarray'](_0x536d40,_0x536d40+0x7);_0x526d54[_0x220d8f(0xd4)]([_0x28d0ad[_0x220d8f(0x829)],_0x28d0ad[_0x220d8f(0x520)],_0x28d0ad['meshCount'],_0x28d0ad[_0x220d8f(0x832)],0x0,-0x1,_0x28d0ad[_0x220d8f(0x67a)]||0x1]),this[_0x220d8f(0x918)](_0x28d0ad['id'],_0x28d0ad['fileName']),this[_0x220d8f(0xbc1)](_0x28d0ad['id'],_0x28d0ad['uniqueId']);}[_0x3c0499(0x9da)](){var _0x2b7c50=_0x3c0499;let _0x59f86f={};for(var _0x410f6c in this['modelIndexOffsetStart']){var _0x410f6c=~~_0x410f6c,_0x5ca436=this[_0x2b7c50(0x321)][_0x410f6c];let _0xb0984c=this[_0x2b7c50(0x98e)]['subarray'](_0x5ca436,_0x5ca436+0x16);_0x5ca436=this['modelIndexOffsetStart'][_0x410f6c]+0x16,_0x5ca436=this['i32d'][_0x2b7c50(0x597)](_0x5ca436,_0x5ca436+0x7),_0x59f86f[_0x410f6c]={'id':_0x410f6c,'boxMin':_0xb0984c[_0x2b7c50(0x597)](0x0,0x3),'boxMax':_0xb0984c[_0x2b7c50(0x597)](0x3,0x6),'transform':_0xb0984c['subarray'](0x6,0x16),'componentCount':_0x5ca436[0x0],'meshInstancesCount':_0x5ca436[0x1],'meshCount':_0x5ca436[0x2],'materialCount':_0x5ca436[0x3],'fileName':this[_0x2b7c50(0xa58)](_0x410f6c),'uniqueId':this[_0x2b7c50(0x820)](_0x410f6c),'status':_0x5ca436[0x6]};}return _0x59f86f;}[_0x3c0499(0x4ba)](_0xc18fa0){var _0x5d7c01=_0x3c0499,_0x2d7d1c=this['modelIndexOffsetStart'][_0xc18fa0];let _0x5aec1c=this[_0x5d7c01(0x98e)][_0x5d7c01(0x597)](_0x2d7d1c,_0x2d7d1c+0x16);return _0x2d7d1c=this[_0x5d7c01(0x321)][_0xc18fa0]+0x16,_0x2d7d1c=this[_0x5d7c01(0x9e8)]['subarray'](_0x2d7d1c,_0x2d7d1c+0x7),{'id':_0xc18fa0,'boxMin':_0x5aec1c[_0x5d7c01(0x597)](0x0,0x3),'boxMax':_0x5aec1c[_0x5d7c01(0x597)](0x3,0x6),'transform':_0x5aec1c[_0x5d7c01(0x597)](0x6,0x16),'componentCount':_0x2d7d1c[0x0],'meshInstancesCount':_0x2d7d1c[0x1],'meshCount':_0x2d7d1c[0x2],'materialCount':_0x2d7d1c[0x3],'fileName':this['getFileName'](_0xc18fa0),'uniqueId':this['getUniqueId'](_0xc18fa0),'status':_0x2d7d1c[0x6]};}[_0x3c0499(0x2d8)](_0x4d05a4){var _0x223208=_0x3c0499;return this[_0x223208(0x321)][_0x223208(0x3e3)](_0x4d05a4);}}_0x50eac2[_0x3c0499(0xa15)]=0x58;},0x15a31:(_0x44379b,_0x172212,_0x5f46c7)=>{var _0x557a96=a6_0x36115b,_0xd62882;_0x5f46c7['d'](_0x172212,{'p':()=>_0xc3bb2a}),_0xd62882={'cameraId':0x0,0x0:_0x557a96(0x292),'worldPosition':0x1,0x1:_0x557a96(0x204),'worldDirection':0x2,0x2:_0x557a96(0x5d1),'worldUp':0x3,0x3:'worldUp','viewMatrix':0x4,0x4:_0x557a96(0x159),'projectionMatrix':0x5,0x5:'projectionMatrix','heartbeat':0x6,0x6:'heartbeat','clipPlane':0x7,0x7:_0x557a96(0x1e2),'useCache':0x8,0x8:'useCache','maxRenderTriangleCount':0x9,0x9:_0x557a96(0x258),'frameMaxRenderMemoryLength':0xa,0xa:_0x557a96(0xc43),'pickId':0xb,0xb:'pickId','pickWorldPosition':0xc,0xc:_0x557a96(0xa16),'pickWorldNormal':0xd,0xd:'pickWorldNormal','getBox':0xe,0xe:'getBox','maxTextureSize':0xf,0xf:_0x557a96(0xa93),'renderPageFocus':0x10,0x10:_0x557a96(0xe8),'renderWidthHeight':0x11,0x11:'renderWidthHeight','allowSingleMeshMaxTriangleFaceQuantity':0x12,0x12:_0x557a96(0xa5d),'visibleModelBox':0x13,0x13:_0x557a96(0x34a),'isMainRender':0x14,0x14:_0x557a96(0x1e4),'mousePosition':0x15,0x15:_0x557a96(0x6b7),'sunDirectionalLight':0x16,0x16:_0x557a96(0xa26)};class _0xc3bb2a{constructor(_0x2504cf,_0x5b8da3){var _0x52abc1=_0x557a96;if(this[_0x52abc1(0x91e)]={},this[_0x52abc1(0x353)]=0x0,this['dataStoreDataByteOffset']=0x0,this[_0x52abc1(0xb8f)]=0x7fe00000,this['arrayBufferBlockCount']=0x0,this['dataType']=Float64Array,_0x2504cf||_0x5b8da3){for(var _0x5c85d5 in(this[_0x52abc1(0x541)]=_0x5b8da3,_0x2504cf))this[_0x52abc1(0x68c)](_0x5c85d5,_0x2504cf[_0x5c85d5]['length']);}else{this[_0x52abc1(0x541)]=[],_0x5b8da3=0x74*Float64Array[_0x52abc1(0xc13)];if(this[_0x52abc1(0x564)]=Math[_0x52abc1(0x90c)](_0x5b8da3/this['arrayBufferBlockMaxByteLength']),0x0===this[_0x52abc1(0x564)])this[_0x52abc1(0x541)]['push'](new SharedArrayBuffer(_0x5b8da3));else{for(let _0xeb837b=0x0;_0xeb837b<this[_0x52abc1(0x564)];_0xeb837b++)this[_0x52abc1(0x541)][_0x52abc1(0x731)](new SharedArrayBuffer(this['arrayBufferBlockMaxByteLength']));this['dataStoreArrayBuffer'][_0x52abc1(0x731)](new SharedArrayBuffer(_0x5b8da3%this[_0x52abc1(0xb8f)]));}this['AddStore'](_0xd62882[_0x52abc1(0x292)],0x1),this['AddStore'](_0xd62882[_0x52abc1(0x204)],0x3),this[_0x52abc1(0x68c)](_0xd62882[_0x52abc1(0x5d1)],0x3),this[_0x52abc1(0x68c)](_0xd62882[_0x52abc1(0x3d1)],0x3),this[_0x52abc1(0x68c)](_0xd62882[_0x52abc1(0x159)],0x10),this[_0x52abc1(0x68c)](_0xd62882['projectionMatrix'],0x15),this[_0x52abc1(0x68c)](_0xd62882[_0x52abc1(0x185)],0x1),this[_0x52abc1(0x68c)](_0xd62882[_0x52abc1(0x1e2)],0x19),this['AddStore'](_0xd62882[_0x52abc1(0x61b)],0x1),this[_0x52abc1(0x68c)](_0xd62882[_0x52abc1(0x258)],0x1),this['AddStore'](_0xd62882['frameMaxRenderMemoryLength'],0x1),this[_0x52abc1(0x68c)](_0xd62882[_0x52abc1(0x983)],0x5),this[_0x52abc1(0x68c)](_0xd62882[_0x52abc1(0xa16)],0x4),this[_0x52abc1(0x68c)](_0xd62882[_0x52abc1(0x390)],0x4),this[_0x52abc1(0x68c)](_0xd62882[_0x52abc1(0x60b)],0x7),this[_0x52abc1(0x68c)](_0xd62882[_0x52abc1(0xa93)],0x1),this[_0x52abc1(0x68c)](_0xd62882[_0x52abc1(0xe8)],0x1),this[_0x52abc1(0x68c)](_0xd62882['renderWidthHeight'],0x2),this['AddStore'](_0xd62882['allowSingleMeshMaxTriangleFaceQuantity'],0x1),this['AddStore'](_0xd62882[_0x52abc1(0x34a)],0x9),this['AddStore'](_0xd62882[_0x52abc1(0x1e4)],0x1),this[_0x52abc1(0x68c)](_0xd62882['mousePosition'],0x2),this['AddStore'](_0xd62882[_0x52abc1(0xa26)],0x3);}}set[_0x557a96(0xa26)](_0x53b30a){var _0x28d6de=_0x557a96;this['SetData'](_0xd62882[_0x28d6de(0xa26)],_0x53b30a);}get[_0x557a96(0xa26)](){var _0x52273e=_0x557a96;return this['GetData'](_0xd62882[_0x52273e(0xa26)]);}set[_0x557a96(0x6b7)](_0x40d7a0){var _0x113a50=_0x557a96;this['SetData'](_0xd62882[_0x113a50(0x6b7)],_0x40d7a0);}get['mousePosition'](){return this['GetData'](_0xd62882['mousePosition']);}get['isMainRender'](){var _0x434b2c=_0x557a96;return this[_0x434b2c(0x8a0)](_0xd62882[_0x434b2c(0x1e4)])[0x0];}set[_0x557a96(0x1e4)](_0x3dda7e){var _0x1049cb=_0x557a96;this[_0x1049cb(0x8a0)](_0xd62882[_0x1049cb(0x1e4)])[0x0]=_0x3dda7e;}get[_0x557a96(0xa5d)](){var _0x28520c=_0x557a96;return this['GetData'](_0xd62882[_0x28520c(0xa5d)])[0x0];}set[_0x557a96(0xa5d)](_0x4bc531){var _0x182e52=_0x557a96;this[_0x182e52(0x8a0)](_0xd62882[_0x182e52(0xa5d)])[0x0]=_0x4bc531;}get[_0x557a96(0x34a)](){var _0x2493ab=_0x557a96;return this[_0x2493ab(0x8a0)](_0xd62882[_0x2493ab(0x34a)]);}set[_0x557a96(0x34a)](_0x32b3d8){var _0x1ea1f8=_0x557a96;this[_0x1ea1f8(0x78b)](_0xd62882[_0x1ea1f8(0x34a)],_0x32b3d8);}get['renderWidthHeight'](){var _0x46715d=_0x557a96;return this['GetData'](_0xd62882[_0x46715d(0xa85)]);}set[_0x557a96(0xa85)](_0x406d0a){var _0x40fe3a=_0x557a96;this[_0x40fe3a(0x78b)](_0xd62882['renderWidthHeight'],_0x406d0a);}get['renderPageFocus'](){var _0x22ba50=_0x557a96;return this[_0x22ba50(0x8a0)](_0xd62882[_0x22ba50(0xe8)])[0x0];}set[_0x557a96(0xe8)](_0x226048){var _0x1bea64=_0x557a96;this[_0x1bea64(0x8a0)](_0xd62882[_0x1bea64(0xe8)])[0x0]=_0x226048;}get[_0x557a96(0xa93)](){var _0x531a07=_0x557a96;return this[_0x531a07(0x8a0)](_0xd62882['maxTextureSize'])[0x0];}set['maxTextureSize'](_0x49b7d4){var _0x2e1782=_0x557a96;this['GetData'](_0xd62882[_0x2e1782(0xa93)])[0x0]=_0x49b7d4;}get[_0x557a96(0x60b)](){var _0x13ec76=_0x557a96;return this[_0x13ec76(0x8a0)](_0xd62882[_0x13ec76(0x60b)]);}set['getBox'](_0x1fc4f1){var _0x1ff55e=_0x557a96;this[_0x1ff55e(0x78b)](_0xd62882[_0x1ff55e(0x60b)],_0x1fc4f1);}get[_0x557a96(0x390)](){var _0x1fdfee=_0x557a96;return this[_0x1fdfee(0x8a0)](_0xd62882[_0x1fdfee(0x390)]);}set[_0x557a96(0x390)](_0xe9f821){var _0x4e2bf8=_0x557a96;this[_0x4e2bf8(0x78b)](_0xd62882[_0x4e2bf8(0x390)],_0xe9f821);}get[_0x557a96(0xa16)](){var _0x4a05cf=_0x557a96;return this['GetData'](_0xd62882[_0x4a05cf(0xa16)]);}set[_0x557a96(0xa16)](_0x21fd4a){var _0x1cec7e=_0x557a96;this[_0x1cec7e(0x78b)](_0xd62882[_0x1cec7e(0xa16)],_0x21fd4a);}get['pickId'](){var _0x1cc65d=_0x557a96;return this['GetData'](_0xd62882[_0x1cc65d(0x983)]);}set[_0x557a96(0x983)](_0x3ecb66){var _0x168e50=_0x557a96;this['SetData'](_0xd62882[_0x168e50(0x983)],_0x3ecb66);}get[_0x557a96(0xc43)](){var _0x2590ba=_0x557a96;return this[_0x2590ba(0x8a0)](_0xd62882[_0x2590ba(0xc43)])[0x0];}set[_0x557a96(0xc43)](_0x3ea317){var _0x28ae50=_0x557a96;this['GetData'](_0xd62882[_0x28ae50(0xc43)])[0x0]=_0x3ea317;}get[_0x557a96(0x258)](){var _0x2bf4d2=_0x557a96;return this[_0x2bf4d2(0x8a0)](_0xd62882[_0x2bf4d2(0x258)])[0x0];}set[_0x557a96(0x258)](_0x534568){var _0x4e8328=_0x557a96;this['GetData'](_0xd62882[_0x4e8328(0x258)])[0x0]=_0x534568;}get[_0x557a96(0x61b)](){var _0x20e2ec=_0x557a96;return this[_0x20e2ec(0x8a0)](_0xd62882['useCache'])[0x0];}set['useCache'](_0x1ceda6){var _0x26b3ca=_0x557a96;this['GetData'](_0xd62882[_0x26b3ca(0x61b)])[0x0]=_0x1ceda6;}get[_0x557a96(0x292)](){var _0x2b023e=_0x557a96;return this['GetData'](_0xd62882[_0x2b023e(0x292)])[0x0];}set[_0x557a96(0x292)](_0x2d0075){this['GetData'](_0xd62882['cameraId'])[0x0]=0xf423f<_0x2d0075?0x2:_0x2d0075;}get[_0x557a96(0x204)](){var _0x35241b=_0x557a96;return this['GetData'](_0xd62882[_0x35241b(0x204)]);}set['worldPosition'](_0x59338d){var _0x32a747=_0x557a96;this[_0x32a747(0x78b)](_0xd62882[_0x32a747(0x204)],_0x59338d);}get[_0x557a96(0x5d1)](){var _0x5272b6=_0x557a96;return this[_0x5272b6(0x8a0)](_0xd62882[_0x5272b6(0x5d1)]);}set[_0x557a96(0x5d1)](_0x59f4bc){var _0x4cf18c=_0x557a96;this[_0x4cf18c(0x78b)](_0xd62882[_0x4cf18c(0x5d1)],_0x59f4bc);}get[_0x557a96(0x3d1)](){var _0x48adb0=_0x557a96;return this['GetData'](_0xd62882[_0x48adb0(0x3d1)]);}set[_0x557a96(0x3d1)](_0x2867f4){var _0xdb3269=_0x557a96;this[_0xdb3269(0x78b)](_0xd62882[_0xdb3269(0x3d1)],_0x2867f4);}get[_0x557a96(0x159)](){var _0x46c807=_0x557a96;return this[_0x46c807(0x8a0)](_0xd62882['viewMatrix']);}set[_0x557a96(0x159)](_0x1b2e83){var _0x441543=_0x557a96;this[_0x441543(0x78b)](_0xd62882[_0x441543(0x159)],_0x1b2e83);}get[_0x557a96(0xbbc)](){var _0x1c17d7=_0x557a96;return this[_0x1c17d7(0x8a0)](_0xd62882[_0x1c17d7(0xbbc)]);}set[_0x557a96(0xbbc)](_0x16d220){var _0x2dad5b=_0x557a96;this[_0x2dad5b(0x78b)](_0xd62882[_0x2dad5b(0xbbc)],_0x16d220);}get[_0x557a96(0x185)](){var _0x1d1a2c=_0x557a96;return this[_0x1d1a2c(0x8a0)](_0xd62882[_0x1d1a2c(0x185)])[0x0];}set['heartbeat'](_0x467ea9){var _0x501d9a=_0x557a96;this[_0x501d9a(0x8a0)](_0xd62882[_0x501d9a(0x185)])[0x0]=_0x467ea9;}get['clipPlane'](){var _0x123b49=_0x557a96;return this[_0x123b49(0x8a0)](_0xd62882[_0x123b49(0x1e2)]);}set[_0x557a96(0x1e2)](_0x347c57){var _0x59d875=_0x557a96;this[_0x59d875(0x78b)](_0xd62882[_0x59d875(0x1e2)],_0x347c57);}[_0x557a96(0x68c)](_0x580a55,_0x134e21){var _0x2ceaa3=_0x557a96;this[_0x2ceaa3(0x91e)]['hasOwnProperty'](_0x580a55)||(this[_0x2ceaa3(0x91e)][_0x580a55]={},this[_0x2ceaa3(0x91e)][_0x580a55]['length']=_0x134e21,this[_0x2ceaa3(0x420)]+_0x134e21*this[_0x2ceaa3(0xbb1)]['BYTES_PER_ELEMENT']>this[_0x2ceaa3(0xb8f)]&&(this[_0x2ceaa3(0x353)]++,this[_0x2ceaa3(0x420)]=0x0),this[_0x2ceaa3(0x91e)][_0x580a55][_0x2ceaa3(0x389)]=new this[(_0x2ceaa3(0xbb1))](this['dataStoreArrayBuffer'][this[_0x2ceaa3(0x353)]],this[_0x2ceaa3(0x420)],this[_0x2ceaa3(0x91e)][_0x580a55]['length']),this[_0x2ceaa3(0x91e)][_0x580a55][_0x2ceaa3(0xa9e)]=this['dataStoreDataByteOffset'],this['dataStoreDataByteOffset']+=this[_0x2ceaa3(0xbb1)][_0x2ceaa3(0xc13)]*this[_0x2ceaa3(0x91e)][_0x580a55][_0x2ceaa3(0xb85)]);}['SetData'](_0x4057a3,_0x10811b){var _0x1931cc=_0x557a96;_0x10811b&&this[_0x1931cc(0x91e)][_0x4057a3][_0x1931cc(0x389)][_0x1931cc(0xd4)](_0x10811b);}['GetData'](_0x218757){var _0x2a805b=_0x557a96;return null==(_0x218757=this[_0x2a805b(0x91e)][_0x218757])?void 0x0:_0x218757[_0x2a805b(0x389)];}}}}]);
|