@deck.gl/arcgis 9.3.7 → 9.4.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist.min.js CHANGED
@@ -4,8 +4,8 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['deck'] = factory();
6
6
  else root['deck'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var ka=Object.create;var qe=Object.defineProperty;var Xa=Object.getOwnPropertyDescriptor;var Wa=Object.getOwnPropertyNames;var Ha=Object.getPrototypeOf,La=Object.prototype.hasOwnProperty;var C=(t,e)=>()=>(t&&(e=t(t=0)),e);var Qe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Se=(t,e)=>{for(var r in e)qe(t,r,{get:e[r],enumerable:!0})},$e=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Wa(e))!La.call(t,i)&&i!==r&&qe(t,i,{get:()=>e[i],enumerable:!(n=Xa(e,i))||n.enumerable});return t},wt=(t,e,r)=>($e(t,e,"default"),r&&$e(r,e,"default")),D=(t,e,r)=>(r=t!=null?ka(Ha(t)):{},$e(e||!t||!t.__esModule?qe(r,"default",{value:t,enumerable:!0}):r,t)),za=t=>$e(qe({},"__esModule",{value:!0}),t);var Je=Qe((wd,Li)=>{Li.exports=globalThis.deck});var ji=Qe((vd,Ki)=>{Ki.exports=globalThis.luma});var Ft,Zi=C(()=>{(function(t){t[t.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",t[t.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",t[t.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",t[t.POINTS=0]="POINTS",t[t.LINES=1]="LINES",t[t.LINE_LOOP=2]="LINE_LOOP",t[t.LINE_STRIP=3]="LINE_STRIP",t[t.TRIANGLES=4]="TRIANGLES",t[t.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",t[t.TRIANGLE_FAN=6]="TRIANGLE_FAN",t[t.ZERO=0]="ZERO",t[t.ONE=1]="ONE",t[t.SRC_COLOR=768]="SRC_COLOR",t[t.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",t[t.SRC_ALPHA=770]="SRC_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",t[t.DST_ALPHA=772]="DST_ALPHA",t[t.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",t[t.DST_COLOR=774]="DST_COLOR",t[t.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",t[t.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",t[t.CONSTANT_COLOR=32769]="CONSTANT_COLOR",t[t.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",t[t.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",t[t.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",t[t.FUNC_ADD=32774]="FUNC_ADD",t[t.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",t[t.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",t[t.BLEND_EQUATION=32777]="BLEND_EQUATION",t[t.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",t[t.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",t[t.BLEND_DST_RGB=32968]="BLEND_DST_RGB",t[t.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",t[t.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",t[t.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",t[t.BLEND_COLOR=32773]="BLEND_COLOR",t[t.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",t[t.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",t[t.LINE_WIDTH=2849]="LINE_WIDTH",t[t.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",t[t.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",t[t.CULL_FACE_MODE=2885]="CULL_FACE_MODE",t[t.FRONT_FACE=2886]="FRONT_FACE",t[t.DEPTH_RANGE=2928]="DEPTH_RANGE",t[t.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",t[t.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",t[t.DEPTH_FUNC=2932]="DEPTH_FUNC",t[t.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",t[t.STENCIL_FUNC=2962]="STENCIL_FUNC",t[t.STENCIL_FAIL=2964]="STENCIL_FAIL",t[t.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",t[t.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",t[t.STENCIL_REF=2967]="STENCIL_REF",t[t.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",t[t.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",t[t.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",t[t.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",t[t.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",t[t.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",t[t.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",t[t.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",t[t.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",t[t.VIEWPORT=2978]="VIEWPORT",t[t.SCISSOR_BOX=3088]="SCISSOR_BOX",t[t.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",t[t.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",t[t.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",t[t.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",t[t.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",t[t.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",t[t.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",t[t.RED_BITS=3410]="RED_BITS",t[t.GREEN_BITS=3411]="GREEN_BITS",t[t.BLUE_BITS=3412]="BLUE_BITS",t[t.ALPHA_BITS=3413]="ALPHA_BITS",t[t.DEPTH_BITS=3414]="DEPTH_BITS",t[t.STENCIL_BITS=3415]="STENCIL_BITS",t[t.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",t[t.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",t[t.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",t[t.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",t[t.SAMPLES=32937]="SAMPLES",t[t.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",t[t.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",t[t.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",t[t.VENDOR=7936]="VENDOR",t[t.RENDERER=7937]="RENDERER",t[t.VERSION=7938]="VERSION",t[t.IMPLEMENTATION_COLOR_READ_TYPE=35738]="IMPLEMENTATION_COLOR_READ_TYPE",t[t.IMPLEMENTATION_COLOR_READ_FORMAT=35739]="IMPLEMENTATION_COLOR_READ_FORMAT",t[t.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",t[t.STATIC_DRAW=35044]="STATIC_DRAW",t[t.STREAM_DRAW=35040]="STREAM_DRAW",t[t.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",t[t.ARRAY_BUFFER=34962]="ARRAY_BUFFER",t[t.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",t[t.BUFFER_SIZE=34660]="BUFFER_SIZE",t[t.BUFFER_USAGE=34661]="BUFFER_USAGE",t[t.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",t[t.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",t[t.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",t[t.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",t[t.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",t[t.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",t[t.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",t[t.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",t[t.CULL_FACE=2884]="CULL_FACE",t[t.FRONT=1028]="FRONT",t[t.BACK=1029]="BACK",t[t.FRONT_AND_BACK=1032]="FRONT_AND_BACK",t[t.BLEND=3042]="BLEND",t[t.DEPTH_TEST=2929]="DEPTH_TEST",t[t.DITHER=3024]="DITHER",t[t.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",t[t.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",t[t.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",t[t.SCISSOR_TEST=3089]="SCISSOR_TEST",t[t.STENCIL_TEST=2960]="STENCIL_TEST",t[t.NO_ERROR=0]="NO_ERROR",t[t.INVALID_ENUM=1280]="INVALID_ENUM",t[t.INVALID_VALUE=1281]="INVALID_VALUE",t[t.INVALID_OPERATION=1282]="INVALID_OPERATION",t[t.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",t[t.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",t[t.CW=2304]="CW",t[t.CCW=2305]="CCW",t[t.DONT_CARE=4352]="DONT_CARE",t[t.FASTEST=4353]="FASTEST",t[t.NICEST=4354]="NICEST",t[t.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",t[t.BYTE=5120]="BYTE",t[t.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",t[t.SHORT=5122]="SHORT",t[t.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",t[t.INT=5124]="INT",t[t.UNSIGNED_INT=5125]="UNSIGNED_INT",t[t.FLOAT=5126]="FLOAT",t[t.DOUBLE=5130]="DOUBLE",t[t.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",t[t.ALPHA=6406]="ALPHA",t[t.RGB=6407]="RGB",t[t.RGBA=6408]="RGBA",t[t.LUMINANCE=6409]="LUMINANCE",t[t.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",t[t.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",t[t.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",t[t.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",t[t.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",t[t.VERTEX_SHADER=35633]="VERTEX_SHADER",t[t.COMPILE_STATUS=35713]="COMPILE_STATUS",t[t.DELETE_STATUS=35712]="DELETE_STATUS",t[t.LINK_STATUS=35714]="LINK_STATUS",t[t.VALIDATE_STATUS=35715]="VALIDATE_STATUS",t[t.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",t[t.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",t[t.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",t[t.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",t[t.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",t[t.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",t[t.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",t[t.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",t[t.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",t[t.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",t[t.SHADER_TYPE=35663]="SHADER_TYPE",t[t.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",t[t.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",t[t.NEVER=512]="NEVER",t[t.LESS=513]="LESS",t[t.EQUAL=514]="EQUAL",t[t.LEQUAL=515]="LEQUAL",t[t.GREATER=516]="GREATER",t[t.NOTEQUAL=517]="NOTEQUAL",t[t.GEQUAL=518]="GEQUAL",t[t.ALWAYS=519]="ALWAYS",t[t.KEEP=7680]="KEEP",t[t.REPLACE=7681]="REPLACE",t[t.INCR=7682]="INCR",t[t.DECR=7683]="DECR",t[t.INVERT=5386]="INVERT",t[t.INCR_WRAP=34055]="INCR_WRAP",t[t.DECR_WRAP=34056]="DECR_WRAP",t[t.NEAREST=9728]="NEAREST",t[t.LINEAR=9729]="LINEAR",t[t.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",t[t.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",t[t.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",t[t.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR",t[t.TEXTURE_MAG_FILTER=10240]="TEXTURE_MAG_FILTER",t[t.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",t[t.TEXTURE_WRAP_S=10242]="TEXTURE_WRAP_S",t[t.TEXTURE_WRAP_T=10243]="TEXTURE_WRAP_T",t[t.TEXTURE_2D=3553]="TEXTURE_2D",t[t.TEXTURE=5890]="TEXTURE",t[t.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",t[t.TEXTURE_BINDING_CUBE_MAP=34068]="TEXTURE_BINDING_CUBE_MAP",t[t.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",t[t.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",t[t.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",t[t.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",t[t.MAX_CUBE_MAP_TEXTURE_SIZE=34076]="MAX_CUBE_MAP_TEXTURE_SIZE",t[t.TEXTURE0=33984]="TEXTURE0",t[t.ACTIVE_TEXTURE=34016]="ACTIVE_TEXTURE",t[t.REPEAT=10497]="REPEAT",t[t.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",t[t.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",t[t.TEXTURE_WIDTH=4096]="TEXTURE_WIDTH",t[t.TEXTURE_HEIGHT=4097]="TEXTURE_HEIGHT",t[t.FLOAT_VEC2=35664]="FLOAT_VEC2",t[t.FLOAT_VEC3=35665]="FLOAT_VEC3",t[t.FLOAT_VEC4=35666]="FLOAT_VEC4",t[t.INT_VEC2=35667]="INT_VEC2",t[t.INT_VEC3=35668]="INT_VEC3",t[t.INT_VEC4=35669]="INT_VEC4",t[t.BOOL=35670]="BOOL",t[t.BOOL_VEC2=35671]="BOOL_VEC2",t[t.BOOL_VEC3=35672]="BOOL_VEC3",t[t.BOOL_VEC4=35673]="BOOL_VEC4",t[t.FLOAT_MAT2=35674]="FLOAT_MAT2",t[t.FLOAT_MAT3=35675]="FLOAT_MAT3",t[t.FLOAT_MAT4=35676]="FLOAT_MAT4",t[t.SAMPLER_2D=35678]="SAMPLER_2D",t[t.SAMPLER_CUBE=35680]="SAMPLER_CUBE",t[t.LOW_FLOAT=36336]="LOW_FLOAT",t[t.MEDIUM_FLOAT=36337]="MEDIUM_FLOAT",t[t.HIGH_FLOAT=36338]="HIGH_FLOAT",t[t.LOW_INT=36339]="LOW_INT",t[t.MEDIUM_INT=36340]="MEDIUM_INT",t[t.HIGH_INT=36341]="HIGH_INT",t[t.FRAMEBUFFER=36160]="FRAMEBUFFER",t[t.RENDERBUFFER=36161]="RENDERBUFFER",t[t.RGBA4=32854]="RGBA4",t[t.RGB5_A1=32855]="RGB5_A1",t[t.RGB565=36194]="RGB565",t[t.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",t[t.STENCIL_INDEX=6401]="STENCIL_INDEX",t[t.STENCIL_INDEX8=36168]="STENCIL_INDEX8",t[t.DEPTH_STENCIL=34041]="DEPTH_STENCIL",t[t.RENDERBUFFER_WIDTH=36162]="RENDERBUFFER_WIDTH",t[t.RENDERBUFFER_HEIGHT=36163]="RENDERBUFFER_HEIGHT",t[t.RENDERBUFFER_INTERNAL_FORMAT=36164]="RENDERBUFFER_INTERNAL_FORMAT",t[t.RENDERBUFFER_RED_SIZE=36176]="RENDERBUFFER_RED_SIZE",t[t.RENDERBUFFER_GREEN_SIZE=36177]="RENDERBUFFER_GREEN_SIZE",t[t.RENDERBUFFER_BLUE_SIZE=36178]="RENDERBUFFER_BLUE_SIZE",t[t.RENDERBUFFER_ALPHA_SIZE=36179]="RENDERBUFFER_ALPHA_SIZE",t[t.RENDERBUFFER_DEPTH_SIZE=36180]="RENDERBUFFER_DEPTH_SIZE",t[t.RENDERBUFFER_STENCIL_SIZE=36181]="RENDERBUFFER_STENCIL_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048]="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",t[t.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049]="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",t[t.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",t[t.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051]="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",t[t.COLOR_ATTACHMENT0=36064]="COLOR_ATTACHMENT0",t[t.DEPTH_ATTACHMENT=36096]="DEPTH_ATTACHMENT",t[t.STENCIL_ATTACHMENT=36128]="STENCIL_ATTACHMENT",t[t.DEPTH_STENCIL_ATTACHMENT=33306]="DEPTH_STENCIL_ATTACHMENT",t[t.NONE=0]="NONE",t[t.FRAMEBUFFER_COMPLETE=36053]="FRAMEBUFFER_COMPLETE",t[t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054]="FRAMEBUFFER_INCOMPLETE_ATTACHMENT",t[t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055]="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",t[t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057]="FRAMEBUFFER_INCOMPLETE_DIMENSIONS",t[t.FRAMEBUFFER_UNSUPPORTED=36061]="FRAMEBUFFER_UNSUPPORTED",t[t.FRAMEBUFFER_BINDING=36006]="FRAMEBUFFER_BINDING",t[t.RENDERBUFFER_BINDING=36007]="RENDERBUFFER_BINDING",t[t.READ_FRAMEBUFFER=36008]="READ_FRAMEBUFFER",t[t.DRAW_FRAMEBUFFER=36009]="DRAW_FRAMEBUFFER",t[t.MAX_RENDERBUFFER_SIZE=34024]="MAX_RENDERBUFFER_SIZE",t[t.INVALID_FRAMEBUFFER_OPERATION=1286]="INVALID_FRAMEBUFFER_OPERATION",t[t.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",t[t.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441]="UNPACK_PREMULTIPLY_ALPHA_WEBGL",t[t.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443]="UNPACK_COLORSPACE_CONVERSION_WEBGL",t[t.READ_BUFFER=3074]="READ_BUFFER",t[t.UNPACK_ROW_LENGTH=3314]="UNPACK_ROW_LENGTH",t[t.UNPACK_SKIP_ROWS=3315]="UNPACK_SKIP_ROWS",t[t.UNPACK_SKIP_PIXELS=3316]="UNPACK_SKIP_PIXELS",t[t.PACK_ROW_LENGTH=3330]="PACK_ROW_LENGTH",t[t.PACK_SKIP_ROWS=3331]="PACK_SKIP_ROWS",t[t.PACK_SKIP_PIXELS=3332]="PACK_SKIP_PIXELS",t[t.TEXTURE_BINDING_3D=32874]="TEXTURE_BINDING_3D",t[t.UNPACK_SKIP_IMAGES=32877]="UNPACK_SKIP_IMAGES",t[t.UNPACK_IMAGE_HEIGHT=32878]="UNPACK_IMAGE_HEIGHT",t[t.MAX_3D_TEXTURE_SIZE=32883]="MAX_3D_TEXTURE_SIZE",t[t.MAX_ELEMENTS_VERTICES=33e3]="MAX_ELEMENTS_VERTICES",t[t.MAX_ELEMENTS_INDICES=33001]="MAX_ELEMENTS_INDICES",t[t.MAX_TEXTURE_LOD_BIAS=34045]="MAX_TEXTURE_LOD_BIAS",t[t.MAX_FRAGMENT_UNIFORM_COMPONENTS=35657]="MAX_FRAGMENT_UNIFORM_COMPONENTS",t[t.MAX_VERTEX_UNIFORM_COMPONENTS=35658]="MAX_VERTEX_UNIFORM_COMPONENTS",t[t.MAX_ARRAY_TEXTURE_LAYERS=35071]="MAX_ARRAY_TEXTURE_LAYERS",t[t.MIN_PROGRAM_TEXEL_OFFSET=35076]="MIN_PROGRAM_TEXEL_OFFSET",t[t.MAX_PROGRAM_TEXEL_OFFSET=35077]="MAX_PROGRAM_TEXEL_OFFSET",t[t.MAX_VARYING_COMPONENTS=35659]="MAX_VARYING_COMPONENTS",t[t.FRAGMENT_SHADER_DERIVATIVE_HINT=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT",t[t.RASTERIZER_DISCARD=35977]="RASTERIZER_DISCARD",t[t.VERTEX_ARRAY_BINDING=34229]="VERTEX_ARRAY_BINDING",t[t.MAX_VERTEX_OUTPUT_COMPONENTS=37154]="MAX_VERTEX_OUTPUT_COMPONENTS",t[t.MAX_FRAGMENT_INPUT_COMPONENTS=37157]="MAX_FRAGMENT_INPUT_COMPONENTS",t[t.MAX_SERVER_WAIT_TIMEOUT=37137]="MAX_SERVER_WAIT_TIMEOUT",t[t.MAX_ELEMENT_INDEX=36203]="MAX_ELEMENT_INDEX",t[t.RED=6403]="RED",t[t.RGB8=32849]="RGB8",t[t.RGBA8=32856]="RGBA8",t[t.RGB10_A2=32857]="RGB10_A2",t[t.TEXTURE_3D=32879]="TEXTURE_3D",t[t.TEXTURE_WRAP_R=32882]="TEXTURE_WRAP_R",t[t.TEXTURE_MIN_LOD=33082]="TEXTURE_MIN_LOD",t[t.TEXTURE_MAX_LOD=33083]="TEXTURE_MAX_LOD",t[t.TEXTURE_BASE_LEVEL=33084]="TEXTURE_BASE_LEVEL",t[t.TEXTURE_MAX_LEVEL=33085]="TEXTURE_MAX_LEVEL",t[t.TEXTURE_COMPARE_MODE=34892]="TEXTURE_COMPARE_MODE",t[t.TEXTURE_COMPARE_FUNC=34893]="TEXTURE_COMPARE_FUNC",t[t.SRGB=35904]="SRGB",t[t.SRGB8=35905]="SRGB8",t[t.SRGB8_ALPHA8=35907]="SRGB8_ALPHA8",t[t.COMPARE_REF_TO_TEXTURE=34894]="COMPARE_REF_TO_TEXTURE",t[t.RGBA32F=34836]="RGBA32F",t[t.RGB32F=34837]="RGB32F",t[t.RGBA16F=34842]="RGBA16F",t[t.RGB16F=34843]="RGB16F",t[t.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",t[t.TEXTURE_BINDING_2D_ARRAY=35869]="TEXTURE_BINDING_2D_ARRAY",t[t.R11F_G11F_B10F=35898]="R11F_G11F_B10F",t[t.RGB9_E5=35901]="RGB9_E5",t[t.RGBA32UI=36208]="RGBA32UI",t[t.RGB32UI=36209]="RGB32UI",t[t.RGBA16UI=36214]="RGBA16UI",t[t.RGB16UI=36215]="RGB16UI",t[t.RGBA8UI=36220]="RGBA8UI",t[t.RGB8UI=36221]="RGB8UI",t[t.RGBA32I=36226]="RGBA32I",t[t.RGB32I=36227]="RGB32I",t[t.RGBA16I=36232]="RGBA16I",t[t.RGB16I=36233]="RGB16I",t[t.RGBA8I=36238]="RGBA8I",t[t.RGB8I=36239]="RGB8I",t[t.RED_INTEGER=36244]="RED_INTEGER",t[t.RGB_INTEGER=36248]="RGB_INTEGER",t[t.RGBA_INTEGER=36249]="RGBA_INTEGER",t[t.R8=33321]="R8",t[t.RG8=33323]="RG8",t[t.R16F=33325]="R16F",t[t.R32F=33326]="R32F",t[t.RG16F=33327]="RG16F",t[t.RG32F=33328]="RG32F",t[t.R8I=33329]="R8I",t[t.R8UI=33330]="R8UI",t[t.R16I=33331]="R16I",t[t.R16UI=33332]="R16UI",t[t.R32I=33333]="R32I",t[t.R32UI=33334]="R32UI",t[t.RG8I=33335]="RG8I",t[t.RG8UI=33336]="RG8UI",t[t.RG16I=33337]="RG16I",t[t.RG16UI=33338]="RG16UI",t[t.RG32I=33339]="RG32I",t[t.RG32UI=33340]="RG32UI",t[t.R8_SNORM=36756]="R8_SNORM",t[t.RG8_SNORM=36757]="RG8_SNORM",t[t.RGB8_SNORM=36758]="RGB8_SNORM",t[t.RGBA8_SNORM=36759]="RGBA8_SNORM",t[t.RGB10_A2UI=36975]="RGB10_A2UI",t[t.TEXTURE_IMMUTABLE_FORMAT=37167]="TEXTURE_IMMUTABLE_FORMAT",t[t.TEXTURE_IMMUTABLE_LEVELS=33503]="TEXTURE_IMMUTABLE_LEVELS",t[t.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",t[t.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",t[t.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",t[t.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",t[t.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",t[t.HALF_FLOAT=5131]="HALF_FLOAT",t[t.RG=33319]="RG",t[t.RG_INTEGER=33320]="RG_INTEGER",t[t.INT_2_10_10_10_REV=36255]="INT_2_10_10_10_REV",t[t.CURRENT_QUERY=34917]="CURRENT_QUERY",t[t.QUERY_RESULT=34918]="QUERY_RESULT",t[t.QUERY_RESULT_AVAILABLE=34919]="QUERY_RESULT_AVAILABLE",t[t.ANY_SAMPLES_PASSED=35887]="ANY_SAMPLES_PASSED",t[t.ANY_SAMPLES_PASSED_CONSERVATIVE=36202]="ANY_SAMPLES_PASSED_CONSERVATIVE",t[t.MAX_DRAW_BUFFERS=34852]="MAX_DRAW_BUFFERS",t[t.DRAW_BUFFER0=34853]="DRAW_BUFFER0",t[t.DRAW_BUFFER1=34854]="DRAW_BUFFER1",t[t.DRAW_BUFFER2=34855]="DRAW_BUFFER2",t[t.DRAW_BUFFER3=34856]="DRAW_BUFFER3",t[t.DRAW_BUFFER4=34857]="DRAW_BUFFER4",t[t.DRAW_BUFFER5=34858]="DRAW_BUFFER5",t[t.DRAW_BUFFER6=34859]="DRAW_BUFFER6",t[t.DRAW_BUFFER7=34860]="DRAW_BUFFER7",t[t.DRAW_BUFFER8=34861]="DRAW_BUFFER8",t[t.DRAW_BUFFER9=34862]="DRAW_BUFFER9",t[t.DRAW_BUFFER10=34863]="DRAW_BUFFER10",t[t.DRAW_BUFFER11=34864]="DRAW_BUFFER11",t[t.DRAW_BUFFER12=34865]="DRAW_BUFFER12",t[t.DRAW_BUFFER13=34866]="DRAW_BUFFER13",t[t.DRAW_BUFFER14=34867]="DRAW_BUFFER14",t[t.DRAW_BUFFER15=34868]="DRAW_BUFFER15",t[t.MAX_COLOR_ATTACHMENTS=36063]="MAX_COLOR_ATTACHMENTS",t[t.COLOR_ATTACHMENT1=36065]="COLOR_ATTACHMENT1",t[t.COLOR_ATTACHMENT2=36066]="COLOR_ATTACHMENT2",t[t.COLOR_ATTACHMENT3=36067]="COLOR_ATTACHMENT3",t[t.COLOR_ATTACHMENT4=36068]="COLOR_ATTACHMENT4",t[t.COLOR_ATTACHMENT5=36069]="COLOR_ATTACHMENT5",t[t.COLOR_ATTACHMENT6=36070]="COLOR_ATTACHMENT6",t[t.COLOR_ATTACHMENT7=36071]="COLOR_ATTACHMENT7",t[t.COLOR_ATTACHMENT8=36072]="COLOR_ATTACHMENT8",t[t.COLOR_ATTACHMENT9=36073]="COLOR_ATTACHMENT9",t[t.COLOR_ATTACHMENT10=36074]="COLOR_ATTACHMENT10",t[t.COLOR_ATTACHMENT11=36075]="COLOR_ATTACHMENT11",t[t.COLOR_ATTACHMENT12=36076]="COLOR_ATTACHMENT12",t[t.COLOR_ATTACHMENT13=36077]="COLOR_ATTACHMENT13",t[t.COLOR_ATTACHMENT14=36078]="COLOR_ATTACHMENT14",t[t.COLOR_ATTACHMENT15=36079]="COLOR_ATTACHMENT15",t[t.SAMPLER_3D=35679]="SAMPLER_3D",t[t.SAMPLER_2D_SHADOW=35682]="SAMPLER_2D_SHADOW",t[t.SAMPLER_2D_ARRAY=36289]="SAMPLER_2D_ARRAY",t[t.SAMPLER_2D_ARRAY_SHADOW=36292]="SAMPLER_2D_ARRAY_SHADOW",t[t.SAMPLER_CUBE_SHADOW=36293]="SAMPLER_CUBE_SHADOW",t[t.INT_SAMPLER_2D=36298]="INT_SAMPLER_2D",t[t.INT_SAMPLER_3D=36299]="INT_SAMPLER_3D",t[t.INT_SAMPLER_CUBE=36300]="INT_SAMPLER_CUBE",t[t.INT_SAMPLER_2D_ARRAY=36303]="INT_SAMPLER_2D_ARRAY",t[t.UNSIGNED_INT_SAMPLER_2D=36306]="UNSIGNED_INT_SAMPLER_2D",t[t.UNSIGNED_INT_SAMPLER_3D=36307]="UNSIGNED_INT_SAMPLER_3D",t[t.UNSIGNED_INT_SAMPLER_CUBE=36308]="UNSIGNED_INT_SAMPLER_CUBE",t[t.UNSIGNED_INT_SAMPLER_2D_ARRAY=36311]="UNSIGNED_INT_SAMPLER_2D_ARRAY",t[t.MAX_SAMPLES=36183]="MAX_SAMPLES",t[t.SAMPLER_BINDING=35097]="SAMPLER_BINDING",t[t.PIXEL_PACK_BUFFER=35051]="PIXEL_PACK_BUFFER",t[t.PIXEL_UNPACK_BUFFER=35052]="PIXEL_UNPACK_BUFFER",t[t.PIXEL_PACK_BUFFER_BINDING=35053]="PIXEL_PACK_BUFFER_BINDING",t[t.PIXEL_UNPACK_BUFFER_BINDING=35055]="PIXEL_UNPACK_BUFFER_BINDING",t[t.COPY_READ_BUFFER=36662]="COPY_READ_BUFFER",t[t.COPY_WRITE_BUFFER=36663]="COPY_WRITE_BUFFER",t[t.COPY_READ_BUFFER_BINDING=36662]="COPY_READ_BUFFER_BINDING",t[t.COPY_WRITE_BUFFER_BINDING=36663]="COPY_WRITE_BUFFER_BINDING",t[t.FLOAT_MAT2x3=35685]="FLOAT_MAT2x3",t[t.FLOAT_MAT2x4=35686]="FLOAT_MAT2x4",t[t.FLOAT_MAT3x2=35687]="FLOAT_MAT3x2",t[t.FLOAT_MAT3x4=35688]="FLOAT_MAT3x4",t[t.FLOAT_MAT4x2=35689]="FLOAT_MAT4x2",t[t.FLOAT_MAT4x3=35690]="FLOAT_MAT4x3",t[t.UNSIGNED_INT_VEC2=36294]="UNSIGNED_INT_VEC2",t[t.UNSIGNED_INT_VEC3=36295]="UNSIGNED_INT_VEC3",t[t.UNSIGNED_INT_VEC4=36296]="UNSIGNED_INT_VEC4",t[t.UNSIGNED_NORMALIZED=35863]="UNSIGNED_NORMALIZED",t[t.SIGNED_NORMALIZED=36764]="SIGNED_NORMALIZED",t[t.VERTEX_ATTRIB_ARRAY_INTEGER=35069]="VERTEX_ATTRIB_ARRAY_INTEGER",t[t.VERTEX_ATTRIB_ARRAY_DIVISOR=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR",t[t.TRANSFORM_FEEDBACK_BUFFER_MODE=35967]="TRANSFORM_FEEDBACK_BUFFER_MODE",t[t.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS=35968]="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",t[t.TRANSFORM_FEEDBACK_VARYINGS=35971]="TRANSFORM_FEEDBACK_VARYINGS",t[t.TRANSFORM_FEEDBACK_BUFFER_START=35972]="TRANSFORM_FEEDBACK_BUFFER_START",t[t.TRANSFORM_FEEDBACK_BUFFER_SIZE=35973]="TRANSFORM_FEEDBACK_BUFFER_SIZE",t[t.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN=35976]="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",t[t.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS=35978]="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS",t[t.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS=35979]="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS",t[t.INTERLEAVED_ATTRIBS=35980]="INTERLEAVED_ATTRIBS",t[t.SEPARATE_ATTRIBS=35981]="SEPARATE_ATTRIBS",t[t.TRANSFORM_FEEDBACK_BUFFER=35982]="TRANSFORM_FEEDBACK_BUFFER",t[t.TRANSFORM_FEEDBACK_BUFFER_BINDING=35983]="TRANSFORM_FEEDBACK_BUFFER_BINDING",t[t.TRANSFORM_FEEDBACK=36386]="TRANSFORM_FEEDBACK",t[t.TRANSFORM_FEEDBACK_PAUSED=36387]="TRANSFORM_FEEDBACK_PAUSED",t[t.TRANSFORM_FEEDBACK_ACTIVE=36388]="TRANSFORM_FEEDBACK_ACTIVE",t[t.TRANSFORM_FEEDBACK_BINDING=36389]="TRANSFORM_FEEDBACK_BINDING",t[t.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING",t[t.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",t[t.FRAMEBUFFER_ATTACHMENT_RED_SIZE=33298]="FRAMEBUFFER_ATTACHMENT_RED_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE=33299]="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE=33300]="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE=33301]="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE=33302]="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE=33303]="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE",t[t.FRAMEBUFFER_DEFAULT=33304]="FRAMEBUFFER_DEFAULT",t[t.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",t[t.DRAW_FRAMEBUFFER_BINDING=36006]="DRAW_FRAMEBUFFER_BINDING",t[t.READ_FRAMEBUFFER_BINDING=36010]="READ_FRAMEBUFFER_BINDING",t[t.RENDERBUFFER_SAMPLES=36011]="RENDERBUFFER_SAMPLES",t[t.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER=36052]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER",t[t.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE=36182]="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",t[t.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",t[t.UNIFORM_BUFFER_BINDING=35368]="UNIFORM_BUFFER_BINDING",t[t.UNIFORM_BUFFER_START=35369]="UNIFORM_BUFFER_START",t[t.UNIFORM_BUFFER_SIZE=35370]="UNIFORM_BUFFER_SIZE",t[t.MAX_VERTEX_UNIFORM_BLOCKS=35371]="MAX_VERTEX_UNIFORM_BLOCKS",t[t.MAX_FRAGMENT_UNIFORM_BLOCKS=35373]="MAX_FRAGMENT_UNIFORM_BLOCKS",t[t.MAX_COMBINED_UNIFORM_BLOCKS=35374]="MAX_COMBINED_UNIFORM_BLOCKS",t[t.MAX_UNIFORM_BUFFER_BINDINGS=35375]="MAX_UNIFORM_BUFFER_BINDINGS",t[t.MAX_UNIFORM_BLOCK_SIZE=35376]="MAX_UNIFORM_BLOCK_SIZE",t[t.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS=35377]="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS",t[t.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS=35379]="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS",t[t.UNIFORM_BUFFER_OFFSET_ALIGNMENT=35380]="UNIFORM_BUFFER_OFFSET_ALIGNMENT",t[t.ACTIVE_UNIFORM_BLOCKS=35382]="ACTIVE_UNIFORM_BLOCKS",t[t.UNIFORM_TYPE=35383]="UNIFORM_TYPE",t[t.UNIFORM_SIZE=35384]="UNIFORM_SIZE",t[t.UNIFORM_BLOCK_INDEX=35386]="UNIFORM_BLOCK_INDEX",t[t.UNIFORM_OFFSET=35387]="UNIFORM_OFFSET",t[t.UNIFORM_ARRAY_STRIDE=35388]="UNIFORM_ARRAY_STRIDE",t[t.UNIFORM_MATRIX_STRIDE=35389]="UNIFORM_MATRIX_STRIDE",t[t.UNIFORM_IS_ROW_MAJOR=35390]="UNIFORM_IS_ROW_MAJOR",t[t.UNIFORM_BLOCK_BINDING=35391]="UNIFORM_BLOCK_BINDING",t[t.UNIFORM_BLOCK_DATA_SIZE=35392]="UNIFORM_BLOCK_DATA_SIZE",t[t.UNIFORM_BLOCK_ACTIVE_UNIFORMS=35394]="UNIFORM_BLOCK_ACTIVE_UNIFORMS",t[t.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES=35395]="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES",t[t.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER=35396]="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER",t[t.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER=35398]="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER",t[t.OBJECT_TYPE=37138]="OBJECT_TYPE",t[t.SYNC_CONDITION=37139]="SYNC_CONDITION",t[t.SYNC_STATUS=37140]="SYNC_STATUS",t[t.SYNC_FLAGS=37141]="SYNC_FLAGS",t[t.SYNC_FENCE=37142]="SYNC_FENCE",t[t.SYNC_GPU_COMMANDS_COMPLETE=37143]="SYNC_GPU_COMMANDS_COMPLETE",t[t.UNSIGNALED=37144]="UNSIGNALED",t[t.SIGNALED=37145]="SIGNALED",t[t.ALREADY_SIGNALED=37146]="ALREADY_SIGNALED",t[t.TIMEOUT_EXPIRED=37147]="TIMEOUT_EXPIRED",t[t.CONDITION_SATISFIED=37148]="CONDITION_SATISFIED",t[t.WAIT_FAILED=37149]="WAIT_FAILED",t[t.SYNC_FLUSH_COMMANDS_BIT=1]="SYNC_FLUSH_COMMANDS_BIT",t[t.COLOR=6144]="COLOR",t[t.DEPTH=6145]="DEPTH",t[t.STENCIL=6146]="STENCIL",t[t.MIN=32775]="MIN",t[t.MAX=32776]="MAX",t[t.DEPTH_COMPONENT24=33190]="DEPTH_COMPONENT24",t[t.STREAM_READ=35041]="STREAM_READ",t[t.STREAM_COPY=35042]="STREAM_COPY",t[t.STATIC_READ=35045]="STATIC_READ",t[t.STATIC_COPY=35046]="STATIC_COPY",t[t.DYNAMIC_READ=35049]="DYNAMIC_READ",t[t.DYNAMIC_COPY=35050]="DYNAMIC_COPY",t[t.DEPTH_COMPONENT32F=36012]="DEPTH_COMPONENT32F",t[t.DEPTH32F_STENCIL8=36013]="DEPTH32F_STENCIL8",t[t.INVALID_INDEX=4294967295]="INVALID_INDEX",t[t.TIMEOUT_IGNORED=-1]="TIMEOUT_IGNORED",t[t.MAX_CLIENT_WAIT_TIMEOUT_WEBGL=37447]="MAX_CLIENT_WAIT_TIMEOUT_WEBGL",t[t.UNMASKED_VENDOR_WEBGL=37445]="UNMASKED_VENDOR_WEBGL",t[t.UNMASKED_RENDERER_WEBGL=37446]="UNMASKED_RENDERER_WEBGL",t[t.MAX_TEXTURE_MAX_ANISOTROPY_EXT=34047]="MAX_TEXTURE_MAX_ANISOTROPY_EXT",t[t.TEXTURE_MAX_ANISOTROPY_EXT=34046]="TEXTURE_MAX_ANISOTROPY_EXT",t[t.R16_EXT=33322]="R16_EXT",t[t.RG16_EXT=33324]="RG16_EXT",t[t.RGB16_EXT=32852]="RGB16_EXT",t[t.RGBA16_EXT=32859]="RGBA16_EXT",t[t.R16_SNORM_EXT=36760]="R16_SNORM_EXT",t[t.RG16_SNORM_EXT=36761]="RG16_SNORM_EXT",t[t.RGB16_SNORM_EXT=36762]="RGB16_SNORM_EXT",t[t.RGBA16_SNORM_EXT=36763]="RGBA16_SNORM_EXT",t[t.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",t[t.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",t[t.COMPRESSED_RED_RGTC1_EXT=36283]="COMPRESSED_RED_RGTC1_EXT",t[t.COMPRESSED_SIGNED_RED_RGTC1_EXT=36284]="COMPRESSED_SIGNED_RED_RGTC1_EXT",t[t.COMPRESSED_RED_GREEN_RGTC2_EXT=36285]="COMPRESSED_RED_GREEN_RGTC2_EXT",t[t.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT=36286]="COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT",t[t.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",t[t.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=36493]="COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT",t[t.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT=36494]="COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT",t[t.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT=36495]="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT",t[t.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",t[t.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",t[t.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",t[t.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",t[t.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",t[t.COMPRESSED_RGBA8_ETC2_EAC=37493]="COMPRESSED_RGBA8_ETC2_EAC",t[t.COMPRESSED_SRGB8_ETC2=37494]="COMPRESSED_SRGB8_ETC2",t[t.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37495]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",t[t.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37496]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",t[t.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37497]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",t[t.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",t[t.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",t[t.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",t[t.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",t[t.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",t[t.COMPRESSED_RGBA_ASTC_5x4_KHR=37809]="COMPRESSED_RGBA_ASTC_5x4_KHR",t[t.COMPRESSED_RGBA_ASTC_5x5_KHR=37810]="COMPRESSED_RGBA_ASTC_5x5_KHR",t[t.COMPRESSED_RGBA_ASTC_6x5_KHR=37811]="COMPRESSED_RGBA_ASTC_6x5_KHR",t[t.COMPRESSED_RGBA_ASTC_6x6_KHR=37812]="COMPRESSED_RGBA_ASTC_6x6_KHR",t[t.COMPRESSED_RGBA_ASTC_8x5_KHR=37813]="COMPRESSED_RGBA_ASTC_8x5_KHR",t[t.COMPRESSED_RGBA_ASTC_8x6_KHR=37814]="COMPRESSED_RGBA_ASTC_8x6_KHR",t[t.COMPRESSED_RGBA_ASTC_8x8_KHR=37815]="COMPRESSED_RGBA_ASTC_8x8_KHR",t[t.COMPRESSED_RGBA_ASTC_10x5_KHR=37816]="COMPRESSED_RGBA_ASTC_10x5_KHR",t[t.COMPRESSED_RGBA_ASTC_10x6_KHR=37817]="COMPRESSED_RGBA_ASTC_10x6_KHR",t[t.COMPRESSED_RGBA_ASTC_10x8_KHR=37818]="COMPRESSED_RGBA_ASTC_10x8_KHR",t[t.COMPRESSED_RGBA_ASTC_10x10_KHR=37819]="COMPRESSED_RGBA_ASTC_10x10_KHR",t[t.COMPRESSED_RGBA_ASTC_12x10_KHR=37820]="COMPRESSED_RGBA_ASTC_12x10_KHR",t[t.COMPRESSED_RGBA_ASTC_12x12_KHR=37821]="COMPRESSED_RGBA_ASTC_12x12_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=37840]="COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR=37841]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR=37842]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR=37843]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR=37844]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR=37845]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR=37846]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR=37847]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR=37848]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR=37849]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR=37850]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR=37851]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR=37852]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR=37853]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR",t[t.QUERY_COUNTER_BITS_EXT=34916]="QUERY_COUNTER_BITS_EXT",t[t.CURRENT_QUERY_EXT=34917]="CURRENT_QUERY_EXT",t[t.QUERY_RESULT_EXT=34918]="QUERY_RESULT_EXT",t[t.QUERY_RESULT_AVAILABLE_EXT=34919]="QUERY_RESULT_AVAILABLE_EXT",t[t.TIME_ELAPSED_EXT=35007]="TIME_ELAPSED_EXT",t[t.TIMESTAMP_EXT=36392]="TIMESTAMP_EXT",t[t.GPU_DISJOINT_EXT=36795]="GPU_DISJOINT_EXT",t[t.COMPLETION_STATUS_KHR=37297]="COMPLETION_STATUS_KHR",t[t.DEPTH_CLAMP_EXT=34383]="DEPTH_CLAMP_EXT",t[t.FIRST_VERTEX_CONVENTION_WEBGL=36429]="FIRST_VERTEX_CONVENTION_WEBGL",t[t.LAST_VERTEX_CONVENTION_WEBGL=36430]="LAST_VERTEX_CONVENTION_WEBGL",t[t.PROVOKING_VERTEX_WEBL=36431]="PROVOKING_VERTEX_WEBL",t[t.POLYGON_MODE_WEBGL=2880]="POLYGON_MODE_WEBGL",t[t.POLYGON_OFFSET_LINE_WEBGL=10754]="POLYGON_OFFSET_LINE_WEBGL",t[t.LINE_WEBGL=6913]="LINE_WEBGL",t[t.FILL_WEBGL=6914]="FILL_WEBGL",t[t.MAX_CLIP_DISTANCES_WEBGL=3378]="MAX_CLIP_DISTANCES_WEBGL",t[t.MAX_CULL_DISTANCES_WEBGL=33529]="MAX_CULL_DISTANCES_WEBGL",t[t.MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL=33530]="MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL",t[t.CLIP_DISTANCE0_WEBGL=12288]="CLIP_DISTANCE0_WEBGL",t[t.CLIP_DISTANCE1_WEBGL=12289]="CLIP_DISTANCE1_WEBGL",t[t.CLIP_DISTANCE2_WEBGL=12290]="CLIP_DISTANCE2_WEBGL",t[t.CLIP_DISTANCE3_WEBGL=12291]="CLIP_DISTANCE3_WEBGL",t[t.CLIP_DISTANCE4_WEBGL=12292]="CLIP_DISTANCE4_WEBGL",t[t.CLIP_DISTANCE5_WEBGL=12293]="CLIP_DISTANCE5_WEBGL",t[t.CLIP_DISTANCE6_WEBGL=12294]="CLIP_DISTANCE6_WEBGL",t[t.CLIP_DISTANCE7_WEBGL=12295]="CLIP_DISTANCE7_WEBGL",t[t.POLYGON_OFFSET_CLAMP_EXT=36379]="POLYGON_OFFSET_CLAMP_EXT",t[t.LOWER_LEFT_EXT=36001]="LOWER_LEFT_EXT",t[t.UPPER_LEFT_EXT=36002]="UPPER_LEFT_EXT",t[t.NEGATIVE_ONE_TO_ONE_EXT=37726]="NEGATIVE_ONE_TO_ONE_EXT",t[t.ZERO_TO_ONE_EXT=37727]="ZERO_TO_ONE_EXT",t[t.CLIP_ORIGIN_EXT=37724]="CLIP_ORIGIN_EXT",t[t.CLIP_DEPTH_MODE_EXT=37725]="CLIP_DEPTH_MODE_EXT",t[t.SRC1_COLOR_WEBGL=35065]="SRC1_COLOR_WEBGL",t[t.SRC1_ALPHA_WEBGL=34185]="SRC1_ALPHA_WEBGL",t[t.ONE_MINUS_SRC1_COLOR_WEBGL=35066]="ONE_MINUS_SRC1_COLOR_WEBGL",t[t.ONE_MINUS_SRC1_ALPHA_WEBGL=35067]="ONE_MINUS_SRC1_ALPHA_WEBGL",t[t.MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL=35068]="MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL",t[t.MIRROR_CLAMP_TO_EDGE_EXT=34627]="MIRROR_CLAMP_TO_EDGE_EXT"})(Ft||(Ft={}))});var $i=C(()=>{Zi()});var B=Qe((Xd,qi)=>{qi.exports=globalThis.luma});function Xt(t){let e=t.luma||{_polyfilled:!1,extensions:{},softwareRenderer:!1};return e._polyfilled??=!1,e.extensions||={},t.luma=e,e}var Ge=C(()=>{});function Ji(t){if(t={...Ka,...t},!t.debugSpectorJS)return null;if(!$&&globalThis.SPECTOR&&!globalThis.luma?.spector){$t.log.probe(Ya,"SPECTOR found and initialized. Start with `luma.spector.displayUI()`")();let{Spector:e}=globalThis.SPECTOR;$=new e,globalThis.luma&&(globalThis.luma.spector=$)}if(!$)return null;if(Qi||(Qi=!0,$.spyCanvases(),$?.onCaptureStarted.add(e=>$t.log.info("Spector capture started:",e)()),$?.onCapture.add(e=>{$t.log.info("Spector capture complete:",e)(),$?.getResultUI(),$?.resultView.display(),$?.resultView.addCapture(e)})),t.gl){let e=t.gl,r=Xt(e),n=r.device;$?.startCapture(t.gl,500),r.device=n,new Promise(i=>setTimeout(i,2e3)).then(i=>{$t.log.info("Spector capture stopped after 2 seconds")(),$?.stopCapture()})}return $}var $t,Ya,$,Qi,Ka,Gi=C(()=>{$t=D(B(),1);Ge();Ya=1,$=null,Qi=!1,Ka={debugSpectorJS:$t.log.get("debug-spectorjs"),debugSpectorJSUrl:"https://cdn.jsdelivr.net/npm/spectorjs@0.9.30/dist/spector.bundle.js",gl:void 0}});var tr,ja,er,Za,ts,un=C(()=>{tr=globalThis,ja=globalThis.document||{},er=globalThis.process||{},Za=globalThis.console,ts=globalThis.navigator||{}});function rr(t){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let e=typeof navigator<"u"&&navigator.userAgent,r=t||e;return Boolean(r&&r.indexOf("Electron")>=0)}var _n=C(()=>{});function Et(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||rr()}var gn=C(()=>{_n()});function Tn(t){return!t&&!Et()?"Node":rr(t)?"Electron":(t||ts.userAgent||"").indexOf("Edge")>-1?"Edge":globalThis.chrome?"Chrome":globalThis.safari?"Safari":globalThis.mozInnerScreenX?"Firefox":"Unknown"}var es=C(()=>{gn();_n();un()});var mn,be=C(()=>{un();gn();es();mn="4.1.1"});function ns(t){return t.luma=t.luma||{},t.luma}function is(t,e={}){return e.debugWebGL||e.traceWebGL?Qa(t,e):qa(t)}function qa(t){let e=ns(t);return e.realContext?e.realContext:t}function Qa(t,e){if(!globalThis.WebGLDebugUtils)return Me.log.warn("webgl-debug not loaded")(),t;let r=ns(t);if(r.debugContext)return r.debugContext;globalThis.WebGLDebugUtils.init({...Ft,...t});let n=globalThis.WebGLDebugUtils.makeDebugContext(t,Ja.bind(null,e),Ga.bind(null,e));for(let o in Ft)!(o in n)&&typeof Ft[o]=="number"&&(n[o]=Ft[o]);class i{}Object.setPrototypeOf(n,Object.getPrototypeOf(t)),Object.setPrototypeOf(i,n);let s=Object.create(i);return r.realContext=t,r.debugContext=s,s.luma=r,s.debug=!0,s}function rs(t,e){e=Array.from(e).map(n=>n===void 0?"undefined":n);let r=globalThis.WebGLDebugUtils.glFunctionArgsToString(t,e);return r=`${r.slice(0,100)}${r.length>100?"...":""}`,`gl.${t}(${r})`}function Ja(t,e,r,n){n=Array.from(n).map(a=>a===void 0?"undefined":a);let i=globalThis.WebGLDebugUtils.glEnumToString(e),s=globalThis.WebGLDebugUtils.glFunctionArgsToString(r,n),o=`${i} in gl.${r}(${s})`;Me.log.error("%cWebGL","color: white; background: red; padding: 2px 6px; border-radius: 3px;",o)();debugger;throw new Error(o)}function Ga(t,e,r){let n="";t.traceWebGL&&Me.log.level>=1&&(n=rs(e,r),Me.log.info(1,"%cWebGL","color: white; background: blue; padding: 2px 6px; border-radius: 3px;",n)());for(let i of r)if(i===void 0){n=n||rs(e,r);debugger}}var Me,ss=C(()=>{Me=D(B(),1);$i()});function Rn(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function U(t,e,r){return e[t]!==void 0?e[t]:r[t]}var Pe,X,os,q,as,xe,cs,ls,En,ut,An,hs,Sn=C(()=>{Pe={[3042]:!1,[32773]:new Float32Array([0,0,0,0]),[32777]:32774,[34877]:32774,[32969]:1,[32968]:0,[32971]:1,[32970]:0,[3106]:new Float32Array([0,0,0,0]),[3107]:[!0,!0,!0,!0],[2884]:!1,[2885]:1029,[2929]:!1,[2931]:1,[2932]:513,[2928]:new Float32Array([0,1]),[2930]:!0,[3024]:!0,[35725]:null,[36006]:null,[36007]:null,[34229]:null,[34964]:null,[2886]:2305,[33170]:4352,[2849]:1,[32823]:!1,[32824]:0,[10752]:0,[32926]:!1,[32928]:!1,[32938]:1,[32939]:!1,[3089]:!1,[3088]:new Int32Array([0,0,1024,1024]),[2960]:!1,[2961]:0,[2968]:4294967295,[36005]:4294967295,[2962]:519,[2967]:0,[2963]:4294967295,[34816]:519,[36003]:0,[36004]:4294967295,[2964]:7680,[2965]:7680,[2966]:7680,[34817]:7680,[34818]:7680,[34819]:7680,[2978]:[0,0,1024,1024],[36389]:null,[36662]:null,[36663]:null,[35053]:null,[35055]:null,[35723]:4352,[36010]:null,[35977]:!1,[3333]:4,[3317]:4,[37440]:!1,[37441]:!1,[37443]:37444,[3330]:0,[3332]:0,[3331]:0,[3314]:0,[32878]:0,[3316]:0,[3315]:0,[32877]:0},X=(t,e,r)=>e?t.enable(r):t.disable(r),os=(t,e,r)=>t.hint(r,e),q=(t,e,r)=>t.pixelStorei(r,e),as=(t,e,r)=>{let n=r===36006?36009:36008;return t.bindFramebuffer(n,e)},xe=(t,e,r)=>{let i={[34964]:34962,[36662]:36662,[36663]:36663,[35053]:35051,[35055]:35052}[r];t.bindBuffer(i,e)};cs={[3042]:X,[32773]:(t,e)=>t.blendColor(...e),[32777]:"blendEquation",[34877]:"blendEquation",[32969]:"blendFunc",[32968]:"blendFunc",[32971]:"blendFunc",[32970]:"blendFunc",[3106]:(t,e)=>t.clearColor(...e),[3107]:(t,e)=>t.colorMask(...e),[2884]:X,[2885]:(t,e)=>t.cullFace(e),[2929]:X,[2931]:(t,e)=>t.clearDepth(e),[2932]:(t,e)=>t.depthFunc(e),[2928]:(t,e)=>t.depthRange(...e),[2930]:(t,e)=>t.depthMask(e),[3024]:X,[35723]:os,[35725]:(t,e)=>t.useProgram(e),[36007]:(t,e)=>t.bindRenderbuffer(36161,e),[36389]:(t,e)=>t.bindTransformFeedback?.(36386,e),[34229]:(t,e)=>t.bindVertexArray(e),[36006]:as,[36010]:as,[34964]:xe,[36662]:xe,[36663]:xe,[35053]:xe,[35055]:xe,[2886]:(t,e)=>t.frontFace(e),[33170]:os,[2849]:(t,e)=>t.lineWidth(e),[32823]:X,[32824]:"polygonOffset",[10752]:"polygonOffset",[35977]:X,[32926]:X,[32928]:X,[32938]:"sampleCoverage",[32939]:"sampleCoverage",[3089]:X,[3088]:(t,e)=>t.scissor(...e),[2960]:X,[2961]:(t,e)=>t.clearStencil(e),[2968]:(t,e)=>t.stencilMaskSeparate(1028,e),[36005]:(t,e)=>t.stencilMaskSeparate(1029,e),[2962]:"stencilFuncFront",[2967]:"stencilFuncFront",[2963]:"stencilFuncFront",[34816]:"stencilFuncBack",[36003]:"stencilFuncBack",[36004]:"stencilFuncBack",[2964]:"stencilOpFront",[2965]:"stencilOpFront",[2966]:"stencilOpFront",[34817]:"stencilOpBack",[34818]:"stencilOpBack",[34819]:"stencilOpBack",[2978]:(t,e)=>t.viewport(...e),[34383]:X,[10754]:X,[12288]:X,[12289]:X,[12290]:X,[12291]:X,[12292]:X,[12293]:X,[12294]:X,[12295]:X,[3333]:q,[3317]:q,[37440]:q,[37441]:q,[37443]:q,[3330]:q,[3332]:q,[3331]:q,[3314]:q,[32878]:q,[3316]:q,[3315]:q,[32877]:q,framebuffer:(t,e)=>{let r=e&&"handle"in e?e.handle:e;return t.bindFramebuffer(36160,r)},blend:(t,e)=>e?t.enable(3042):t.disable(3042),blendColor:(t,e)=>t.blendColor(...e),blendEquation:(t,e)=>{let r=typeof e=="number"?[e,e]:e;t.blendEquationSeparate(...r)},blendFunc:(t,e)=>{let r=e?.length===2?[...e,...e]:e;t.blendFuncSeparate(...r)},clearColor:(t,e)=>t.clearColor(...e),clearDepth:(t,e)=>t.clearDepth(e),clearStencil:(t,e)=>t.clearStencil(e),colorMask:(t,e)=>t.colorMask(...e),cull:(t,e)=>e?t.enable(2884):t.disable(2884),cullFace:(t,e)=>t.cullFace(e),depthTest:(t,e)=>e?t.enable(2929):t.disable(2929),depthFunc:(t,e)=>t.depthFunc(e),depthMask:(t,e)=>t.depthMask(e),depthRange:(t,e)=>t.depthRange(...e),dither:(t,e)=>e?t.enable(3024):t.disable(3024),derivativeHint:(t,e)=>{t.hint(35723,e)},frontFace:(t,e)=>t.frontFace(e),mipmapHint:(t,e)=>t.hint(33170,e),lineWidth:(t,e)=>t.lineWidth(e),polygonOffsetFill:(t,e)=>e?t.enable(32823):t.disable(32823),polygonOffset:(t,e)=>t.polygonOffset(...e),sampleCoverage:(t,e)=>t.sampleCoverage(e[0],e[1]||!1),scissorTest:(t,e)=>e?t.enable(3089):t.disable(3089),scissor:(t,e)=>t.scissor(...e),stencilTest:(t,e)=>e?t.enable(2960):t.disable(2960),stencilMask:(t,e)=>{e=Rn(e)?e:[e,e];let[r,n]=e;t.stencilMaskSeparate(1028,r),t.stencilMaskSeparate(1029,n)},stencilFunc:(t,e)=>{e=Rn(e)&&e.length===3?[...e,...e]:e;let[r,n,i,s,o,a]=e;t.stencilFuncSeparate(1028,r,n,i),t.stencilFuncSeparate(1029,s,o,a)},stencilOp:(t,e)=>{e=Rn(e)&&e.length===3?[...e,...e]:e;let[r,n,i,s,o,a]=e;t.stencilOpSeparate(1028,r,n,i),t.stencilOpSeparate(1029,s,o,a)},viewport:(t,e)=>t.viewport(...e)};ls={blendEquation:(t,e,r)=>t.blendEquationSeparate(U(32777,e,r),U(34877,e,r)),blendFunc:(t,e,r)=>t.blendFuncSeparate(U(32969,e,r),U(32968,e,r),U(32971,e,r),U(32970,e,r)),polygonOffset:(t,e,r)=>t.polygonOffset(U(32824,e,r),U(10752,e,r)),sampleCoverage:(t,e,r)=>t.sampleCoverage(U(32938,e,r),U(32939,e,r)),stencilFuncFront:(t,e,r)=>t.stencilFuncSeparate(1028,U(2962,e,r),U(2967,e,r),U(2963,e,r)),stencilFuncBack:(t,e,r)=>t.stencilFuncSeparate(1029,U(34816,e,r),U(36003,e,r),U(36004,e,r)),stencilOpFront:(t,e,r)=>t.stencilOpSeparate(1028,U(2964,e,r),U(2965,e,r),U(2966,e,r)),stencilOpBack:(t,e,r)=>t.stencilOpSeparate(1029,U(34817,e,r),U(34818,e,r),U(34819,e,r))},En={enable:(t,e)=>t({[e]:!0}),disable:(t,e)=>t({[e]:!1}),pixelStorei:(t,e,r)=>t({[e]:r}),hint:(t,e,r)=>t({[e]:r}),useProgram:(t,e)=>t({[35725]:e}),bindRenderbuffer:(t,e,r)=>t({[36007]:r}),bindTransformFeedback:(t,e,r)=>t({[36389]:r}),bindVertexArray:(t,e)=>t({[34229]:e}),bindFramebuffer:(t,e,r)=>{switch(e){case 36160:return t({[36006]:r,[36010]:r});case 36009:return t({[36006]:r});case 36008:return t({[36010]:r});default:return null}},bindBuffer:(t,e,r)=>{let n={[34962]:[34964],[36662]:[36662],[36663]:[36663],[35051]:[35053],[35052]:[35055]}[e];return n?t({[n]:r}):{valueChanged:!0}},blendColor:(t,e,r,n,i)=>t({[32773]:new Float32Array([e,r,n,i])}),blendEquation:(t,e)=>t({[32777]:e,[34877]:e}),blendEquationSeparate:(t,e,r)=>t({[32777]:e,[34877]:r}),blendFunc:(t,e,r)=>t({[32969]:e,[32968]:r,[32971]:e,[32970]:r}),blendFuncSeparate:(t,e,r,n,i)=>t({[32969]:e,[32968]:r,[32971]:n,[32970]:i}),clearColor:(t,e,r,n,i)=>t({[3106]:new Float32Array([e,r,n,i])}),clearDepth:(t,e)=>t({[2931]:e}),clearStencil:(t,e)=>t({[2961]:e}),colorMask:(t,e,r,n,i)=>t({[3107]:[e,r,n,i]}),cullFace:(t,e)=>t({[2885]:e}),depthFunc:(t,e)=>t({[2932]:e}),depthRange:(t,e,r)=>t({[2928]:new Float32Array([e,r])}),depthMask:(t,e)=>t({[2930]:e}),frontFace:(t,e)=>t({[2886]:e}),lineWidth:(t,e)=>t({[2849]:e}),polygonOffset:(t,e,r)=>t({[32824]:e,[10752]:r}),sampleCoverage:(t,e,r)=>t({[32938]:e,[32939]:r}),scissor:(t,e,r,n,i)=>t({[3088]:new Int32Array([e,r,n,i])}),stencilMask:(t,e)=>t({[2968]:e,[36005]:e}),stencilMaskSeparate:(t,e,r)=>t({[e===1028?2968:36005]:r}),stencilFunc:(t,e,r,n)=>t({[2962]:e,[2967]:r,[2963]:n,[34816]:e,[36003]:r,[36004]:n}),stencilFuncSeparate:(t,e,r,n,i)=>t({[e===1028?2962:34816]:r,[e===1028?2967:36003]:n,[e===1028?2963:36004]:i}),stencilOp:(t,e,r,n)=>t({[2964]:e,[2965]:r,[2966]:n,[34817]:e,[34818]:r,[34819]:n}),stencilOpSeparate:(t,e,r,n,i)=>t({[e===1028?2964:34817]:r,[e===1028?2965:34818]:n,[e===1028?2966:34819]:i}),viewport:(t,e,r,n,i)=>t({[2978]:[e,r,n,i]})},ut=(t,e)=>t.isEnabled(e),An={[3042]:ut,[2884]:ut,[2929]:ut,[3024]:ut,[32823]:ut,[32926]:ut,[32928]:ut,[3089]:ut,[2960]:ut,[35977]:ut},hs=new Set([34016,36388,36387,35983,35368,34965,35739,35738,3074,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34866,34867,34868,35097,32873,35869,32874,34068])});function nt(t,e){if(tc(e))return;let r={};for(let i in e){let s=Number(i),o=cs[i];o&&(typeof o=="string"?r[o]=!0:o(t,e[i],s))}let n=t.lumaState?.cache;if(n)for(let i in r){let s=ls[i];s(t,e,n)}}function nr(t,e=Pe){if(typeof e=="number"){let i=e,s=An[i];return s?s(t,i):t.getParameter(i)}let r=Array.isArray(e)?e:Object.keys(e),n={};for(let i of r){let s=An[i];n[i]=s?s(t,Number(i)):t.getParameter(Number(i))}return n}function fs(t){nt(t,Pe)}function tc(t){for(let e in t)return!1;return!0}var qt=C(()=>{Sn()});function ps(t,e){if(t===e)return!0;if(ds(t)&&ds(e)&&t.length===e.length){for(let r=0;r<t.length;++r)if(t[r]!==e[r])return!1;return!0}return!1}function ds(t){return Array.isArray(t)||ArrayBuffer.isView(t)}var us=C(()=>{});function _s(t,e){let r=t[e].bind(t);t[e]=function(i){if(i===void 0||hs.has(i))return r(i);let s=it.get(t);return i in s.cache||(s.cache[i]=r(i)),s.enable?s.cache[i]:r(i)},Object.defineProperty(t[e],"name",{value:`${e}-from-cache`,configurable:!1})}function ec(t,e,r){if(!t[e])return;let n=t[e].bind(t);t[e]=function(...s){let o=it.get(t),{valueChanged:a,oldValue:c}=r(o._updateCache,...s);return a&&n(...s),c},Object.defineProperty(t[e],"name",{value:`${e}-to-cache`,configurable:!1})}function rc(t){let e=t.useProgram.bind(t);t.useProgram=function(n){let i=it.get(t);i.program!==n&&(e(n),i.program=n)}}var it,bn=C(()=>{qt();us();Sn();it=class{static get(e){return e.lumaState}gl;program=null;stateStack=[];enable=!0;cache=null;log;initialized=!1;constructor(e,r){this.gl=e,this.log=r?.log||(()=>{}),this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){let e=this.stateStack[this.stateStack.length-1];nt(this.gl,e),this.stateStack.pop()}trackState(e,r){if(this.cache=r?.copyState?nr(e):Object.assign({},Pe),this.initialized)throw new Error("WebGLStateTracker");this.initialized=!0,this.gl.lumaState=this,rc(e);for(let n in En){let i=En[n];ec(e,n,i)}_s(e,"getParameter"),_s(e,"isEnabled")}_updateCache(e){let r=!1,n,i=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(let s in e){let o=e[s],a=this.cache[s];ps(o,a)||(r=!0,n=a,i&&!(s in i)&&(i[s]=a),this.cache[s]=o)}return{valueChanged:r,oldValue:n}}}});function gs(t,e,r){let n="",i=c=>{let l=c.statusMessage;l&&(n||=l)};t.addEventListener("webglcontextcreationerror",i,!1);let s=r.failIfMajorPerformanceCaveat!==!0,o={preserveDrawingBuffer:!0,...r,failIfMajorPerformanceCaveat:!0},a=null;try{a||=t.getContext("webgl2",o),!a&&o.failIfMajorPerformanceCaveat&&(n||="Only software GPU is available. Set `failIfMajorPerformanceCaveat: false` to allow.");let c=!1;if(!a&&s&&(o.failIfMajorPerformanceCaveat=!1,a=t.getContext("webgl2",o),c=!0),a||(a=t.getContext("webgl",{}),a&&(a=null,n||="Your browser only supports WebGL1")),!a)throw n||="Your browser does not support WebGL",new Error(`Failed to create WebGL context: ${n}`);let l=Xt(a);l.softwareRenderer=c;let{onContextLost:h,onContextRestored:f}=e;return t.addEventListener("webglcontextlost",d=>h(d),!1),t.addEventListener("webglcontextrestored",d=>f(d),!1),a}finally{t.removeEventListener("webglcontextcreationerror",i,!1)}}var Ts=C(()=>{Ge()});function st(t,e,r){return r[e]===void 0&&(r[e]=t.getExtension(e)||null),r[e]}var Ce=C(()=>{});function ms(t,e){let r=t.getParameter(7936),n=t.getParameter(7937);st(t,"WEBGL_debug_renderer_info",e);let i=e.WEBGL_debug_renderer_info,s=t.getParameter(i?i.UNMASKED_VENDOR_WEBGL:7936),o=t.getParameter(i?i.UNMASKED_RENDERER_WEBGL:7937),a=s||r,c=o||n,l=t.getParameter(7938),h=Rs(a,c),f=nc(a,c),d=ic(a,c);return{type:"webgl",gpu:h,gpuType:d,gpuBackend:f,vendor:a,renderer:c,version:l,shadingLanguage:"glsl",shadingLanguageVersion:300}}function Rs(t,e){return/NVIDIA/i.exec(t)||/NVIDIA/i.exec(e)?"nvidia":/INTEL/i.exec(t)||/INTEL/i.exec(e)?"intel":/Apple/i.exec(t)||/Apple/i.exec(e)?"apple":/AMD/i.exec(t)||/AMD/i.exec(e)||/ATI/i.exec(t)||/ATI/i.exec(e)?"amd":/SwiftShader/i.exec(t)||/SwiftShader/i.exec(e)?"software":"unknown"}function nc(t,e){return/Metal/i.exec(t)||/Metal/i.exec(e)?"metal":/ANGLE/i.exec(t)||/ANGLE/i.exec(e)?"opengl":"unknown"}function ic(t,e){if(/SwiftShader/i.exec(t)||/SwiftShader/i.exec(e))return"cpu";switch(Rs(t,e)){case"apple":return sc(t,e)?"integrated":"unknown";case"intel":return"integrated";case"software":return"cpu";case"unknown":return"unknown";default:return"discrete"}}function sc(t,e){return/Apple (M\d|A\d|GPU)/i.test(`${t} ${e}`)}var Es=C(()=>{Ce()});function ir(t){switch(t){case"uint8":return 5121;case"sint8":return 5120;case"unorm8":return 5121;case"snorm8":return 5120;case"uint16":return 5123;case"sint16":return 5122;case"unorm16":return 5123;case"snorm16":return 5122;case"uint32":return 5125;case"sint32":return 5124;case"float16":return 5131;case"float32":return 5126}throw new Error(String(t))}var Mn=C(()=>{});function bs(t){return t in or}function Nn(t,e,r){return Ms(t,e,r,new Set)}function Ms(t,e,r,n){let i=or[e];if(!i||n.has(e))return!1;n.add(e);let s=(i.features||[]).every(o=>Ms(t,o,r,n));return n.delete(e),s?(i.extensions||[]).every(o=>Boolean(st(t,o,r))):!1}function xs(t,e,r){let n=e.create,i=ar[e.format];i?.gl===void 0&&(n=!1),i?.x&&(n=n&&Boolean(st(t,i.x,r))),e.format==="stencil8"&&(n=!1);let s=i?.r===!1?!1:i?.r===void 0||Nn(t,i.r,r),o=n&&e.render&&s&&pc(t,e.format,r);return{format:e.format,create:n&&e.create,render:o,filter:n&&e.filter,blend:n&&e.blend,store:n&&e.store}}function pc(t,e,r){let n=ar[e],i=n?.gl;if(i===void 0||n?.x&&!st(t,n.x,r))return!1;let s=t.getParameter(32873),o=t.getParameter(36006),a=t.createTexture(),c=t.createFramebuffer();if(!a||!c)return!1;let l=Number(0),h=Number(t.getError());for(;h!==l;)h=t.getError();let f=!1;try{if(t.bindTexture(3553,a),t.texStorage2D(3553,1,i,1,1),Number(t.getError())!==l)return!1;t.bindFramebuffer(36160,c),t.framebufferTexture2D(36160,36064,3553,a,0),f=Number(t.checkFramebufferStatus(36160))===Number(36053)&&Number(t.getError())===l}finally{t.bindFramebuffer(36160,o),t.deleteFramebuffer(c),t.bindTexture(3553,s),t.deleteTexture(a)}return f}function cr(t){let e=ar[t],r=_c(t),n=In.textureFormatDecoder.getInfo(t);return n.compressed&&(e.dataFormat=r),{internalFormat:r,format:e?.dataFormat||uc(n.channels,n.integer,n.normalized,r),type:n.dataType?ir(n.dataType):e?.types?.[0]||5121,compressed:n.compressed||!1}}function Ps(t){switch(In.textureFormatDecoder.getInfo(t).attachment){case"depth":return 36096;case"stencil":return 36128;case"depth-stencil":return 33306;default:throw new Error(`Not a depth stencil format: ${t}`)}}function uc(t,e,r,n){if(n===6408||n===6407)return n;switch(t){case"r":return e&&!r?36244:6403;case"rg":return e&&!r?33320:33319;case"rgb":return e&&!r?36248:6407;case"rgba":return e&&!r?36249:6408;case"bgra":throw new Error("bgra pixels not supported by WebGL");default:return 6408}}function _c(t){let r=ar[t]?.gl;if(r===void 0)throw new Error(`Unsupported texture format ${t}`);return r}var In,ye,Ie,Qt,Jt,oc,ac,cc,lc,hc,fc,As,Ss,xn,Pn,Cn,yn,sr,dc,or,ar,Gt=C(()=>{In=D(B(),1);Ce();Mn();ye="WEBGL_compressed_texture_s3tc",Ie="WEBGL_compressed_texture_s3tc_srgb",Qt="EXT_texture_compression_rgtc",Jt="EXT_texture_compression_bptc",oc="WEBGL_compressed_texture_etc",ac="WEBGL_compressed_texture_astc",cc="WEBGL_compressed_texture_etc1",lc="WEBGL_compressed_texture_pvrtc",hc="WEBGL_compressed_texture_atc",fc="EXT_texture_norm16",As="EXT_render_snorm",Ss="EXT_color_buffer_float",xn="snorm8-renderable-webgl",Pn="norm16-renderable-webgl",Cn="snorm16-renderable-webgl",yn="float16-renderable-webgl",sr="float32-renderable-webgl",dc="rgb9e5ufloat-renderable-webgl",or={"float32-renderable-webgl":{extensions:[Ss]},"float16-renderable-webgl":{extensions:["EXT_color_buffer_half_float"]},"rgb9e5ufloat-renderable-webgl":{extensions:["WEBGL_render_shared_exponent"]},"snorm8-renderable-webgl":{extensions:[As]},"norm16-webgl":{extensions:[fc]},"norm16-renderable-webgl":{features:["norm16-webgl"]},"snorm16-renderable-webgl":{features:["norm16-webgl"],extensions:[As]},"float32-filterable":{extensions:["OES_texture_float_linear"]},"float16-filterable-webgl":{extensions:["OES_texture_half_float_linear"]},"texture-filterable-anisotropic-webgl":{extensions:["EXT_texture_filter_anisotropic"]},"texture-blend-float-webgl":{extensions:["EXT_float_blend"]},"texture-compression-bc":{extensions:[ye,Ie,Qt,Jt]},"texture-compression-bc5-webgl":{extensions:[Qt]},"texture-compression-bc7-webgl":{extensions:[Jt]},"texture-compression-etc2":{extensions:[oc]},"texture-compression-astc":{extensions:[ac]},"texture-compression-etc1-webgl":{extensions:[cc]},"texture-compression-pvrtc-webgl":{extensions:[lc]},"texture-compression-atc-webgl":{extensions:[hc]}};ar={r8unorm:{gl:33321,rb:!0},r8snorm:{gl:36756,r:xn},r8uint:{gl:33330,rb:!0},r8sint:{gl:33329,rb:!0},rg8unorm:{gl:33323,rb:!0},rg8snorm:{gl:36757,r:xn},rg8uint:{gl:33336,rb:!0},rg8sint:{gl:33335,rb:!0},r16uint:{gl:33332,rb:!0},r16sint:{gl:33331,rb:!0},r16float:{gl:33325,rb:!0,r:yn},r16unorm:{gl:33322,rb:!0,r:Pn},r16snorm:{gl:36760,r:Cn},"rgba4unorm-webgl":{gl:32854,rb:!0},"rgb565unorm-webgl":{gl:36194,rb:!0},"rgb5a1unorm-webgl":{gl:32855,rb:!0},"rgb8unorm-webgl":{gl:32849},"rgb8snorm-webgl":{gl:36758},rgba8unorm:{gl:32856},"rgba8unorm-srgb":{gl:35907},rgba8snorm:{gl:36759,r:xn},rgba8uint:{gl:36220},rgba8sint:{gl:36238},bgra8unorm:{},"bgra8unorm-srgb":{},rg16uint:{gl:33338},rg16sint:{gl:33337},rg16float:{gl:33327,rb:!0,r:yn},rg16unorm:{gl:33324,r:Pn},rg16snorm:{gl:36761,r:Cn},r32uint:{gl:33334,rb:!0},r32sint:{gl:33333,rb:!0},r32float:{gl:33326,r:sr},rgb9e5ufloat:{gl:35901,r:dc},rg11b10ufloat:{gl:35898,rb:!0},rgb10a2unorm:{gl:32857,rb:!0},rgb10a2uint:{gl:36975,rb:!0},"rgb16unorm-webgl":{gl:32852,r:!1},"rgb16snorm-webgl":{gl:36762,r:!1},rg32uint:{gl:33340,rb:!0},rg32sint:{gl:33339,rb:!0},rg32float:{gl:33328,rb:!0,r:sr},rgba16uint:{gl:36214,rb:!0},rgba16sint:{gl:36232,rb:!0},rgba16float:{gl:34842,r:yn},rgba16unorm:{gl:32859,rb:!0,r:Pn},rgba16snorm:{gl:36763,r:Cn},"rgb32float-webgl":{gl:34837,x:Ss,r:sr,dataFormat:6407,types:[5126]},rgba32uint:{gl:36208,rb:!0},rgba32sint:{gl:36226,rb:!0},rgba32float:{gl:34836,rb:!0,r:sr},stencil8:{gl:36168,rb:!0},depth16unorm:{gl:33189,dataFormat:6402,types:[5123],rb:!0},depth24plus:{gl:33190,dataFormat:6402,types:[5125]},depth32float:{gl:36012,dataFormat:6402,types:[5126],rb:!0},"depth24plus-stencil8":{gl:35056,rb:!0,depthTexture:!0,dataFormat:34041,types:[34042]},"depth32float-stencil8":{gl:36013,dataFormat:34041,types:[36269],rb:!0},"bc1-rgb-unorm-webgl":{gl:33776,x:ye},"bc1-rgb-unorm-srgb-webgl":{gl:35916,x:Ie},"bc1-rgba-unorm":{gl:33777,x:ye},"bc1-rgba-unorm-srgb":{gl:35916,x:Ie},"bc2-rgba-unorm":{gl:33778,x:ye},"bc2-rgba-unorm-srgb":{gl:35918,x:Ie},"bc3-rgba-unorm":{gl:33779,x:ye},"bc3-rgba-unorm-srgb":{gl:35919,x:Ie},"bc4-r-unorm":{gl:36283,x:Qt},"bc4-r-snorm":{gl:36284,x:Qt},"bc5-rg-unorm":{gl:36285,x:Qt},"bc5-rg-snorm":{gl:36286,x:Qt},"bc6h-rgb-ufloat":{gl:36495,x:Jt},"bc6h-rgb-float":{gl:36494,x:Jt},"bc7-rgba-unorm":{gl:36492,x:Jt},"bc7-rgba-unorm-srgb":{gl:36493,x:Jt},"etc2-rgb8unorm":{gl:37492},"etc2-rgb8unorm-srgb":{gl:37494},"etc2-rgb8a1unorm":{gl:37496},"etc2-rgb8a1unorm-srgb":{gl:37497},"etc2-rgba8unorm":{gl:37493},"etc2-rgba8unorm-srgb":{gl:37495},"eac-r11unorm":{gl:37488},"eac-r11snorm":{gl:37489},"eac-rg11unorm":{gl:37490},"eac-rg11snorm":{gl:37491},"astc-4x4-unorm":{gl:37808},"astc-4x4-unorm-srgb":{gl:37840},"astc-5x4-unorm":{gl:37809},"astc-5x4-unorm-srgb":{gl:37841},"astc-5x5-unorm":{gl:37810},"astc-5x5-unorm-srgb":{gl:37842},"astc-6x5-unorm":{gl:37811},"astc-6x5-unorm-srgb":{gl:37843},"astc-6x6-unorm":{gl:37812},"astc-6x6-unorm-srgb":{gl:37844},"astc-8x5-unorm":{gl:37813},"astc-8x5-unorm-srgb":{gl:37845},"astc-8x6-unorm":{gl:37814},"astc-8x6-unorm-srgb":{gl:37846},"astc-8x8-unorm":{gl:37815},"astc-8x8-unorm-srgb":{gl:37847},"astc-10x5-unorm":{gl:37816},"astc-10x5-unorm-srgb":{gl:37848},"astc-10x6-unorm":{gl:37817},"astc-10x6-unorm-srgb":{gl:37849},"astc-10x8-unorm":{gl:37818},"astc-10x8-unorm-srgb":{gl:37850},"astc-10x10-unorm":{gl:37819},"astc-10x10-unorm-srgb":{gl:37851},"astc-12x10-unorm":{gl:37820},"astc-12x10-unorm-srgb":{gl:37852},"astc-12x12-unorm":{gl:37821},"astc-12x12-unorm-srgb":{gl:37853},"pvrtc-rgb4unorm-webgl":{gl:35840},"pvrtc-rgba4unorm-webgl":{gl:35842},"pvrtc-rgb2unorm-webgl":{gl:35841},"pvrtc-rgba2unorm-webgl":{gl:35843},"etc1-rbg-unorm-webgl":{gl:36196},"atc-rgb-unorm-webgl":{gl:35986},"atc-rgba-unorm-webgl":{gl:35986},"atc-rgbai-unorm-webgl":{gl:34798}}});var ys,Cs,lr,Is=C(()=>{ys=D(B(),1);Ce();Gt();Cs={"depth-clip-control":"EXT_depth_clamp","timestamp-query":"EXT_disjoint_timer_query_webgl2","compilation-status-async-webgl":"KHR_parallel_shader_compile","polygon-mode-webgl":"WEBGL_polygon_mode","provoking-vertex-webgl":"WEBGL_provoking_vertex","shader-clip-cull-distance-webgl":"WEBGL_clip_cull_distance","shader-noperspective-interpolation-webgl":"NV_shader_noperspective_interpolation","shader-conservative-depth-webgl":"EXT_conservative_depth"},lr=class extends ys.DeviceFeatures{gl;extensions;testedFeatures=new Set;constructor(e,r,n){super([],n),this.gl=e,this.extensions=r,st(e,"EXT_color_buffer_float",r)}*[Symbol.iterator](){let e=this.getFeatures();for(let r of e)this.has(r)&&(yield r);return[]}has(e){return this.disabledFeatures?.[e]?!1:(this.testedFeatures.has(e)||(this.testedFeatures.add(e),bs(e)&&Nn(this.gl,e,this.extensions)&&this.features.add(e),this.getWebGLFeature(e)&&this.features.add(e)),this.features.has(e))}initializeFeatures(){let e=this.getFeatures().filter(r=>r!=="polygon-mode-webgl");for(let r of e)this.has(r)}getFeatures(){return[...Object.keys(Cs),...Object.keys(or)]}getWebGLFeature(e){let r=Cs[e];return Boolean(typeof r=="string"?st(this.gl,r,this.extensions):r)}}});var Ns,hr,Os=C(()=>{Ns=D(B(),1),hr=class extends Ns.DeviceLimits{get maxTextureDimension1D(){return 0}get maxTextureDimension2D(){return this.getParameter(3379)}get maxTextureDimension3D(){return this.getParameter(32883)}get maxTextureArrayLayers(){return this.getParameter(35071)}get maxBindGroups(){return 0}get maxDynamicUniformBuffersPerPipelineLayout(){return 0}get maxDynamicStorageBuffersPerPipelineLayout(){return 0}get maxSampledTexturesPerShaderStage(){return this.getParameter(35660)}get maxSamplersPerShaderStage(){return this.getParameter(35661)}get maxStorageBuffersPerShaderStage(){return 0}get maxStorageTexturesPerShaderStage(){return 0}get maxUniformBuffersPerShaderStage(){return this.getParameter(35375)}get maxUniformBufferBindingSize(){return this.getParameter(35376)}get maxStorageBufferBindingSize(){return 0}get minUniformBufferOffsetAlignment(){return this.getParameter(35380)}get minStorageBufferOffsetAlignment(){return 0}get maxVertexBuffers(){return 16}get maxVertexAttributes(){return this.getParameter(34921)}get maxVertexBufferArrayStride(){return 2048}get maxInterStageShaderVariables(){return this.getParameter(35659)}get maxComputeWorkgroupStorageSize(){return 0}get maxComputeInvocationsPerWorkgroup(){return 0}get maxComputeWorkgroupSizeX(){return 0}get maxComputeWorkgroupSizeY(){return 0}get maxComputeWorkgroupSizeZ(){return 0}get maxComputeWorkgroupsPerDimension(){return 0}gl;limits={};constructor(e){super(),this.gl=e}getParameter(e){return this.limits[e]===void 0&&(this.limits[e]=this.gl.getParameter(e)),this.limits[e]||0}}});function gc(t){return t<34069?t+34069:t}function Tc(t){switch(t){case 36053:return"success";case 36054:return"Mismatched attachments";case 36055:return"No attachments";case 36057:return"Height/width mismatch";case 36061:return"Unsupported or split attachments";case 36182:return"Samples mismatch";default:return`${t}`}}var ws,_t,fr=C(()=>{ws=D(B(),1);Gt();_t=class extends ws.Framebuffer{device;gl;handle;colorAttachments=[];depthStencilAttachment=null;constructor(e,r){super(e,r);let n=r.handle===null;this.device=e,this.gl=e.gl,this.handle=this.props.handle||n?this.props.handle:this.gl.createFramebuffer(),n||(e._setWebGLDebugMetadata(this.handle,this,{spector:this.props}),r.handle||(this.autoCreateAttachmentTextures(),this.updateAttachments()))}destroy(){super.destroy(),!this.destroyed&&this.handle!==null&&!this.props.handle&&this.gl.deleteFramebuffer(this.handle)}updateAttachments(){let e=this.gl.bindFramebuffer(36160,this.handle);for(let r=0;r<this.colorAttachments.length;++r){let n=this.colorAttachments[r];if(n){let i=36064+r;this._attachTextureView(i,n)}}if(this.depthStencilAttachment){let r=Ps(this.depthStencilAttachment.props.format);this._attachTextureView(r,this.depthStencilAttachment)}if(this.device.props.debug){let r=this.gl.checkFramebufferStatus(36160);if(r!==36053)throw new Error(`Framebuffer ${Tc(r)}`)}this.gl.bindFramebuffer(36160,e)}_attachTextureView(e,r){let{gl:n}=this.device,{texture:i}=r,s=r.props.baseMipLevel,o=r.props.baseArrayLayer;switch(n.bindTexture(i.glTarget,i.handle),i.glTarget){case 35866:case 32879:n.framebufferTextureLayer(36160,e,i.handle,s,o);break;case 34067:let a=gc(o);n.framebufferTexture2D(36160,e,a,i.handle,s);break;case 3553:n.framebufferTexture2D(36160,e,3553,i.handle,s);break;default:throw new Error("Illegal texture type")}n.bindTexture(i.glTarget,null)}resizeAttachments(e,r){if(this.handle===null){this.width=e,this.height=r;return}super.resizeAttachments(e,r)}}});var Fs,dr,Ds=C(()=>{Fs=D(B(),1);fr();dr=class extends Fs.CanvasContext{device;handle=null;_framebuffer=null;get[Symbol.toStringTag](){return"WebGLCanvasContext"}constructor(e,r){super(r),this.device=e,this._setAutoCreatedCanvasId(`${this.device.id}-canvas`),this._configureDevice()}_configureDevice(){(this.drawingBufferWidth!==this._framebuffer?.width||this.drawingBufferHeight!==this._framebuffer?.height)&&this._framebuffer?.resize([this.drawingBufferWidth,this.drawingBufferHeight])}_getCurrentFramebuffer(){return this._framebuffer||=new _t(this.device,{id:"canvas-context-framebuffer",handle:null,width:this.drawingBufferWidth,height:this.drawingBufferHeight}),this._framebuffer}}});var Bs,pr,vs=C(()=>{Bs=D(B(),1),pr=class extends Bs.PresentationContext{device;handle=null;context2d;get[Symbol.toStringTag](){return"WebGLPresentationContext"}constructor(e,r={}){super(r),this.device=e;let n=`${this[Symbol.toStringTag]}(${this.id})`;if(!this.device.getDefaultCanvasContext().offscreenCanvas)throw new Error(`${n}: WebGL PresentationContext requires the default CanvasContext canvas to be an OffscreenCanvas`);let s=this.canvas.getContext("2d");if(!s)throw new Error(`${n}: Failed to create 2d presentation context`);this.context2d=s,this._setAutoCreatedCanvasId(`${this.device.id}-presentation-canvas`),this._configureDevice(),this._startObservers()}present(){this._resizeDrawingBufferIfNeeded(),this.device.submit();let e=this.device.getDefaultCanvasContext(),[r,n]=e.getDrawingBufferSize();if(!(this.drawingBufferWidth===0||this.drawingBufferHeight===0||r===0||n===0||e.canvas.width===0||e.canvas.height===0)){if(r!==this.drawingBufferWidth||n!==this.drawingBufferHeight||e.canvas.width!==this.drawingBufferWidth||e.canvas.height!==this.drawingBufferHeight)throw new Error(`${this[Symbol.toStringTag]}(${this.id}): Default canvas context size ${r}x${n} does not match presentation size ${this.drawingBufferWidth}x${this.drawingBufferHeight}`);this.context2d.clearRect(0,0,this.drawingBufferWidth,this.drawingBufferHeight),this.context2d.drawImage(e.canvas,0,0)}}_configureDevice(){}_getCurrentFramebuffer(e){let r=this.device.getDefaultCanvasContext();return r.setDrawingBufferSize(this.drawingBufferWidth,this.drawingBufferHeight),r.getCurrentFramebuffer(e)}}});function Us(t="id"){On[t]=On[t]||1;let e=On[t]++;return`${t}-${e}`}var On,Vs=C(()=>{On={}});function mc(t){return t&Dt.Buffer.INDEX?34963:t&Dt.Buffer.VERTEX?34962:t&Dt.Buffer.UNIFORM?35345:34962}function Rc(t){return t&Dt.Buffer.INDEX||t&Dt.Buffer.VERTEX?35044:t&Dt.Buffer.UNIFORM?35048:35044}var Dt,ot,ur=C(()=>{Dt=D(B(),1),ot=class extends Dt.Buffer{device;gl;handle;glTarget;glUsage;glIndexType=5123;byteLength=0;bytesUsed=0;constructor(e,r={}){super(e,r),this.device=e,this.gl=this.device.gl;let n=typeof r=="object"?r.handle:void 0;this.handle=n||this.gl.createBuffer(),e._setWebGLDebugMetadata(this.handle,this,{spector:{...this.props,data:typeof this.props.data}}),this.glTarget=mc(this.props.usage),this.glUsage=Rc(this.props.usage),this.glIndexType=this.props.indexType==="uint32"?5125:5123,r.data?this._initWithData(r.data,r.byteOffset,r.byteLength):this._initWithByteLength(r.byteLength||0)}destroy(){!this.destroyed&&this.handle&&(this.removeStats(),this.props.handle?this.trackDeallocatedReferencedMemory("Buffer"):(this.trackDeallocatedMemory(),this.gl.deleteBuffer(this.handle)),this.destroyed=!0,this.handle=null)}_initWithData(e,r=0,n=e.byteLength+r){let i=this.glTarget;this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.glUsage),this.gl.bufferSubData(i,r,e),this.gl.bindBuffer(i,null),this.bytesUsed=n,this.byteLength=n,this._setDebugData(e,r,n),this.props.handle?this.trackReferencedMemory(n,"Buffer"):this.trackAllocatedMemory(n)}_initWithByteLength(e){let r=e;e===0&&(r=new Float32Array(0));let n=this.glTarget;return this.gl.bindBuffer(n,this.handle),this.gl.bufferData(n,r,this.glUsage),this.gl.bindBuffer(n,null),this.bytesUsed=e,this.byteLength=e,this._setDebugData(null,0,e),this.props.handle?this.trackReferencedMemory(e,"Buffer"):this.trackAllocatedMemory(e),this}write(e,r=0){let n=ArrayBuffer.isView(e)?e:new Uint8Array(e),i=0,s=void 0,o=36663;this.gl.bindBuffer(o,this.handle),i!==0||s!==void 0?this.gl.bufferSubData(o,r,n,i,s):this.gl.bufferSubData(o,r,n),this.gl.bindBuffer(o,null),this._setDebugData(e,r,e.byteLength)}async mapAndWriteAsync(e,r=0,n=this.byteLength-r){let i=new ArrayBuffer(n);await e(i,"copied"),this.write(i,r)}async readAsync(e=0,r){return this.readSyncWebGL(e,r)}async mapAndReadAsync(e,r=0,n){let i=await this.readAsync(r,n);return await e(i.buffer,"copied")}readSyncWebGL(e=0,r){r=r??this.byteLength-e;let n=new Uint8Array(r),i=0;return this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,e,n,i,r),this.gl.bindBuffer(36662,null),this._setDebugData(n,e,r),n}}});function ks(t){let e=t.split(/\r?\n/),r=[];for(let n of e){if(n.length<=1)continue;let i=n.trim(),s=n.split(":"),o=s[0]?.trim();if(s.length===2){let[p,_]=s;if(!p||!_){r.push({message:i,type:_r(o||"info"),lineNum:0,linePos:0});continue}r.push({message:_.trim(),type:_r(p),lineNum:0,linePos:0});continue}let[a,c,l,...h]=s;if(!a||!c||!l){r.push({message:s.slice(1).join(":").trim()||i,type:_r(o||"info"),lineNum:0,linePos:0});continue}let f=parseInt(l,10);Number.isNaN(f)&&(f=0);let d=parseInt(c,10);Number.isNaN(d)&&(d=0),r.push({message:h.join(":").trim(),type:_r(a),lineNum:f,linePos:d})}return r}function _r(t){let e=["warning","error","info"],r=t.toLowerCase();return e.includes(r)?r:"info"}var Xs=C(()=>{});var Ne,gr,Ws=C(()=>{Ne=D(B(),1);Xs();gr=class extends Ne.Shader{device;handle;constructor(e,r){switch(super(e,r),this.device=e,this.props.stage){case"vertex":this.handle=this.props.handle||this.device.gl.createShader(35633);break;case"fragment":this.handle=this.props.handle||this.device.gl.createShader(35632);break;default:throw new Error(this.props.stage)}e._setWebGLDebugMetadata(this.handle,this,{spector:this.props});let n=this._compile(this.source);n&&typeof n.catch=="function"&&n.catch(()=>{this.compilationStatus="error"})}destroy(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0,this.handle.destroyed=!0)}get asyncCompilationStatus(){return this._waitForCompilationComplete().then(()=>(this._getCompilationStatus(),this.compilationStatus))}async getCompilationInfo(){return await this._waitForCompilationComplete(),this.getCompilationInfoSync()}getCompilationInfoSync(){let e=this.device.gl.getShaderInfoLog(this.handle);return e?ks(e):[]}getTranslatedSource(){return this.device.getExtension("WEBGL_debug_shaders").WEBGL_debug_shaders?.getTranslatedShaderSource(this.handle)||null}_compile(e){e=e.startsWith("#version ")?e:`#version 300 es
8
- ${e}`;let{gl:r}=this.device;if(r.shaderSource(this.handle,e),r.compileShader(this.handle),!this.device.props.debug){this.compilationStatus="pending";return}if(!this.device.features.has("compilation-status-async-webgl")){if(this._getCompilationStatus(),this.debugShader(),this.compilationStatus==="error")throw new Error(`GLSL compilation errors in ${this.props.stage} shader ${this.props.id}`);return}return Ne.log.once(1,"Shader compilation is asynchronous")(),this._waitForCompilationComplete().then(()=>{Ne.log.info(2,`Shader ${this.id} - async compilation complete: ${this.compilationStatus}`)(),this._getCompilationStatus(),this.debugShader()})}async _waitForCompilationComplete(){let e=async i=>await new Promise(s=>setTimeout(s,i));if(!this.device.features.has("compilation-status-async-webgl")){await e(10);return}let{gl:n}=this.device;for(;;){if(n.getShaderParameter(this.handle,37297))return;await e(10)}}_getCompilationStatus(){this.compilationStatus=this.device.gl.getShaderParameter(this.handle,35713)?"success":"error"}}});function zs(t,e,r,n){if(bc(e))return n(t);let i=t;i.pushState();try{return Ec(t,e),nt(i.gl,r),n(t)}finally{i.popState()}}function Ec(t,e){let r=t,{gl:n}=r;if(e.cullMode)switch(e.cullMode){case"none":n.disable(2884);break;case"front":n.enable(2884),n.cullFace(1028);break;case"back":n.enable(2884),n.cullFace(1029);break}if(e.frontFace&&n.frontFace(Wt("frontFace",e.frontFace,{ccw:2305,cw:2304})),e.unclippedDepth&&t.features.has("depth-clip-control")&&n.enable(34383),e.depthBias!==void 0&&(n.enable(32823),n.polygonOffset(e.depthBias,e.depthBiasSlopeScale||0)),e.provokingVertex&&t.features.has("provoking-vertex-webgl")){let s=r.getExtension("WEBGL_provoking_vertex").WEBGL_provoking_vertex,o=Wt("provokingVertex",e.provokingVertex,{first:36429,last:36430});s?.provokingVertexWEBGL(o)}if((e.polygonMode||e.polygonOffsetLine)&&t.features.has("polygon-mode-webgl")){if(e.polygonMode){let s=r.getExtension("WEBGL_polygon_mode").WEBGL_polygon_mode,o=Wt("polygonMode",e.polygonMode,{fill:6914,line:6913});s?.polygonModeWEBGL(1028,o),s?.polygonModeWEBGL(1029,o)}e.polygonOffsetLine&&n.enable(10754)}if(t.features.has("shader-clip-cull-distance-webgl")&&(e.clipDistance0&&n.enable(12288),e.clipDistance1&&n.enable(12289),e.clipDistance2&&n.enable(12290),e.clipDistance3&&n.enable(12291),e.clipDistance4&&n.enable(12292),e.clipDistance5&&n.enable(12293),e.clipDistance6&&n.enable(12294),e.clipDistance7&&n.enable(12295)),e.depthWriteEnabled!==void 0&&n.depthMask(Sc("depthWriteEnabled",e.depthWriteEnabled)),e.depthCompare&&(e.depthCompare!=="always"?n.enable(2929):n.disable(2929),n.depthFunc(mr("depthCompare",e.depthCompare))),e.clearDepth!==void 0&&n.clearDepth(e.clearDepth),e.stencilWriteMask){let i=e.stencilWriteMask;n.stencilMaskSeparate(1028,i),n.stencilMaskSeparate(1029,i)}if(e.stencilReadMask&&Ls.log.warn("stencilReadMask not supported under WebGL"),e.stencilCompare){let i=e.stencilReadMask||4294967295,s=mr("depthCompare",e.stencilCompare);e.stencilCompare!=="always"?n.enable(2960):n.disable(2960),n.stencilFuncSeparate(1028,s,0,i),n.stencilFuncSeparate(1029,s,0,i)}if(e.stencilPassOperation&&e.stencilFailOperation&&e.stencilDepthFailOperation){let i=wn("stencilPassOperation",e.stencilPassOperation),s=wn("stencilFailOperation",e.stencilFailOperation),o=wn("stencilDepthFailOperation",e.stencilDepthFailOperation);n.stencilOpSeparate(1028,s,o,i),n.stencilOpSeparate(1029,s,o,i)}switch(e.blend){case!0:n.enable(3042);break;case!1:n.disable(3042);break;default:}if(e.blendColorOperation||e.blendAlphaOperation){let i=Hs("blendColorOperation",e.blendColorOperation||"add"),s=Hs("blendAlphaOperation",e.blendAlphaOperation||"add");n.blendEquationSeparate(i,s);let o=Tr("blendColorSrcFactor",e.blendColorSrcFactor||"one"),a=Tr("blendColorDstFactor",e.blendColorDstFactor||"zero"),c=Tr("blendAlphaSrcFactor",e.blendAlphaSrcFactor||"one"),l=Tr("blendAlphaDstFactor",e.blendAlphaDstFactor||"zero");n.blendFuncSeparate(o,a,c,l)}}function mr(t,e){return Wt(t,e,{never:512,less:513,equal:514,"less-equal":515,greater:516,"not-equal":517,"greater-equal":518,always:519})}function wn(t,e){return Wt(t,e,{keep:7680,zero:0,replace:7681,invert:5386,"increment-clamp":7682,"decrement-clamp":7683,"increment-wrap":34055,"decrement-wrap":34056})}function Hs(t,e){return Wt(t,e,{add:32774,subtract:32778,"reverse-subtract":32779,min:32775,max:32776})}function Tr(t,e,r="color"){return Wt(t,e,{one:1,zero:0,src:768,"one-minus-src":769,dst:774,"one-minus-dst":775,"src-alpha":770,"one-minus-src-alpha":771,"dst-alpha":772,"one-minus-dst-alpha":773,"src-alpha-saturated":776,constant:r==="color"?32769:32771,"one-minus-constant":r==="color"?32770:32772,src1:768,"one-minus-src1":769,"src1-alpha":770,"one-minus-src1-alpha":771})}function Ac(t,e){return`Illegal parameter ${e} for ${t}`}function Wt(t,e,r){if(!(e in r))throw new Error(Ac(t,e));return r[e]}function Sc(t,e){return e}function bc(t){let e=!0;for(let r in t){e=!1;break}return e}var Ls,Fn=C(()=>{Ls=D(B(),1);qt()});function Rr(t){let e={};return t.addressModeU&&(e[10242]=Dn(t.addressModeU)),t.addressModeV&&(e[10243]=Dn(t.addressModeV)),t.addressModeW&&(e[32882]=Dn(t.addressModeW)),t.magFilter&&(e[10240]=Bn(t.magFilter)),(t.minFilter||t.mipmapFilter)&&(e[10241]=Mc(t.minFilter||"linear",t.mipmapFilter)),t.lodMinClamp!==void 0&&(e[33082]=t.lodMinClamp),t.lodMaxClamp!==void 0&&(e[33083]=t.lodMaxClamp),t.type==="comparison-sampler"&&(e[34892]=34894),t.compare&&(e[34893]=mr("compare",t.compare)),t.maxAnisotropy&&(e[34046]=t.maxAnisotropy),e}function Dn(t){switch(t){case"clamp-to-edge":return 33071;case"repeat":return 10497;case"mirror-repeat":return 33648}}function Bn(t){switch(t){case"nearest":return 9728;case"linear":return 9729}}function Mc(t,e="none"){if(!e)return Bn(t);switch(e){case"none":return Bn(t);case"nearest":switch(t){case"nearest":return 9984;case"linear":return 9985}break;case"linear":switch(t){case"nearest":return 9986;case"linear":return 9987}}}var vn=C(()=>{Fn()});var Ys,Er,Ks=C(()=>{Ys=D(B(),1);vn();Er=class extends Ys.Sampler{device;handle;parameters;constructor(e,r){super(e,r),this.device=e,this.parameters=Rr(r),this.handle=r.handle||this.device.gl.createSampler(),this._setSamplerParameters(this.parameters)}destroy(){this.handle&&(this.device.gl.deleteSampler(this.handle),this.handle=void 0)}toString(){return`Sampler(${this.id},${JSON.stringify(this.props)})`}_setSamplerParameters(e){for(let[r,n]of Object.entries(e)){let i=Number(r);switch(i){case 33082:case 33083:this.device.gl.samplerParameterf(this.handle,i,n);break;default:this.device.gl.samplerParameteri(this.handle,i,n);break}}}}});function gt(t,e,r){if(xc(e))return r(t);let{nocatch:n=!0}=e,i=it.get(t);i.push(),nt(t,e);let s;if(n)s=r(t),i.pop();else try{s=r(t)}finally{i.pop()}return s}function xc(t){for(let e in t)return!1;return!0}var Ar=C(()=>{qt();bn()});var Sr,Tt,Un=C(()=>{Sr=D(B(),1),Tt=class extends Sr.TextureView{device;gl;handle;texture;constructor(e,r){super(e,{...Sr.Texture.defaultProps,...r}),this.device=e,this.gl=this.device.gl,this.handle=null,this.texture=r.texture}}});function br(t){return Pc[t]}var Pc,Vn=C(()=>{Pc={[5124]:"sint32",[5125]:"uint32",[5122]:"sint16",[5123]:"uint16",[5120]:"sint8",[5121]:"uint8",[5126]:"float32",[5131]:"float16",[33635]:"uint16",[32819]:"uint16",[32820]:"uint16",[33640]:"uint32",[35899]:"uint32",[35902]:"uint32",[34042]:"uint32",[36269]:"uint32"}});function Cc(t,e=0){return e?new t.constructor(t.buffer,t.byteOffset+e,(t.byteLength-e)/t.BYTES_PER_ELEMENT):t}function yc(t,e){if(e%t.BYTES_PER_ELEMENT!==0)throw new Error(`Texture byteOffset ${e} must align to typed array element size ${t.BYTES_PER_ELEMENT}`);return e/t.BYTES_PER_ELEMENT}function Ic(t){switch(t){case"1d":break;case"2d":return 3553;case"3d":return 32879;case"cube":return 34067;case"2d-array":return 35866;case"cube-array":break}throw new Error(t)}function Mr(t,e,r){return e==="cube"?34069+r:t}var Bt,mt,xr=C(()=>{Bt=D(B(),1);Gt();vn();Ar();Un();Vn();mt=class extends Bt.Texture{device;gl;handle;sampler=void 0;view;glTarget;glFormat;glType;glInternalFormat;compressed;_textureUnit=0;_framebuffer=null;_framebufferAttachmentKey=null;constructor(e,r){super(e,r,{byteAlignment:1}),this.device=e,this.gl=this.device.gl;let n=cr(this.props.format);this.glTarget=Ic(this.props.dimension),this.glInternalFormat=n.internalFormat,this.glFormat=n.format,this.glType=n.type,this.compressed=n.compressed,this.handle=this.props.handle||this.gl.createTexture(),this.device._setWebGLDebugMetadata(this.handle,this,{spector:this.props}),this.gl.bindTexture(this.glTarget,this.handle);let{dimension:i,width:s,height:o,depth:a,mipLevels:c,glTarget:l,glInternalFormat:h}=this;if(!this.compressed)switch(i){case"2d":case"cube":this.gl.texStorage2D(l,c,h,s,o);break;case"2d-array":case"3d":this.gl.texStorage3D(l,c,h,s,o,a);break;default:throw new Error(i)}this.gl.bindTexture(this.glTarget,null),this._initializeData(r.data),this.props.handle?this.trackReferencedMemory(this.getAllocatedByteLength(),"Texture"):this.trackAllocatedMemory(this.getAllocatedByteLength(),"Texture"),this.setSampler(this.props.sampler),this.view=new Tt(this.device,{...this.props,texture:this}),Object.seal(this)}destroy(){this.handle&&(this._framebuffer?.destroy(),this._framebuffer=null,this._framebufferAttachmentKey=null,this.removeStats(),this.props.handle?this.trackDeallocatedReferencedMemory("Texture"):(this.gl.deleteTexture(this.handle),this.trackDeallocatedMemory("Texture")),this.destroyed=!0)}createView(e){return new Tt(this.device,{...e,texture:this})}setSampler(e={}){super.setSampler(e);let r=Rr(this.sampler.props);this._setSamplerParameters(r)}copyExternalImage(e){let r=this._normalizeCopyExternalImageOptions(e);if(r.sourceX||r.sourceY)throw new Error("WebGL does not support sourceX/sourceY)");let{glFormat:n,glType:i}=this,{image:s,depth:o,mipLevel:a,x:c,y:l,z:h,width:f,height:d}=r,p=Mr(this.glTarget,this.dimension,h),_=r.flipY?{[37440]:!0}:{};return this.gl.bindTexture(this.glTarget,this.handle),gt(this.gl,_,()=>{switch(this.dimension){case"2d":case"cube":this.gl.texSubImage2D(p,a,c,l,f,d,n,i,s);break;case"2d-array":case"3d":this.gl.texSubImage3D(p,a,c,l,h,f,d,o,n,i,s);break;default:}}),this.gl.bindTexture(this.glTarget,null),{width:r.width,height:r.height}}copyImageData(e){super.copyImageData(e)}readBuffer(e={},r){if(!r)throw new Error(`${this} readBuffer requires a destination buffer`);let n=this._getSupportedColorReadOptions(e),i=e.byteOffset??0,s=this.computeMemoryLayout(n);if(r.byteLength<i+s.byteLength)throw new Error(`${this} readBuffer target is too small (${r.byteLength} < ${i+s.byteLength})`);let o=r;this.gl.bindBuffer(35051,o.handle);try{this._readColorTextureLayers(n,s,a=>{this.gl.readPixels(n.x,n.y,n.width,n.height,this.glFormat,this.glType,i+a)})}finally{this.gl.bindBuffer(35051,null)}return r}async readDataAsync(e={}){throw new Error(`${this} readDataAsync is deprecated; use readBuffer() with an explicit destination buffer or DynamicTexture.readAsync()`)}writeBuffer(e,r={}){let n=this._normalizeTextureWriteOptions(r),{width:i,height:s,depthOrArrayLayers:o,mipLevel:a,byteOffset:c,x:l,y:h,z:f}=n,{glFormat:d,glType:p,compressed:_}=this,g=Mr(this.glTarget,this.dimension,f);if(_)throw new Error("writeBuffer for compressed textures is not implemented in WebGL");let{bytesPerPixel:u}=this.device.getTextureFormatInfo(this.format),T=u?n.bytesPerRow/u:void 0,b={[3317]:this.byteAlignment,...T!==void 0?{[3314]:T}:{},[32878]:n.rowsPerImage};this.gl.bindTexture(this.glTarget,this.handle),this.gl.bindBuffer(35052,e.handle),gt(this.gl,b,()=>{switch(this.dimension){case"2d":case"cube":this.gl.texSubImage2D(g,a,l,h,i,s,d,p,c);break;case"2d-array":case"3d":this.gl.texSubImage3D(g,a,l,h,f,i,s,o,d,p,c);break;default:}}),this.gl.bindBuffer(35052,null),this.gl.bindTexture(this.glTarget,null)}writeData(e,r={}){let n=this._normalizeTextureWriteOptions(r),i=ArrayBuffer.isView(e)?e:new Uint8Array(e),{width:s,height:o,depthOrArrayLayers:a,mipLevel:c,x:l,y:h,z:f,byteOffset:d}=n,{glFormat:p,glType:_,compressed:g}=this,u=Mr(this.glTarget,this.dimension,f),T;if(!g){let{bytesPerPixel:m}=this.device.getTextureFormatInfo(this.format);m&&(T=n.bytesPerRow/m)}let b=this.compressed?{}:{[3317]:this.byteAlignment,...T!==void 0?{[3314]:T}:{},[32878]:n.rowsPerImage},R=yc(i,d),E=g?Cc(i,d):i,A=this._getMipLevelSize(c),M=l===0&&h===0&&f===0&&s===A.width&&o===A.height&&a===A.depthOrArrayLayers;this.gl.bindTexture(this.glTarget,this.handle),this.gl.bindBuffer(35052,null),gt(this.gl,b,()=>{switch(this.dimension){case"2d":case"cube":g?M?this.gl.compressedTexImage2D(u,c,p,s,o,0,E):this.gl.compressedTexSubImage2D(u,c,l,h,s,o,p,E):this.gl.texSubImage2D(u,c,l,h,s,o,p,_,i,R);break;case"2d-array":case"3d":g?M?this.gl.compressedTexImage3D(u,c,p,s,o,a,0,E):this.gl.compressedTexSubImage3D(u,c,l,h,f,s,o,a,p,E):this.gl.texSubImage3D(u,c,l,h,f,s,o,a,p,_,i,R);break;default:}}),this.gl.bindTexture(this.glTarget,null)}_getRowByteAlignment(e,r){return 1}_getFramebuffer(){return this._framebuffer||=this.device.createFramebuffer({id:`framebuffer-for-${this.id}`,width:this.width,height:this.height,colorAttachments:[this]}),this._framebuffer}readDataSyncWebGL(e={}){let r=this._getSupportedColorReadOptions(e),n=this.computeMemoryLayout(r),i=br(this.glType),s=(0,Bt.getTypedArrayConstructor)(i),o=new s(n.byteLength/s.BYTES_PER_ELEMENT);return this._readColorTextureLayers(r,n,a=>{let c=new s(o.buffer,o.byteOffset+a,n.bytesPerImage/s.BYTES_PER_ELEMENT);this.gl.readPixels(r.x,r.y,r.width,r.height,this.glFormat,this.glType,c)}),o.buffer}_readColorTextureLayers(e,r,n){let i=this._getFramebuffer(),s=r.bytesPerRow/r.bytesPerPixel,o={[3333]:this.byteAlignment,...s!==e.width?{[3330]:s}:{}},a=this.gl.getParameter(3074),c=this.gl.bindFramebuffer(36160,i.handle);try{this.gl.readBuffer(36064),gt(this.gl,o,()=>{for(let l=0;l<e.depthOrArrayLayers;l++)this._attachReadSubresource(i,e.mipLevel,e.z+l),n(l*r.bytesPerImage)})}finally{this.gl.bindFramebuffer(36160,c||null),this.gl.readBuffer(a)}}_attachReadSubresource(e,r,n){let i=`${r}:${n}`;if(this._framebufferAttachmentKey!==i){switch(this.dimension){case"2d":this.gl.framebufferTexture2D(36160,36064,3553,this.handle,r);break;case"cube":this.gl.framebufferTexture2D(36160,36064,Mr(this.glTarget,this.dimension,n),this.handle,r);break;case"2d-array":case"3d":this.gl.framebufferTextureLayer(36160,36064,this.handle,r,n);break;default:throw new Error(`${this} color readback does not support ${this.dimension} textures`)}if(this.device.props.debug){let s=Number(this.gl.checkFramebufferStatus(36160));if(s!==Number(36053))throw new Error(`${e} incomplete for ${this} readback (${s})`)}this._framebufferAttachmentKey=i}}generateMipmapsWebGL(e){if(!(!(this.device.isTextureFormatRenderable(this.props.format)&&this.device.isTextureFormatFilterable(this.props.format))&&(Bt.log.warn(`${this} is not renderable or filterable, may not be able to generate mipmaps`)(),!e?.force)))try{this.gl.bindTexture(this.glTarget,this.handle),this.gl.generateMipmap(this.glTarget)}catch(n){Bt.log.warn(`Error generating mipmap for ${this}: ${n.message}`)()}finally{this.gl.bindTexture(this.glTarget,null)}}_setSamplerParameters(e){Bt.log.log(2,`${this.id} sampler parameters`,this.device.getGLKeys(e))(),this.gl.bindTexture(this.glTarget,this.handle);for(let[r,n]of Object.entries(e)){let i=Number(r),s=n;switch(i){case 33082:case 33083:this.gl.texParameterf(this.glTarget,i,s);break;case 10240:case 10241:this.gl.texParameteri(this.glTarget,i,s);break;case 10242:case 10243:case 32882:this.gl.texParameteri(this.glTarget,i,s);break;case 34046:this.device.features.has("texture-filterable-anisotropic-webgl")&&this.gl.texParameteri(this.glTarget,i,s);break;case 34892:case 34893:this.gl.texParameteri(this.glTarget,i,s);break}}this.gl.bindTexture(this.glTarget,null)}_getActiveUnit(){return this.gl.getParameter(34016)-33984}_bind(e){let{gl:r}=this;return e!==void 0&&(this._textureUnit=e,r.activeTexture(33984+e)),r.bindTexture(this.glTarget,this.handle),e}_unbind(e){let{gl:r}=this;return e!==void 0&&(this._textureUnit=e,r.activeTexture(33984+e)),r.bindTexture(this.glTarget,null),e}}});function js(t,e,r,n){let i=t,s=n;s===!0&&(s=1),s===!1&&(s=0);let o=typeof s=="number"?[s]:s;switch(r){case 35678:case 35680:case 35679:case 35682:case 36289:case 36292:case 36293:case 36298:case 36299:case 36300:case 36303:case 36306:case 36307:case 36308:case 36311:if(typeof n!="number")throw new Error("samplers must be set to integers");return t.uniform1i(e,n);case 5126:return t.uniform1fv(e,o);case 35664:return t.uniform2fv(e,o);case 35665:return t.uniform3fv(e,o);case 35666:return t.uniform4fv(e,o);case 5124:return t.uniform1iv(e,o);case 35667:return t.uniform2iv(e,o);case 35668:return t.uniform3iv(e,o);case 35669:return t.uniform4iv(e,o);case 35670:return t.uniform1iv(e,o);case 35671:return t.uniform2iv(e,o);case 35672:return t.uniform3iv(e,o);case 35673:return t.uniform4iv(e,o);case 5125:return i.uniform1uiv(e,o,1);case 36294:return i.uniform2uiv(e,o,2);case 36295:return i.uniform3uiv(e,o,3);case 36296:return i.uniform4uiv(e,o,4);case 35674:return t.uniformMatrix2fv(e,!1,o);case 35675:return t.uniformMatrix3fv(e,!1,o);case 35676:return t.uniformMatrix4fv(e,!1,o);case 35685:return i.uniformMatrix2x3fv(e,!1,o);case 35686:return i.uniformMatrix2x4fv(e,!1,o);case 35687:return i.uniformMatrix3x2fv(e,!1,o);case 35688:return i.uniformMatrix3x4fv(e,!1,o);case 35689:return i.uniformMatrix4x2fv(e,!1,o);case 35690:return i.uniformMatrix4x3fv(e,!1,o)}throw new Error("Illegal uniform")}var Zs=C(()=>{});function $s(t){switch(t){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 3;case"triangle-list":return 4;case"triangle-strip":return 5;default:throw new Error(t)}}function qs(t){switch(t){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 1;case"triangle-list":return 4;case"triangle-strip":return 4;default:throw new Error(t)}}var kn=C(()=>{});function Nc(t,e){let r={...t,attributes:t.attributes.map(n=>({...n})),bindings:t.bindings.map(n=>({...n}))};for(let n of e?.attributes||[]){let i=r.attributes.find(s=>s.name===n.name);i?(i.type=n.type||i.type,i.stepMode=n.stepMode||i.stepMode):L.log.warn(`shader layout attribute ${n.name} not present in shader`)}for(let n of e?.bindings||[]){let i=Js(r,n.name);if(!i){L.log.warn(`shader layout binding ${n.name} not present in shader`);continue}Object.assign(i,n)}return r}function Js(t,e){return t.bindings.find(r=>r.name===e||r.name===`${e}Uniforms`||`${r.name}Uniforms`===e)}function Qs(t,e){return t[e]||t[`${e}Uniforms`]||t[e.replace(/Uniforms$/,"")]}var L,Pr,Gs=C(()=>{L=D(B(),1);Fn();Zs();ur();fr();xr();Un();kn();Pr=class extends L.RenderPipeline{device;handle;vs;fs;introspectedLayout;bindings={};uniforms={};varyings=null;_uniformCount=0;_uniformSetters={};get[Symbol.toStringTag](){return"WEBGLRenderPipeline"}constructor(e,r){super(e,r),this.device=e;let n=this.sharedRenderPipeline||this.device._createSharedRenderPipelineWebGL(r);this.sharedRenderPipeline=n,this.handle=n.handle,this.vs=n.vs,this.fs=n.fs,this.linkStatus=n.linkStatus,this.introspectedLayout=n.introspectedLayout,this.device._setWebGLDebugMetadata(this.handle,this,{spector:{id:this.props.id}}),this.shaderLayout=r.shaderLayout?Nc(this.introspectedLayout,r.shaderLayout):this.introspectedLayout}destroy(){this.destroyed||(this.sharedRenderPipeline&&!this.props._sharedRenderPipeline&&this.sharedRenderPipeline.destroy(),this.destroyResource())}setBindings(e,r){let n=(0,L.flattenBindingsByGroup)((0,L.normalizeBindingsByGroup)(this.shaderLayout,e));for(let[i,s]of Object.entries(n)){let o=Js(this.shaderLayout,i);if(o){switch(s||L.log.warn(`Unsetting binding "${i}" in render pipeline "${this.id}"`)(),o.type){case"uniform":if(!(s instanceof ot)&&!(s.buffer instanceof ot))throw new Error("buffer value");break;case"texture":if(!(s instanceof Tt||s instanceof mt||s instanceof _t))throw new Error(`${this} Bad texture binding for ${i}`);break;case"sampler":L.log.warn(`Ignoring sampler ${i}`)();break;default:throw new Error(o.type)}this.bindings[i]=s}else{let a=this.shaderLayout.bindings.map(c=>`"${c.name}"`).join(", ");r?.disableWarnings||L.log.warn(`No binding "${i}" in render pipeline "${this.id}", expected one of ${a}`,s)()}}}draw(e){this._syncLinkStatus();let r=e.bindGroups?(0,L.flattenBindingsByGroup)(e.bindGroups):e.bindings||this.bindings,{renderPass:n,parameters:i=this.props.parameters,topology:s=this.props.topology,vertexArray:o,vertexCount:a,instanceCount:c,isInstanced:l=!1,firstVertex:h=0,transformFeedback:f,uniforms:d=this.uniforms}=e,p=$s(s),_=Boolean(o.indexBuffer),g=o.indexBuffer?.glIndexType;if(this.linkStatus!=="success")return L.log.info(2,`RenderPipeline:${this.id}.draw() aborted - waiting for shader linking`)(),!1;if(!this._areTexturesRenderable(r))return L.log.info(2,`RenderPipeline:${this.id}.draw() aborted - textures not yet loaded`)(),!1;this.device.gl.useProgram(this.handle),o.bindBeforeRender(n),f&&f.begin(this.props.topology),this._applyBindings(r,{disableWarnings:this.props.disableWarnings}),this._applyUniforms(d);let u=n;return zs(this.device,i,u.glParameters,()=>{_&&l?this.device.gl.drawElementsInstanced(p,a||0,g,h,c||0):_?this.device.gl.drawElements(p,a||0,g,h):l?this.device.gl.drawArraysInstanced(p,h,a||0,c||0):this.device.gl.drawArrays(p,h,a||0),f&&f.end()}),o.unbindAfterRender(n),!0}_areTexturesRenderable(e){let r=!0;for(let n of this.shaderLayout.bindings)Qs(e,n.name)||(L.log.warn(`Binding ${n.name} not found in ${this.id}`)(),r=!1);return r}_applyBindings(e,r){if(this._syncLinkStatus(),this.linkStatus!=="success")return;let{gl:n}=this.device;n.useProgram(this.handle);let i=0,s=0;for(let o of this.shaderLayout.bindings){let a=Qs(e,o.name);if(!a)throw new Error(`No value for binding ${o.name} in ${this.id}`);switch(o.type){case"uniform":let{name:c}=o,l=n.getUniformBlockIndex(this.handle,c);if(l===4294967295)throw new Error(`Invalid uniform block name ${c}`);if(n.uniformBlockBinding(this.handle,l,s),a instanceof ot)n.bindBufferBase(35345,s,a.handle);else{let f=a;n.bindBufferRange(35345,s,f.buffer.handle,f.offset||0,f.size||f.buffer.byteLength-(f.offset||0))}s+=1;break;case"texture":if(!(a instanceof Tt||a instanceof mt||a instanceof _t))throw new Error("texture");let h;if(a instanceof Tt)h=a.texture;else if(a instanceof mt)h=a;else if(a instanceof _t&&a.colorAttachments[0]instanceof Tt)L.log.warn("Passing framebuffer in texture binding may be deprecated. Use fbo.colorAttachments[0] instead")(),h=a.colorAttachments[0].texture;else throw new Error("No texture");n.activeTexture(33984+i),n.bindTexture(h.glTarget,h.handle),i+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error(`binding type '${o.type}' not supported in WebGL`)}}}_applyUniforms(e){for(let r of this.shaderLayout.uniforms||[]){let{name:n,location:i,type:s,textureUnit:o}=r,a=e[n]??o;a!==void 0&&js(this.device.gl,i,s,a)}}_syncLinkStatus(){this.linkStatus=this.sharedRenderPipeline.linkStatus}}});function to(t){return wc[t]}function Cr(t){return Oc[t]}function yr(t){return Boolean(ro[t])}function eo(t){return ro[t]}var Oc,ro,wc,Ir=C(()=>{Oc={[5126]:"f32",[35664]:"vec2<f32>",[35665]:"vec3<f32>",[35666]:"vec4<f32>",[5124]:"i32",[35667]:"vec2<i32>",[35668]:"vec3<i32>",[35669]:"vec4<i32>",[5125]:"u32",[36294]:"vec2<u32>",[36295]:"vec3<u32>",[36296]:"vec4<u32>",[35670]:"f32",[35671]:"vec2<f32>",[35672]:"vec3<f32>",[35673]:"vec4<f32>",[35674]:"mat2x2<f32>",[35685]:"mat2x3<f32>",[35686]:"mat2x4<f32>",[35687]:"mat3x2<f32>",[35675]:"mat3x3<f32>",[35688]:"mat3x4<f32>",[35689]:"mat4x2<f32>",[35690]:"mat4x3<f32>",[35676]:"mat4x4<f32>"},ro={[35678]:{viewDimension:"2d",sampleType:"float"},[35680]:{viewDimension:"cube",sampleType:"float"},[35679]:{viewDimension:"3d",sampleType:"float"},[35682]:{viewDimension:"3d",sampleType:"depth"},[36289]:{viewDimension:"2d-array",sampleType:"float"},[36292]:{viewDimension:"2d-array",sampleType:"depth"},[36293]:{viewDimension:"cube",sampleType:"float"},[36298]:{viewDimension:"2d",sampleType:"sint"},[36299]:{viewDimension:"3d",sampleType:"sint"},[36300]:{viewDimension:"cube",sampleType:"sint"},[36303]:{viewDimension:"2d-array",sampleType:"uint"},[36306]:{viewDimension:"2d",sampleType:"uint"},[36307]:{viewDimension:"3d",sampleType:"uint"},[36308]:{viewDimension:"cube",sampleType:"uint"},[36311]:{viewDimension:"2d-array",sampleType:"uint"}},wc={uint8:5121,sint8:5120,unorm8:5121,snorm8:5120,uint16:5123,sint16:5122,unorm16:5123,snorm16:5122,uint32:5125,sint32:5124,float16:5131,float32:5126}});function no(t,e){let r={attributes:[],bindings:[]};r.attributes=Fc(t,e);let n=vc(t,e);for(let a of n){let c=a.uniforms.map(l=>({name:l.name,format:l.format,byteOffset:l.byteOffset,byteStride:l.byteStride,arrayLength:l.arrayLength}));r.bindings.push({type:"uniform",name:a.name,group:0,location:a.location,visibility:(a.vertex?1:0)&(a.fragment?2:0),minBindingSize:a.byteLength,uniforms:c})}let i=Bc(t,e),s=0;for(let a of i)if(yr(a.type)){let{viewDimension:c,sampleType:l}=eo(a.type);r.bindings.push({type:"texture",name:a.name,group:0,location:s,viewDimension:c,sampleType:l}),a.textureUnit=s,s+=1}i.length&&(r.uniforms=i);let o=Dc(t,e);return o?.length&&(r.varyings=o),r}function Fc(t,e){let r=[],n=t.getProgramParameter(e,35721);for(let i=0;i<n;i++){let s=t.getActiveAttrib(e,i);if(!s)throw new Error("activeInfo");let{name:o,type:a}=s,c=t.getAttribLocation(e,o);if(c>=0){let l=Cr(a),h=/instance/i.test(o)?"instance":"vertex";r.push({name:o,location:c,stepMode:h,type:l})}}return r.sort((i,s)=>i.location-s.location),r}function Dc(t,e){let r=[],n=t.getProgramParameter(e,35971);for(let i=0;i<n;i++){let s=t.getTransformFeedbackVarying(e,i);if(!s)throw new Error("activeInfo");let{name:o,type:a,size:c}=s,l=Cr(a),{type:h,components:f}=(0,te.getVariableShaderTypeInfo)(l);r.push({location:i,name:o,type:h,size:c*f})}return r.sort((i,s)=>i.location-s.location),r}function Bc(t,e){let r=[],n=t.getProgramParameter(e,35718);for(let i=0;i<n;i++){let s=t.getActiveUniform(e,i);if(!s)throw new Error("activeInfo");let{name:o,size:a,type:c}=s,{name:l,isArray:h}=Uc(o),f=t.getUniformLocation(e,l),d={location:f,name:l,size:a,type:c,isArray:h};if(r.push(d),d.size>1)for(let p=0;p<d.size;p++){let _=`${l}[${p}]`;f=t.getUniformLocation(e,_);let g={...d,name:_,location:f};r.push(g)}}return r}function vc(t,e){let r=(s,o)=>t.getActiveUniformBlockParameter(e,s,o),n=[],i=t.getProgramParameter(e,35382);for(let s=0;s<i;s++){let o={name:t.getActiveUniformBlockName(e,s)||"",location:r(s,35391),byteLength:r(s,35392),vertex:r(s,35396),fragment:r(s,35398),uniformCount:r(s,35394),uniforms:[]},a=r(s,35395)||[],c=t.getActiveUniforms(e,a,35383),l=t.getActiveUniforms(e,a,35384),h=t.getActiveUniforms(e,a,35387),f=t.getActiveUniforms(e,a,35388);for(let _=0;_<o.uniformCount;++_){let g=a[_];if(g!==void 0){let u=t.getActiveUniform(e,g);if(!u)throw new Error("activeInfo");let T=Cr(c[_]);o.uniforms.push({name:u.name,format:T,type:c[_],arrayLength:l[_],byteOffset:h[_],byteStride:f[_]})}}let d=new Set(o.uniforms.map(_=>_.name.split(".")[0]).filter(_=>Boolean(_))),p=o.name.replace(/Uniforms$/,"");if(d.size===1&&!d.has(o.name)&&!d.has(p)){let[_]=d;te.log.warn(`Uniform block "${o.name}" uses GLSL instance "${_}". luma.gl binds uniform buffers by block name ("${o.name}") and alias ("${p}"). Prefer matching the instance name to one of those to avoid confusing silent mismatches.`)()}n.push(o)}return n.sort((s,o)=>s.location-o.location),n}function Uc(t){if(t[t.length-1]!=="]")return{name:t,length:1,isArray:!1};let r=/([^[]*)(\[[0-9]+\])?/.exec(t);return{name:(0,te.assertDefined)(r?.[1],`Failed to parse GLSL uniform name ${t}`),length:r?.[2]?1:0,isArray:Boolean(r?.[2])}}var te,io=C(()=>{te=D(B(),1);Ir()});var At,so,Nr,oo=C(()=>{At=D(B(),1);io();Ir();so=4,Nr=class extends At.SharedRenderPipeline{device;handle;vs;fs;introspectedLayout={attributes:[],bindings:[],uniforms:[]};linkStatus="pending";constructor(e,r){super(e,r),this.device=e,this.handle=r.handle||this.device.gl.createProgram(),this.vs=r.vs,this.fs=r.fs,r.varyings&&r.varyings.length>0&&this.device.gl.transformFeedbackVaryings(this.handle,r.varyings,r.bufferMode||35981),this._linkShaders(),At.log.time(3,`RenderPipeline ${this.id} - shaderLayout introspection`)(),this.introspectedLayout=no(this.device.gl,this.handle),At.log.timeEnd(3,`RenderPipeline ${this.id} - shaderLayout introspection`)()}destroy(){this.destroyed||(this.device.gl.useProgram(null),this.device.gl.deleteProgram(this.handle),this.handle.destroyed=!0,this.destroyResource())}async _linkShaders(){let{gl:e}=this.device;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),At.log.time(so,`linkProgram for ${this.id}`)(),e.linkProgram(this.handle),At.log.timeEnd(so,`linkProgram for ${this.id}`)(),!this.device.features.has("compilation-status-async-webgl")){let n=this._getLinkStatus();this._reportLinkStatus(n);return}At.log.once(1,"RenderPipeline linking is asynchronous")(),await this._waitForLinkComplete(),At.log.info(2,`RenderPipeline ${this.id} - async linking complete: ${this.linkStatus}`)();let r=this._getLinkStatus();this._reportLinkStatus(r)}async _reportLinkStatus(e){switch(e){case"success":return;default:let r=e==="link-error"?"Link error":"Validation error";switch(this.vs.compilationStatus){case"error":throw this.vs.debugShader(),new Error(`${this} ${r} during compilation of ${this.vs}`);case"pending":await this.vs.asyncCompilationStatus,this.vs.debugShader();break;case"success":break}switch(this.fs?.compilationStatus){case"error":throw this.fs.debugShader(),new Error(`${this} ${r} during compilation of ${this.fs}`);case"pending":await this.fs.asyncCompilationStatus,this.fs.debugShader();break;case"success":break}let n=this.device.gl.getProgramInfoLog(this.handle);this.device.reportError(new Error(`${r} during ${e}: ${n}`),this)(),this.device.debug()}}_getLinkStatus(){let{gl:e}=this.device;return e.getProgramParameter(this.handle,35714)?(this._initializeSamplerUniforms(),e.validateProgram(this.handle),e.getProgramParameter(this.handle,35715)?(this.linkStatus="success","success"):(this.linkStatus="error","validation-error")):(this.linkStatus="error","link-error")}_initializeSamplerUniforms(){let{gl:e}=this.device;e.useProgram(this.handle);let r=0,n=e.getProgramParameter(this.handle,35718);for(let i=0;i<n;i++){let s=e.getActiveUniform(this.handle,i);if(s&&yr(s.type)){let o=s.name.endsWith("[0]"),a=o?s.name.slice(0,-3):s.name,c=e.getUniformLocation(this.handle,a);c!==null&&(r=this._assignSamplerUniform(c,s,o,r))}}}_assignSamplerUniform(e,r,n,i){let{gl:s}=this.device;if(n&&r.size>1){let o=Int32Array.from({length:r.size},(a,c)=>i+c);return s.uniform1iv(e,o),i+r.size}return s.uniform1i(e,i),i+1}async _waitForLinkComplete(){let e=async i=>await new Promise(s=>setTimeout(s,i));if(!this.device.features.has("compilation-status-async-webgl")){await e(10);return}let{gl:n}=this.device;for(;;){if(n.getProgramParameter(this.handle,37297))return;await e(10)}}}});function Vc(t,e){let r=e.sourceBuffer,n=e.destinationBuffer;t.gl.bindBuffer(36662,r.handle),t.gl.bindBuffer(36663,n.handle),t.gl.copyBufferSubData(36662,36663,e.sourceOffset??0,e.destinationOffset??0,e.size),t.gl.bindBuffer(36662,null),t.gl.bindBuffer(36663,null)}function kc(t,e){throw new Error("copyBufferToTexture is not supported in WebGL")}function Xc(t,e){let{sourceTexture:r,mipLevel:n=0,aspect:i="all",width:s=e.sourceTexture.width,height:o=e.sourceTexture.height,depthOrArrayLayers:a,origin:c=[0,0,0],destinationBuffer:l,byteOffset:h=0,bytesPerRow:f,rowsPerImage:d}=e;if(r instanceof Ht.Texture){r.readBuffer({x:c[0]??0,y:c[1]??0,z:c[2]??0,width:s,height:o,depthOrArrayLayers:a,mipLevel:n,aspect:i,byteOffset:h},l);return}if(i!=="all")throw new Error("aspect not supported in WebGL");if(n!==0||a!==void 0||f||d)throw new Error("not implemented");let{framebuffer:p,destroyFramebuffer:_}=ao(r),g;try{let u=l,T=s||p.width,b=o||p.height,R=(0,Ht.assertDefined)(p.colorAttachments[0]),E=cr(R.texture.props.format),A=E.format,M=E.type;t.gl.bindBuffer(35051,u.handle),g=t.gl.bindFramebuffer(36160,p.handle),t.gl.readPixels(c[0],c[1],T,b,A,M,h)}finally{t.gl.bindBuffer(35051,null),g!==void 0&&t.gl.bindFramebuffer(36160,g),_&&p.destroy()}}function Wc(t,e){let{sourceTexture:r,destinationMipLevel:n=0,origin:i=[0,0],destinationOrigin:s=[0,0,0],destinationTexture:o}=e,{width:a=e.destinationTexture.width,height:c=e.destinationTexture.height}=e,{framebuffer:l,destroyFramebuffer:h}=ao(r),[f=0,d=0]=i,[p,_,g]=s,u=t.gl.bindFramebuffer(36160,l.handle),T,b;if(o instanceof mt)T=o,a=Number.isFinite(a)?a:T.width,c=Number.isFinite(c)?c:T.height,T._bind(0),b=T.glTarget;else throw new Error("invalid destination");switch(b){case 3553:case 34067:t.gl.copyTexSubImage2D(b,n,p,_,f,d,a,c);break;case 35866:case 32879:t.gl.copyTexSubImage3D(b,n,p,_,g,f,d,a,c);break;default:}T&&T._unbind(),t.gl.bindFramebuffer(36160,u),h&&l.destroy()}function ao(t){if(t instanceof Ht.Texture){let{width:e,height:r,id:n}=t;return{framebuffer:t.device.createFramebuffer({id:`framebuffer-for-${n}`,width:e,height:r,colorAttachments:[t]}),destroyFramebuffer:!0}}return{framebuffer:t,destroyFramebuffer:!1}}var Ht,Or,co=C(()=>{Ht=D(B(),1);Gt();xr();Or=class extends Ht.CommandBuffer{device;handle=null;commands=[];constructor(e,r={}){super(e,r),this.device=e}_executeCommands(e=this.commands){for(let r of e)switch(r.name){case"copy-buffer-to-buffer":Vc(this.device,r.options);break;case"copy-buffer-to-texture":kc(this.device,r.options);break;case"copy-texture-to-buffer":Xc(this.device,r.options);break;case"copy-texture-to-texture":Wc(this.device,r.options);break;default:throw new Error(r.name)}}}});var lo,Hc,wr,ho=C(()=>{lo=D(B(),1);Ar();qt();Hc=[1,2,4,8],wr=class extends lo.RenderPass{device;handle=null;glParameters={};constructor(e,r){super(e,r),this.device=e;let n=this.props.framebuffer,i=!n||n.handle===null;i&&e.getDefaultCanvasContext()._resizeDrawingBufferIfNeeded();let s;if(!r?.parameters?.viewport)if(!i&&n){let{width:o,height:a}=n;s=[0,0,o,a]}else{let[o,a]=e.getDefaultCanvasContext().getDrawingBufferSize();s=[0,0,o,a]}if(this.device.pushState(),this.setParameters({viewport:s,...this.props.parameters}),!i&&n?.colorAttachments.length){let o=n.colorAttachments.map((a,c)=>36064+c);this.device.gl.drawBuffers(o)}else i&&this.device.gl.drawBuffers([1029]);this.clear(),this.props.timestampQuerySet&&this.props.beginTimestampIndex!==void 0&&this.props.timestampQuerySet.writeTimestamp(this.props.beginTimestampIndex)}end(){this.destroyed||(this.props.timestampQuerySet&&this.props.endTimestampIndex!==void 0&&this.props.timestampQuerySet.writeTimestamp(this.props.endTimestampIndex),this.device.popState(),this.destroy())}pushDebugGroup(e){}popDebugGroup(){}insertDebugMarker(e){}setParameters(e={}){let r={...this.glParameters};r.framebuffer=this.props.framebuffer||null,this.props.depthReadOnly&&(r.depthMask=!this.props.depthReadOnly),r.stencilMask=this.props.stencilReadOnly?0:1,r[35977]=this.props.discard,e.viewport&&(e.viewport.length>=6?(r.viewport=e.viewport.slice(0,4),r.depthRange=[e.viewport[4],e.viewport[5]]):r.viewport=e.viewport),e.scissorRect&&(r.scissorTest=!0,r.scissor=e.scissorRect),e.blendConstant&&(r.blendColor=e.blendConstant),e.stencilReference!==void 0&&(r[2967]=e.stencilReference,r[36003]=e.stencilReference),"colorMask"in e&&(r.colorMask=Hc.map(n=>Boolean(n&e.colorMask))),this.glParameters=r,nt(this.device.gl,r)}beginOcclusionQuery(e){this.props.occlusionQuerySet?.beginOcclusionQuery()}endOcclusionQuery(){this.props.occlusionQuerySet?.endOcclusionQuery()}clear(){let e={...this.glParameters},r=0;this.props.clearColors&&this.props.clearColors.forEach((n,i)=>{n&&this.clearColorBuffer(i,n)}),this.props.clearColor!==!1&&this.props.clearColors===void 0&&(r|=16384,e.clearColor=this.props.clearColor),this.props.clearDepth!==!1&&(r|=256,e.clearDepth=this.props.clearDepth),this.props.clearStencil!==!1&&(r|=1024,e.clearStencil=this.props.clearStencil),r!==0&&gt(this.device.gl,e,()=>{this.device.gl.clear(r)})}clearColorBuffer(e=0,r=[0,0,0,0]){gt(this.device.gl,{framebuffer:this.props.framebuffer},()=>{switch(r.constructor){case Int8Array:case Int16Array:case Int32Array:this.device.gl.clearBufferiv(6144,e,r);break;case Uint8Array:case Uint8ClampedArray:case Uint16Array:case Uint32Array:this.device.gl.clearBufferuiv(6144,e,r);break;case Float32Array:this.device.gl.clearBufferfv(6144,e,r);break;default:throw new Error("clearColorBuffer: color must be typed array")}})}}});var fo,Oe,po=C(()=>{fo=D(B(),1);co();ho();Oe=class extends fo.CommandEncoder{device;handle=null;commandBuffer;constructor(e,r){super(e,r),this.device=e,this.commandBuffer=new Or(e,{id:`${this.props.id}-command-buffer`})}destroy(){this.destroyResource()}finish(e){return e?.id&&this.commandBuffer.id!==e.id&&(this.commandBuffer.id=e.id,this.commandBuffer.props.id=e.id),this.destroy(),this.commandBuffer}beginRenderPass(e={}){return new wr(this.device,this._applyTimeProfilingToPassProps(e))}beginComputePass(e={}){throw new Error("ComputePass not supported in WebGL")}copyBufferToBuffer(e){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:e})}copyBufferToTexture(e){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:e})}copyTextureToBuffer(e){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:e})}copyTextureToTexture(e){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:e})}pushDebugGroup(e){}popDebugGroup(){}insertDebugMarker(e){}resolveQuerySet(e,r,n){throw new Error("resolveQuerySet is not supported in WebGL")}writeTimestamp(e,r){e.writeTimestamp(r)}}});function uo(t){let{target:e,source:r,start:n=0,count:i=1}=t,s=r.length,o=i*s,a=0;for(let c=n;a<s;a++)e[c++]=r[a]??0;for(;a<o;)a<o-a?(e.copyWithin(n+a,n,n+a),a*=2):(e.copyWithin(n+a,n,n+o-a),a=o);return t.target}var _o=C(()=>{});function Lc(t){return Array.isArray(t)?new Float32Array(t):t}function zc(t,e){if(!t||!e||t.length!==e.length||t.constructor!==e.constructor)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r])return!1;return!0}var Fr,ee,go=C(()=>{Fr=D(B(),1);be();Mn();_o();ee=class extends Fr.VertexArray{get[Symbol.toStringTag](){return"VertexArray"}device;handle;buffer=null;bufferValue=null;static isConstantAttributeZeroSupported(e){return Tn()==="Chrome"}constructor(e,r){super(e,r),this.device=e,this.handle=this.device.gl.createVertexArray()}destroy(){super.destroy(),this.buffer&&this.buffer?.destroy(),this.handle&&(this.device.gl.deleteVertexArray(this.handle),this.handle=void 0)}setIndexBuffer(e){let r=e;if(r&&r.glTarget!==34963)throw new Error("Use .setBuffer()");this.device.gl.bindVertexArray(this.handle),this.device.gl.bindBuffer(34963,r?r.handle:null),this.indexBuffer=r,this.device.gl.bindVertexArray(null)}setBuffer(e,r){let n=r;if(n.glTarget===34963)throw new Error("Use .setIndexBuffer()");let{size:i,type:s,stride:o,offset:a,normalized:c,integer:l,divisor:h}=this._getAccessor(e);this.device.gl.bindVertexArray(this.handle),this.device.gl.bindBuffer(34962,n.handle),l?this.device.gl.vertexAttribIPointer(e,i,s,o,a):this.device.gl.vertexAttribPointer(e,i,s,c,o,a),this.device.gl.bindBuffer(34962,null),this.device.gl.enableVertexAttribArray(e),this.device.gl.vertexAttribDivisor(e,h||0),this.attributes[e]=n,this.device.gl.bindVertexArray(null)}setConstantWebGL(e,r){this._enable(e,!1),this.attributes[e]=r}bindBeforeRender(){this.device.gl.bindVertexArray(this.handle),this._applyConstantAttributes()}unbindAfterRender(){this.device.gl.bindVertexArray(null)}_applyConstantAttributes(){for(let e=0;e<this.maxVertexAttributes;++e){let r=this.attributes[e];ArrayBuffer.isView(r)&&this.device.setConstantAttributeWebGL(e,r)}}_getAccessor(e){let r=this.attributeInfos[e];if(!r)throw new Error(`Unknown attribute location ${e}`);let n=ir(r.bufferDataType);return{size:r.bufferComponents,type:n,stride:r.byteStride,offset:r.byteOffset,normalized:r.normalized,integer:r.integer,divisor:r.stepMode==="instance"?1:0}}_enable(e,r=!0){let i=ee.isConstantAttributeZeroSupported(this.device)||e!==0;(r||i)&&(e=Number(e),this.device.gl.bindVertexArray(this.handle),r?this.device.gl.enableVertexAttribArray(e):this.device.gl.disableVertexAttribArray(e),this.device.gl.bindVertexArray(null))}getConstantBuffer(e,r){let n=Lc(r),i=n.byteLength*e,s=n.length*e;if(this.buffer&&i!==this.buffer.byteLength)throw new Error(`Buffer size is immutable, byte length ${i} !== ${this.buffer.byteLength}.`);let o=!this.buffer;if(this.buffer=this.buffer||this.device.createBuffer({byteLength:i}),o||=!zc(n,this.bufferValue),o){let a=(0,Fr.getScratchArray)(r.constructor,s);uo({target:a,source:n,start:0,count:s}),this.buffer.write(a),this.bufferValue=r}return this.buffer}}});function To(t){return typeof t=="number"?Number.isInteger(t):/^\d+$/.test(t)}var Br,Dr,mo=C(()=>{Br=D(B(),1);Xn();kn();Dr=class extends Br.TransformFeedback{device;gl;handle;layout;buffers={};unusedBuffers={};bindOnUse=!0;_bound=!1;constructor(e,r){super(e,r),this.device=e,this.gl=e.gl,this.handle=this.props.handle||this.gl.createTransformFeedback(),this.layout=this.props.layout,r.buffers&&this.setBuffers(r.buffers),Object.seal(this)}destroy(){this.gl.deleteTransformFeedback(this.handle),super.destroy()}begin(e="point-list"){this.gl.bindTransformFeedback(36386,this.handle),this.bindOnUse&&this._bindBuffers(),this.gl.beginTransformFeedback(qs(e))}end(){this.gl.endTransformFeedback(),this.bindOnUse&&this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null)}setBuffers(e){this.buffers={},this.unusedBuffers={},this.bind(()=>{for(let[r,n]of Object.entries(e))this.setBuffer(r,n)})}setBuffer(e,r){let n=this._getVaryingIndex(e),{buffer:i,byteLength:s,byteOffset:o}=this._getBufferRange(r);if(n<0){this.unusedBuffers[e]=i,Br.log.warn(`${this.id} unusedBuffers varying buffer ${e}`)();return}this.buffers[n]={buffer:i,byteLength:s,byteOffset:o},this.bindOnUse||this._bindBuffer(n,i,o,s)}getBuffer(e){if(To(e))return this.buffers[e]||null;let r=this._getVaryingIndex(e);return this.buffers[r]??null}bind(e=this.handle){if(typeof e!="function")return this.gl.bindTransformFeedback(36386,e),this;let r;return this._bound?r=e():(this.gl.bindTransformFeedback(36386,this.handle),this._bound=!0,r=e(),this._bound=!1,this.gl.bindTransformFeedback(36386,null)),r}unbind(){this.bind(null)}_getBufferRange(e){if(e instanceof ot)return{buffer:e,byteOffset:0,byteLength:e.byteLength};let{buffer:r,byteOffset:n=0,byteLength:i=e.buffer.byteLength}=e;return{buffer:r,byteOffset:n,byteLength:i}}_getVaryingIndex(e){if(To(e))return Number(e);for(let r of this.layout.varyings||[])if(e===r.name)return r.location;return-1}_bindBuffers(){for(let[e,r]of Object.entries(this.buffers)){let{buffer:n,byteLength:i,byteOffset:s}=this._getBufferRange(r);this._bindBuffer(Number(e),n,s,i)}}_unbindBuffers(){for(let e in this.buffers)this.gl.bindBufferBase(35982,Number(e),null)}_bindBuffer(e,r,n=0,i){let s=r&&r.handle;!s||i===void 0?this.gl.bindBufferBase(35982,e,s):this.gl.bindBufferRange(35982,e,s,n,i)}}});var Ro,vr,Eo=C(()=>{Ro=D(B(),1),vr=class extends Ro.QuerySet{device;handle;_timestampPairs=[];_pendingReads=new Set;_occlusionQuery=null;_occlusionActive=!1;get[Symbol.toStringTag](){return"QuerySet"}constructor(e,r){if(super(e,r),this.device=e,r.type==="timestamp"){if(r.count<2)throw new Error("Timestamp QuerySet requires at least two query slots");this._timestampPairs=new Array(Math.ceil(r.count/2)).fill(null).map(()=>({activeQuery:null,completedQueries:[]})),this.handle=null}else{if(r.count>1)throw new Error("WebGL occlusion QuerySet can only have one value");let n=this.device.gl.createQuery();if(!n)throw new Error("WebGL query not supported");this.handle=n}Object.seal(this)}destroy(){if(!this.destroyed){this.handle&&this.device.gl.deleteQuery(this.handle);for(let e of this._timestampPairs){e.activeQuery&&(this._cancelPendingQuery(e.activeQuery),this.device.gl.deleteQuery(e.activeQuery.handle));for(let r of e.completedQueries)this._cancelPendingQuery(r),this.device.gl.deleteQuery(r.handle)}this._occlusionQuery&&(this._cancelPendingQuery(this._occlusionQuery),this.device.gl.deleteQuery(this._occlusionQuery.handle));for(let e of Array.from(this._pendingReads))this._cancelPendingQuery(e);this.destroyResource()}}isResultAvailable(e){return this.props.type==="timestamp"?e===void 0?this._timestampPairs.some((r,n)=>this._isTimestampPairAvailable(n)):this._isTimestampPairAvailable(this._getTimestampPairIndex(e)):this._occlusionQuery?this._pollQueryAvailability(this._occlusionQuery):!1}async readResults(e){let r=e?.firstQuery||0,n=e?.queryCount||this.props.count-r;if(this._validateRange(r,n),this.props.type==="timestamp"){let i=new Array(n).fill(0n),s=Math.floor(r/2),o=Math.floor((r+n-1)/2);for(let a=s;a<=o;a++){let c=await this._consumeTimestampPairResult(a),l=a*2,h=l+1;l>=r&&l<r+n&&(i[l-r]=0n),h>=r&&h<r+n&&(i[h-r]=c)}return i}if(!this._occlusionQuery)throw new Error("Occlusion query has not been started");return[await this._consumeQueryResult(this._occlusionQuery)]}async readTimestampDuration(e,r){if(this.props.type!=="timestamp")throw new Error("Timestamp durations require a timestamp QuerySet");if(e<0||r>=this.props.count||r<=e)throw new Error("Timestamp duration range is out of bounds");if(e%2!==0||r!==e+1)throw new Error("WebGL timestamp durations require adjacent even/odd query indices");let n=await this._consumeTimestampPairResult(this._getTimestampPairIndex(e));return Number(n)/1e6}beginOcclusionQuery(){if(this.props.type!=="occlusion")throw new Error("Occlusion queries require an occlusion QuerySet");if(!this.handle)throw new Error("WebGL occlusion query is not available");if(this._occlusionActive)throw new Error("Occlusion query is already active");this.device.gl.beginQuery(35887,this.handle),this._occlusionQuery={handle:this.handle,promise:null,result:null,disjoint:!1,cancelled:!1,pollRequestId:null,resolve:null,reject:null},this._occlusionActive=!0}endOcclusionQuery(){if(!this._occlusionActive)throw new Error("Occlusion query is not active");this.device.gl.endQuery(35887),this._occlusionActive=!1}writeTimestamp(e){if(this.props.type!=="timestamp")throw new Error("Timestamp writes require a timestamp QuerySet");let r=this._getTimestampPairIndex(e),n=this._timestampPairs[r];if(e%2===0){if(n.activeQuery)throw new Error("Timestamp query pair is already active");let i=this.device.gl.createQuery();if(!i)throw new Error("WebGL query not supported");let s={handle:i,promise:null,result:null,disjoint:!1,cancelled:!1,pollRequestId:null,resolve:null,reject:null};this.device.gl.beginQuery(35007,i),n.activeQuery=s;return}if(!n.activeQuery)throw new Error("Timestamp query pair was ended before it was started");this.device.gl.endQuery(35007),n.completedQueries.push(n.activeQuery),n.activeQuery=null}_validateRange(e,r){if(e<0||r<0||e+r>this.props.count)throw new Error("Query read range is out of bounds")}_getTimestampPairIndex(e){if(e<0||e>=this.props.count)throw new Error("Query index is out of bounds");return Math.floor(e/2)}_isTimestampPairAvailable(e){let r=this._timestampPairs[e];return!r||r.completedQueries.length===0?!1:this._pollQueryAvailability(r.completedQueries[0])}_pollQueryAvailability(e){if(e.cancelled||this.destroyed)return e.result=0n,!0;if(e.result!==null||e.disjoint)return!0;if(!this.device.gl.getQueryParameter(e.handle,34919))return!1;let n=Boolean(this.device.gl.getParameter(36795));return e.disjoint=n,e.result=n?0n:BigInt(this.device.gl.getQueryParameter(e.handle,34918)),!0}async _consumeTimestampPairResult(e){let r=this._timestampPairs[e];if(!r||r.completedQueries.length===0)throw new Error("Timestamp query pair has no completed result");let n=r.completedQueries.shift();try{return await this._consumeQueryResult(n)}finally{this.device.gl.deleteQuery(n.handle)}}_consumeQueryResult(e){return e.promise||(this._pendingReads.add(e),e.promise=new Promise((r,n)=>{e.resolve=r,e.reject=n;let i=()=>{if(e.pollRequestId=null,e.cancelled||this.destroyed){this._pendingReads.delete(e),e.promise=null,e.resolve=null,e.reject=null,r(0n);return}if(!this._pollQueryAvailability(e)){e.pollRequestId=this._requestAnimationFrame(i);return}this._pendingReads.delete(e),e.promise=null,e.resolve=null,e.reject=null,e.disjoint?n(new Error("GPU timestamp query was invalidated by a disjoint event")):r(e.result||0n)};i()})),e.promise}_cancelPendingQuery(e){if(this._pendingReads.delete(e),e.cancelled=!0,e.pollRequestId!==null&&(this._cancelAnimationFrame(e.pollRequestId),e.pollRequestId=null),e.resolve){let r=e.resolve;e.promise=null,e.resolve=null,e.reject=null,r(0n)}}_requestAnimationFrame(e){return requestAnimationFrame(e)}_cancelAnimationFrame(e){cancelAnimationFrame(e)}}});var Ao,Ur,So=C(()=>{Ao=D(B(),1),Ur=class extends Ao.Fence{device;gl;handle;signaled;_signaled=!1;constructor(e,r={}){super(e,{}),this.device=e,this.gl=e.gl;let n=this.props.handle||this.gl.fenceSync(this.gl.SYNC_GPU_COMMANDS_COMPLETE,0);if(!n)throw new Error("Failed to create WebGL fence");this.handle=n,this.signaled=new Promise(i=>{let s=()=>{let o=this.gl.clientWaitSync(this.handle,0,0);o===this.gl.ALREADY_SIGNALED||o===this.gl.CONDITION_SATISFIED?(this._signaled=!0,i()):setTimeout(s,1)};s()})}isSignaled(){if(this._signaled)return!0;let e=this.gl.getSyncParameter(this.handle,this.gl.SYNC_STATUS);return this._signaled=e===this.gl.SIGNALED,this._signaled}destroy(){this.destroyed||this.gl.deleteSync(this.handle)}}});function Wn(t){switch(t){case 6406:case 33326:case 6403:case 36244:return 1;case 33339:case 33340:case 33328:case 33320:case 33319:return 2;case 6407:case 36248:case 34837:return 3;case 6408:case 36249:case 34836:return 4;default:return 0}}function bo(t){switch(t){case 5121:return 1;case 33635:case 32819:case 32820:return 2;case 5126:return 4;default:return 0}}var Mo=C(()=>{});function xo(t,e){let{sourceX:r=0,sourceY:n=0,sourceAttachment:i=0}=e||{},{target:s=null,sourceWidth:o,sourceHeight:a,sourceDepth:c,sourceFormat:l,sourceType:h}=e||{},{framebuffer:f,deleteFramebuffer:d}=Co(t),{gl:p,handle:_}=f;o||=f.width,a||=f.height;let g=f.colorAttachments[i]?.texture;if(!g)throw new Error(`Invalid framebuffer attachment ${i}`);c=g?.depth||1,l||=g?.glFormat||6408,h||=g?.glType||5121,s=Kc(s,h,l,o,a,c);let u=we.dataTypeDecoder.getDataType(s);h=h||to(u);let T=p.bindFramebuffer(36160,_);return p.readBuffer(36064+i),p.readPixels(r,n,o,a,l,h,s),p.readBuffer(36064),p.bindFramebuffer(36160,T||null),d&&f.destroy(),s}function Po(t,e){let{target:r,sourceX:n=0,sourceY:i=0,sourceFormat:s=6408,targetByteOffset:o=0}=e||{},{sourceWidth:a,sourceHeight:c,sourceType:l}=e||{},{framebuffer:h,deleteFramebuffer:f}=Co(t);a=a||h.width,c=c||h.height;let d=h;l=l||5121;let p=r;if(!p){let g=Wn(s),u=bo(l),T=o+a*c*g*u;p=d.device.createBuffer({byteLength:T})}let _=t.device.createCommandEncoder();return _.copyTextureToBuffer({sourceTexture:t,width:a,height:c,origin:[n,i],destinationBuffer:p,byteOffset:o}),_.destroy(),f&&h.destroy(),p}function Co(t){return t instanceof we.Framebuffer?{framebuffer:t,deleteFramebuffer:!1}:{framebuffer:Yc(t),deleteFramebuffer:!0}}function Yc(t,e){let{device:r,width:n,height:i,id:s}=t;return r.createFramebuffer({...e,id:`framebuffer-for-${s}`,width:n,height:i,colorAttachments:[t]})}function Kc(t,e,r,n,i,s){if(t)return t;e||=5121;let o=br(e),a=we.dataTypeDecoder.getTypedArrayConstructor(o),c=Wn(r);return new a(n*i*c)}var we,yo=C(()=>{we=D(B(),1);Ir();Mo();Vn()});function jc(t,e,r){switch(r.length){case 1:t.gl.vertexAttrib1fv(e,r);break;case 2:t.gl.vertexAttrib2fv(e,r);break;case 3:t.gl.vertexAttrib3fv(e,r);break;case 4:t.gl.vertexAttrib4fv(e,r);break;default:}}function Zc(t,e,r){t.gl.vertexAttribI4iv(e,r)}function $c(t,e,r){t.gl.vertexAttribI4uiv(e,r)}function qc(t,e){if(!t||!e||t.length!==e.length||t.constructor!==e.constructor)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r])return!1;return!0}var at,vt,Io=C(()=>{at=D(B(),1);bn();Ts();Ge();Es();Is();Os();Ds();vs();Gi();ss();Gt();Vs();ur();Ws();Ks();xr();fr();Gs();oo();po();go();mo();Eo();So();yo();qt();Ar();Ce();vt=class extends at.Device{static getDeviceFromContext(e){return e?e.luma?.device??null:null}type="webgl";handle;features;limits;info;canvasContext;preferredColorFormat="rgba8unorm";preferredDepthFormat="depth24plus";commandEncoder;lost;_resolveContextLost;gl;_constants;extensions;_polyfilled=!1;spectorJS;get[Symbol.toStringTag](){return"WebGLDevice"}toString(){return`${this[Symbol.toStringTag]}(${this.id})`}isVertexFormatSupported(e){switch(e){case"unorm8x4-bgra":return!1;default:return!0}}constructor(e){super({...e,id:e.id||Us("webgl-device")});let r=at.Device._getCanvasContextProps(e);if(!r)throw new Error("WebGLDevice requires props.createCanvasContext to be set");let n=r.canvas?.gl??null,i=vt.getDeviceFromContext(n);if(i)throw new Error(`WebGL context already attached to device ${i.id}`);this.canvasContext=new dr(this,r),this.lost=new Promise(h=>{this._resolveContextLost=h});let s={...e.webgl};r.alphaMode==="premultiplied"&&(s.premultipliedAlpha=!0),e.powerPreference!==void 0&&(s.powerPreference=e.powerPreference),e.failIfMajorPerformanceCaveat!==void 0&&(s.failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat);let a=this.props._handle||gs(this.canvasContext.canvas,{onContextLost:h=>this._resolveContextLost?.({reason:"destroyed",message:"Entered sleep mode, or too many apps or browser tabs are using the GPU."}),onContextRestored:h=>console.log("WebGL context restored")},s);if(!a)throw new Error("WebGL context creation failed");if(i=vt.getDeviceFromContext(a),i){if(e._reuseDevices)return at.log.log(1,`Not creating a new Device, instead returning a reference to Device ${i.id} already attached to WebGL context`,i)(),this.canvasContext.destroy(),i._reused=!0,i;throw new Error(`WebGL context already attached to device ${i.id}`)}this.handle=a,this.gl=a,this.spectorJS=Ji({...this.props,gl:this.handle});let c=Xt(this.handle);c.device=this,c.extensions||(c.extensions={}),this.extensions=c.extensions,this.info=ms(this.gl,this.extensions),this.limits=new hr(this.gl),this.features=new lr(this.gl,this.extensions,this.props._disabledFeatures),this.props._initializeFeatures&&this.features.initializeFeatures(),new it(this.gl,{log:(...h)=>at.log.log(1,...h)()}).trackState(this.gl,{copyState:!1}),(e.debug||e.debugWebGL)&&(this.gl=is(this.gl,{debugWebGL:!0,traceWebGL:e.debugWebGL}),at.log.warn("WebGL debug mode activated. Performance reduced.")()),e.debugWebGL&&(at.log.level=Math.max(at.log.level,1)),this.commandEncoder=new Oe(this,{id:`${this}-command-encoder`}),this.canvasContext._startObservers()}destroy(){if(this.commandEncoder?.destroy(),!this.props._reuseDevices&&!this._reused){let e=Xt(this.handle);e.device=null}}get isLost(){return this.gl.isContextLost()}createCanvasContext(e){throw new Error("WebGL only supports a single canvas")}createPresentationContext(e){return new pr(this,e||{})}createBuffer(e){let r=this._normalizeBufferProps(e);return new ot(this,r)}createTexture(e){return new mt(this,e)}createExternalTexture(e){throw new Error("createExternalTexture() not implemented")}createSampler(e){return new Er(this,e)}createShader(e){return new gr(this,e)}createFramebuffer(e){return new _t(this,e)}createVertexArray(e){return new ee(this,e)}createTransformFeedback(e){return new Dr(this,e)}createQuerySet(e){return new vr(this,e)}createFence(){return new Ur(this)}createRenderPipeline(e){return new Pr(this,e)}_createSharedRenderPipelineWebGL(e){return new Nr(this,e)}createComputePipeline(e){throw new Error("ComputePipeline not supported in WebGL")}createCommandEncoder(e={}){return new Oe(this,e)}submit(e){let r=null;e||({submittedCommandEncoder:r,commandBuffer:e}=this._finalizeDefaultCommandEncoderForSubmit());try{e._executeCommands(),r&&r.resolveTimeProfilingQuerySet().then(()=>{this.commandEncoder._gpuTimeMs=r._gpuTimeMs}).catch(()=>{})}finally{e.destroy()}}_finalizeDefaultCommandEncoderForSubmit(){let e=this.commandEncoder,r=e.finish();return this.commandEncoder.destroy(),this.commandEncoder=this.createCommandEncoder({id:e.props.id,timeProfilingQuerySet:e.getTimeProfilingQuerySet()}),{submittedCommandEncoder:e,commandBuffer:r}}readPixelsToArrayWebGL(e,r){return xo(e,r)}readPixelsToBufferWebGL(e,r){return Po(e,r)}setParametersWebGL(e){nt(this.gl,e)}getParametersWebGL(e){return nr(this.gl,e)}withParametersWebGL(e,r){return gt(this.gl,e,r)}resetWebGL(){at.log.warn("WebGLDevice.resetWebGL is deprecated, use only for debugging")(),fs(this.gl)}_getDeviceSpecificTextureFormatCapabilities(e){return xs(this.gl,e,this.extensions)}loseDevice(){let e=!1,n=this.getExtension("WEBGL_lose_context").WEBGL_lose_context;return n&&(e=!0,n.loseContext()),this._resolveContextLost?.({reason:"destroyed",message:"Application triggered context loss"}),e}pushState(){it.get(this.gl).push()}popState(){it.get(this.gl).pop()}getGLKey(e,r){let n=Number(e);for(let i in this.gl)if(this.gl[i]===n)return`GL.${i}`;return r?.emptyIfUnknown?"":String(e)}getGLKeys(e){let r={emptyIfUnknown:!0};return Object.entries(e).reduce((n,[i,s])=>(n[`${i}:${this.getGLKey(i,r)}`]=`${s}:${this.getGLKey(s,r)}`,n),{})}setConstantAttributeWebGL(e,r){let n=this.limits.maxVertexAttributes;this._constants=this._constants||new Array(n).fill(null);let i=this._constants[e];switch(i&&qc(i,r)&&at.log.info(1,`setConstantAttributeWebGL(${e}) could have been skipped, value unchanged`)(),this._constants[e]=r,r.constructor){case Float32Array:jc(this,e,r);break;case Int32Array:Zc(this,e,r);break;case Uint32Array:$c(this,e,r);break;default:throw new Error("constant")}}getExtension(e){return st(this.gl,e,this.extensions),this.extensions}_setWebGLDebugMetadata(e,r,n){e.luma=r;let i={props:n.spector,id:n.spector.id};e.__SPECTOR_Metadata=i}}});var Xn=C(()=>{Io();ur()});var Ua=Qe((fn,va)=>{(function(t,e){typeof fn=="object"&&typeof va<"u"?e(fn):typeof define=="function"&&define.amd?define(["exports"],e):e(t.esriLoader=t.esriLoader||{})})(fn,function(t){"use strict";var e=typeof window<"u",r={Promise:e?window.Promise:void 0},n="4.25",i="next";function s(m){if(m.toLowerCase()===i)return i;var S=m&&m.match(/^(\d)\.(\d+)/);return S&&{major:parseInt(S[1],10),minor:parseInt(S[2],10)}}function o(m){return m===void 0&&(m=n),"https://js.arcgis.com/".concat(m,"/")}function a(m){m===void 0&&(m=n);var S=o(m),P=s(m);if(P!==i&&P.major===3){var x=P.minor<=10?"js/":"";return"".concat(S).concat(x,"esri/css/esri.css")}else return"".concat(S,"esri/themes/light/main.css")}function c(m){var S=document.createElement("link");return S.rel="stylesheet",S.href=m,S}function l(m,S){if(S){var P=document.querySelector(S);P.parentNode.insertBefore(m,P)}else document.head.appendChild(m)}function h(m){return document.querySelector('link[href*="'.concat(m,'"]'))}function f(m){return!m||s(m)?a(m):m}function d(m,S){var P=f(m),x=h(P);return x||(x=c(P),l(x,S)),x}var p={};function _(m){var S=document.createElement("script");return S.type="text/javascript",S.src=m,S.setAttribute("data-esri-loader","loading"),S}function g(m,S,P){var x;P&&(x=u(m,P));var I=function(){S(m),m.removeEventListener("load",I,!1),x&&m.removeEventListener("error",x,!1)};m.addEventListener("load",I,!1)}function u(m,S){var P=function(x){S(x.error||new Error("There was an error attempting to load ".concat(m.src))),m.removeEventListener("error",P,!1)};return m.addEventListener("error",P,!1),P}function T(m){m===void 0&&(m={}),p=m}function b(){return document.querySelector("script[data-esri-loader]")}function R(){var m=window.require;return m&&m.on}function E(m){m===void 0&&(m={});var S={};[p,m].forEach(function(I){for(var N in I)Object.prototype.hasOwnProperty.call(I,N)&&(S[N]=I[N])});var P=S.version,x=S.url||o(P);return new r.Promise(function(I,N){var w=b();if(w){var O=w.getAttribute("src");O!==x?N(new Error("The ArcGIS API for JavaScript is already loaded (".concat(O,")."))):R()?I(w):g(w,I,N)}else if(R())N(new Error("The ArcGIS API for JavaScript is already loaded."));else{var v=S.css;if(v){var dt=v===!0;d(dt?P:v,S.insertCssBefore)}w=_(x),g(w,function(){w.setAttribute("data-esri-loader","loaded"),I(w)},N),document.body.appendChild(w)}})}function A(m){return new r.Promise(function(S,P){var x=window.require.on("error",P);window.require(m,function(){for(var I=[],N=0;N<arguments.length;N++)I[N]=arguments[N];x.remove(),S(I)})})}function M(m,S){if(S===void 0&&(S={}),R())return A(m);var P=b(),x=P&&P.getAttribute("src");return!S.url&&x&&(S.url=x),E(S).then(function(){return A(m)})}t.utils=r,t.loadModules=M,t.getScript=b,t.isLoaded=R,t.loadScript=E,t.setDefaultOptions=T,t.loadCss=d,Object.defineProperty(t,"__esModule",{value:!0})})});var je={};Se(je,{loadArcGISModules:()=>Id});var pt={},zi=D(Je(),1);wt(pt,D(Je(),1));if(!zi.Layer)throw new Error("@deck.gl/core is not found");wt(je,pt);var Yi={layers:{},layerFilter:{},parameters:{},effects:{},pickingRadius:{},onBeforeRender:{},onAfterRender:{},onClick:{},onHover:{},onDragStart:{},onDrag:{},onDragEnd:{},onError:{},debug:{},drawPickingColors:{},getCursor:{},getTooltip:{}};function dn(t){return t.createSubclass({properties:Yi,constructor(){this._callbacks={},this.watch(Object.keys(Yi),(r,n,i)=>{this.emit("change",{[i]:r})})},on(r,n){this._callbacks[r]=this._callbacks[r]||[],this._callbacks[r].push(n)},emit(r,n){let i=this._callbacks[r];if(i)for(let s of i)s(n)},toJSON(){let r={};for(let n of this.keys())this[n]!==void 0&&(r[n]=this[n]);return r}})}function pn(t,e,r){return e.createSubclass({properties:{deck:{},blendMode:{},effect:{}},constructor(){this.deck=new t},createLayerView(n){return n.type==="2d"?new r({view:n,layer:this}):(console.error("DeckLayer does not support SceneView at the moment. Use DeckRenderer instead."),null)}})}var No=D(Je(),1),Vr=D(ji(),1);Xn();async function Qc(t){return new Promise(e=>{let r=new No.Deck({controller:!1,gl:t,parameters:{depthCompare:"less-equal"},width:null,height:null,onDeviceInitialized:n=>{e({deckInstance:r,device:n})}})})}async function kr(t){let{deckInstance:e,device:r}=await Qc(t),n=r.createTexture({format:"rgba8unorm",width:1,height:1,sampler:{minFilter:"linear",magFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"}}),i=new Vr.Model(r,{vs:`#version 300 es
7
+ "use strict";var __exports__=(()=>{var Xa=Object.create;var tr=Object.defineProperty;var Wa=Object.getOwnPropertyDescriptor;var Ha=Object.getOwnPropertyNames;var La=Object.getPrototypeOf,za=Object.prototype.hasOwnProperty;var I=(t,e)=>()=>(t&&(e=t(t=0)),e);var er=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Me=(t,e)=>{for(var r in e)tr(t,r,{get:e[r],enumerable:!0})},Ge=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ha(e))!za.call(t,i)&&i!==r&&tr(t,i,{get:()=>e[i],enumerable:!(n=Wa(e,i))||n.enumerable});return t},wt=(t,e,r)=>(Ge(t,e,"default"),r&&Ge(r,e,"default")),F=(t,e,r)=>(r=t!=null?Xa(La(t)):{},Ge(e||!t||!t.__esModule?tr(r,"default",{value:t,enumerable:!0}):r,t)),Ya=t=>Ge(tr({},"__esModule",{value:!0}),t);var rr=er((Fd,zi)=>{zi.exports=globalThis.deck});var ji=er((Vd,Zi)=>{Zi.exports=globalThis.luma});var Dt,$i=I(()=>{(function(t){t[t.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",t[t.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",t[t.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",t[t.POINTS=0]="POINTS",t[t.LINES=1]="LINES",t[t.LINE_LOOP=2]="LINE_LOOP",t[t.LINE_STRIP=3]="LINE_STRIP",t[t.TRIANGLES=4]="TRIANGLES",t[t.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",t[t.TRIANGLE_FAN=6]="TRIANGLE_FAN",t[t.ZERO=0]="ZERO",t[t.ONE=1]="ONE",t[t.SRC_COLOR=768]="SRC_COLOR",t[t.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",t[t.SRC_ALPHA=770]="SRC_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",t[t.DST_ALPHA=772]="DST_ALPHA",t[t.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",t[t.DST_COLOR=774]="DST_COLOR",t[t.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",t[t.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",t[t.CONSTANT_COLOR=32769]="CONSTANT_COLOR",t[t.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",t[t.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",t[t.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",t[t.FUNC_ADD=32774]="FUNC_ADD",t[t.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",t[t.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",t[t.BLEND_EQUATION=32777]="BLEND_EQUATION",t[t.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",t[t.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",t[t.BLEND_DST_RGB=32968]="BLEND_DST_RGB",t[t.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",t[t.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",t[t.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",t[t.BLEND_COLOR=32773]="BLEND_COLOR",t[t.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",t[t.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",t[t.LINE_WIDTH=2849]="LINE_WIDTH",t[t.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",t[t.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",t[t.CULL_FACE_MODE=2885]="CULL_FACE_MODE",t[t.FRONT_FACE=2886]="FRONT_FACE",t[t.DEPTH_RANGE=2928]="DEPTH_RANGE",t[t.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",t[t.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",t[t.DEPTH_FUNC=2932]="DEPTH_FUNC",t[t.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",t[t.STENCIL_FUNC=2962]="STENCIL_FUNC",t[t.STENCIL_FAIL=2964]="STENCIL_FAIL",t[t.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",t[t.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",t[t.STENCIL_REF=2967]="STENCIL_REF",t[t.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",t[t.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",t[t.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",t[t.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",t[t.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",t[t.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",t[t.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",t[t.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",t[t.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",t[t.VIEWPORT=2978]="VIEWPORT",t[t.SCISSOR_BOX=3088]="SCISSOR_BOX",t[t.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",t[t.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",t[t.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",t[t.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",t[t.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",t[t.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",t[t.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",t[t.RED_BITS=3410]="RED_BITS",t[t.GREEN_BITS=3411]="GREEN_BITS",t[t.BLUE_BITS=3412]="BLUE_BITS",t[t.ALPHA_BITS=3413]="ALPHA_BITS",t[t.DEPTH_BITS=3414]="DEPTH_BITS",t[t.STENCIL_BITS=3415]="STENCIL_BITS",t[t.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",t[t.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",t[t.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",t[t.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",t[t.SAMPLES=32937]="SAMPLES",t[t.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",t[t.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",t[t.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",t[t.VENDOR=7936]="VENDOR",t[t.RENDERER=7937]="RENDERER",t[t.VERSION=7938]="VERSION",t[t.IMPLEMENTATION_COLOR_READ_TYPE=35738]="IMPLEMENTATION_COLOR_READ_TYPE",t[t.IMPLEMENTATION_COLOR_READ_FORMAT=35739]="IMPLEMENTATION_COLOR_READ_FORMAT",t[t.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",t[t.STATIC_DRAW=35044]="STATIC_DRAW",t[t.STREAM_DRAW=35040]="STREAM_DRAW",t[t.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",t[t.ARRAY_BUFFER=34962]="ARRAY_BUFFER",t[t.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",t[t.BUFFER_SIZE=34660]="BUFFER_SIZE",t[t.BUFFER_USAGE=34661]="BUFFER_USAGE",t[t.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",t[t.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",t[t.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",t[t.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",t[t.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",t[t.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",t[t.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",t[t.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",t[t.CULL_FACE=2884]="CULL_FACE",t[t.FRONT=1028]="FRONT",t[t.BACK=1029]="BACK",t[t.FRONT_AND_BACK=1032]="FRONT_AND_BACK",t[t.BLEND=3042]="BLEND",t[t.DEPTH_TEST=2929]="DEPTH_TEST",t[t.DITHER=3024]="DITHER",t[t.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",t[t.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",t[t.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",t[t.SCISSOR_TEST=3089]="SCISSOR_TEST",t[t.STENCIL_TEST=2960]="STENCIL_TEST",t[t.NO_ERROR=0]="NO_ERROR",t[t.INVALID_ENUM=1280]="INVALID_ENUM",t[t.INVALID_VALUE=1281]="INVALID_VALUE",t[t.INVALID_OPERATION=1282]="INVALID_OPERATION",t[t.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",t[t.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",t[t.CW=2304]="CW",t[t.CCW=2305]="CCW",t[t.DONT_CARE=4352]="DONT_CARE",t[t.FASTEST=4353]="FASTEST",t[t.NICEST=4354]="NICEST",t[t.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",t[t.BYTE=5120]="BYTE",t[t.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",t[t.SHORT=5122]="SHORT",t[t.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",t[t.INT=5124]="INT",t[t.UNSIGNED_INT=5125]="UNSIGNED_INT",t[t.FLOAT=5126]="FLOAT",t[t.DOUBLE=5130]="DOUBLE",t[t.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",t[t.ALPHA=6406]="ALPHA",t[t.RGB=6407]="RGB",t[t.RGBA=6408]="RGBA",t[t.LUMINANCE=6409]="LUMINANCE",t[t.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",t[t.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",t[t.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",t[t.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",t[t.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",t[t.VERTEX_SHADER=35633]="VERTEX_SHADER",t[t.COMPILE_STATUS=35713]="COMPILE_STATUS",t[t.DELETE_STATUS=35712]="DELETE_STATUS",t[t.LINK_STATUS=35714]="LINK_STATUS",t[t.VALIDATE_STATUS=35715]="VALIDATE_STATUS",t[t.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",t[t.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",t[t.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",t[t.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",t[t.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",t[t.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",t[t.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",t[t.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",t[t.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",t[t.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",t[t.SHADER_TYPE=35663]="SHADER_TYPE",t[t.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",t[t.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",t[t.NEVER=512]="NEVER",t[t.LESS=513]="LESS",t[t.EQUAL=514]="EQUAL",t[t.LEQUAL=515]="LEQUAL",t[t.GREATER=516]="GREATER",t[t.NOTEQUAL=517]="NOTEQUAL",t[t.GEQUAL=518]="GEQUAL",t[t.ALWAYS=519]="ALWAYS",t[t.KEEP=7680]="KEEP",t[t.REPLACE=7681]="REPLACE",t[t.INCR=7682]="INCR",t[t.DECR=7683]="DECR",t[t.INVERT=5386]="INVERT",t[t.INCR_WRAP=34055]="INCR_WRAP",t[t.DECR_WRAP=34056]="DECR_WRAP",t[t.NEAREST=9728]="NEAREST",t[t.LINEAR=9729]="LINEAR",t[t.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",t[t.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",t[t.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",t[t.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR",t[t.TEXTURE_MAG_FILTER=10240]="TEXTURE_MAG_FILTER",t[t.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",t[t.TEXTURE_WRAP_S=10242]="TEXTURE_WRAP_S",t[t.TEXTURE_WRAP_T=10243]="TEXTURE_WRAP_T",t[t.TEXTURE_2D=3553]="TEXTURE_2D",t[t.TEXTURE=5890]="TEXTURE",t[t.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",t[t.TEXTURE_BINDING_CUBE_MAP=34068]="TEXTURE_BINDING_CUBE_MAP",t[t.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",t[t.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",t[t.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",t[t.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",t[t.MAX_CUBE_MAP_TEXTURE_SIZE=34076]="MAX_CUBE_MAP_TEXTURE_SIZE",t[t.TEXTURE0=33984]="TEXTURE0",t[t.ACTIVE_TEXTURE=34016]="ACTIVE_TEXTURE",t[t.REPEAT=10497]="REPEAT",t[t.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",t[t.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",t[t.TEXTURE_WIDTH=4096]="TEXTURE_WIDTH",t[t.TEXTURE_HEIGHT=4097]="TEXTURE_HEIGHT",t[t.FLOAT_VEC2=35664]="FLOAT_VEC2",t[t.FLOAT_VEC3=35665]="FLOAT_VEC3",t[t.FLOAT_VEC4=35666]="FLOAT_VEC4",t[t.INT_VEC2=35667]="INT_VEC2",t[t.INT_VEC3=35668]="INT_VEC3",t[t.INT_VEC4=35669]="INT_VEC4",t[t.BOOL=35670]="BOOL",t[t.BOOL_VEC2=35671]="BOOL_VEC2",t[t.BOOL_VEC3=35672]="BOOL_VEC3",t[t.BOOL_VEC4=35673]="BOOL_VEC4",t[t.FLOAT_MAT2=35674]="FLOAT_MAT2",t[t.FLOAT_MAT3=35675]="FLOAT_MAT3",t[t.FLOAT_MAT4=35676]="FLOAT_MAT4",t[t.SAMPLER_2D=35678]="SAMPLER_2D",t[t.SAMPLER_CUBE=35680]="SAMPLER_CUBE",t[t.LOW_FLOAT=36336]="LOW_FLOAT",t[t.MEDIUM_FLOAT=36337]="MEDIUM_FLOAT",t[t.HIGH_FLOAT=36338]="HIGH_FLOAT",t[t.LOW_INT=36339]="LOW_INT",t[t.MEDIUM_INT=36340]="MEDIUM_INT",t[t.HIGH_INT=36341]="HIGH_INT",t[t.FRAMEBUFFER=36160]="FRAMEBUFFER",t[t.RENDERBUFFER=36161]="RENDERBUFFER",t[t.RGBA4=32854]="RGBA4",t[t.RGB5_A1=32855]="RGB5_A1",t[t.RGB565=36194]="RGB565",t[t.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",t[t.STENCIL_INDEX=6401]="STENCIL_INDEX",t[t.STENCIL_INDEX8=36168]="STENCIL_INDEX8",t[t.DEPTH_STENCIL=34041]="DEPTH_STENCIL",t[t.RENDERBUFFER_WIDTH=36162]="RENDERBUFFER_WIDTH",t[t.RENDERBUFFER_HEIGHT=36163]="RENDERBUFFER_HEIGHT",t[t.RENDERBUFFER_INTERNAL_FORMAT=36164]="RENDERBUFFER_INTERNAL_FORMAT",t[t.RENDERBUFFER_RED_SIZE=36176]="RENDERBUFFER_RED_SIZE",t[t.RENDERBUFFER_GREEN_SIZE=36177]="RENDERBUFFER_GREEN_SIZE",t[t.RENDERBUFFER_BLUE_SIZE=36178]="RENDERBUFFER_BLUE_SIZE",t[t.RENDERBUFFER_ALPHA_SIZE=36179]="RENDERBUFFER_ALPHA_SIZE",t[t.RENDERBUFFER_DEPTH_SIZE=36180]="RENDERBUFFER_DEPTH_SIZE",t[t.RENDERBUFFER_STENCIL_SIZE=36181]="RENDERBUFFER_STENCIL_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048]="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",t[t.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049]="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",t[t.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",t[t.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051]="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",t[t.COLOR_ATTACHMENT0=36064]="COLOR_ATTACHMENT0",t[t.DEPTH_ATTACHMENT=36096]="DEPTH_ATTACHMENT",t[t.STENCIL_ATTACHMENT=36128]="STENCIL_ATTACHMENT",t[t.DEPTH_STENCIL_ATTACHMENT=33306]="DEPTH_STENCIL_ATTACHMENT",t[t.NONE=0]="NONE",t[t.FRAMEBUFFER_COMPLETE=36053]="FRAMEBUFFER_COMPLETE",t[t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054]="FRAMEBUFFER_INCOMPLETE_ATTACHMENT",t[t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055]="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",t[t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057]="FRAMEBUFFER_INCOMPLETE_DIMENSIONS",t[t.FRAMEBUFFER_UNSUPPORTED=36061]="FRAMEBUFFER_UNSUPPORTED",t[t.FRAMEBUFFER_BINDING=36006]="FRAMEBUFFER_BINDING",t[t.RENDERBUFFER_BINDING=36007]="RENDERBUFFER_BINDING",t[t.READ_FRAMEBUFFER=36008]="READ_FRAMEBUFFER",t[t.DRAW_FRAMEBUFFER=36009]="DRAW_FRAMEBUFFER",t[t.MAX_RENDERBUFFER_SIZE=34024]="MAX_RENDERBUFFER_SIZE",t[t.INVALID_FRAMEBUFFER_OPERATION=1286]="INVALID_FRAMEBUFFER_OPERATION",t[t.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",t[t.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441]="UNPACK_PREMULTIPLY_ALPHA_WEBGL",t[t.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443]="UNPACK_COLORSPACE_CONVERSION_WEBGL",t[t.READ_BUFFER=3074]="READ_BUFFER",t[t.UNPACK_ROW_LENGTH=3314]="UNPACK_ROW_LENGTH",t[t.UNPACK_SKIP_ROWS=3315]="UNPACK_SKIP_ROWS",t[t.UNPACK_SKIP_PIXELS=3316]="UNPACK_SKIP_PIXELS",t[t.PACK_ROW_LENGTH=3330]="PACK_ROW_LENGTH",t[t.PACK_SKIP_ROWS=3331]="PACK_SKIP_ROWS",t[t.PACK_SKIP_PIXELS=3332]="PACK_SKIP_PIXELS",t[t.TEXTURE_BINDING_3D=32874]="TEXTURE_BINDING_3D",t[t.UNPACK_SKIP_IMAGES=32877]="UNPACK_SKIP_IMAGES",t[t.UNPACK_IMAGE_HEIGHT=32878]="UNPACK_IMAGE_HEIGHT",t[t.MAX_3D_TEXTURE_SIZE=32883]="MAX_3D_TEXTURE_SIZE",t[t.MAX_ELEMENTS_VERTICES=33e3]="MAX_ELEMENTS_VERTICES",t[t.MAX_ELEMENTS_INDICES=33001]="MAX_ELEMENTS_INDICES",t[t.MAX_TEXTURE_LOD_BIAS=34045]="MAX_TEXTURE_LOD_BIAS",t[t.MAX_FRAGMENT_UNIFORM_COMPONENTS=35657]="MAX_FRAGMENT_UNIFORM_COMPONENTS",t[t.MAX_VERTEX_UNIFORM_COMPONENTS=35658]="MAX_VERTEX_UNIFORM_COMPONENTS",t[t.MAX_ARRAY_TEXTURE_LAYERS=35071]="MAX_ARRAY_TEXTURE_LAYERS",t[t.MIN_PROGRAM_TEXEL_OFFSET=35076]="MIN_PROGRAM_TEXEL_OFFSET",t[t.MAX_PROGRAM_TEXEL_OFFSET=35077]="MAX_PROGRAM_TEXEL_OFFSET",t[t.MAX_VARYING_COMPONENTS=35659]="MAX_VARYING_COMPONENTS",t[t.FRAGMENT_SHADER_DERIVATIVE_HINT=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT",t[t.RASTERIZER_DISCARD=35977]="RASTERIZER_DISCARD",t[t.VERTEX_ARRAY_BINDING=34229]="VERTEX_ARRAY_BINDING",t[t.MAX_VERTEX_OUTPUT_COMPONENTS=37154]="MAX_VERTEX_OUTPUT_COMPONENTS",t[t.MAX_FRAGMENT_INPUT_COMPONENTS=37157]="MAX_FRAGMENT_INPUT_COMPONENTS",t[t.MAX_SERVER_WAIT_TIMEOUT=37137]="MAX_SERVER_WAIT_TIMEOUT",t[t.MAX_ELEMENT_INDEX=36203]="MAX_ELEMENT_INDEX",t[t.RED=6403]="RED",t[t.RGB8=32849]="RGB8",t[t.RGBA8=32856]="RGBA8",t[t.RGB10_A2=32857]="RGB10_A2",t[t.TEXTURE_3D=32879]="TEXTURE_3D",t[t.TEXTURE_WRAP_R=32882]="TEXTURE_WRAP_R",t[t.TEXTURE_MIN_LOD=33082]="TEXTURE_MIN_LOD",t[t.TEXTURE_MAX_LOD=33083]="TEXTURE_MAX_LOD",t[t.TEXTURE_BASE_LEVEL=33084]="TEXTURE_BASE_LEVEL",t[t.TEXTURE_MAX_LEVEL=33085]="TEXTURE_MAX_LEVEL",t[t.TEXTURE_COMPARE_MODE=34892]="TEXTURE_COMPARE_MODE",t[t.TEXTURE_COMPARE_FUNC=34893]="TEXTURE_COMPARE_FUNC",t[t.SRGB=35904]="SRGB",t[t.SRGB8=35905]="SRGB8",t[t.SRGB8_ALPHA8=35907]="SRGB8_ALPHA8",t[t.COMPARE_REF_TO_TEXTURE=34894]="COMPARE_REF_TO_TEXTURE",t[t.RGBA32F=34836]="RGBA32F",t[t.RGB32F=34837]="RGB32F",t[t.RGBA16F=34842]="RGBA16F",t[t.RGB16F=34843]="RGB16F",t[t.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",t[t.TEXTURE_BINDING_2D_ARRAY=35869]="TEXTURE_BINDING_2D_ARRAY",t[t.R11F_G11F_B10F=35898]="R11F_G11F_B10F",t[t.RGB9_E5=35901]="RGB9_E5",t[t.RGBA32UI=36208]="RGBA32UI",t[t.RGB32UI=36209]="RGB32UI",t[t.RGBA16UI=36214]="RGBA16UI",t[t.RGB16UI=36215]="RGB16UI",t[t.RGBA8UI=36220]="RGBA8UI",t[t.RGB8UI=36221]="RGB8UI",t[t.RGBA32I=36226]="RGBA32I",t[t.RGB32I=36227]="RGB32I",t[t.RGBA16I=36232]="RGBA16I",t[t.RGB16I=36233]="RGB16I",t[t.RGBA8I=36238]="RGBA8I",t[t.RGB8I=36239]="RGB8I",t[t.RED_INTEGER=36244]="RED_INTEGER",t[t.RGB_INTEGER=36248]="RGB_INTEGER",t[t.RGBA_INTEGER=36249]="RGBA_INTEGER",t[t.R8=33321]="R8",t[t.RG8=33323]="RG8",t[t.R16F=33325]="R16F",t[t.R32F=33326]="R32F",t[t.RG16F=33327]="RG16F",t[t.RG32F=33328]="RG32F",t[t.R8I=33329]="R8I",t[t.R8UI=33330]="R8UI",t[t.R16I=33331]="R16I",t[t.R16UI=33332]="R16UI",t[t.R32I=33333]="R32I",t[t.R32UI=33334]="R32UI",t[t.RG8I=33335]="RG8I",t[t.RG8UI=33336]="RG8UI",t[t.RG16I=33337]="RG16I",t[t.RG16UI=33338]="RG16UI",t[t.RG32I=33339]="RG32I",t[t.RG32UI=33340]="RG32UI",t[t.R8_SNORM=36756]="R8_SNORM",t[t.RG8_SNORM=36757]="RG8_SNORM",t[t.RGB8_SNORM=36758]="RGB8_SNORM",t[t.RGBA8_SNORM=36759]="RGBA8_SNORM",t[t.RGB10_A2UI=36975]="RGB10_A2UI",t[t.TEXTURE_IMMUTABLE_FORMAT=37167]="TEXTURE_IMMUTABLE_FORMAT",t[t.TEXTURE_IMMUTABLE_LEVELS=33503]="TEXTURE_IMMUTABLE_LEVELS",t[t.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",t[t.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",t[t.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",t[t.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",t[t.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",t[t.HALF_FLOAT=5131]="HALF_FLOAT",t[t.RG=33319]="RG",t[t.RG_INTEGER=33320]="RG_INTEGER",t[t.INT_2_10_10_10_REV=36255]="INT_2_10_10_10_REV",t[t.CURRENT_QUERY=34917]="CURRENT_QUERY",t[t.QUERY_RESULT=34918]="QUERY_RESULT",t[t.QUERY_RESULT_AVAILABLE=34919]="QUERY_RESULT_AVAILABLE",t[t.ANY_SAMPLES_PASSED=35887]="ANY_SAMPLES_PASSED",t[t.ANY_SAMPLES_PASSED_CONSERVATIVE=36202]="ANY_SAMPLES_PASSED_CONSERVATIVE",t[t.MAX_DRAW_BUFFERS=34852]="MAX_DRAW_BUFFERS",t[t.DRAW_BUFFER0=34853]="DRAW_BUFFER0",t[t.DRAW_BUFFER1=34854]="DRAW_BUFFER1",t[t.DRAW_BUFFER2=34855]="DRAW_BUFFER2",t[t.DRAW_BUFFER3=34856]="DRAW_BUFFER3",t[t.DRAW_BUFFER4=34857]="DRAW_BUFFER4",t[t.DRAW_BUFFER5=34858]="DRAW_BUFFER5",t[t.DRAW_BUFFER6=34859]="DRAW_BUFFER6",t[t.DRAW_BUFFER7=34860]="DRAW_BUFFER7",t[t.DRAW_BUFFER8=34861]="DRAW_BUFFER8",t[t.DRAW_BUFFER9=34862]="DRAW_BUFFER9",t[t.DRAW_BUFFER10=34863]="DRAW_BUFFER10",t[t.DRAW_BUFFER11=34864]="DRAW_BUFFER11",t[t.DRAW_BUFFER12=34865]="DRAW_BUFFER12",t[t.DRAW_BUFFER13=34866]="DRAW_BUFFER13",t[t.DRAW_BUFFER14=34867]="DRAW_BUFFER14",t[t.DRAW_BUFFER15=34868]="DRAW_BUFFER15",t[t.MAX_COLOR_ATTACHMENTS=36063]="MAX_COLOR_ATTACHMENTS",t[t.COLOR_ATTACHMENT1=36065]="COLOR_ATTACHMENT1",t[t.COLOR_ATTACHMENT2=36066]="COLOR_ATTACHMENT2",t[t.COLOR_ATTACHMENT3=36067]="COLOR_ATTACHMENT3",t[t.COLOR_ATTACHMENT4=36068]="COLOR_ATTACHMENT4",t[t.COLOR_ATTACHMENT5=36069]="COLOR_ATTACHMENT5",t[t.COLOR_ATTACHMENT6=36070]="COLOR_ATTACHMENT6",t[t.COLOR_ATTACHMENT7=36071]="COLOR_ATTACHMENT7",t[t.COLOR_ATTACHMENT8=36072]="COLOR_ATTACHMENT8",t[t.COLOR_ATTACHMENT9=36073]="COLOR_ATTACHMENT9",t[t.COLOR_ATTACHMENT10=36074]="COLOR_ATTACHMENT10",t[t.COLOR_ATTACHMENT11=36075]="COLOR_ATTACHMENT11",t[t.COLOR_ATTACHMENT12=36076]="COLOR_ATTACHMENT12",t[t.COLOR_ATTACHMENT13=36077]="COLOR_ATTACHMENT13",t[t.COLOR_ATTACHMENT14=36078]="COLOR_ATTACHMENT14",t[t.COLOR_ATTACHMENT15=36079]="COLOR_ATTACHMENT15",t[t.SAMPLER_3D=35679]="SAMPLER_3D",t[t.SAMPLER_2D_SHADOW=35682]="SAMPLER_2D_SHADOW",t[t.SAMPLER_2D_ARRAY=36289]="SAMPLER_2D_ARRAY",t[t.SAMPLER_2D_ARRAY_SHADOW=36292]="SAMPLER_2D_ARRAY_SHADOW",t[t.SAMPLER_CUBE_SHADOW=36293]="SAMPLER_CUBE_SHADOW",t[t.INT_SAMPLER_2D=36298]="INT_SAMPLER_2D",t[t.INT_SAMPLER_3D=36299]="INT_SAMPLER_3D",t[t.INT_SAMPLER_CUBE=36300]="INT_SAMPLER_CUBE",t[t.INT_SAMPLER_2D_ARRAY=36303]="INT_SAMPLER_2D_ARRAY",t[t.UNSIGNED_INT_SAMPLER_2D=36306]="UNSIGNED_INT_SAMPLER_2D",t[t.UNSIGNED_INT_SAMPLER_3D=36307]="UNSIGNED_INT_SAMPLER_3D",t[t.UNSIGNED_INT_SAMPLER_CUBE=36308]="UNSIGNED_INT_SAMPLER_CUBE",t[t.UNSIGNED_INT_SAMPLER_2D_ARRAY=36311]="UNSIGNED_INT_SAMPLER_2D_ARRAY",t[t.MAX_SAMPLES=36183]="MAX_SAMPLES",t[t.SAMPLER_BINDING=35097]="SAMPLER_BINDING",t[t.PIXEL_PACK_BUFFER=35051]="PIXEL_PACK_BUFFER",t[t.PIXEL_UNPACK_BUFFER=35052]="PIXEL_UNPACK_BUFFER",t[t.PIXEL_PACK_BUFFER_BINDING=35053]="PIXEL_PACK_BUFFER_BINDING",t[t.PIXEL_UNPACK_BUFFER_BINDING=35055]="PIXEL_UNPACK_BUFFER_BINDING",t[t.COPY_READ_BUFFER=36662]="COPY_READ_BUFFER",t[t.COPY_WRITE_BUFFER=36663]="COPY_WRITE_BUFFER",t[t.COPY_READ_BUFFER_BINDING=36662]="COPY_READ_BUFFER_BINDING",t[t.COPY_WRITE_BUFFER_BINDING=36663]="COPY_WRITE_BUFFER_BINDING",t[t.FLOAT_MAT2x3=35685]="FLOAT_MAT2x3",t[t.FLOAT_MAT2x4=35686]="FLOAT_MAT2x4",t[t.FLOAT_MAT3x2=35687]="FLOAT_MAT3x2",t[t.FLOAT_MAT3x4=35688]="FLOAT_MAT3x4",t[t.FLOAT_MAT4x2=35689]="FLOAT_MAT4x2",t[t.FLOAT_MAT4x3=35690]="FLOAT_MAT4x3",t[t.UNSIGNED_INT_VEC2=36294]="UNSIGNED_INT_VEC2",t[t.UNSIGNED_INT_VEC3=36295]="UNSIGNED_INT_VEC3",t[t.UNSIGNED_INT_VEC4=36296]="UNSIGNED_INT_VEC4",t[t.UNSIGNED_NORMALIZED=35863]="UNSIGNED_NORMALIZED",t[t.SIGNED_NORMALIZED=36764]="SIGNED_NORMALIZED",t[t.VERTEX_ATTRIB_ARRAY_INTEGER=35069]="VERTEX_ATTRIB_ARRAY_INTEGER",t[t.VERTEX_ATTRIB_ARRAY_DIVISOR=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR",t[t.TRANSFORM_FEEDBACK_BUFFER_MODE=35967]="TRANSFORM_FEEDBACK_BUFFER_MODE",t[t.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS=35968]="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",t[t.TRANSFORM_FEEDBACK_VARYINGS=35971]="TRANSFORM_FEEDBACK_VARYINGS",t[t.TRANSFORM_FEEDBACK_BUFFER_START=35972]="TRANSFORM_FEEDBACK_BUFFER_START",t[t.TRANSFORM_FEEDBACK_BUFFER_SIZE=35973]="TRANSFORM_FEEDBACK_BUFFER_SIZE",t[t.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN=35976]="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",t[t.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS=35978]="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS",t[t.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS=35979]="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS",t[t.INTERLEAVED_ATTRIBS=35980]="INTERLEAVED_ATTRIBS",t[t.SEPARATE_ATTRIBS=35981]="SEPARATE_ATTRIBS",t[t.TRANSFORM_FEEDBACK_BUFFER=35982]="TRANSFORM_FEEDBACK_BUFFER",t[t.TRANSFORM_FEEDBACK_BUFFER_BINDING=35983]="TRANSFORM_FEEDBACK_BUFFER_BINDING",t[t.TRANSFORM_FEEDBACK=36386]="TRANSFORM_FEEDBACK",t[t.TRANSFORM_FEEDBACK_PAUSED=36387]="TRANSFORM_FEEDBACK_PAUSED",t[t.TRANSFORM_FEEDBACK_ACTIVE=36388]="TRANSFORM_FEEDBACK_ACTIVE",t[t.TRANSFORM_FEEDBACK_BINDING=36389]="TRANSFORM_FEEDBACK_BINDING",t[t.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING",t[t.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",t[t.FRAMEBUFFER_ATTACHMENT_RED_SIZE=33298]="FRAMEBUFFER_ATTACHMENT_RED_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE=33299]="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE=33300]="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE=33301]="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE=33302]="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",t[t.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE=33303]="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE",t[t.FRAMEBUFFER_DEFAULT=33304]="FRAMEBUFFER_DEFAULT",t[t.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",t[t.DRAW_FRAMEBUFFER_BINDING=36006]="DRAW_FRAMEBUFFER_BINDING",t[t.READ_FRAMEBUFFER_BINDING=36010]="READ_FRAMEBUFFER_BINDING",t[t.RENDERBUFFER_SAMPLES=36011]="RENDERBUFFER_SAMPLES",t[t.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER=36052]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER",t[t.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE=36182]="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",t[t.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",t[t.UNIFORM_BUFFER_BINDING=35368]="UNIFORM_BUFFER_BINDING",t[t.UNIFORM_BUFFER_START=35369]="UNIFORM_BUFFER_START",t[t.UNIFORM_BUFFER_SIZE=35370]="UNIFORM_BUFFER_SIZE",t[t.MAX_VERTEX_UNIFORM_BLOCKS=35371]="MAX_VERTEX_UNIFORM_BLOCKS",t[t.MAX_FRAGMENT_UNIFORM_BLOCKS=35373]="MAX_FRAGMENT_UNIFORM_BLOCKS",t[t.MAX_COMBINED_UNIFORM_BLOCKS=35374]="MAX_COMBINED_UNIFORM_BLOCKS",t[t.MAX_UNIFORM_BUFFER_BINDINGS=35375]="MAX_UNIFORM_BUFFER_BINDINGS",t[t.MAX_UNIFORM_BLOCK_SIZE=35376]="MAX_UNIFORM_BLOCK_SIZE",t[t.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS=35377]="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS",t[t.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS=35379]="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS",t[t.UNIFORM_BUFFER_OFFSET_ALIGNMENT=35380]="UNIFORM_BUFFER_OFFSET_ALIGNMENT",t[t.ACTIVE_UNIFORM_BLOCKS=35382]="ACTIVE_UNIFORM_BLOCKS",t[t.UNIFORM_TYPE=35383]="UNIFORM_TYPE",t[t.UNIFORM_SIZE=35384]="UNIFORM_SIZE",t[t.UNIFORM_BLOCK_INDEX=35386]="UNIFORM_BLOCK_INDEX",t[t.UNIFORM_OFFSET=35387]="UNIFORM_OFFSET",t[t.UNIFORM_ARRAY_STRIDE=35388]="UNIFORM_ARRAY_STRIDE",t[t.UNIFORM_MATRIX_STRIDE=35389]="UNIFORM_MATRIX_STRIDE",t[t.UNIFORM_IS_ROW_MAJOR=35390]="UNIFORM_IS_ROW_MAJOR",t[t.UNIFORM_BLOCK_BINDING=35391]="UNIFORM_BLOCK_BINDING",t[t.UNIFORM_BLOCK_DATA_SIZE=35392]="UNIFORM_BLOCK_DATA_SIZE",t[t.UNIFORM_BLOCK_ACTIVE_UNIFORMS=35394]="UNIFORM_BLOCK_ACTIVE_UNIFORMS",t[t.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES=35395]="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES",t[t.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER=35396]="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER",t[t.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER=35398]="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER",t[t.OBJECT_TYPE=37138]="OBJECT_TYPE",t[t.SYNC_CONDITION=37139]="SYNC_CONDITION",t[t.SYNC_STATUS=37140]="SYNC_STATUS",t[t.SYNC_FLAGS=37141]="SYNC_FLAGS",t[t.SYNC_FENCE=37142]="SYNC_FENCE",t[t.SYNC_GPU_COMMANDS_COMPLETE=37143]="SYNC_GPU_COMMANDS_COMPLETE",t[t.UNSIGNALED=37144]="UNSIGNALED",t[t.SIGNALED=37145]="SIGNALED",t[t.ALREADY_SIGNALED=37146]="ALREADY_SIGNALED",t[t.TIMEOUT_EXPIRED=37147]="TIMEOUT_EXPIRED",t[t.CONDITION_SATISFIED=37148]="CONDITION_SATISFIED",t[t.WAIT_FAILED=37149]="WAIT_FAILED",t[t.SYNC_FLUSH_COMMANDS_BIT=1]="SYNC_FLUSH_COMMANDS_BIT",t[t.COLOR=6144]="COLOR",t[t.DEPTH=6145]="DEPTH",t[t.STENCIL=6146]="STENCIL",t[t.MIN=32775]="MIN",t[t.MAX=32776]="MAX",t[t.DEPTH_COMPONENT24=33190]="DEPTH_COMPONENT24",t[t.STREAM_READ=35041]="STREAM_READ",t[t.STREAM_COPY=35042]="STREAM_COPY",t[t.STATIC_READ=35045]="STATIC_READ",t[t.STATIC_COPY=35046]="STATIC_COPY",t[t.DYNAMIC_READ=35049]="DYNAMIC_READ",t[t.DYNAMIC_COPY=35050]="DYNAMIC_COPY",t[t.DEPTH_COMPONENT32F=36012]="DEPTH_COMPONENT32F",t[t.DEPTH32F_STENCIL8=36013]="DEPTH32F_STENCIL8",t[t.INVALID_INDEX=4294967295]="INVALID_INDEX",t[t.TIMEOUT_IGNORED=-1]="TIMEOUT_IGNORED",t[t.MAX_CLIENT_WAIT_TIMEOUT_WEBGL=37447]="MAX_CLIENT_WAIT_TIMEOUT_WEBGL",t[t.UNMASKED_VENDOR_WEBGL=37445]="UNMASKED_VENDOR_WEBGL",t[t.UNMASKED_RENDERER_WEBGL=37446]="UNMASKED_RENDERER_WEBGL",t[t.MAX_TEXTURE_MAX_ANISOTROPY_EXT=34047]="MAX_TEXTURE_MAX_ANISOTROPY_EXT",t[t.TEXTURE_MAX_ANISOTROPY_EXT=34046]="TEXTURE_MAX_ANISOTROPY_EXT",t[t.R16_EXT=33322]="R16_EXT",t[t.RG16_EXT=33324]="RG16_EXT",t[t.RGB16_EXT=32852]="RGB16_EXT",t[t.RGBA16_EXT=32859]="RGBA16_EXT",t[t.R16_SNORM_EXT=36760]="R16_SNORM_EXT",t[t.RG16_SNORM_EXT=36761]="RG16_SNORM_EXT",t[t.RGB16_SNORM_EXT=36762]="RGB16_SNORM_EXT",t[t.RGBA16_SNORM_EXT=36763]="RGBA16_SNORM_EXT",t[t.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",t[t.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",t[t.COMPRESSED_RED_RGTC1_EXT=36283]="COMPRESSED_RED_RGTC1_EXT",t[t.COMPRESSED_SIGNED_RED_RGTC1_EXT=36284]="COMPRESSED_SIGNED_RED_RGTC1_EXT",t[t.COMPRESSED_RED_GREEN_RGTC2_EXT=36285]="COMPRESSED_RED_GREEN_RGTC2_EXT",t[t.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT=36286]="COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT",t[t.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",t[t.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=36493]="COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT",t[t.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT=36494]="COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT",t[t.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT=36495]="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT",t[t.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",t[t.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",t[t.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",t[t.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",t[t.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",t[t.COMPRESSED_RGBA8_ETC2_EAC=37493]="COMPRESSED_RGBA8_ETC2_EAC",t[t.COMPRESSED_SRGB8_ETC2=37494]="COMPRESSED_SRGB8_ETC2",t[t.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37495]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",t[t.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37496]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",t[t.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37497]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",t[t.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",t[t.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",t[t.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",t[t.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",t[t.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",t[t.COMPRESSED_RGBA_ASTC_5x4_KHR=37809]="COMPRESSED_RGBA_ASTC_5x4_KHR",t[t.COMPRESSED_RGBA_ASTC_5x5_KHR=37810]="COMPRESSED_RGBA_ASTC_5x5_KHR",t[t.COMPRESSED_RGBA_ASTC_6x5_KHR=37811]="COMPRESSED_RGBA_ASTC_6x5_KHR",t[t.COMPRESSED_RGBA_ASTC_6x6_KHR=37812]="COMPRESSED_RGBA_ASTC_6x6_KHR",t[t.COMPRESSED_RGBA_ASTC_8x5_KHR=37813]="COMPRESSED_RGBA_ASTC_8x5_KHR",t[t.COMPRESSED_RGBA_ASTC_8x6_KHR=37814]="COMPRESSED_RGBA_ASTC_8x6_KHR",t[t.COMPRESSED_RGBA_ASTC_8x8_KHR=37815]="COMPRESSED_RGBA_ASTC_8x8_KHR",t[t.COMPRESSED_RGBA_ASTC_10x5_KHR=37816]="COMPRESSED_RGBA_ASTC_10x5_KHR",t[t.COMPRESSED_RGBA_ASTC_10x6_KHR=37817]="COMPRESSED_RGBA_ASTC_10x6_KHR",t[t.COMPRESSED_RGBA_ASTC_10x8_KHR=37818]="COMPRESSED_RGBA_ASTC_10x8_KHR",t[t.COMPRESSED_RGBA_ASTC_10x10_KHR=37819]="COMPRESSED_RGBA_ASTC_10x10_KHR",t[t.COMPRESSED_RGBA_ASTC_12x10_KHR=37820]="COMPRESSED_RGBA_ASTC_12x10_KHR",t[t.COMPRESSED_RGBA_ASTC_12x12_KHR=37821]="COMPRESSED_RGBA_ASTC_12x12_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=37840]="COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR=37841]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR=37842]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR=37843]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR=37844]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR=37845]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR=37846]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR=37847]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR=37848]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR=37849]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR=37850]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR=37851]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR=37852]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR",t[t.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR=37853]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR",t[t.QUERY_COUNTER_BITS_EXT=34916]="QUERY_COUNTER_BITS_EXT",t[t.CURRENT_QUERY_EXT=34917]="CURRENT_QUERY_EXT",t[t.QUERY_RESULT_EXT=34918]="QUERY_RESULT_EXT",t[t.QUERY_RESULT_AVAILABLE_EXT=34919]="QUERY_RESULT_AVAILABLE_EXT",t[t.TIME_ELAPSED_EXT=35007]="TIME_ELAPSED_EXT",t[t.TIMESTAMP_EXT=36392]="TIMESTAMP_EXT",t[t.GPU_DISJOINT_EXT=36795]="GPU_DISJOINT_EXT",t[t.COMPLETION_STATUS_KHR=37297]="COMPLETION_STATUS_KHR",t[t.DEPTH_CLAMP_EXT=34383]="DEPTH_CLAMP_EXT",t[t.FIRST_VERTEX_CONVENTION_WEBGL=36429]="FIRST_VERTEX_CONVENTION_WEBGL",t[t.LAST_VERTEX_CONVENTION_WEBGL=36430]="LAST_VERTEX_CONVENTION_WEBGL",t[t.PROVOKING_VERTEX_WEBL=36431]="PROVOKING_VERTEX_WEBL",t[t.POLYGON_MODE_WEBGL=2880]="POLYGON_MODE_WEBGL",t[t.POLYGON_OFFSET_LINE_WEBGL=10754]="POLYGON_OFFSET_LINE_WEBGL",t[t.LINE_WEBGL=6913]="LINE_WEBGL",t[t.FILL_WEBGL=6914]="FILL_WEBGL",t[t.MAX_CLIP_DISTANCES_WEBGL=3378]="MAX_CLIP_DISTANCES_WEBGL",t[t.MAX_CULL_DISTANCES_WEBGL=33529]="MAX_CULL_DISTANCES_WEBGL",t[t.MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL=33530]="MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL",t[t.CLIP_DISTANCE0_WEBGL=12288]="CLIP_DISTANCE0_WEBGL",t[t.CLIP_DISTANCE1_WEBGL=12289]="CLIP_DISTANCE1_WEBGL",t[t.CLIP_DISTANCE2_WEBGL=12290]="CLIP_DISTANCE2_WEBGL",t[t.CLIP_DISTANCE3_WEBGL=12291]="CLIP_DISTANCE3_WEBGL",t[t.CLIP_DISTANCE4_WEBGL=12292]="CLIP_DISTANCE4_WEBGL",t[t.CLIP_DISTANCE5_WEBGL=12293]="CLIP_DISTANCE5_WEBGL",t[t.CLIP_DISTANCE6_WEBGL=12294]="CLIP_DISTANCE6_WEBGL",t[t.CLIP_DISTANCE7_WEBGL=12295]="CLIP_DISTANCE7_WEBGL",t[t.POLYGON_OFFSET_CLAMP_EXT=36379]="POLYGON_OFFSET_CLAMP_EXT",t[t.LOWER_LEFT_EXT=36001]="LOWER_LEFT_EXT",t[t.UPPER_LEFT_EXT=36002]="UPPER_LEFT_EXT",t[t.NEGATIVE_ONE_TO_ONE_EXT=37726]="NEGATIVE_ONE_TO_ONE_EXT",t[t.ZERO_TO_ONE_EXT=37727]="ZERO_TO_ONE_EXT",t[t.CLIP_ORIGIN_EXT=37724]="CLIP_ORIGIN_EXT",t[t.CLIP_DEPTH_MODE_EXT=37725]="CLIP_DEPTH_MODE_EXT",t[t.SRC1_COLOR_WEBGL=35065]="SRC1_COLOR_WEBGL",t[t.SRC1_ALPHA_WEBGL=34185]="SRC1_ALPHA_WEBGL",t[t.ONE_MINUS_SRC1_COLOR_WEBGL=35066]="ONE_MINUS_SRC1_COLOR_WEBGL",t[t.ONE_MINUS_SRC1_ALPHA_WEBGL=35067]="ONE_MINUS_SRC1_ALPHA_WEBGL",t[t.MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL=35068]="MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL",t[t.MIRROR_CLAMP_TO_EDGE_EXT=34627]="MIRROR_CLAMP_TO_EDGE_EXT"})(Dt||(Dt={}))});var qi=I(()=>{$i()});var B=er((Hd,Qi)=>{Qi.exports=globalThis.luma});function Xt(t){let e=t.luma||{_polyfilled:!1,extensions:{},softwareRenderer:!1};return e._polyfilled??=!1,e.extensions||={},t.luma=e,e}var nr=I(()=>{});function Gi(t){if(t={...Za,...t},!t.debugSpectorJS)return null;if(!$&&globalThis.SPECTOR&&!globalThis.luma?.spector){qt.log.probe(Ka,"SPECTOR found and initialized. Start with `luma.spector.displayUI()`")();let{Spector:e}=globalThis.SPECTOR;$=new e,globalThis.luma&&(globalThis.luma.spector=$)}if(!$)return null;if(Ji||(Ji=!0,$.spyCanvases(),$?.onCaptureStarted.add(e=>qt.log.info("Spector capture started:",e)()),$?.onCapture.add(e=>{qt.log.info("Spector capture complete:",e)(),$?.getResultUI(),$?.resultView.display(),$?.resultView.addCapture(e)})),t.gl){let e=t.gl,r=Xt(e),n=r.device;$?.startCapture(t.gl,500),r.device=n,new Promise(i=>setTimeout(i,2e3)).then(i=>{qt.log.info("Spector capture stopped after 2 seconds")(),$?.stopCapture()})}return $}var qt,Ka,$,Ji,Za,ts=I(()=>{qt=F(B(),1);nr();Ka=1,$=null,Ji=!1,Za={debugSpectorJS:qt.log.get("debug-spectorjs"),debugSpectorJSUrl:"https://cdn.jsdelivr.net/npm/spectorjs@0.9.30/dist/spector.bundle.js",gl:void 0}});var ir,ja,sr,$a,es,Tn=I(()=>{ir=globalThis,ja=globalThis.document||{},sr=globalThis.process||{},$a=globalThis.console,es=globalThis.navigator||{}});function or(t){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let e=typeof navigator<"u"&&navigator.userAgent,r=t||e;return Boolean(r&&r.indexOf("Electron")>=0)}var mn=I(()=>{});function bt(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||or()}var Rn=I(()=>{mn()});function En(t){return!t&&!bt()?"Node":or(t)?"Electron":(t||es.userAgent||"").indexOf("Edge")>-1?"Edge":globalThis.chrome?"Chrome":globalThis.safari?"Safari":globalThis.mozInnerScreenX?"Firefox":"Unknown"}var rs=I(()=>{Rn();mn();Tn()});var An,xe=I(()=>{Tn();Rn();rs();An="4.1.1"});function is(t){return t.luma=t.luma||{},t.luma}function ss(t,e={}){return e.debugWebGL||e.traceWebGL?Ja(t,e):Qa(t)}function Qa(t){let e=is(t);return e.realContext?e.realContext:t}function Ja(t,e){if(!globalThis.WebGLDebugUtils)return Pe.log.warn("webgl-debug not loaded")(),t;let r=is(t);if(r.debugContext)return r.debugContext;globalThis.WebGLDebugUtils.init({...Dt,...t});let n=globalThis.WebGLDebugUtils.makeDebugContext(t,Ga.bind(null,e),tc.bind(null,e));for(let o in Dt)!(o in n)&&typeof Dt[o]=="number"&&(n[o]=Dt[o]);class i{}Object.setPrototypeOf(n,Object.getPrototypeOf(t)),Object.setPrototypeOf(i,n);let s=Object.create(i);return r.realContext=t,r.debugContext=s,s.luma=r,s.debug=!0,s}function ns(t,e){e=Array.from(e).map(n=>n===void 0?"undefined":n);let r=globalThis.WebGLDebugUtils.glFunctionArgsToString(t,e);return r=`${r.slice(0,100)}${r.length>100?"...":""}`,`gl.${t}(${r})`}function Ga(t,e,r,n){n=Array.from(n).map(a=>a===void 0?"undefined":a);let i=globalThis.WebGLDebugUtils.glEnumToString(e),s=globalThis.WebGLDebugUtils.glFunctionArgsToString(r,n),o=`${i} in gl.${r}(${s})`;Pe.log.error("%cWebGL","color: white; background: red; padding: 2px 6px; border-radius: 3px;",o)();debugger;throw new Error(o)}function tc(t,e,r){let n="";t.traceWebGL&&Pe.log.level>=1&&(n=ns(e,r),Pe.log.info(1,"%cWebGL","color: white; background: blue; padding: 2px 6px; border-radius: 3px;",n)());for(let i of r)if(i===void 0){n=n||ns(e,r);debugger}}var Pe,os=I(()=>{Pe=F(B(),1);qi()});function bn(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function V(t,e,r){return e[t]!==void 0?e[t]:r[t]}var Ie,X,as,q,cs,Ce,ls,hs,Sn,gt,Mn,fs,xn=I(()=>{Ie={[3042]:!1,[32773]:new Float32Array([0,0,0,0]),[32777]:32774,[34877]:32774,[32969]:1,[32968]:0,[32971]:1,[32970]:0,[3106]:new Float32Array([0,0,0,0]),[3107]:[!0,!0,!0,!0],[2884]:!1,[2885]:1029,[2929]:!1,[2931]:1,[2932]:513,[2928]:new Float32Array([0,1]),[2930]:!0,[3024]:!0,[35725]:null,[36006]:null,[36007]:null,[34229]:null,[34964]:null,[2886]:2305,[33170]:4352,[2849]:1,[32823]:!1,[32824]:0,[10752]:0,[32926]:!1,[32928]:!1,[32938]:1,[32939]:!1,[3089]:!1,[3088]:new Int32Array([0,0,1024,1024]),[2960]:!1,[2961]:0,[2968]:4294967295,[36005]:4294967295,[2962]:519,[2967]:0,[2963]:4294967295,[34816]:519,[36003]:0,[36004]:4294967295,[2964]:7680,[2965]:7680,[2966]:7680,[34817]:7680,[34818]:7680,[34819]:7680,[2978]:[0,0,1024,1024],[36389]:null,[36662]:null,[36663]:null,[35053]:null,[35055]:null,[35723]:4352,[36010]:null,[35977]:!1,[3333]:4,[3317]:4,[37440]:!1,[37441]:!1,[37443]:37444,[3330]:0,[3332]:0,[3331]:0,[3314]:0,[32878]:0,[3316]:0,[3315]:0,[32877]:0},X=(t,e,r)=>e?t.enable(r):t.disable(r),as=(t,e,r)=>t.hint(r,e),q=(t,e,r)=>t.pixelStorei(r,e),cs=(t,e,r)=>{let n=r===36006?36009:36008;return t.bindFramebuffer(n,e)},Ce=(t,e,r)=>{let i={[34964]:34962,[36662]:36662,[36663]:36663,[35053]:35051,[35055]:35052}[r];t.bindBuffer(i,e)};ls={[3042]:X,[32773]:(t,e)=>t.blendColor(...e),[32777]:"blendEquation",[34877]:"blendEquation",[32969]:"blendFunc",[32968]:"blendFunc",[32971]:"blendFunc",[32970]:"blendFunc",[3106]:(t,e)=>t.clearColor(...e),[3107]:(t,e)=>t.colorMask(...e),[2884]:X,[2885]:(t,e)=>t.cullFace(e),[2929]:X,[2931]:(t,e)=>t.clearDepth(e),[2932]:(t,e)=>t.depthFunc(e),[2928]:(t,e)=>t.depthRange(...e),[2930]:(t,e)=>t.depthMask(e),[3024]:X,[35723]:as,[35725]:(t,e)=>t.useProgram(e),[36007]:(t,e)=>t.bindRenderbuffer(36161,e),[36389]:(t,e)=>t.bindTransformFeedback?.(36386,e),[34229]:(t,e)=>t.bindVertexArray(e),[36006]:cs,[36010]:cs,[34964]:Ce,[36662]:Ce,[36663]:Ce,[35053]:Ce,[35055]:Ce,[2886]:(t,e)=>t.frontFace(e),[33170]:as,[2849]:(t,e)=>t.lineWidth(e),[32823]:X,[32824]:"polygonOffset",[10752]:"polygonOffset",[35977]:X,[32926]:X,[32928]:X,[32938]:"sampleCoverage",[32939]:"sampleCoverage",[3089]:X,[3088]:(t,e)=>t.scissor(...e),[2960]:X,[2961]:(t,e)=>t.clearStencil(e),[2968]:(t,e)=>t.stencilMaskSeparate(1028,e),[36005]:(t,e)=>t.stencilMaskSeparate(1029,e),[2962]:"stencilFuncFront",[2967]:"stencilFuncFront",[2963]:"stencilFuncFront",[34816]:"stencilFuncBack",[36003]:"stencilFuncBack",[36004]:"stencilFuncBack",[2964]:"stencilOpFront",[2965]:"stencilOpFront",[2966]:"stencilOpFront",[34817]:"stencilOpBack",[34818]:"stencilOpBack",[34819]:"stencilOpBack",[2978]:(t,e)=>t.viewport(...e),[34383]:X,[10754]:X,[12288]:X,[12289]:X,[12290]:X,[12291]:X,[12292]:X,[12293]:X,[12294]:X,[12295]:X,[3333]:q,[3317]:q,[37440]:q,[37441]:q,[37443]:q,[3330]:q,[3332]:q,[3331]:q,[3314]:q,[32878]:q,[3316]:q,[3315]:q,[32877]:q,framebuffer:(t,e)=>{let r=e&&"handle"in e?e.handle:e;return t.bindFramebuffer(36160,r)},blend:(t,e)=>e?t.enable(3042):t.disable(3042),blendColor:(t,e)=>t.blendColor(...e),blendEquation:(t,e)=>{let r=typeof e=="number"?[e,e]:e;t.blendEquationSeparate(...r)},blendFunc:(t,e)=>{let r=e?.length===2?[...e,...e]:e;t.blendFuncSeparate(...r)},clearColor:(t,e)=>t.clearColor(...e),clearDepth:(t,e)=>t.clearDepth(e),clearStencil:(t,e)=>t.clearStencil(e),colorMask:(t,e)=>t.colorMask(...e),cull:(t,e)=>e?t.enable(2884):t.disable(2884),cullFace:(t,e)=>t.cullFace(e),depthTest:(t,e)=>e?t.enable(2929):t.disable(2929),depthFunc:(t,e)=>t.depthFunc(e),depthMask:(t,e)=>t.depthMask(e),depthRange:(t,e)=>t.depthRange(...e),dither:(t,e)=>e?t.enable(3024):t.disable(3024),derivativeHint:(t,e)=>{t.hint(35723,e)},frontFace:(t,e)=>t.frontFace(e),mipmapHint:(t,e)=>t.hint(33170,e),lineWidth:(t,e)=>t.lineWidth(e),polygonOffsetFill:(t,e)=>e?t.enable(32823):t.disable(32823),polygonOffset:(t,e)=>t.polygonOffset(...e),sampleCoverage:(t,e)=>t.sampleCoverage(e[0],e[1]||!1),scissorTest:(t,e)=>e?t.enable(3089):t.disable(3089),scissor:(t,e)=>t.scissor(...e),stencilTest:(t,e)=>e?t.enable(2960):t.disable(2960),stencilMask:(t,e)=>{e=bn(e)?e:[e,e];let[r,n]=e;t.stencilMaskSeparate(1028,r),t.stencilMaskSeparate(1029,n)},stencilFunc:(t,e)=>{e=bn(e)&&e.length===3?[...e,...e]:e;let[r,n,i,s,o,a]=e;t.stencilFuncSeparate(1028,r,n,i),t.stencilFuncSeparate(1029,s,o,a)},stencilOp:(t,e)=>{e=bn(e)&&e.length===3?[...e,...e]:e;let[r,n,i,s,o,a]=e;t.stencilOpSeparate(1028,r,n,i),t.stencilOpSeparate(1029,s,o,a)},viewport:(t,e)=>t.viewport(...e)};hs={blendEquation:(t,e,r)=>t.blendEquationSeparate(V(32777,e,r),V(34877,e,r)),blendFunc:(t,e,r)=>t.blendFuncSeparate(V(32969,e,r),V(32968,e,r),V(32971,e,r),V(32970,e,r)),polygonOffset:(t,e,r)=>t.polygonOffset(V(32824,e,r),V(10752,e,r)),sampleCoverage:(t,e,r)=>t.sampleCoverage(V(32938,e,r),V(32939,e,r)),stencilFuncFront:(t,e,r)=>t.stencilFuncSeparate(1028,V(2962,e,r),V(2967,e,r),V(2963,e,r)),stencilFuncBack:(t,e,r)=>t.stencilFuncSeparate(1029,V(34816,e,r),V(36003,e,r),V(36004,e,r)),stencilOpFront:(t,e,r)=>t.stencilOpSeparate(1028,V(2964,e,r),V(2965,e,r),V(2966,e,r)),stencilOpBack:(t,e,r)=>t.stencilOpSeparate(1029,V(34817,e,r),V(34818,e,r),V(34819,e,r))},Sn={enable:(t,e)=>t({[e]:!0}),disable:(t,e)=>t({[e]:!1}),pixelStorei:(t,e,r)=>t({[e]:r}),hint:(t,e,r)=>t({[e]:r}),useProgram:(t,e)=>t({[35725]:e}),bindRenderbuffer:(t,e,r)=>t({[36007]:r}),bindTransformFeedback:(t,e,r)=>t({[36389]:r}),bindVertexArray:(t,e)=>t({[34229]:e}),bindFramebuffer:(t,e,r)=>{switch(e){case 36160:return t({[36006]:r,[36010]:r});case 36009:return t({[36006]:r});case 36008:return t({[36010]:r});default:return null}},bindBuffer:(t,e,r)=>{let n={[34962]:[34964],[36662]:[36662],[36663]:[36663],[35051]:[35053],[35052]:[35055]}[e];return n?t({[n]:r}):{valueChanged:!0}},blendColor:(t,e,r,n,i)=>t({[32773]:new Float32Array([e,r,n,i])}),blendEquation:(t,e)=>t({[32777]:e,[34877]:e}),blendEquationSeparate:(t,e,r)=>t({[32777]:e,[34877]:r}),blendFunc:(t,e,r)=>t({[32969]:e,[32968]:r,[32971]:e,[32970]:r}),blendFuncSeparate:(t,e,r,n,i)=>t({[32969]:e,[32968]:r,[32971]:n,[32970]:i}),clearColor:(t,e,r,n,i)=>t({[3106]:new Float32Array([e,r,n,i])}),clearDepth:(t,e)=>t({[2931]:e}),clearStencil:(t,e)=>t({[2961]:e}),colorMask:(t,e,r,n,i)=>t({[3107]:[e,r,n,i]}),cullFace:(t,e)=>t({[2885]:e}),depthFunc:(t,e)=>t({[2932]:e}),depthRange:(t,e,r)=>t({[2928]:new Float32Array([e,r])}),depthMask:(t,e)=>t({[2930]:e}),frontFace:(t,e)=>t({[2886]:e}),lineWidth:(t,e)=>t({[2849]:e}),polygonOffset:(t,e,r)=>t({[32824]:e,[10752]:r}),sampleCoverage:(t,e,r)=>t({[32938]:e,[32939]:r}),scissor:(t,e,r,n,i)=>t({[3088]:new Int32Array([e,r,n,i])}),stencilMask:(t,e)=>t({[2968]:e,[36005]:e}),stencilMaskSeparate:(t,e,r)=>t({[e===1028?2968:36005]:r}),stencilFunc:(t,e,r,n)=>t({[2962]:e,[2967]:r,[2963]:n,[34816]:e,[36003]:r,[36004]:n}),stencilFuncSeparate:(t,e,r,n,i)=>t({[e===1028?2962:34816]:r,[e===1028?2967:36003]:n,[e===1028?2963:36004]:i}),stencilOp:(t,e,r,n)=>t({[2964]:e,[2965]:r,[2966]:n,[34817]:e,[34818]:r,[34819]:n}),stencilOpSeparate:(t,e,r,n,i)=>t({[e===1028?2964:34817]:r,[e===1028?2965:34818]:n,[e===1028?2966:34819]:i}),viewport:(t,e,r,n,i)=>t({[2978]:[e,r,n,i]})},gt=(t,e)=>t.isEnabled(e),Mn={[3042]:gt,[2884]:gt,[2929]:gt,[3024]:gt,[32823]:gt,[32926]:gt,[32928]:gt,[3089]:gt,[2960]:gt,[35977]:gt},fs=new Set([34016,36388,36387,35983,35368,34965,35739,35738,3074,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34866,34867,34868,35097,32873,35869,32874,34068])});function nt(t,e){if(ec(e))return;let r={};for(let i in e){let s=Number(i),o=ls[i];o&&(typeof o=="string"?r[o]=!0:o(t,e[i],s))}let n=t.lumaState?.cache;if(n)for(let i in r){let s=hs[i];s(t,e,n)}}function ar(t,e=Ie){if(typeof e=="number"){let i=e,s=Mn[i];return s?s(t,i):t.getParameter(i)}let r=Array.isArray(e)?e:Object.keys(e),n={};for(let i of r){let s=Mn[i];n[i]=s?s(t,Number(i)):t.getParameter(Number(i))}return n}function ds(t){nt(t,Ie)}function ec(t){for(let e in t)return!1;return!0}var Qt=I(()=>{xn()});function us(t,e){if(t===e)return!0;if(ps(t)&&ps(e)&&t.length===e.length){for(let r=0;r<t.length;++r)if(t[r]!==e[r])return!1;return!0}return!1}function ps(t){return Array.isArray(t)||ArrayBuffer.isView(t)}var _s=I(()=>{});function gs(t,e){let r=t[e].bind(t);t[e]=function(i){if(i===void 0||fs.has(i))return r(i);let s=it.get(t);return i in s.cache||(s.cache[i]=r(i)),s.enable?s.cache[i]:r(i)},Object.defineProperty(t[e],"name",{value:`${e}-from-cache`,configurable:!1})}function rc(t,e,r){if(!t[e])return;let n=t[e].bind(t);t[e]=function(...s){let o=it.get(t),{valueChanged:a,oldValue:c}=r(o._updateCache,...s);return a&&n(...s),c},Object.defineProperty(t[e],"name",{value:`${e}-to-cache`,configurable:!1})}function nc(t){let e=t.useProgram.bind(t);t.useProgram=function(n){let i=it.get(t);i.program!==n&&(e(n),i.program=n)}}var it,Pn=I(()=>{Qt();_s();xn();it=class{static get(e){return e.lumaState}gl;program=null;stateStack=[];enable=!0;cache=null;log;initialized=!1;constructor(e,r){this.gl=e,this.log=r?.log||(()=>{}),this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){let e=this.stateStack[this.stateStack.length-1];nt(this.gl,e),this.stateStack.pop()}trackState(e,r){if(this.cache=r?.copyState?ar(e):Object.assign({},Ie),this.initialized)throw new Error("WebGLStateTracker");this.initialized=!0,this.gl.lumaState=this,nc(e);for(let n in Sn){let i=Sn[n];rc(e,n,i)}gs(e,"getParameter"),gs(e,"isEnabled")}_updateCache(e){let r=!1,n,i=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(let s in e){let o=e[s],a=this.cache[s];us(o,a)||(r=!0,n=a,i&&!(s in i)&&(i[s]=a),this.cache[s]=o)}return{valueChanged:r,oldValue:n}}}});function Ts(t,e,r){let n="",i=c=>{let l=c.statusMessage;l&&(n||=l)};t.addEventListener("webglcontextcreationerror",i,!1);let s=r.failIfMajorPerformanceCaveat!==!0,o={preserveDrawingBuffer:!0,...r,failIfMajorPerformanceCaveat:!0},a=null;try{a||=t.getContext("webgl2",o),!a&&o.failIfMajorPerformanceCaveat&&(n||="Only software GPU is available. Set `failIfMajorPerformanceCaveat: false` to allow.");let c=!1;if(!a&&s&&(o.failIfMajorPerformanceCaveat=!1,a=t.getContext("webgl2",o),c=!0),a||(a=t.getContext("webgl",{}),a&&(a=null,n||="Your browser only supports WebGL1")),!a)throw n||="Your browser does not support WebGL",new Error(`Failed to create WebGL context: ${n}`);let l=Xt(a);l.softwareRenderer=c;let{onContextLost:h,onContextRestored:f}=e;return t.addEventListener("webglcontextlost",d=>h(d),!1),t.addEventListener("webglcontextrestored",d=>f(d),!1),a}finally{t.removeEventListener("webglcontextcreationerror",i,!1)}}var ms=I(()=>{nr()});function st(t,e,r){return r[e]===void 0&&(r[e]=t.getExtension(e)||null),r[e]}var ye=I(()=>{});function Rs(t,e){let r=t.getParameter(7936),n=t.getParameter(7937);st(t,"WEBGL_debug_renderer_info",e);let i=e.WEBGL_debug_renderer_info,s=t.getParameter(i?i.UNMASKED_VENDOR_WEBGL:7936),o=t.getParameter(i?i.UNMASKED_RENDERER_WEBGL:7937),a=s||r,c=o||n,l=t.getParameter(7938),h=Es(a,c),f=ic(a,c),d=sc(a,c);return{type:"webgl",gpu:h,gpuType:d,gpuBackend:f,vendor:a,renderer:c,version:l,shadingLanguage:"glsl",shadingLanguageVersion:300}}function Es(t,e){return/NVIDIA/i.exec(t)||/NVIDIA/i.exec(e)?"nvidia":/INTEL/i.exec(t)||/INTEL/i.exec(e)?"intel":/Apple/i.exec(t)||/Apple/i.exec(e)?"apple":/AMD/i.exec(t)||/AMD/i.exec(e)||/ATI/i.exec(t)||/ATI/i.exec(e)?"amd":/SwiftShader/i.exec(t)||/SwiftShader/i.exec(e)?"software":"unknown"}function ic(t,e){return/Metal/i.exec(t)||/Metal/i.exec(e)?"metal":/ANGLE/i.exec(t)||/ANGLE/i.exec(e)?"opengl":"unknown"}function sc(t,e){if(/SwiftShader/i.exec(t)||/SwiftShader/i.exec(e))return"cpu";switch(Es(t,e)){case"apple":return oc(t,e)?"integrated":"unknown";case"intel":return"integrated";case"software":return"cpu";case"unknown":return"unknown";default:return"discrete"}}function oc(t,e){return/Apple (M\d|A\d|GPU)/i.test(`${t} ${e}`)}var As=I(()=>{ye()});function cr(t){switch(t){case"uint8":return 5121;case"sint8":return 5120;case"unorm8":return 5121;case"snorm8":return 5120;case"uint16":return 5123;case"sint16":return 5122;case"unorm16":return 5123;case"snorm16":return 5122;case"uint32":return 5125;case"sint32":return 5124;case"float16":return 5131;case"float32":return 5126}throw new Error(String(t))}var Cn=I(()=>{});function Ms(t){return t in hr}function Dn(t,e,r){return xs(t,e,r,new Set)}function xs(t,e,r,n){let i=hr[e];if(!i||n.has(e))return!1;n.add(e);let s=(i.features||[]).every(o=>xs(t,o,r,n));return n.delete(e),s?(i.extensions||[]).every(o=>Boolean(st(t,o,r))):!1}function Ps(t,e,r){let n=e.create,i=fr[e.format];i?.gl===void 0&&(n=!1),i?.x&&(n=n&&Boolean(st(t,i.x,r))),e.format==="stencil8"&&(n=!1);let s=i?.r===!1?!1:i?.r===void 0||Dn(t,i.r,r),o=n&&e.render&&s&&uc(t,e.format,r);return{format:e.format,create:n&&e.create,render:o,filter:n&&e.filter,blend:n&&e.blend,store:n&&e.store}}function uc(t,e,r){let n=fr[e],i=n?.gl;if(i===void 0||n?.x&&!st(t,n.x,r))return!1;let s=t.getParameter(32873),o=t.getParameter(36006),a=t.createTexture(),c=t.createFramebuffer();if(!a||!c)return!1;let l=Number(0),h=Number(t.getError());for(;h!==l;)h=t.getError();let f=!1;try{if(t.bindTexture(3553,a),t.texStorage2D(3553,1,i,1,1),Number(t.getError())!==l)return!1;t.bindFramebuffer(36160,c),t.framebufferTexture2D(36160,36064,3553,a,0),f=Number(t.checkFramebufferStatus(36160))===Number(36053)&&Number(t.getError())===l}finally{t.bindFramebuffer(36160,o),t.deleteFramebuffer(c),t.bindTexture(3553,s),t.deleteTexture(a)}return f}function dr(t){let e=fr[t],r=gc(t),n=wn.textureFormatDecoder.getInfo(t);return n.compressed&&(e.dataFormat=r),{internalFormat:r,format:e?.dataFormat||_c(n.channels,n.integer,n.normalized,r),type:n.dataType?cr(n.dataType):e?.types?.[0]||5121,compressed:n.compressed||!1}}function Cs(t){switch(wn.textureFormatDecoder.getInfo(t).attachment){case"depth":return 36096;case"stencil":return 36128;case"depth-stencil":return 33306;default:throw new Error(`Not a depth stencil format: ${t}`)}}function _c(t,e,r,n){if(n===6408||n===6407)return n;switch(t){case"r":return e&&!r?36244:6403;case"rg":return e&&!r?33320:33319;case"rgb":return e&&!r?36248:6407;case"rgba":return e&&!r?36249:6408;case"bgra":throw new Error("bgra pixels not supported by WebGL");default:return 6408}}function gc(t){let r=fr[t]?.gl;if(r===void 0)throw new Error(`Unsupported texture format ${t}`);return r}var wn,Ne,Oe,Jt,Gt,ac,cc,lc,hc,fc,dc,bs,Ss,In,yn,Nn,On,lr,pc,hr,fr,te=I(()=>{wn=F(B(),1);ye();Cn();Ne="WEBGL_compressed_texture_s3tc",Oe="WEBGL_compressed_texture_s3tc_srgb",Jt="EXT_texture_compression_rgtc",Gt="EXT_texture_compression_bptc",ac="WEBGL_compressed_texture_etc",cc="WEBGL_compressed_texture_astc",lc="WEBGL_compressed_texture_etc1",hc="WEBGL_compressed_texture_pvrtc",fc="WEBGL_compressed_texture_atc",dc="EXT_texture_norm16",bs="EXT_render_snorm",Ss="EXT_color_buffer_float",In="snorm8-renderable-webgl",yn="norm16-renderable-webgl",Nn="snorm16-renderable-webgl",On="float16-renderable-webgl",lr="float32-renderable-webgl",pc="rgb9e5ufloat-renderable-webgl",hr={"float32-renderable-webgl":{extensions:[Ss]},"float16-renderable-webgl":{extensions:["EXT_color_buffer_half_float"]},"rgb9e5ufloat-renderable-webgl":{extensions:["WEBGL_render_shared_exponent"]},"snorm8-renderable-webgl":{extensions:[bs]},"norm16-webgl":{extensions:[dc]},"norm16-renderable-webgl":{features:["norm16-webgl"]},"snorm16-renderable-webgl":{features:["norm16-webgl"],extensions:[bs]},"float32-filterable":{extensions:["OES_texture_float_linear"]},"float16-filterable-webgl":{extensions:["OES_texture_half_float_linear"]},"texture-filterable-anisotropic-webgl":{extensions:["EXT_texture_filter_anisotropic"]},"texture-blend-float-webgl":{extensions:["EXT_float_blend"]},"texture-compression-bc":{extensions:[Ne,Oe,Jt,Gt]},"texture-compression-bc5-webgl":{extensions:[Jt]},"texture-compression-bc7-webgl":{extensions:[Gt]},"texture-compression-etc2":{extensions:[ac]},"texture-compression-astc":{extensions:[cc]},"texture-compression-etc1-webgl":{extensions:[lc]},"texture-compression-pvrtc-webgl":{extensions:[hc]},"texture-compression-atc-webgl":{extensions:[fc]}};fr={r8unorm:{gl:33321,rb:!0},r8snorm:{gl:36756,r:In},r8uint:{gl:33330,rb:!0},r8sint:{gl:33329,rb:!0},rg8unorm:{gl:33323,rb:!0},rg8snorm:{gl:36757,r:In},rg8uint:{gl:33336,rb:!0},rg8sint:{gl:33335,rb:!0},r16uint:{gl:33332,rb:!0},r16sint:{gl:33331,rb:!0},r16float:{gl:33325,rb:!0,r:On},r16unorm:{gl:33322,rb:!0,r:yn},r16snorm:{gl:36760,r:Nn},"rgba4unorm-webgl":{gl:32854,rb:!0},"rgb565unorm-webgl":{gl:36194,rb:!0},"rgb5a1unorm-webgl":{gl:32855,rb:!0},"rgb8unorm-webgl":{gl:32849},"rgb8snorm-webgl":{gl:36758},rgba8unorm:{gl:32856},"rgba8unorm-srgb":{gl:35907},rgba8snorm:{gl:36759,r:In},rgba8uint:{gl:36220},rgba8sint:{gl:36238},bgra8unorm:{},"bgra8unorm-srgb":{},rg16uint:{gl:33338},rg16sint:{gl:33337},rg16float:{gl:33327,rb:!0,r:On},rg16unorm:{gl:33324,r:yn},rg16snorm:{gl:36761,r:Nn},r32uint:{gl:33334,rb:!0},r32sint:{gl:33333,rb:!0},r32float:{gl:33326,r:lr},rgb9e5ufloat:{gl:35901,r:pc},rg11b10ufloat:{gl:35898,rb:!0},rgb10a2unorm:{gl:32857,rb:!0},rgb10a2uint:{gl:36975,rb:!0},"rgb16unorm-webgl":{gl:32852,r:!1},"rgb16snorm-webgl":{gl:36762,r:!1},rg32uint:{gl:33340,rb:!0},rg32sint:{gl:33339,rb:!0},rg32float:{gl:33328,rb:!0,r:lr},rgba16uint:{gl:36214,rb:!0},rgba16sint:{gl:36232,rb:!0},rgba16float:{gl:34842,r:On},rgba16unorm:{gl:32859,rb:!0,r:yn},rgba16snorm:{gl:36763,r:Nn},"rgb32float-webgl":{gl:34837,x:Ss,r:lr,dataFormat:6407,types:[5126]},rgba32uint:{gl:36208,rb:!0},rgba32sint:{gl:36226,rb:!0},rgba32float:{gl:34836,rb:!0,r:lr},stencil8:{gl:36168,rb:!0},depth16unorm:{gl:33189,dataFormat:6402,types:[5123],rb:!0},depth24plus:{gl:33190,dataFormat:6402,types:[5125]},depth32float:{gl:36012,dataFormat:6402,types:[5126],rb:!0},"depth24plus-stencil8":{gl:35056,rb:!0,depthTexture:!0,dataFormat:34041,types:[34042]},"depth32float-stencil8":{gl:36013,dataFormat:34041,types:[36269],rb:!0},"bc1-rgb-unorm-webgl":{gl:33776,x:Ne},"bc1-rgb-unorm-srgb-webgl":{gl:35916,x:Oe},"bc1-rgba-unorm":{gl:33777,x:Ne},"bc1-rgba-unorm-srgb":{gl:35916,x:Oe},"bc2-rgba-unorm":{gl:33778,x:Ne},"bc2-rgba-unorm-srgb":{gl:35918,x:Oe},"bc3-rgba-unorm":{gl:33779,x:Ne},"bc3-rgba-unorm-srgb":{gl:35919,x:Oe},"bc4-r-unorm":{gl:36283,x:Jt},"bc4-r-snorm":{gl:36284,x:Jt},"bc5-rg-unorm":{gl:36285,x:Jt},"bc5-rg-snorm":{gl:36286,x:Jt},"bc6h-rgb-ufloat":{gl:36495,x:Gt},"bc6h-rgb-float":{gl:36494,x:Gt},"bc7-rgba-unorm":{gl:36492,x:Gt},"bc7-rgba-unorm-srgb":{gl:36493,x:Gt},"etc2-rgb8unorm":{gl:37492},"etc2-rgb8unorm-srgb":{gl:37494},"etc2-rgb8a1unorm":{gl:37496},"etc2-rgb8a1unorm-srgb":{gl:37497},"etc2-rgba8unorm":{gl:37493},"etc2-rgba8unorm-srgb":{gl:37495},"eac-r11unorm":{gl:37488},"eac-r11snorm":{gl:37489},"eac-rg11unorm":{gl:37490},"eac-rg11snorm":{gl:37491},"astc-4x4-unorm":{gl:37808},"astc-4x4-unorm-srgb":{gl:37840},"astc-5x4-unorm":{gl:37809},"astc-5x4-unorm-srgb":{gl:37841},"astc-5x5-unorm":{gl:37810},"astc-5x5-unorm-srgb":{gl:37842},"astc-6x5-unorm":{gl:37811},"astc-6x5-unorm-srgb":{gl:37843},"astc-6x6-unorm":{gl:37812},"astc-6x6-unorm-srgb":{gl:37844},"astc-8x5-unorm":{gl:37813},"astc-8x5-unorm-srgb":{gl:37845},"astc-8x6-unorm":{gl:37814},"astc-8x6-unorm-srgb":{gl:37846},"astc-8x8-unorm":{gl:37815},"astc-8x8-unorm-srgb":{gl:37847},"astc-10x5-unorm":{gl:37816},"astc-10x5-unorm-srgb":{gl:37848},"astc-10x6-unorm":{gl:37817},"astc-10x6-unorm-srgb":{gl:37849},"astc-10x8-unorm":{gl:37818},"astc-10x8-unorm-srgb":{gl:37850},"astc-10x10-unorm":{gl:37819},"astc-10x10-unorm-srgb":{gl:37851},"astc-12x10-unorm":{gl:37820},"astc-12x10-unorm-srgb":{gl:37852},"astc-12x12-unorm":{gl:37821},"astc-12x12-unorm-srgb":{gl:37853},"pvrtc-rgb4unorm-webgl":{gl:35840},"pvrtc-rgba4unorm-webgl":{gl:35842},"pvrtc-rgb2unorm-webgl":{gl:35841},"pvrtc-rgba2unorm-webgl":{gl:35843},"etc1-rbg-unorm-webgl":{gl:36196},"atc-rgb-unorm-webgl":{gl:35986},"atc-rgba-unorm-webgl":{gl:35986},"atc-rgbai-unorm-webgl":{gl:34798}}});var ys,Is,pr,Ns=I(()=>{ys=F(B(),1);ye();te();Is={"depth-clip-control":"EXT_depth_clamp","timestamp-query":"EXT_disjoint_timer_query_webgl2","compilation-status-async-webgl":"KHR_parallel_shader_compile","polygon-mode-webgl":"WEBGL_polygon_mode","provoking-vertex-webgl":"WEBGL_provoking_vertex","shader-clip-cull-distance-webgl":"WEBGL_clip_cull_distance","shader-noperspective-interpolation-webgl":"NV_shader_noperspective_interpolation","shader-conservative-depth-webgl":"EXT_conservative_depth"},pr=class extends ys.DeviceFeatures{gl;extensions;testedFeatures=new Set;constructor(e,r,n){super([],n),this.gl=e,this.extensions=r,st(e,"EXT_color_buffer_float",r)}*[Symbol.iterator](){let e=this.getFeatures();for(let r of e)this.has(r)&&(yield r);return[]}has(e){return this.disabledFeatures?.[e]?!1:(this.testedFeatures.has(e)||(this.testedFeatures.add(e),Ms(e)&&Dn(this.gl,e,this.extensions)&&this.features.add(e),this.getWebGLFeature(e)&&this.features.add(e)),this.features.has(e))}initializeFeatures(){let e=this.getFeatures().filter(r=>r!=="polygon-mode-webgl");for(let r of e)this.has(r)}getFeatures(){return[...Object.keys(Is),...Object.keys(hr)]}getWebGLFeature(e){let r=Is[e];return Boolean(typeof r=="string"?st(this.gl,r,this.extensions):r)}}});var Os,ur,ws=I(()=>{Os=F(B(),1),ur=class extends Os.DeviceLimits{get maxTextureDimension1D(){return 0}get maxTextureDimension2D(){return this.getParameter(3379)}get maxTextureDimension3D(){return this.getParameter(32883)}get maxTextureArrayLayers(){return this.getParameter(35071)}get maxBindGroups(){return 0}get maxDynamicUniformBuffersPerPipelineLayout(){return 0}get maxDynamicStorageBuffersPerPipelineLayout(){return 0}get maxSampledTexturesPerShaderStage(){return this.getParameter(35660)}get maxSamplersPerShaderStage(){return this.getParameter(35661)}get maxStorageBuffersPerShaderStage(){return 0}get maxStorageTexturesPerShaderStage(){return 0}get maxUniformBuffersPerShaderStage(){return this.getParameter(35375)}get maxUniformBufferBindingSize(){return this.getParameter(35376)}get maxStorageBufferBindingSize(){return 0}get minUniformBufferOffsetAlignment(){return this.getParameter(35380)}get minStorageBufferOffsetAlignment(){return 0}get maxVertexBuffers(){return 16}get maxVertexAttributes(){return this.getParameter(34921)}get maxVertexBufferArrayStride(){return 2048}get maxInterStageShaderVariables(){return this.getParameter(35659)}get maxComputeWorkgroupStorageSize(){return 0}get maxComputeInvocationsPerWorkgroup(){return 0}get maxComputeWorkgroupSizeX(){return 0}get maxComputeWorkgroupSizeY(){return 0}get maxComputeWorkgroupSizeZ(){return 0}get maxComputeWorkgroupsPerDimension(){return 0}gl;limits={};constructor(e){super(),this.gl=e}getParameter(e){return this.limits[e]===void 0&&(this.limits[e]=this.gl.getParameter(e)),this.limits[e]||0}}});function Tc(t){return t<34069?t+34069:t}function mc(t){switch(t){case 36053:return"success";case 36054:return"Mismatched attachments";case 36055:return"No attachments";case 36057:return"Height/width mismatch";case 36061:return"Unsupported or split attachments";case 36182:return"Samples mismatch";default:return`${t}`}}var Ds,Tt,_r=I(()=>{Ds=F(B(),1);te();Tt=class extends Ds.Framebuffer{device;gl;handle;colorAttachments=[];depthStencilAttachment=null;constructor(e,r){super(e,r);let n=r.handle===null;this.device=e,this.gl=e.gl,this.handle=this.props.handle||n?this.props.handle:this.gl.createFramebuffer(),n||(e._setWebGLDebugMetadata(this.handle,this,{spector:this.props}),r.handle||(this.autoCreateAttachmentTextures(),this.updateAttachments()))}destroy(){super.destroy(),!this.destroyed&&this.handle!==null&&!this.props.handle&&this.gl.deleteFramebuffer(this.handle)}updateAttachments(){let e=this.gl.bindFramebuffer(36160,this.handle);for(let r=0;r<this.colorAttachments.length;++r){let n=this.colorAttachments[r];if(n){let i=36064+r;this._attachTextureView(i,n)}}if(this.depthStencilAttachment){let r=Cs(this.depthStencilAttachment.props.format);this._attachTextureView(r,this.depthStencilAttachment)}if(this.device.props.debug){let r=this.gl.checkFramebufferStatus(36160);if(r!==36053)throw new Error(`Framebuffer ${mc(r)}`)}this.gl.bindFramebuffer(36160,e)}_attachTextureView(e,r){let{gl:n}=this.device,{texture:i}=r,s=r.props.baseMipLevel,o=r.props.baseArrayLayer;switch(n.bindTexture(i.glTarget,i.handle),i.glTarget){case 35866:case 32879:n.framebufferTextureLayer(36160,e,i.handle,s,o);break;case 34067:let a=Tc(o);n.framebufferTexture2D(36160,e,a,i.handle,s);break;case 3553:n.framebufferTexture2D(36160,e,3553,i.handle,s);break;default:throw new Error("Illegal texture type")}n.bindTexture(i.glTarget,null)}resizeAttachments(e,r){if(this.handle===null){this.width=e,this.height=r;return}super.resizeAttachments(e,r)}}});var Fs,gr,Bs=I(()=>{Fs=F(B(),1);_r();gr=class extends Fs.CanvasContext{device;handle=null;_framebuffer=null;get[Symbol.toStringTag](){return"WebGLCanvasContext"}constructor(e,r){super(r),this.device=e,this._setAutoCreatedCanvasId(`${this.device.id}-canvas`),this._configureDevice()}_configureDevice(){(this.drawingBufferWidth!==this._framebuffer?.width||this.drawingBufferHeight!==this._framebuffer?.height)&&this._framebuffer?.resize([this.drawingBufferWidth,this.drawingBufferHeight])}_getCurrentFramebuffer(){return this._framebuffer||=new Tt(this.device,{id:"canvas-context-framebuffer",handle:null,width:this.drawingBufferWidth,height:this.drawingBufferHeight}),this._framebuffer}}});var vs,Tr,Us=I(()=>{vs=F(B(),1),Tr=class extends vs.PresentationContext{device;handle=null;context2d;get[Symbol.toStringTag](){return"WebGLPresentationContext"}constructor(e,r={}){super(r),this.device=e;let n=`${this[Symbol.toStringTag]}(${this.id})`;if(!this.device.getDefaultCanvasContext().offscreenCanvas)throw new Error(`${n}: WebGL PresentationContext requires the default CanvasContext canvas to be an OffscreenCanvas`);let s=this.canvas.getContext("2d");if(!s)throw new Error(`${n}: Failed to create 2d presentation context`);this.context2d=s,this._setAutoCreatedCanvasId(`${this.device.id}-presentation-canvas`),this._configureDevice(),this._startObservers()}present(){this._resizeDrawingBufferIfNeeded(),this.device.submit();let e=this.device.getDefaultCanvasContext(),[r,n]=e.getDrawingBufferSize();if(!(this.drawingBufferWidth===0||this.drawingBufferHeight===0||r===0||n===0||e.canvas.width===0||e.canvas.height===0)){if(r!==this.drawingBufferWidth||n!==this.drawingBufferHeight||e.canvas.width!==this.drawingBufferWidth||e.canvas.height!==this.drawingBufferHeight)throw new Error(`${this[Symbol.toStringTag]}(${this.id}): Default canvas context size ${r}x${n} does not match presentation size ${this.drawingBufferWidth}x${this.drawingBufferHeight}`);this.context2d.clearRect(0,0,this.drawingBufferWidth,this.drawingBufferHeight),this.context2d.drawImage(e.canvas,0,0)}}_configureDevice(){}_getCurrentFramebuffer(e){let r=this.device.getDefaultCanvasContext();return r.setDrawingBufferSize(this.drawingBufferWidth,this.drawingBufferHeight),r.getCurrentFramebuffer(e)}}});function Vs(t="id"){Fn[t]=Fn[t]||1;let e=Fn[t]++;return`${t}-${e}`}var Fn,ks=I(()=>{Fn={}});function Rc(t){return t&Ft.Buffer.INDEX?34963:t&Ft.Buffer.VERTEX?34962:t&Ft.Buffer.UNIFORM?35345:34962}function Ec(t){return t&Ft.Buffer.INDEX||t&Ft.Buffer.VERTEX?35044:t&Ft.Buffer.UNIFORM?35048:35044}var Ft,ot,mr=I(()=>{Ft=F(B(),1),ot=class extends Ft.Buffer{device;gl;handle;glTarget;glUsage;glIndexType=5123;byteLength=0;bytesUsed=0;constructor(e,r={}){super(e,r),this.device=e,this.gl=this.device.gl;let n=typeof r=="object"?r.handle:void 0;this.handle=n||this.gl.createBuffer(),e._setWebGLDebugMetadata(this.handle,this,{spector:{...this.props,data:typeof this.props.data}}),this.glTarget=Rc(this.props.usage),this.glUsage=Ec(this.props.usage),this.glIndexType=this.props.indexType==="uint32"?5125:5123,r.data?this._initWithData(r.data,r.byteOffset,r.byteLength):this._initWithByteLength(r.byteLength||0)}destroy(){!this.destroyed&&this.handle&&(this.removeStats(),this.props.handle?this.trackDeallocatedReferencedMemory("Buffer"):(this.trackDeallocatedMemory(),this.gl.deleteBuffer(this.handle)),this.destroyed=!0,this.handle=null)}_initWithData(e,r=0,n=e.byteLength+r){let i=this.glTarget;this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.glUsage),this.gl.bufferSubData(i,r,e),this.gl.bindBuffer(i,null),this.bytesUsed=n,this.byteLength=n,this._setDebugData(e,r,n),this.props.handle?this.trackReferencedMemory(n,"Buffer"):this.trackAllocatedMemory(n)}_initWithByteLength(e){let r=e;e===0&&(r=new Float32Array(0));let n=this.glTarget;return this.gl.bindBuffer(n,this.handle),this.gl.bufferData(n,r,this.glUsage),this.gl.bindBuffer(n,null),this.bytesUsed=e,this.byteLength=e,this._setDebugData(null,0,e),this.props.handle?this.trackReferencedMemory(e,"Buffer"):this.trackAllocatedMemory(e),this}write(e,r=0){let n=ArrayBuffer.isView(e)?e:new Uint8Array(e),i=0,s=void 0,o=36663;this.gl.bindBuffer(o,this.handle),i!==0||s!==void 0?this.gl.bufferSubData(o,r,n,i,s):this.gl.bufferSubData(o,r,n),this.gl.bindBuffer(o,null),this._setDebugData(e,r,e.byteLength)}async mapAndWriteAsync(e,r=0,n=this.byteLength-r){let i=new ArrayBuffer(n);await e(i,"copied"),this.write(i,r)}async readAsync(e=0,r){return this.readSyncWebGL(e,r)}async mapAndReadAsync(e,r=0,n){let i=await this.readAsync(r,n);return await e(i.buffer,"copied")}readSyncWebGL(e=0,r){r=r??this.byteLength-e;let n=new Uint8Array(r),i=0;return this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,e,n,i,r),this.gl.bindBuffer(36662,null),this._setDebugData(n,e,r),n}}});function Xs(t){let e=t.split(/\r?\n/),r=[];for(let n of e){if(n.length<=1)continue;let i=n.trim(),s=n.split(":"),o=s[0]?.trim();if(s.length===2){let[p,_]=s;if(!p||!_){r.push({message:i,type:Rr(o||"info"),lineNum:0,linePos:0});continue}r.push({message:_.trim(),type:Rr(p),lineNum:0,linePos:0});continue}let[a,c,l,...h]=s;if(!a||!c||!l){r.push({message:s.slice(1).join(":").trim()||i,type:Rr(o||"info"),lineNum:0,linePos:0});continue}let f=parseInt(l,10);Number.isNaN(f)&&(f=0);let d=parseInt(c,10);Number.isNaN(d)&&(d=0),r.push({message:h.join(":").trim(),type:Rr(a),lineNum:f,linePos:d})}return r}function Rr(t){let e=["warning","error","info"],r=t.toLowerCase();return e.includes(r)?r:"info"}var Ws=I(()=>{});var we,Er,Hs=I(()=>{we=F(B(),1);Ws();Er=class extends we.Shader{device;handle;constructor(e,r){switch(super(e,r),this.device=e,this.props.stage){case"vertex":this.handle=this.props.handle||this.device.gl.createShader(35633);break;case"fragment":this.handle=this.props.handle||this.device.gl.createShader(35632);break;default:throw new Error(this.props.stage)}e._setWebGLDebugMetadata(this.handle,this,{spector:this.props});let n=this._compile(this.source);n&&typeof n.catch=="function"&&n.catch(()=>{this.compilationStatus="error"})}destroy(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0,this.handle.destroyed=!0)}get asyncCompilationStatus(){return this._waitForCompilationComplete().then(()=>(this._getCompilationStatus(),this.compilationStatus))}async getCompilationInfo(){return await this._waitForCompilationComplete(),this.getCompilationInfoSync()}getCompilationInfoSync(){let e=this.device.gl.getShaderInfoLog(this.handle);return e?Xs(e):[]}getTranslatedSource(){return this.device.getExtension("WEBGL_debug_shaders").WEBGL_debug_shaders?.getTranslatedShaderSource(this.handle)||null}_compile(e){e=e.startsWith("#version ")?e:`#version 300 es
8
+ ${e}`;let{gl:r}=this.device;if(r.shaderSource(this.handle,e),r.compileShader(this.handle),!this.device.props.debug){this.compilationStatus="pending";return}if(!this.device.features.has("compilation-status-async-webgl")){if(this._getCompilationStatus(),this.debugShader(),this.compilationStatus==="error")throw new Error(`GLSL compilation errors in ${this.props.stage} shader ${this.props.id}`);return}return we.log.once(1,"Shader compilation is asynchronous")(),this._waitForCompilationComplete().then(()=>{we.log.info(2,`Shader ${this.id} - async compilation complete: ${this.compilationStatus}`)(),this._getCompilationStatus(),this.debugShader()})}async _waitForCompilationComplete(){let e=async i=>await new Promise(s=>setTimeout(s,i));if(!this.device.features.has("compilation-status-async-webgl")){await e(10);return}let{gl:n}=this.device;for(;;){if(n.getShaderParameter(this.handle,37297))return;await e(10)}}_getCompilationStatus(){this.compilationStatus=this.device.gl.getShaderParameter(this.handle,35713)?"success":"error"}}});function Ys(t,e,r,n){if(Mc(e))return n(t);let i=t;i.pushState();try{return Ac(t,e),nt(i.gl,r),n(t)}finally{i.popState()}}function Ac(t,e){let r=t,{gl:n}=r;if(e.cullMode)switch(e.cullMode){case"none":n.disable(2884);break;case"front":n.enable(2884),n.cullFace(1028);break;case"back":n.enable(2884),n.cullFace(1029);break}if(e.frontFace&&n.frontFace(Wt("frontFace",e.frontFace,{ccw:2305,cw:2304})),e.unclippedDepth&&t.features.has("depth-clip-control")&&n.enable(34383),e.depthBias!==void 0&&(n.enable(32823),n.polygonOffset(e.depthBias,e.depthBiasSlopeScale||0)),e.provokingVertex&&t.features.has("provoking-vertex-webgl")){let s=r.getExtension("WEBGL_provoking_vertex").WEBGL_provoking_vertex,o=Wt("provokingVertex",e.provokingVertex,{first:36429,last:36430});s?.provokingVertexWEBGL(o)}if((e.polygonMode||e.polygonOffsetLine)&&t.features.has("polygon-mode-webgl")){if(e.polygonMode){let s=r.getExtension("WEBGL_polygon_mode").WEBGL_polygon_mode,o=Wt("polygonMode",e.polygonMode,{fill:6914,line:6913});s?.polygonModeWEBGL(1028,o),s?.polygonModeWEBGL(1029,o)}e.polygonOffsetLine&&n.enable(10754)}if(t.features.has("shader-clip-cull-distance-webgl")&&(e.clipDistance0&&n.enable(12288),e.clipDistance1&&n.enable(12289),e.clipDistance2&&n.enable(12290),e.clipDistance3&&n.enable(12291),e.clipDistance4&&n.enable(12292),e.clipDistance5&&n.enable(12293),e.clipDistance6&&n.enable(12294),e.clipDistance7&&n.enable(12295)),e.depthWriteEnabled!==void 0&&n.depthMask(Sc("depthWriteEnabled",e.depthWriteEnabled)),e.depthCompare&&(e.depthCompare!=="always"?n.enable(2929):n.disable(2929),n.depthFunc(br("depthCompare",e.depthCompare))),e.clearDepth!==void 0&&n.clearDepth(e.clearDepth),e.stencilWriteMask){let i=e.stencilWriteMask;n.stencilMaskSeparate(1028,i),n.stencilMaskSeparate(1029,i)}if(e.stencilReadMask&&zs.log.warn("stencilReadMask not supported under WebGL"),e.stencilCompare){let i=e.stencilReadMask||4294967295,s=br("depthCompare",e.stencilCompare);e.stencilCompare!=="always"?n.enable(2960):n.disable(2960),n.stencilFuncSeparate(1028,s,0,i),n.stencilFuncSeparate(1029,s,0,i)}if(e.stencilPassOperation&&e.stencilFailOperation&&e.stencilDepthFailOperation){let i=Bn("stencilPassOperation",e.stencilPassOperation),s=Bn("stencilFailOperation",e.stencilFailOperation),o=Bn("stencilDepthFailOperation",e.stencilDepthFailOperation);n.stencilOpSeparate(1028,s,o,i),n.stencilOpSeparate(1029,s,o,i)}switch(e.blend){case!0:n.enable(3042);break;case!1:n.disable(3042);break;default:}if(e.blendColorOperation||e.blendAlphaOperation){let i=Ls("blendColorOperation",e.blendColorOperation||"add"),s=Ls("blendAlphaOperation",e.blendAlphaOperation||"add");n.blendEquationSeparate(i,s);let o=Ar("blendColorSrcFactor",e.blendColorSrcFactor||"one"),a=Ar("blendColorDstFactor",e.blendColorDstFactor||"zero"),c=Ar("blendAlphaSrcFactor",e.blendAlphaSrcFactor||"one"),l=Ar("blendAlphaDstFactor",e.blendAlphaDstFactor||"zero");n.blendFuncSeparate(o,a,c,l)}}function br(t,e){return Wt(t,e,{never:512,less:513,equal:514,"less-equal":515,greater:516,"not-equal":517,"greater-equal":518,always:519})}function Bn(t,e){return Wt(t,e,{keep:7680,zero:0,replace:7681,invert:5386,"increment-clamp":7682,"decrement-clamp":7683,"increment-wrap":34055,"decrement-wrap":34056})}function Ls(t,e){return Wt(t,e,{add:32774,subtract:32778,"reverse-subtract":32779,min:32775,max:32776})}function Ar(t,e,r="color"){return Wt(t,e,{one:1,zero:0,src:768,"one-minus-src":769,dst:774,"one-minus-dst":775,"src-alpha":770,"one-minus-src-alpha":771,"dst-alpha":772,"one-minus-dst-alpha":773,"src-alpha-saturated":776,constant:r==="color"?32769:32771,"one-minus-constant":r==="color"?32770:32772,src1:768,"one-minus-src1":769,"src1-alpha":770,"one-minus-src1-alpha":771})}function bc(t,e){return`Illegal parameter ${e} for ${t}`}function Wt(t,e,r){if(!(e in r))throw new Error(bc(t,e));return r[e]}function Sc(t,e){return e}function Mc(t){let e=!0;for(let r in t){e=!1;break}return e}var zs,vn=I(()=>{zs=F(B(),1);Qt()});function Sr(t){let e={};return t.addressModeU&&(e[10242]=Un(t.addressModeU)),t.addressModeV&&(e[10243]=Un(t.addressModeV)),t.addressModeW&&(e[32882]=Un(t.addressModeW)),t.magFilter&&(e[10240]=Vn(t.magFilter)),(t.minFilter||t.mipmapFilter)&&(e[10241]=xc(t.minFilter||"linear",t.mipmapFilter)),t.lodMinClamp!==void 0&&(e[33082]=t.lodMinClamp),t.lodMaxClamp!==void 0&&(e[33083]=t.lodMaxClamp),t.type==="comparison-sampler"&&(e[34892]=34894),t.compare&&(e[34893]=br("compare",t.compare)),t.maxAnisotropy&&(e[34046]=t.maxAnisotropy),e}function Un(t){switch(t){case"clamp-to-edge":return 33071;case"repeat":return 10497;case"mirror-repeat":return 33648}}function Vn(t){switch(t){case"nearest":return 9728;case"linear":return 9729}}function xc(t,e="none"){if(!e)return Vn(t);switch(e){case"none":return Vn(t);case"nearest":switch(t){case"nearest":return 9984;case"linear":return 9985}break;case"linear":switch(t){case"nearest":return 9986;case"linear":return 9987}}}var kn=I(()=>{vn()});var Ks,Mr,Zs=I(()=>{Ks=F(B(),1);kn();Mr=class extends Ks.Sampler{device;handle;parameters;constructor(e,r){super(e,r),this.device=e,this.parameters=Sr(r),this.handle=r.handle||this.device.gl.createSampler(),this._setSamplerParameters(this.parameters)}destroy(){this.handle&&(this.device.gl.deleteSampler(this.handle),this.handle=void 0)}toString(){return`Sampler(${this.id},${JSON.stringify(this.props)})`}_setSamplerParameters(e){for(let[r,n]of Object.entries(e)){let i=Number(r);switch(i){case 33082:case 33083:this.device.gl.samplerParameterf(this.handle,i,n);break;default:this.device.gl.samplerParameteri(this.handle,i,n);break}}}}});function mt(t,e,r){if(Pc(e))return r(t);let{nocatch:n=!0}=e,i=it.get(t);i.push(),nt(t,e);let s;if(n)s=r(t),i.pop();else try{s=r(t)}finally{i.pop()}return s}function Pc(t){for(let e in t)return!1;return!0}var xr=I(()=>{Qt();Pn()});var Pr,Rt,Xn=I(()=>{Pr=F(B(),1),Rt=class extends Pr.TextureView{device;gl;handle;texture;constructor(e,r){super(e,{...Pr.Texture.defaultProps,...r}),this.device=e,this.gl=this.device.gl,this.handle=null,this.texture=r.texture}}});function Cr(t){return Cc[t]}var Cc,Wn=I(()=>{Cc={[5124]:"sint32",[5125]:"uint32",[5122]:"sint16",[5123]:"uint16",[5120]:"sint8",[5121]:"uint8",[5126]:"float32",[5131]:"float16",[33635]:"uint16",[32819]:"uint16",[32820]:"uint16",[33640]:"uint32",[35899]:"uint32",[35902]:"uint32",[34042]:"uint32",[36269]:"uint32"}});function Ic(t,e=0){return e?new t.constructor(t.buffer,t.byteOffset+e,(t.byteLength-e)/t.BYTES_PER_ELEMENT):t}function yc(t,e){if(e%t.BYTES_PER_ELEMENT!==0)throw new Error(`Texture byteOffset ${e} must align to typed array element size ${t.BYTES_PER_ELEMENT}`);return e/t.BYTES_PER_ELEMENT}function Nc(t){switch(t){case"1d":break;case"2d":return 3553;case"3d":return 32879;case"cube":return 34067;case"2d-array":return 35866;case"cube-array":break}throw new Error(t)}function Ir(t,e,r){return e==="cube"?34069+r:t}var Bt,Et,yr=I(()=>{Bt=F(B(),1);te();kn();xr();Xn();Wn();Et=class extends Bt.Texture{device;gl;handle;sampler=void 0;view;glTarget;glFormat;glType;glInternalFormat;compressed;_textureUnit=0;_framebuffer=null;_framebufferAttachmentKey=null;constructor(e,r){super(e,r,{byteAlignment:1}),this.device=e,this.gl=this.device.gl;let n=dr(this.props.format);this.glTarget=Nc(this.props.dimension),this.glInternalFormat=n.internalFormat,this.glFormat=n.format,this.glType=n.type,this.compressed=n.compressed,this.handle=this.props.handle||this.gl.createTexture(),this.device._setWebGLDebugMetadata(this.handle,this,{spector:this.props}),this.gl.bindTexture(this.glTarget,this.handle);let{dimension:i,width:s,height:o,depth:a,mipLevels:c,glTarget:l,glInternalFormat:h}=this;if(!this.compressed)switch(i){case"2d":case"cube":this.gl.texStorage2D(l,c,h,s,o);break;case"2d-array":case"3d":this.gl.texStorage3D(l,c,h,s,o,a);break;default:throw new Error(i)}this.gl.bindTexture(this.glTarget,null),this._initializeData(r.data),this.props.handle?this.trackReferencedMemory(this.getAllocatedByteLength(),"Texture"):this.trackAllocatedMemory(this.getAllocatedByteLength(),"Texture"),this.setSampler(this.props.sampler),this.view=new Rt(this.device,{...this.props,texture:this}),Object.seal(this)}destroy(){this.handle&&(this._framebuffer?.destroy(),this._framebuffer=null,this._framebufferAttachmentKey=null,this.removeStats(),this.props.handle?this.trackDeallocatedReferencedMemory("Texture"):(this.gl.deleteTexture(this.handle),this.trackDeallocatedMemory("Texture")),this.destroyed=!0)}createView(e){return new Rt(this.device,{...e,texture:this})}setSampler(e={}){super.setSampler(e);let r=Sr(this.sampler.props);this._setSamplerParameters(r)}copyExternalImage(e){let r=this._normalizeCopyExternalImageOptions(e);if(r.sourceX||r.sourceY)throw new Error("WebGL does not support sourceX/sourceY)");let{glFormat:n,glType:i}=this,{image:s,depth:o,mipLevel:a,x:c,y:l,z:h,width:f,height:d}=r,p=Ir(this.glTarget,this.dimension,h),_=r.flipY?{[37440]:!0}:{};return this.gl.bindTexture(this.glTarget,this.handle),mt(this.gl,_,()=>{switch(this.dimension){case"2d":case"cube":this.gl.texSubImage2D(p,a,c,l,f,d,n,i,s);break;case"2d-array":case"3d":this.gl.texSubImage3D(p,a,c,l,h,f,d,o,n,i,s);break;default:}}),this.gl.bindTexture(this.glTarget,null),{width:r.width,height:r.height}}copyImageData(e){super.copyImageData(e)}readBuffer(e={},r){if(!r)throw new Error(`${this} readBuffer requires a destination buffer`);let n=this._getSupportedColorReadOptions(e),i=e.byteOffset??0,s=this.computeMemoryLayout(n);if(r.byteLength<i+s.byteLength)throw new Error(`${this} readBuffer target is too small (${r.byteLength} < ${i+s.byteLength})`);let o=r;this.gl.bindBuffer(35051,o.handle);try{this._readColorTextureLayers(n,s,a=>{this.gl.readPixels(n.x,n.y,n.width,n.height,this.glFormat,this.glType,i+a)})}finally{this.gl.bindBuffer(35051,null)}return r}async readDataAsync(e={}){throw new Error(`${this} readDataAsync is deprecated; use readBuffer() with an explicit destination buffer or DynamicTexture.readAsync()`)}writeBuffer(e,r={}){let n=this._normalizeTextureWriteOptions(r),{width:i,height:s,depthOrArrayLayers:o,mipLevel:a,byteOffset:c,x:l,y:h,z:f}=n,{glFormat:d,glType:p,compressed:_}=this,g=Ir(this.glTarget,this.dimension,f);if(_)throw new Error("writeBuffer for compressed textures is not implemented in WebGL");let{bytesPerPixel:u}=this.device.getTextureFormatInfo(this.format),T=u?n.bytesPerRow/u:void 0,S={[3317]:this.byteAlignment,...T!==void 0?{[3314]:T}:{},[32878]:n.rowsPerImage};this.gl.bindTexture(this.glTarget,this.handle),this.gl.bindBuffer(35052,e.handle),mt(this.gl,S,()=>{switch(this.dimension){case"2d":case"cube":this.gl.texSubImage2D(g,a,l,h,i,s,d,p,c);break;case"2d-array":case"3d":this.gl.texSubImage3D(g,a,l,h,f,i,s,o,d,p,c);break;default:}}),this.gl.bindBuffer(35052,null),this.gl.bindTexture(this.glTarget,null)}writeData(e,r={}){let n=this._normalizeTextureWriteOptions(r),i=ArrayBuffer.isView(e)?e:new Uint8Array(e),{width:s,height:o,depthOrArrayLayers:a,mipLevel:c,x:l,y:h,z:f,byteOffset:d}=n,{glFormat:p,glType:_,compressed:g}=this,u=Ir(this.glTarget,this.dimension,f),T;if(!g){let{bytesPerPixel:m}=this.device.getTextureFormatInfo(this.format);m&&(T=n.bytesPerRow/m)}let S=this.compressed?{}:{[3317]:this.byteAlignment,...T!==void 0?{[3314]:T}:{},[32878]:n.rowsPerImage},R=yc(i,d),E=g?Ic(i,d):i,A=this._getMipLevelSize(c),M=l===0&&h===0&&f===0&&s===A.width&&o===A.height&&a===A.depthOrArrayLayers;this.gl.bindTexture(this.glTarget,this.handle),this.gl.bindBuffer(35052,null),mt(this.gl,S,()=>{switch(this.dimension){case"2d":case"cube":g?M?this.gl.compressedTexImage2D(u,c,p,s,o,0,E):this.gl.compressedTexSubImage2D(u,c,l,h,s,o,p,E):this.gl.texSubImage2D(u,c,l,h,s,o,p,_,i,R);break;case"2d-array":case"3d":g?M?this.gl.compressedTexImage3D(u,c,p,s,o,a,0,E):this.gl.compressedTexSubImage3D(u,c,l,h,f,s,o,a,p,E):this.gl.texSubImage3D(u,c,l,h,f,s,o,a,p,_,i,R);break;default:}}),this.gl.bindTexture(this.glTarget,null)}_getRowByteAlignment(e,r){return 1}_getFramebuffer(){return this._framebuffer||=this.device.createFramebuffer({id:`framebuffer-for-${this.id}`,width:this.width,height:this.height,colorAttachments:[this]}),this._framebuffer}readDataSyncWebGL(e={}){let r=this._getSupportedColorReadOptions(e),n=this.computeMemoryLayout(r),i=Cr(this.glType),s=(0,Bt.getTypedArrayConstructor)(i),o=new s(n.byteLength/s.BYTES_PER_ELEMENT);return this._readColorTextureLayers(r,n,a=>{let c=new s(o.buffer,o.byteOffset+a,n.bytesPerImage/s.BYTES_PER_ELEMENT);this.gl.readPixels(r.x,r.y,r.width,r.height,this.glFormat,this.glType,c)}),o.buffer}_readColorTextureLayers(e,r,n){let i=this._getFramebuffer(),s=r.bytesPerRow/r.bytesPerPixel,o={[3333]:this.byteAlignment,...s!==e.width?{[3330]:s}:{}},a=this.gl.getParameter(3074),c=this.gl.bindFramebuffer(36160,i.handle);try{this.gl.readBuffer(36064),mt(this.gl,o,()=>{for(let l=0;l<e.depthOrArrayLayers;l++)this._attachReadSubresource(i,e.mipLevel,e.z+l),n(l*r.bytesPerImage)})}finally{this.gl.bindFramebuffer(36160,c||null),this.gl.readBuffer(a)}}_attachReadSubresource(e,r,n){let i=`${r}:${n}`;if(this._framebufferAttachmentKey!==i){switch(this.dimension){case"2d":this.gl.framebufferTexture2D(36160,36064,3553,this.handle,r);break;case"cube":this.gl.framebufferTexture2D(36160,36064,Ir(this.glTarget,this.dimension,n),this.handle,r);break;case"2d-array":case"3d":this.gl.framebufferTextureLayer(36160,36064,this.handle,r,n);break;default:throw new Error(`${this} color readback does not support ${this.dimension} textures`)}if(this.device.props.debug){let s=Number(this.gl.checkFramebufferStatus(36160));if(s!==Number(36053))throw new Error(`${e} incomplete for ${this} readback (${s})`)}this._framebufferAttachmentKey=i}}generateMipmapsWebGL(e){if(!(!(this.device.isTextureFormatRenderable(this.props.format)&&this.device.isTextureFormatFilterable(this.props.format))&&(Bt.log.warn(`${this} is not renderable or filterable, may not be able to generate mipmaps`)(),!e?.force)))try{this.gl.bindTexture(this.glTarget,this.handle),this.gl.generateMipmap(this.glTarget)}catch(n){Bt.log.warn(`Error generating mipmap for ${this}: ${n.message}`)()}finally{this.gl.bindTexture(this.glTarget,null)}}_setSamplerParameters(e){Bt.log.log(2,`${this.id} sampler parameters`,this.device.getGLKeys(e))(),this.gl.bindTexture(this.glTarget,this.handle);for(let[r,n]of Object.entries(e)){let i=Number(r),s=n;switch(i){case 33082:case 33083:this.gl.texParameterf(this.glTarget,i,s);break;case 10240:case 10241:this.gl.texParameteri(this.glTarget,i,s);break;case 10242:case 10243:case 32882:this.gl.texParameteri(this.glTarget,i,s);break;case 34046:this.device.features.has("texture-filterable-anisotropic-webgl")&&this.gl.texParameteri(this.glTarget,i,s);break;case 34892:case 34893:this.gl.texParameteri(this.glTarget,i,s);break}}this.gl.bindTexture(this.glTarget,null)}_getActiveUnit(){return this.gl.getParameter(34016)-33984}_bind(e){let{gl:r}=this;return e!==void 0&&(this._textureUnit=e,r.activeTexture(33984+e)),r.bindTexture(this.glTarget,this.handle),e}_unbind(e){let{gl:r}=this;return e!==void 0&&(this._textureUnit=e,r.activeTexture(33984+e)),r.bindTexture(this.glTarget,null),e}}});function js(t,e,r,n){let i=t,s=n;s===!0&&(s=1),s===!1&&(s=0);let o=typeof s=="number"?[s]:s;switch(r){case 35678:case 35680:case 35679:case 35682:case 36289:case 36292:case 36293:case 36298:case 36299:case 36300:case 36303:case 36306:case 36307:case 36308:case 36311:if(typeof n!="number")throw new Error("samplers must be set to integers");return t.uniform1i(e,n);case 5126:return t.uniform1fv(e,o);case 35664:return t.uniform2fv(e,o);case 35665:return t.uniform3fv(e,o);case 35666:return t.uniform4fv(e,o);case 5124:return t.uniform1iv(e,o);case 35667:return t.uniform2iv(e,o);case 35668:return t.uniform3iv(e,o);case 35669:return t.uniform4iv(e,o);case 35670:return t.uniform1iv(e,o);case 35671:return t.uniform2iv(e,o);case 35672:return t.uniform3iv(e,o);case 35673:return t.uniform4iv(e,o);case 5125:return i.uniform1uiv(e,o,1);case 36294:return i.uniform2uiv(e,o,2);case 36295:return i.uniform3uiv(e,o,3);case 36296:return i.uniform4uiv(e,o,4);case 35674:return t.uniformMatrix2fv(e,!1,o);case 35675:return t.uniformMatrix3fv(e,!1,o);case 35676:return t.uniformMatrix4fv(e,!1,o);case 35685:return i.uniformMatrix2x3fv(e,!1,o);case 35686:return i.uniformMatrix2x4fv(e,!1,o);case 35687:return i.uniformMatrix3x2fv(e,!1,o);case 35688:return i.uniformMatrix3x4fv(e,!1,o);case 35689:return i.uniformMatrix4x2fv(e,!1,o);case 35690:return i.uniformMatrix4x3fv(e,!1,o)}throw new Error("Illegal uniform")}var $s=I(()=>{});function qs(t){switch(t){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 3;case"triangle-list":return 4;case"triangle-strip":return 5;default:throw new Error(t)}}function Qs(t){switch(t){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 1;case"triangle-list":return 4;case"triangle-strip":return 4;default:throw new Error(t)}}var Hn=I(()=>{});function Oc(t,e){let r={...t,attributes:t.attributes.map(n=>({...n})),bindings:t.bindings.map(n=>({...n}))};for(let n of e?.attributes||[]){let i=r.attributes.find(s=>s.name===n.name);i?(i.type=n.type||i.type,i.stepMode=n.stepMode||i.stepMode):L.log.warn(`shader layout attribute ${n.name} not present in shader`)}for(let n of e?.bindings||[]){let i=Gs(r,n.name);if(!i){L.log.warn(`shader layout binding ${n.name} not present in shader`);continue}Object.assign(i,n)}return r}function Gs(t,e){return t.bindings.find(r=>r.name===e||r.name===`${e}Uniforms`||`${r.name}Uniforms`===e)}function Js(t,e){return t[e]||t[`${e}Uniforms`]||t[e.replace(/Uniforms$/,"")]}var L,Nr,to=I(()=>{L=F(B(),1);vn();$s();mr();_r();yr();Xn();Hn();Nr=class extends L.RenderPipeline{device;handle;vs;fs;introspectedLayout;bindings={};uniforms={};varyings=null;_uniformCount=0;_uniformSetters={};get[Symbol.toStringTag](){return"WEBGLRenderPipeline"}constructor(e,r){super(e,r),this.device=e;let n=this.sharedRenderPipeline||this.device._createSharedRenderPipelineWebGL(r);this.sharedRenderPipeline=n,this.handle=n.handle,this.vs=n.vs,this.fs=n.fs,this.linkStatus=n.linkStatus,this.introspectedLayout=n.introspectedLayout,this.device._setWebGLDebugMetadata(this.handle,this,{spector:{id:this.props.id}}),this.shaderLayout=r.shaderLayout?Oc(this.introspectedLayout,r.shaderLayout):this.introspectedLayout}destroy(){this.destroyed||(this.sharedRenderPipeline&&!this.props._sharedRenderPipeline&&this.sharedRenderPipeline.destroy(),this.destroyResource())}setBindings(e,r){let n=(0,L.flattenBindingsByGroup)((0,L.normalizeBindingsByGroup)(this.shaderLayout,e));for(let[i,s]of Object.entries(n)){let o=Gs(this.shaderLayout,i);if(o){switch(s||L.log.warn(`Unsetting binding "${i}" in render pipeline "${this.id}"`)(),o.type){case"uniform":if(!(s instanceof ot)&&!(s.buffer instanceof ot))throw new Error("buffer value");break;case"texture":if(!(s instanceof Rt||s instanceof Et||s instanceof Tt))throw new Error(`${this} Bad texture binding for ${i}`);break;case"sampler":L.log.warn(`Ignoring sampler ${i}`)();break;default:throw new Error(o.type)}this.bindings[i]=s}else{let a=this.shaderLayout.bindings.map(c=>`"${c.name}"`).join(", ");r?.disableWarnings||L.log.warn(`No binding "${i}" in render pipeline "${this.id}", expected one of ${a}`,s)()}}}draw(e){this._syncLinkStatus();let r=e.bindGroups?(0,L.flattenBindingsByGroup)(e.bindGroups):e.bindings||this.bindings,{renderPass:n,parameters:i=this.props.parameters,topology:s=this.props.topology,vertexArray:o,vertexCount:a,instanceCount:c,isInstanced:l=!1,firstVertex:h=0,transformFeedback:f,uniforms:d=this.uniforms}=e,p=qs(s),_=Boolean(o.indexBuffer),g=o.indexBuffer?.glIndexType;if(this.linkStatus!=="success")return L.log.info(2,`RenderPipeline:${this.id}.draw() aborted - waiting for shader linking`)(),!1;if(!this._areTexturesRenderable(r))return L.log.info(2,`RenderPipeline:${this.id}.draw() aborted - textures not yet loaded`)(),!1;this.device.gl.useProgram(this.handle),o.bindBeforeRender(n),f&&f.begin(this.props.topology),this._applyBindings(r,{disableWarnings:this.props.disableWarnings}),this._applyUniforms(d);let u=n;return Ys(this.device,i,u.glParameters,()=>{_&&l?this.device.gl.drawElementsInstanced(p,a||0,g,h,c||0):_?this.device.gl.drawElements(p,a||0,g,h):l?this.device.gl.drawArraysInstanced(p,h,a||0,c||0):this.device.gl.drawArrays(p,h,a||0),f&&f.end()}),o.unbindAfterRender(n),!0}_areTexturesRenderable(e){let r=!0;for(let n of this.shaderLayout.bindings)Js(e,n.name)||(L.log.warn(`Binding ${n.name} not found in ${this.id}`)(),r=!1);return r}_applyBindings(e,r){if(this._syncLinkStatus(),this.linkStatus!=="success")return;let{gl:n}=this.device;n.useProgram(this.handle);let i=0,s=0;for(let o of this.shaderLayout.bindings){let a=Js(e,o.name);if(!a)throw new Error(`No value for binding ${o.name} in ${this.id}`);switch(o.type){case"uniform":let{name:c}=o,l=n.getUniformBlockIndex(this.handle,c);if(l===4294967295)throw new Error(`Invalid uniform block name ${c}`);if(n.uniformBlockBinding(this.handle,l,s),a instanceof ot)n.bindBufferBase(35345,s,a.handle);else{let f=a;n.bindBufferRange(35345,s,f.buffer.handle,f.offset||0,f.size||f.buffer.byteLength-(f.offset||0))}s+=1;break;case"texture":if(!(a instanceof Rt||a instanceof Et||a instanceof Tt))throw new Error("texture");let h;if(a instanceof Rt)h=a.texture;else if(a instanceof Et)h=a;else if(a instanceof Tt&&a.colorAttachments[0]instanceof Rt)L.log.warn("Passing framebuffer in texture binding may be deprecated. Use fbo.colorAttachments[0] instead")(),h=a.colorAttachments[0].texture;else throw new Error("No texture");n.activeTexture(33984+i),n.bindTexture(h.glTarget,h.handle),i+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error(`binding type '${o.type}' not supported in WebGL`)}}}_applyUniforms(e){for(let r of this.shaderLayout.uniforms||[]){let{name:n,location:i,type:s,textureUnit:o}=r,a=e[n]??o;a!==void 0&&js(this.device.gl,i,s,a)}}_syncLinkStatus(){this.linkStatus=this.sharedRenderPipeline.linkStatus}}});function eo(t){return Dc[t]}function Or(t){return wc[t]}function wr(t){return Boolean(no[t])}function ro(t){return no[t]}var wc,no,Dc,Dr=I(()=>{wc={[5126]:"f32",[35664]:"vec2<f32>",[35665]:"vec3<f32>",[35666]:"vec4<f32>",[5124]:"i32",[35667]:"vec2<i32>",[35668]:"vec3<i32>",[35669]:"vec4<i32>",[5125]:"u32",[36294]:"vec2<u32>",[36295]:"vec3<u32>",[36296]:"vec4<u32>",[35670]:"f32",[35671]:"vec2<f32>",[35672]:"vec3<f32>",[35673]:"vec4<f32>",[35674]:"mat2x2<f32>",[35685]:"mat2x3<f32>",[35686]:"mat2x4<f32>",[35687]:"mat3x2<f32>",[35675]:"mat3x3<f32>",[35688]:"mat3x4<f32>",[35689]:"mat4x2<f32>",[35690]:"mat4x3<f32>",[35676]:"mat4x4<f32>"},no={[35678]:{viewDimension:"2d",sampleType:"float"},[35680]:{viewDimension:"cube",sampleType:"float"},[35679]:{viewDimension:"3d",sampleType:"float"},[35682]:{viewDimension:"3d",sampleType:"depth"},[36289]:{viewDimension:"2d-array",sampleType:"float"},[36292]:{viewDimension:"2d-array",sampleType:"depth"},[36293]:{viewDimension:"cube",sampleType:"float"},[36298]:{viewDimension:"2d",sampleType:"sint"},[36299]:{viewDimension:"3d",sampleType:"sint"},[36300]:{viewDimension:"cube",sampleType:"sint"},[36303]:{viewDimension:"2d-array",sampleType:"uint"},[36306]:{viewDimension:"2d",sampleType:"uint"},[36307]:{viewDimension:"3d",sampleType:"uint"},[36308]:{viewDimension:"cube",sampleType:"uint"},[36311]:{viewDimension:"2d-array",sampleType:"uint"}},Dc={uint8:5121,sint8:5120,unorm8:5121,snorm8:5120,uint16:5123,sint16:5122,unorm16:5123,snorm16:5122,uint32:5125,sint32:5124,float16:5131,float32:5126}});function io(t,e){let r={attributes:[],bindings:[]};r.attributes=Fc(t,e);let n=Uc(t,e);for(let a of n){let c=a.uniforms.map(l=>({name:l.name,format:l.format,byteOffset:l.byteOffset,byteStride:l.byteStride,arrayLength:l.arrayLength}));r.bindings.push({type:"uniform",name:a.name,group:0,location:a.location,visibility:(a.vertex?1:0)&(a.fragment?2:0),minBindingSize:a.byteLength,uniforms:c})}let i=vc(t,e),s=0;for(let a of i)if(wr(a.type)){let{viewDimension:c,sampleType:l}=ro(a.type);r.bindings.push({type:"texture",name:a.name,group:0,location:s,viewDimension:c,sampleType:l}),a.textureUnit=s,s+=1}i.length&&(r.uniforms=i);let o=Bc(t,e);return o?.length&&(r.varyings=o),r}function Fc(t,e){let r=[],n=t.getProgramParameter(e,35721);for(let i=0;i<n;i++){let s=t.getActiveAttrib(e,i);if(!s)throw new Error("activeInfo");let{name:o,type:a}=s,c=t.getAttribLocation(e,o);if(c>=0){let l=Or(a),h=/instance/i.test(o)?"instance":"vertex";r.push({name:o,location:c,stepMode:h,type:l})}}return r.sort((i,s)=>i.location-s.location),r}function Bc(t,e){let r=[],n=t.getProgramParameter(e,35971);for(let i=0;i<n;i++){let s=t.getTransformFeedbackVarying(e,i);if(!s)throw new Error("activeInfo");let{name:o,type:a,size:c}=s,l=Or(a),{type:h,components:f}=(0,ee.getVariableShaderTypeInfo)(l);r.push({location:i,name:o,type:h,size:c*f})}return r.sort((i,s)=>i.location-s.location),r}function vc(t,e){let r=[],n=t.getProgramParameter(e,35718);for(let i=0;i<n;i++){let s=t.getActiveUniform(e,i);if(!s)throw new Error("activeInfo");let{name:o,size:a,type:c}=s,{name:l,isArray:h}=Vc(o),f=t.getUniformLocation(e,l),d={location:f,name:l,size:a,type:c,isArray:h};if(r.push(d),d.size>1)for(let p=0;p<d.size;p++){let _=`${l}[${p}]`;f=t.getUniformLocation(e,_);let g={...d,name:_,location:f};r.push(g)}}return r}function Uc(t,e){let r=(s,o)=>t.getActiveUniformBlockParameter(e,s,o),n=[],i=t.getProgramParameter(e,35382);for(let s=0;s<i;s++){let o={name:t.getActiveUniformBlockName(e,s)||"",location:r(s,35391),byteLength:r(s,35392),vertex:r(s,35396),fragment:r(s,35398),uniformCount:r(s,35394),uniforms:[]},a=r(s,35395)||[],c=t.getActiveUniforms(e,a,35383),l=t.getActiveUniforms(e,a,35384),h=t.getActiveUniforms(e,a,35387),f=t.getActiveUniforms(e,a,35388);for(let _=0;_<o.uniformCount;++_){let g=a[_];if(g!==void 0){let u=t.getActiveUniform(e,g);if(!u)throw new Error("activeInfo");let T=Or(c[_]);o.uniforms.push({name:u.name,format:T,type:c[_],arrayLength:l[_],byteOffset:h[_],byteStride:f[_]})}}let d=new Set(o.uniforms.map(_=>_.name.split(".")[0]).filter(_=>Boolean(_))),p=o.name.replace(/Uniforms$/,"");if(d.size===1&&!d.has(o.name)&&!d.has(p)){let[_]=d;ee.log.warn(`Uniform block "${o.name}" uses GLSL instance "${_}". luma.gl binds uniform buffers by block name ("${o.name}") and alias ("${p}"). Prefer matching the instance name to one of those to avoid confusing silent mismatches.`)()}n.push(o)}return n.sort((s,o)=>s.location-o.location),n}function Vc(t){if(t[t.length-1]!=="]")return{name:t,length:1,isArray:!1};let r=/([^[]*)(\[[0-9]+\])?/.exec(t);return{name:(0,ee.assertDefined)(r?.[1],`Failed to parse GLSL uniform name ${t}`),length:r?.[2]?1:0,isArray:Boolean(r?.[2])}}var ee,so=I(()=>{ee=F(B(),1);Dr()});var St,oo,Fr,ao=I(()=>{St=F(B(),1);so();Dr();oo=4,Fr=class extends St.SharedRenderPipeline{device;handle;vs;fs;introspectedLayout={attributes:[],bindings:[],uniforms:[]};linkStatus="pending";constructor(e,r){super(e,r),this.device=e,this.handle=r.handle||this.device.gl.createProgram(),this.vs=r.vs,this.fs=r.fs,r.varyings&&r.varyings.length>0&&this.device.gl.transformFeedbackVaryings(this.handle,r.varyings,r.bufferMode||35981),this._linkShaders(),St.log.time(3,`RenderPipeline ${this.id} - shaderLayout introspection`)(),this.introspectedLayout=io(this.device.gl,this.handle),St.log.timeEnd(3,`RenderPipeline ${this.id} - shaderLayout introspection`)()}destroy(){this.destroyed||(this.device.gl.useProgram(null),this.device.gl.deleteProgram(this.handle),this.handle.destroyed=!0,this.destroyResource())}async _linkShaders(){let{gl:e}=this.device;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),St.log.time(oo,`linkProgram for ${this.id}`)(),e.linkProgram(this.handle),St.log.timeEnd(oo,`linkProgram for ${this.id}`)(),!this.device.features.has("compilation-status-async-webgl")){let n=this._getLinkStatus();this._reportLinkStatus(n);return}St.log.once(1,"RenderPipeline linking is asynchronous")(),await this._waitForLinkComplete(),St.log.info(2,`RenderPipeline ${this.id} - async linking complete: ${this.linkStatus}`)();let r=this._getLinkStatus();this._reportLinkStatus(r)}async _reportLinkStatus(e){switch(e){case"success":return;default:let r=e==="link-error"?"Link error":"Validation error";switch(this.vs.compilationStatus){case"error":throw this.vs.debugShader(),new Error(`${this} ${r} during compilation of ${this.vs}`);case"pending":await this.vs.asyncCompilationStatus,this.vs.debugShader();break;case"success":break}switch(this.fs?.compilationStatus){case"error":throw this.fs.debugShader(),new Error(`${this} ${r} during compilation of ${this.fs}`);case"pending":await this.fs.asyncCompilationStatus,this.fs.debugShader();break;case"success":break}let n=this.device.gl.getProgramInfoLog(this.handle);this.device.reportError(new Error(`${r} during ${e}: ${n}`),this)(),this.device.debug()}}_getLinkStatus(){let{gl:e}=this.device;return e.getProgramParameter(this.handle,35714)?(this._initializeSamplerUniforms(),e.validateProgram(this.handle),e.getProgramParameter(this.handle,35715)?(this.linkStatus="success","success"):(this.linkStatus="error","validation-error")):(this.linkStatus="error","link-error")}_initializeSamplerUniforms(){let{gl:e}=this.device;e.useProgram(this.handle);let r=0,n=e.getProgramParameter(this.handle,35718);for(let i=0;i<n;i++){let s=e.getActiveUniform(this.handle,i);if(s&&wr(s.type)){let o=s.name.endsWith("[0]"),a=o?s.name.slice(0,-3):s.name,c=e.getUniformLocation(this.handle,a);c!==null&&(r=this._assignSamplerUniform(c,s,o,r))}}}_assignSamplerUniform(e,r,n,i){let{gl:s}=this.device;if(n&&r.size>1){let o=Int32Array.from({length:r.size},(a,c)=>i+c);return s.uniform1iv(e,o),i+r.size}return s.uniform1i(e,i),i+1}async _waitForLinkComplete(){let e=async i=>await new Promise(s=>setTimeout(s,i));if(!this.device.features.has("compilation-status-async-webgl")){await e(10);return}let{gl:n}=this.device;for(;;){if(n.getProgramParameter(this.handle,37297))return;await e(10)}}}});function kc(t,e){let r=e.sourceBuffer,n=e.destinationBuffer;t.gl.bindBuffer(36662,r.handle),t.gl.bindBuffer(36663,n.handle),t.gl.copyBufferSubData(36662,36663,e.sourceOffset??0,e.destinationOffset??0,e.size),t.gl.bindBuffer(36662,null),t.gl.bindBuffer(36663,null)}function Xc(t,e){throw new Error("copyBufferToTexture is not supported in WebGL")}function Wc(t,e){let{sourceTexture:r,mipLevel:n=0,aspect:i="all",width:s=e.sourceTexture.width,height:o=e.sourceTexture.height,depthOrArrayLayers:a,origin:c=[0,0,0],destinationBuffer:l,byteOffset:h=0,bytesPerRow:f,rowsPerImage:d}=e;if(r instanceof Ht.Texture){r.readBuffer({x:c[0]??0,y:c[1]??0,z:c[2]??0,width:s,height:o,depthOrArrayLayers:a,mipLevel:n,aspect:i,byteOffset:h},l);return}if(i!=="all")throw new Error("aspect not supported in WebGL");if(n!==0||a!==void 0||f||d)throw new Error("not implemented");let{framebuffer:p,destroyFramebuffer:_}=co(r),g;try{let u=l,T=s||p.width,S=o||p.height,R=(0,Ht.assertDefined)(p.colorAttachments[0]),E=dr(R.texture.props.format),A=E.format,M=E.type;t.gl.bindBuffer(35051,u.handle),g=t.gl.bindFramebuffer(36160,p.handle),t.gl.readPixels(c[0],c[1],T,S,A,M,h)}finally{t.gl.bindBuffer(35051,null),g!==void 0&&t.gl.bindFramebuffer(36160,g),_&&p.destroy()}}function Hc(t,e){let{sourceTexture:r,destinationMipLevel:n=0,origin:i=[0,0],destinationOrigin:s=[0,0,0],destinationTexture:o}=e,{width:a=e.destinationTexture.width,height:c=e.destinationTexture.height}=e,{framebuffer:l,destroyFramebuffer:h}=co(r),[f=0,d=0]=i,[p,_,g]=s,u=t.gl.bindFramebuffer(36160,l.handle),T,S;if(o instanceof Et)T=o,a=Number.isFinite(a)?a:T.width,c=Number.isFinite(c)?c:T.height,T._bind(0),S=T.glTarget;else throw new Error("invalid destination");switch(S){case 3553:case 34067:t.gl.copyTexSubImage2D(S,n,p,_,f,d,a,c);break;case 35866:case 32879:t.gl.copyTexSubImage3D(S,n,p,_,g,f,d,a,c);break;default:}T&&T._unbind(),t.gl.bindFramebuffer(36160,u),h&&l.destroy()}function co(t){if(t instanceof Ht.Texture){let{width:e,height:r,id:n}=t;return{framebuffer:t.device.createFramebuffer({id:`framebuffer-for-${n}`,width:e,height:r,colorAttachments:[t]}),destroyFramebuffer:!0}}return{framebuffer:t,destroyFramebuffer:!1}}var Ht,Br,lo=I(()=>{Ht=F(B(),1);te();yr();Br=class extends Ht.CommandBuffer{device;handle=null;commands=[];constructor(e,r={}){super(e,r),this.device=e}_executeCommands(e=this.commands){for(let r of e)switch(r.name){case"copy-buffer-to-buffer":kc(this.device,r.options);break;case"copy-buffer-to-texture":Xc(this.device,r.options);break;case"copy-texture-to-buffer":Wc(this.device,r.options);break;case"copy-texture-to-texture":Hc(this.device,r.options);break;default:throw new Error(r.name)}}}});var ho,Lc,vr,fo=I(()=>{ho=F(B(),1);xr();Qt();Lc=[1,2,4,8],vr=class extends ho.RenderPass{device;handle=null;glParameters={};constructor(e,r){super(e,r),this.device=e;let n=this.props.framebuffer,i=!n||n.handle===null;i&&e.getDefaultCanvasContext()._resizeDrawingBufferIfNeeded();let s;if(!r?.parameters?.viewport)if(!i&&n){let{width:o,height:a}=n;s=[0,0,o,a]}else{let[o,a]=e.getDefaultCanvasContext().getDrawingBufferSize();s=[0,0,o,a]}if(this.device.pushState(),this.setParameters({viewport:s,...this.props.parameters}),!i&&n?.colorAttachments.length){let o=n.colorAttachments.map((a,c)=>36064+c);this.device.gl.drawBuffers(o)}else i&&this.device.gl.drawBuffers([1029]);this.clear(),this.props.timestampQuerySet&&this.props.beginTimestampIndex!==void 0&&this.props.timestampQuerySet.writeTimestamp(this.props.beginTimestampIndex)}end(){this.destroyed||(this.props.timestampQuerySet&&this.props.endTimestampIndex!==void 0&&this.props.timestampQuerySet.writeTimestamp(this.props.endTimestampIndex),this.device.popState(),this.destroy())}pushDebugGroup(e){}popDebugGroup(){}insertDebugMarker(e){}setParameters(e={}){let r={...this.glParameters};r.framebuffer=this.props.framebuffer||null,this.props.depthReadOnly&&(r.depthMask=!this.props.depthReadOnly),r.stencilMask=this.props.stencilReadOnly?0:1,r[35977]=this.props.discard,e.viewport&&(e.viewport.length>=6?(r.viewport=e.viewport.slice(0,4),r.depthRange=[e.viewport[4],e.viewport[5]]):r.viewport=e.viewport),e.scissorRect&&(r.scissorTest=!0,r.scissor=e.scissorRect),e.blendConstant&&(r.blendColor=e.blendConstant),e.stencilReference!==void 0&&(r[2967]=e.stencilReference,r[36003]=e.stencilReference),"colorMask"in e&&(r.colorMask=Lc.map(n=>Boolean(n&e.colorMask))),this.glParameters=r,nt(this.device.gl,r)}beginOcclusionQuery(e){this.props.occlusionQuerySet?.beginOcclusionQuery()}endOcclusionQuery(){this.props.occlusionQuerySet?.endOcclusionQuery()}clear(){let e={...this.glParameters},r=0;this.props.clearColors&&this.props.clearColors.forEach((n,i)=>{n&&this.clearColorBuffer(i,n)}),this.props.clearColor!==!1&&this.props.clearColors===void 0&&(r|=16384,e.clearColor=this.props.clearColor),this.props.clearDepth!==!1&&(r|=256,e.clearDepth=this.props.clearDepth),this.props.clearStencil!==!1&&(r|=1024,e.clearStencil=this.props.clearStencil),r!==0&&mt(this.device.gl,e,()=>{this.device.gl.clear(r)})}clearColorBuffer(e=0,r=[0,0,0,0]){mt(this.device.gl,{framebuffer:this.props.framebuffer},()=>{switch(r.constructor){case Int8Array:case Int16Array:case Int32Array:this.device.gl.clearBufferiv(6144,e,r);break;case Uint8Array:case Uint8ClampedArray:case Uint16Array:case Uint32Array:this.device.gl.clearBufferuiv(6144,e,r);break;case Float32Array:this.device.gl.clearBufferfv(6144,e,r);break;default:throw new Error("clearColorBuffer: color must be typed array")}})}}});var po,De,uo=I(()=>{po=F(B(),1);lo();fo();De=class extends po.CommandEncoder{device;handle=null;commandBuffer;constructor(e,r){super(e,r),this.device=e,this.commandBuffer=new Br(e,{id:`${this.props.id}-command-buffer`})}destroy(){this.destroyResource()}finish(e){return e?.id&&this.commandBuffer.id!==e.id&&(this.commandBuffer.id=e.id,this.commandBuffer.props.id=e.id),this.destroy(),this.commandBuffer}beginRenderPass(e={}){return new vr(this.device,this._applyTimeProfilingToPassProps(e))}beginComputePass(e={}){throw new Error("ComputePass not supported in WebGL")}copyBufferToBuffer(e){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:e})}copyBufferToTexture(e){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:e})}copyTextureToBuffer(e){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:e})}copyTextureToTexture(e){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:e})}pushDebugGroup(e){}popDebugGroup(){}insertDebugMarker(e){}resolveQuerySet(e,r,n){throw new Error("resolveQuerySet is not supported in WebGL")}writeTimestamp(e,r){e.writeTimestamp(r)}}});function _o(t){let{target:e,source:r,start:n=0,count:i=1}=t,s=r.length,o=i*s,a=0;for(let c=n;a<s;a++)e[c++]=r[a]??0;for(;a<o;)a<o-a?(e.copyWithin(n+a,n,n+a),a*=2):(e.copyWithin(n+a,n,n+o-a),a=o);return t.target}var go=I(()=>{});function zc(t){return Array.isArray(t)?new Float32Array(t):t}function Yc(t,e){if(!t||!e||t.length!==e.length||t.constructor!==e.constructor)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r])return!1;return!0}var Ur,re,To=I(()=>{Ur=F(B(),1);xe();Cn();go();re=class extends Ur.VertexArray{get[Symbol.toStringTag](){return"VertexArray"}device;handle;buffer=null;bufferValue=null;static isConstantAttributeZeroSupported(e){return En()==="Chrome"}constructor(e,r){super(e,r),this.device=e,this.handle=this.device.gl.createVertexArray()}destroy(){super.destroy(),this.buffer&&this.buffer?.destroy(),this.handle&&(this.device.gl.deleteVertexArray(this.handle),this.handle=void 0)}setIndexBuffer(e){let r=e;if(r&&r.glTarget!==34963)throw new Error("Use .setBuffer()");this.device.gl.bindVertexArray(this.handle),this.device.gl.bindBuffer(34963,r?r.handle:null),this.indexBuffer=r,this.device.gl.bindVertexArray(null)}setBuffer(e,r){let n=r;if(n.glTarget===34963)throw new Error("Use .setIndexBuffer()");let{size:i,type:s,stride:o,offset:a,normalized:c,integer:l,divisor:h}=this._getAccessor(e);this.device.gl.bindVertexArray(this.handle),this.device.gl.bindBuffer(34962,n.handle),l?this.device.gl.vertexAttribIPointer(e,i,s,o,a):this.device.gl.vertexAttribPointer(e,i,s,c,o,a),this.device.gl.bindBuffer(34962,null),this.device.gl.enableVertexAttribArray(e),this.device.gl.vertexAttribDivisor(e,h||0),this.attributes[e]=n,this.device.gl.bindVertexArray(null)}setConstantWebGL(e,r){this._enable(e,!1),this.attributes[e]=r}bindBeforeRender(){this.device.gl.bindVertexArray(this.handle),this._applyConstantAttributes()}unbindAfterRender(){this.device.gl.bindVertexArray(null)}_applyConstantAttributes(){for(let e=0;e<this.maxVertexAttributes;++e){let r=this.attributes[e];ArrayBuffer.isView(r)&&this.device.setConstantAttributeWebGL(e,r)}}_getAccessor(e){let r=this.attributeInfos[e];if(!r)throw new Error(`Unknown attribute location ${e}`);let n=cr(r.bufferDataType);return{size:r.bufferComponents,type:n,stride:r.byteStride,offset:r.byteOffset,normalized:r.normalized,integer:r.integer,divisor:r.stepMode==="instance"?1:0}}_enable(e,r=!0){let i=re.isConstantAttributeZeroSupported(this.device)||e!==0;(r||i)&&(e=Number(e),this.device.gl.bindVertexArray(this.handle),r?this.device.gl.enableVertexAttribArray(e):this.device.gl.disableVertexAttribArray(e),this.device.gl.bindVertexArray(null))}getConstantBuffer(e,r){let n=zc(r),i=n.byteLength*e,s=n.length*e;if(this.buffer&&i!==this.buffer.byteLength)throw new Error(`Buffer size is immutable, byte length ${i} !== ${this.buffer.byteLength}.`);let o=!this.buffer;if(this.buffer=this.buffer||this.device.createBuffer({byteLength:i}),o||=!Yc(n,this.bufferValue),o){let a=(0,Ur.getScratchArray)(r.constructor,s);_o({target:a,source:n,start:0,count:s}),this.buffer.write(a),this.bufferValue=r}return this.buffer}}});function mo(t){return typeof t=="number"?Number.isInteger(t):/^\d+$/.test(t)}var kr,Vr,Ro=I(()=>{kr=F(B(),1);Ln();Hn();Vr=class extends kr.TransformFeedback{device;gl;handle;layout;buffers={};unusedBuffers={};bindOnUse=!0;_bound=!1;constructor(e,r){super(e,r),this.device=e,this.gl=e.gl,this.handle=this.props.handle||this.gl.createTransformFeedback(),this.layout=this.props.layout,r.buffers&&this.setBuffers(r.buffers),Object.seal(this)}destroy(){this.gl.deleteTransformFeedback(this.handle),super.destroy()}begin(e="point-list"){this.gl.bindTransformFeedback(36386,this.handle),this.bindOnUse&&this._bindBuffers(),this.gl.beginTransformFeedback(Qs(e))}end(){this.gl.endTransformFeedback(),this.bindOnUse&&this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null)}setBuffers(e){this.buffers={},this.unusedBuffers={},this.bind(()=>{for(let[r,n]of Object.entries(e))this.setBuffer(r,n)})}setBuffer(e,r){let n=this._getVaryingIndex(e),{buffer:i,byteLength:s,byteOffset:o}=this._getBufferRange(r);if(n<0){this.unusedBuffers[e]=i,kr.log.warn(`${this.id} unusedBuffers varying buffer ${e}`)();return}this.buffers[n]={buffer:i,byteLength:s,byteOffset:o},this.bindOnUse||this._bindBuffer(n,i,o,s)}getBuffer(e){if(mo(e))return this.buffers[e]||null;let r=this._getVaryingIndex(e);return this.buffers[r]??null}bind(e=this.handle){if(typeof e!="function")return this.gl.bindTransformFeedback(36386,e),this;let r;return this._bound?r=e():(this.gl.bindTransformFeedback(36386,this.handle),this._bound=!0,r=e(),this._bound=!1,this.gl.bindTransformFeedback(36386,null)),r}unbind(){this.bind(null)}_getBufferRange(e){if(e instanceof ot)return{buffer:e,byteOffset:0,byteLength:e.byteLength};let{buffer:r,byteOffset:n=0,byteLength:i=e.buffer.byteLength}=e;return{buffer:r,byteOffset:n,byteLength:i}}_getVaryingIndex(e){if(mo(e))return Number(e);for(let r of this.layout.varyings||[])if(e===r.name)return r.location;return-1}_bindBuffers(){for(let[e,r]of Object.entries(this.buffers)){let{buffer:n,byteLength:i,byteOffset:s}=this._getBufferRange(r);this._bindBuffer(Number(e),n,s,i)}}_unbindBuffers(){for(let e in this.buffers)this.gl.bindBufferBase(35982,Number(e),null)}_bindBuffer(e,r,n=0,i){let s=r&&r.handle;!s||i===void 0?this.gl.bindBufferBase(35982,e,s):this.gl.bindBufferRange(35982,e,s,n,i)}}});var Eo,Xr,Ao=I(()=>{Eo=F(B(),1),Xr=class extends Eo.QuerySet{device;handle;_timestampPairs=[];_pendingReads=new Set;_occlusionQuery=null;_occlusionActive=!1;get[Symbol.toStringTag](){return"QuerySet"}constructor(e,r){if(super(e,r),this.device=e,r.type==="timestamp"){if(r.count<2)throw new Error("Timestamp QuerySet requires at least two query slots");this._timestampPairs=new Array(Math.ceil(r.count/2)).fill(null).map(()=>({activeQuery:null,completedQueries:[]})),this.handle=null}else{if(r.count>1)throw new Error("WebGL occlusion QuerySet can only have one value");let n=this.device.gl.createQuery();if(!n)throw new Error("WebGL query not supported");this.handle=n}Object.seal(this)}destroy(){if(!this.destroyed){this.handle&&this.device.gl.deleteQuery(this.handle);for(let e of this._timestampPairs){e.activeQuery&&(this._cancelPendingQuery(e.activeQuery),this.device.gl.deleteQuery(e.activeQuery.handle));for(let r of e.completedQueries)this._cancelPendingQuery(r),this.device.gl.deleteQuery(r.handle)}this._occlusionQuery&&(this._cancelPendingQuery(this._occlusionQuery),this.device.gl.deleteQuery(this._occlusionQuery.handle));for(let e of Array.from(this._pendingReads))this._cancelPendingQuery(e);this.destroyResource()}}isResultAvailable(e){return this.props.type==="timestamp"?e===void 0?this._timestampPairs.some((r,n)=>this._isTimestampPairAvailable(n)):this._isTimestampPairAvailable(this._getTimestampPairIndex(e)):this._occlusionQuery?this._pollQueryAvailability(this._occlusionQuery):!1}async readResults(e){let r=e?.firstQuery||0,n=e?.queryCount||this.props.count-r;if(this._validateRange(r,n),this.props.type==="timestamp"){let i=new Array(n).fill(0n),s=Math.floor(r/2),o=Math.floor((r+n-1)/2);for(let a=s;a<=o;a++){let c=await this._consumeTimestampPairResult(a),l=a*2,h=l+1;l>=r&&l<r+n&&(i[l-r]=0n),h>=r&&h<r+n&&(i[h-r]=c)}return i}if(!this._occlusionQuery)throw new Error("Occlusion query has not been started");return[await this._consumeQueryResult(this._occlusionQuery)]}async readTimestampDuration(e,r){if(this.props.type!=="timestamp")throw new Error("Timestamp durations require a timestamp QuerySet");if(e<0||r>=this.props.count||r<=e)throw new Error("Timestamp duration range is out of bounds");if(e%2!==0||r!==e+1)throw new Error("WebGL timestamp durations require adjacent even/odd query indices");let n=await this._consumeTimestampPairResult(this._getTimestampPairIndex(e));return Number(n)/1e6}beginOcclusionQuery(){if(this.props.type!=="occlusion")throw new Error("Occlusion queries require an occlusion QuerySet");if(!this.handle)throw new Error("WebGL occlusion query is not available");if(this._occlusionActive)throw new Error("Occlusion query is already active");this.device.gl.beginQuery(35887,this.handle),this._occlusionQuery={handle:this.handle,promise:null,result:null,disjoint:!1,cancelled:!1,pollRequestId:null,resolve:null,reject:null},this._occlusionActive=!0}endOcclusionQuery(){if(!this._occlusionActive)throw new Error("Occlusion query is not active");this.device.gl.endQuery(35887),this._occlusionActive=!1}writeTimestamp(e){if(this.props.type!=="timestamp")throw new Error("Timestamp writes require a timestamp QuerySet");let r=this._getTimestampPairIndex(e),n=this._timestampPairs[r];if(e%2===0){if(n.activeQuery)throw new Error("Timestamp query pair is already active");let i=this.device.gl.createQuery();if(!i)throw new Error("WebGL query not supported");let s={handle:i,promise:null,result:null,disjoint:!1,cancelled:!1,pollRequestId:null,resolve:null,reject:null};this.device.gl.beginQuery(35007,i),n.activeQuery=s;return}if(!n.activeQuery)throw new Error("Timestamp query pair was ended before it was started");this.device.gl.endQuery(35007),n.completedQueries.push(n.activeQuery),n.activeQuery=null}_validateRange(e,r){if(e<0||r<0||e+r>this.props.count)throw new Error("Query read range is out of bounds")}_getTimestampPairIndex(e){if(e<0||e>=this.props.count)throw new Error("Query index is out of bounds");return Math.floor(e/2)}_isTimestampPairAvailable(e){let r=this._timestampPairs[e];return!r||r.completedQueries.length===0?!1:this._pollQueryAvailability(r.completedQueries[0])}_pollQueryAvailability(e){if(e.cancelled||this.destroyed)return e.result=0n,!0;if(e.result!==null||e.disjoint)return!0;if(!this.device.gl.getQueryParameter(e.handle,34919))return!1;let n=Boolean(this.device.gl.getParameter(36795));return e.disjoint=n,e.result=n?0n:BigInt(this.device.gl.getQueryParameter(e.handle,34918)),!0}async _consumeTimestampPairResult(e){let r=this._timestampPairs[e];if(!r||r.completedQueries.length===0)throw new Error("Timestamp query pair has no completed result");let n=r.completedQueries.shift();try{return await this._consumeQueryResult(n)}finally{this.device.gl.deleteQuery(n.handle)}}_consumeQueryResult(e){return e.promise||(this._pendingReads.add(e),e.promise=new Promise((r,n)=>{e.resolve=r,e.reject=n;let i=()=>{if(e.pollRequestId=null,e.cancelled||this.destroyed){this._pendingReads.delete(e),e.promise=null,e.resolve=null,e.reject=null,r(0n);return}if(!this._pollQueryAvailability(e)){e.pollRequestId=this._requestAnimationFrame(i);return}this._pendingReads.delete(e),e.promise=null,e.resolve=null,e.reject=null,e.disjoint?n(new Error("GPU timestamp query was invalidated by a disjoint event")):r(e.result||0n)};i()})),e.promise}_cancelPendingQuery(e){if(this._pendingReads.delete(e),e.cancelled=!0,e.pollRequestId!==null&&(this._cancelAnimationFrame(e.pollRequestId),e.pollRequestId=null),e.resolve){let r=e.resolve;e.promise=null,e.resolve=null,e.reject=null,r(0n)}}_requestAnimationFrame(e){return requestAnimationFrame(e)}_cancelAnimationFrame(e){cancelAnimationFrame(e)}}});var bo,Wr,So=I(()=>{bo=F(B(),1),Wr=class extends bo.Fence{device;gl;handle;signaled;_signaled=!1;constructor(e,r={}){super(e,{}),this.device=e,this.gl=e.gl;let n=this.props.handle||this.gl.fenceSync(this.gl.SYNC_GPU_COMMANDS_COMPLETE,0);if(!n)throw new Error("Failed to create WebGL fence");this.handle=n,this.signaled=new Promise(i=>{let s=()=>{let o=this.gl.clientWaitSync(this.handle,0,0);o===this.gl.ALREADY_SIGNALED||o===this.gl.CONDITION_SATISFIED?(this._signaled=!0,i()):setTimeout(s,1)};s()})}isSignaled(){if(this._signaled)return!0;let e=this.gl.getSyncParameter(this.handle,this.gl.SYNC_STATUS);return this._signaled=e===this.gl.SIGNALED,this._signaled}destroy(){this.destroyed||this.gl.deleteSync(this.handle)}}});function zn(t){switch(t){case 6406:case 33326:case 6403:case 36244:return 1;case 33339:case 33340:case 33328:case 33320:case 33319:return 2;case 6407:case 36248:case 34837:return 3;case 6408:case 36249:case 34836:return 4;default:return 0}}function Mo(t){switch(t){case 5121:return 1;case 33635:case 32819:case 32820:return 2;case 5126:return 4;default:return 0}}var xo=I(()=>{});function Po(t,e){let{sourceX:r=0,sourceY:n=0,sourceAttachment:i=0}=e||{},{target:s=null,sourceWidth:o,sourceHeight:a,sourceDepth:c,sourceFormat:l,sourceType:h}=e||{},{framebuffer:f,deleteFramebuffer:d}=Io(t),{gl:p,handle:_}=f;o||=f.width,a||=f.height;let g=f.colorAttachments[i]?.texture;if(!g)throw new Error(`Invalid framebuffer attachment ${i}`);c=g?.depth||1,l||=g?.glFormat||6408,h||=g?.glType||5121,s=Zc(s,h,l,o,a,c);let u=Fe.dataTypeDecoder.getDataType(s);h=h||eo(u);let T=p.bindFramebuffer(36160,_);return p.readBuffer(36064+i),p.readPixels(r,n,o,a,l,h,s),p.readBuffer(36064),p.bindFramebuffer(36160,T||null),d&&f.destroy(),s}function Co(t,e){let{target:r,sourceX:n=0,sourceY:i=0,sourceFormat:s=6408,targetByteOffset:o=0}=e||{},{sourceWidth:a,sourceHeight:c,sourceType:l}=e||{},{framebuffer:h,deleteFramebuffer:f}=Io(t);a=a||h.width,c=c||h.height;let d=h;l=l||5121;let p=r;if(!p){let g=zn(s),u=Mo(l),T=o+a*c*g*u;p=d.device.createBuffer({byteLength:T})}let _=t.device.createCommandEncoder();return _.copyTextureToBuffer({sourceTexture:t,width:a,height:c,origin:[n,i],destinationBuffer:p,byteOffset:o}),_.destroy(),f&&h.destroy(),p}function Io(t){return t instanceof Fe.Framebuffer?{framebuffer:t,deleteFramebuffer:!1}:{framebuffer:Kc(t),deleteFramebuffer:!0}}function Kc(t,e){let{device:r,width:n,height:i,id:s}=t;return r.createFramebuffer({...e,id:`framebuffer-for-${s}`,width:n,height:i,colorAttachments:[t]})}function Zc(t,e,r,n,i,s){if(t)return t;e||=5121;let o=Cr(e),a=Fe.dataTypeDecoder.getTypedArrayConstructor(o),c=zn(r);return new a(n*i*c)}var Fe,yo=I(()=>{Fe=F(B(),1);Dr();xo();Wn()});function jc(t,e,r){switch(r.length){case 1:t.gl.vertexAttrib1fv(e,r);break;case 2:t.gl.vertexAttrib2fv(e,r);break;case 3:t.gl.vertexAttrib3fv(e,r);break;case 4:t.gl.vertexAttrib4fv(e,r);break;default:}}function $c(t,e,r){t.gl.vertexAttribI4iv(e,r)}function qc(t,e,r){t.gl.vertexAttribI4uiv(e,r)}function Qc(t,e){if(!t||!e||t.length!==e.length||t.constructor!==e.constructor)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r])return!1;return!0}var at,vt,No=I(()=>{at=F(B(),1);Pn();ms();nr();As();Ns();ws();Bs();Us();ts();os();te();ks();mr();Hs();Zs();yr();_r();to();ao();uo();To();Ro();Ao();So();yo();Qt();xr();ye();vt=class extends at.Device{static getDeviceFromContext(e){return e?e.luma?.device??null:null}type="webgl";handle;features;limits;info;canvasContext;preferredColorFormat="rgba8unorm";preferredDepthFormat="depth24plus";commandEncoder;lost;_resolveContextLost;gl;_constants;extensions;_polyfilled=!1;spectorJS;get[Symbol.toStringTag](){return"WebGLDevice"}toString(){return`${this[Symbol.toStringTag]}(${this.id})`}isVertexFormatSupported(e){switch(e){case"unorm8x4-bgra":return!1;default:return!0}}constructor(e){super({...e,id:e.id||Vs("webgl-device")});let r=at.Device._getCanvasContextProps(e);if(!r)throw new Error("WebGLDevice requires props.createCanvasContext to be set");let n=r.canvas?.gl??null,i=vt.getDeviceFromContext(n);if(i)throw new Error(`WebGL context already attached to device ${i.id}`);this.canvasContext=new gr(this,r),this.lost=new Promise(h=>{this._resolveContextLost=h});let s={...e.webgl};r.alphaMode==="premultiplied"&&(s.premultipliedAlpha=!0),e.powerPreference!==void 0&&(s.powerPreference=e.powerPreference),e.failIfMajorPerformanceCaveat!==void 0&&(s.failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat);let a=this.props._handle||Ts(this.canvasContext.canvas,{onContextLost:h=>this._resolveContextLost?.({reason:"destroyed",message:"Entered sleep mode, or too many apps or browser tabs are using the GPU."}),onContextRestored:h=>console.log("WebGL context restored")},s);if(!a)throw new Error("WebGL context creation failed");if(i=vt.getDeviceFromContext(a),i){if(e._reuseDevices)return at.log.log(1,`Not creating a new Device, instead returning a reference to Device ${i.id} already attached to WebGL context`,i)(),this.canvasContext.destroy(),i._reused=!0,i;throw new Error(`WebGL context already attached to device ${i.id}`)}this.handle=a,this.gl=a,this.spectorJS=Gi({...this.props,gl:this.handle});let c=Xt(this.handle);c.device=this,c.extensions||(c.extensions={}),this.extensions=c.extensions,this.info=Rs(this.gl,this.extensions),this.limits=new ur(this.gl),this.features=new pr(this.gl,this.extensions,this.props._disabledFeatures),this.props._initializeFeatures&&this.features.initializeFeatures(),new it(this.gl,{log:(...h)=>at.log.log(1,...h)()}).trackState(this.gl,{copyState:!1}),(e.debug||e.debugWebGL)&&(this.gl=ss(this.gl,{debugWebGL:!0,traceWebGL:e.debugWebGL}),at.log.warn("WebGL debug mode activated. Performance reduced.")()),e.debugWebGL&&(at.log.level=Math.max(at.log.level,1)),this.commandEncoder=new De(this,{id:`${this}-command-encoder`}),this.canvasContext._startObservers()}destroy(){if(this.commandEncoder?.destroy(),!this.props._reuseDevices&&!this._reused){let e=Xt(this.handle);e.device=null}}get isLost(){return this.gl.isContextLost()}createCanvasContext(e){throw new Error("WebGL only supports a single canvas")}createPresentationContext(e){return new Tr(this,e||{})}createBuffer(e){let r=this._normalizeBufferProps(e);return new ot(this,r)}createTexture(e){return new Et(this,e)}createExternalTexture(e){throw new Error("createExternalTexture() not implemented")}createSampler(e){return new Mr(this,e)}createShader(e){return new Er(this,e)}createFramebuffer(e){return new Tt(this,e)}createVertexArray(e){return new re(this,e)}createTransformFeedback(e){return new Vr(this,e)}createQuerySet(e){return new Xr(this,e)}createFence(){return new Wr(this)}createRenderPipeline(e){return new Nr(this,e)}_createSharedRenderPipelineWebGL(e){return new Fr(this,e)}createComputePipeline(e){throw new Error("ComputePipeline not supported in WebGL")}createCommandEncoder(e={}){return new De(this,e)}submit(e){let r=null;e||({submittedCommandEncoder:r,commandBuffer:e}=this._finalizeDefaultCommandEncoderForSubmit());try{e._executeCommands(),r&&r.resolveTimeProfilingQuerySet().then(()=>{this.commandEncoder._gpuTimeMs=r._gpuTimeMs}).catch(()=>{})}finally{e.destroy()}}_finalizeDefaultCommandEncoderForSubmit(){let e=this.commandEncoder,r=e.finish();return this.commandEncoder.destroy(),this.commandEncoder=this.createCommandEncoder({id:e.props.id,timeProfilingQuerySet:e.getTimeProfilingQuerySet()}),{submittedCommandEncoder:e,commandBuffer:r}}readPixelsToArrayWebGL(e,r){return Po(e,r)}readPixelsToBufferWebGL(e,r){return Co(e,r)}setParametersWebGL(e){nt(this.gl,e)}getParametersWebGL(e){return ar(this.gl,e)}withParametersWebGL(e,r){return mt(this.gl,e,r)}resetWebGL(){at.log.warn("WebGLDevice.resetWebGL is deprecated, use only for debugging")(),ds(this.gl)}_getDeviceSpecificTextureFormatCapabilities(e){return Ps(this.gl,e,this.extensions)}loseDevice(){let e=!1,n=this.getExtension("WEBGL_lose_context").WEBGL_lose_context;return n&&(e=!0,n.loseContext()),this._resolveContextLost?.({reason:"destroyed",message:"Application triggered context loss"}),e}pushState(){it.get(this.gl).push()}popState(){it.get(this.gl).pop()}getGLKey(e,r){let n=Number(e);for(let i in this.gl)if(this.gl[i]===n)return`GL.${i}`;return r?.emptyIfUnknown?"":String(e)}getGLKeys(e){let r={emptyIfUnknown:!0};return Object.entries(e).reduce((n,[i,s])=>(n[`${i}:${this.getGLKey(i,r)}`]=`${s}:${this.getGLKey(s,r)}`,n),{})}setConstantAttributeWebGL(e,r){let n=this.limits.maxVertexAttributes;this._constants=this._constants||new Array(n).fill(null);let i=this._constants[e];switch(i&&Qc(i,r)&&at.log.info(1,`setConstantAttributeWebGL(${e}) could have been skipped, value unchanged`)(),this._constants[e]=r,r.constructor){case Float32Array:jc(this,e,r);break;case Int32Array:$c(this,e,r);break;case Uint32Array:qc(this,e,r);break;default:throw new Error("constant")}}getExtension(e){return st(this.gl,e,this.extensions),this.extensions}_setWebGLDebugMetadata(e,r,n){e.luma=r;let i={props:n.spector,id:n.spector.id};e.__SPECTOR_Metadata=i}}});var Ln=I(()=>{No();mr()});var Va=er((un,Ua)=>{(function(t,e){typeof un=="object"&&typeof Ua<"u"?e(un):typeof define=="function"&&define.amd?define(["exports"],e):e(t.esriLoader=t.esriLoader||{})})(un,function(t){"use strict";var e=typeof window<"u",r={Promise:e?window.Promise:void 0},n="4.25",i="next";function s(m){if(m.toLowerCase()===i)return i;var b=m&&m.match(/^(\d)\.(\d+)/);return b&&{major:parseInt(b[1],10),minor:parseInt(b[2],10)}}function o(m){return m===void 0&&(m=n),"https://js.arcgis.com/".concat(m,"/")}function a(m){m===void 0&&(m=n);var b=o(m),C=s(m);if(C!==i&&C.major===3){var x=C.minor<=10?"js/":"";return"".concat(b).concat(x,"esri/css/esri.css")}else return"".concat(b,"esri/themes/light/main.css")}function c(m){var b=document.createElement("link");return b.rel="stylesheet",b.href=m,b}function l(m,b){if(b){var C=document.querySelector(b);C.parentNode.insertBefore(m,C)}else document.head.appendChild(m)}function h(m){return document.querySelector('link[href*="'.concat(m,'"]'))}function f(m){return!m||s(m)?a(m):m}function d(m,b){var C=f(m),x=h(C);return x||(x=c(C),l(x,b)),x}var p={};function _(m){var b=document.createElement("script");return b.type="text/javascript",b.src=m,b.setAttribute("data-esri-loader","loading"),b}function g(m,b,C){var x;C&&(x=u(m,C));var y=function(){b(m),m.removeEventListener("load",y,!1),x&&m.removeEventListener("error",x,!1)};m.addEventListener("load",y,!1)}function u(m,b){var C=function(x){b(x.error||new Error("There was an error attempting to load ".concat(m.src))),m.removeEventListener("error",C,!1)};return m.addEventListener("error",C,!1),C}function T(m){m===void 0&&(m={}),p=m}function S(){return document.querySelector("script[data-esri-loader]")}function R(){var m=window.require;return m&&m.on}function E(m){m===void 0&&(m={});var b={};[p,m].forEach(function(y){for(var N in y)Object.prototype.hasOwnProperty.call(y,N)&&(b[N]=y[N])});var C=b.version,x=b.url||o(C);return new r.Promise(function(y,N){var w=S();if(w){var O=w.getAttribute("src");O!==x?N(new Error("The ArcGIS API for JavaScript is already loaded (".concat(O,")."))):R()?y(w):g(w,y,N)}else if(R())N(new Error("The ArcGIS API for JavaScript is already loaded."));else{var U=b.css;if(U){var ut=U===!0;d(ut?C:U,b.insertCssBefore)}w=_(x),g(w,function(){w.setAttribute("data-esri-loader","loaded"),y(w)},N),document.body.appendChild(w)}})}function A(m){return new r.Promise(function(b,C){var x=window.require.on("error",C);window.require(m,function(){for(var y=[],N=0;N<arguments.length;N++)y[N]=arguments[N];x.remove(),b(y)})})}function M(m,b){if(b===void 0&&(b={}),R())return A(m);var C=S(),x=C&&C.getAttribute("src");return!b.url&&x&&(b.url=x),E(b).then(function(){return A(m)})}t.utils=r,t.loadModules=M,t.getScript=S,t.isLoaded=R,t.loadScript=E,t.setDefaultOptions=T,t.loadCss=d,Object.defineProperty(t,"__esModule",{value:!0})})});var Qe={};Me(Qe,{loadArcGISModules:()=>Od});var _t={},Yi=F(rr(),1);wt(_t,F(rr(),1));if(!Yi.Layer)throw new Error("@deck.gl/core is not found");wt(Qe,_t);var Ki={layers:{},layerFilter:{},parameters:{},effects:{},pickingRadius:{},onBeforeRender:{},onAfterRender:{},onClick:{},onHover:{},onDragStart:{},onDrag:{},onDragEnd:{},onError:{},debug:{},drawPickingColors:{},getCursor:{},getTooltip:{}};function _n(t){return t.createSubclass({properties:Ki,constructor(){this._callbacks={},this.watch(Object.keys(Ki),(r,n,i)=>{this.emit("change",{[i]:r})})},on(r,n){this._callbacks[r]=this._callbacks[r]||[],this._callbacks[r].push(n)},emit(r,n){let i=this._callbacks[r];if(i)for(let s of i)s(n)},toJSON(){let r={};for(let n of this.keys())this[n]!==void 0&&(r[n]=this[n]);return r}})}function gn(t,e,r){return e.createSubclass({properties:{deck:{},blendMode:{},effect:{}},constructor(){this.deck=new t},createLayerView(n){return n.type==="2d"?new r({view:n,layer:this}):(console.error("DeckLayer does not support SceneView at the moment. Use DeckRenderer instead."),null)}})}var Oo=F(rr(),1),Hr=F(ji(),1);Ln();async function Jc(t){return new Promise(e=>{let r=new Oo.Deck({controller:!1,gl:t,parameters:{depthCompare:"less-equal"},width:null,height:null,onDeviceInitialized:n=>{e({deckInstance:r,device:n})}})})}async function Lr(t){let{deckInstance:e,device:r}=await Jc(t),n=r.createTexture({format:"rgba8unorm",width:1,height:1,sampler:{minFilter:"linear",magFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"}}),i=new Hr.Model(r,{vs:`#version 300 es
9
9
  in vec2 pos;
10
10
  out vec2 v_texcoord;
11
11
  void main(void) {
@@ -25,6 +25,6 @@ void main(void) {
25
25
  // input correctly; multiplying again here would darken overlays.
26
26
  fragColor = imageColor;
27
27
  }
28
- `,bindings:{deckglTexture:n},parameters:{depthWriteEnabled:!1,depthCompare:"always",blendColorSrcFactor:"one",blendColorDstFactor:"one-minus-src-alpha",blendAlphaSrcFactor:"one",blendAlphaDstFactor:"one-minus-src-alpha",blendColorOperation:"add",blendAlphaOperation:"add"},geometry:new Vr.Geometry({topology:"triangle-strip",attributes:{pos:{size:2,value:new Int8Array([-1,-1,1,-1,-1,1,-1,1,1,1,1,-1])}}}),vertexCount:6,disableWarnings:!0}),s=r.createFramebuffer({id:"deckfbo",width:1,height:1,colorAttachments:[n],depthStencilAttachment:"depth16unorm"});return e.setProps({_framebuffer:s,_customRender:o=>{if(o==="arcgis"){let a=r.gl;a.blendFuncSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA),e._drawLayers(o)}else this.redraw()}}),{deck:e,texture:n,fbo:s,model:i}}function Fe(t,e){let{model:r,deck:n,fbo:i}=t,s=r.device;if(s instanceof vt){let o=s.getParametersWebGL(36006),{width:a,height:c,views:l,viewState:h,...f}=e,d=window.devicePixelRatio,p=Math.round(a*d),_=Math.round(c*d);i.resize({width:p,height:_});let g=i.colorAttachments[0].texture??i.colorAttachments[0];g!==t.texture&&(t.texture=g,r.setBindings({deckglTexture:g}));let u={width:a,height:c,viewState:h||f};l&&(u.views=l),n.setProps(u),n.redraw("arcgis");let{gl:T}=s;o?(T.bindFramebuffer(36160,o),T.drawBuffers([36064])):T.drawBuffers([1029]),T.enable(3042),T.blendFuncSeparate(1,771,1,771),T.blendEquationSeparate(32774,32774);let b={handle:o,width:p,height:_,colorAttachments:[null]},R=s.beginRenderPass({framebuffer:b,parameters:{viewport:[0,0,p,_]},clearColor:!1,clearDepth:!1});try{r.draw(R)}finally{R.end()}}}function re(t){t.deck.finalize(),t.model.destroy(),t.fbo.destroy(),t.texture.destroy()}function Hn(t){return t.createSubclass({properties:{cancelInitialization:null,resources:null},async attach(){let e=this.context,r=!1;this.cancelInitialization=()=>r=!0;let n=await kr.call(this,e);if(r){re(n);return}this.resources=n,this.layer.deck.on("change",i=>n.deck.setProps(i)),n.deck.setProps(this.layer.deck.toJSON())},redraw(){this.requestRender()},detach(){this.cancelInitialization?.(),this.resources&&(re(this.resources),this.resources=null)},render(e){if(!this.resources)return;let[r,n]=this.view.state.size,i=e.state;Fe(this.resources,{width:r,height:n,latitude:this.view.center.latitude,longitude:this.view.center.longitude,zoom:this.view.featuresTilingScheme.scaleToLevel(i.scale),bearing:-i.rotation,pitch:0})}})}var Jc=/^(?:\d+\.?\d*|\.\d+)$/;function St(t){switch(typeof t){case"number":if(!Number.isFinite(t))throw new Error(`Could not parse position string ${t}`);return{type:"literal",value:t};case"string":try{let e=Gc(t);return new zn(e).parseExpression()}catch(e){let r=e instanceof Error?e.message:String(e);throw new Error(`Could not parse position string ${t}: ${r}`)}default:throw new Error(`Could not parse position string ${t}`)}}function Ln(t,e){switch(t.type){case"literal":return t.value;case"percentage":return Math.round(t.value*e);case"binary":let r=Ln(t.left,e),n=Ln(t.right,e);return t.operator==="+"?r+n:r-n;default:throw new Error("Unknown layout expression type")}}function bt(t,e){return Ln(t,e)}function Gc(t){let e=[],r=0;for(;r<t.length;){let n=t[r];if(/\s/.test(n)){r++;continue}if(n==="+"||n==="-"||n==="("||n===")"||n==="%"){e.push({type:"symbol",value:n}),r++;continue}if(Oo(n)||n==="."){let i=r,s=n===".";for(r++;r<t.length;){let a=t[r];if(Oo(a)){r++;continue}if(a==="."&&!s){s=!0,r++;continue}break}let o=t.slice(i,r);if(!Jc.test(o))throw new Error("Invalid number token");e.push({type:"number",value:parseFloat(o)});continue}if(wo(n)){let i=r;for(;r<t.length&&wo(t[r]);)r++;let s=t.slice(i,r).toLowerCase();e.push({type:"word",value:s});continue}throw new Error("Invalid token in position string")}return e}var zn=class{constructor(e){this.index=0;this.tokens=e}parseExpression(){let e=this.parseBinaryExpression();if(this.index<this.tokens.length)throw new Error("Unexpected token at end of expression");return e}parseBinaryExpression(){let e=this.parseFactor(),r=this.peek();for(;tl(r);){this.index++;let n=this.parseFactor();e={type:"binary",operator:r.value,left:e,right:n},r=this.peek()}return e}parseFactor(){let e=this.peek();if(!e)throw new Error("Unexpected end of expression");if(e.type==="symbol"&&e.value==="+")return this.index++,this.parseFactor();if(e.type==="symbol"&&e.value==="-"){this.index++;let r=this.parseFactor();return{type:"binary",operator:"-",left:{type:"literal",value:0},right:r}}if(e.type==="symbol"&&e.value==="("){this.index++;let r=this.parseBinaryExpression();if(!this.consumeSymbol(")"))throw new Error("Missing closing parenthesis");return r}if(e.type==="word"&&e.value==="calc"){if(this.index++,!this.consumeSymbol("("))throw new Error("Missing opening parenthesis after calc");let r=this.parseBinaryExpression();if(!this.consumeSymbol(")"))throw new Error("Missing closing parenthesis");return r}if(e.type==="number"){this.index++;let r=e.value,n=this.peek();return n&&n.type==="symbol"&&n.value==="%"?(this.index++,{type:"percentage",value:r/100}):n&&n.type==="word"&&n.value==="px"?(this.index++,{type:"literal",value:r}):{type:"literal",value:r}}throw new Error("Unexpected token in expression")}consumeSymbol(e){let r=this.peek();return r&&r.type==="symbol"&&r.value===e?(this.index++,!0):!1}peek(){return this.tokens[this.index]||null}};function Oo(t){return t>="0"&&t<="9"}function wo(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"}function tl(t){return Boolean(t&&t.type==="symbol"&&(t.value==="+"||t.value==="-"))}function ne(t,e,r){if(t===e)return!0;if(!r||!t||!e)return!1;if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(!ne(t[n],e[n],r-1))return!1;return!0}if(Array.isArray(e))return!1;if(typeof t=="object"&&typeof e=="object"){let n=Object.keys(t),i=Object.keys(e);if(n.length!==i.length)return!1;for(let s of n)if(!e.hasOwnProperty(s)||!ne(t[s],e[s],r-1))return!1;return!0}return!1}function Fo(t,e){let r={...t};for(let n in e)n!=="id"&&(Array.isArray(r[n])&&Array.isArray(e[n])?r[n]=el(r[n],e[n]):r[n]=e[n]);return r}function el(t,e){t=t.slice();for(let r=0;r<e.length;r++){let n=e[r];Number.isFinite(n)&&(t[r]=n)}return t}var De=class{constructor(e){let{id:r,x:n=0,y:i=0,width:s="100%",height:o="100%",padding:a=null}=e;this.id=r||this.constructor.displayName||"view",this.props={...e,id:this.id},this._x=St(n),this._y=St(i),this._width=St(s),this._height=St(o),this._padding=a&&{left:St(a.left||0),right:St(a.right||0),top:St(a.top||0),bottom:St(a.bottom||0)},this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e?!0:this.constructor===e.constructor&&ne(this.props,e.props,2)}clone(e){let r=this.constructor;return new r({...this.props,...e})}makeViewport({width:e,height:r,viewState:n}){n=this.filterViewState(n);let i=this.getDimensions({width:e,height:r});if(!i.height||!i.width)return null;let s=this.getViewportType(n);return new s({...n,...this.props,...i})}getViewStateId(){let{viewState:e}=this.props;return typeof e=="string"?e:e?.id||this.id}filterViewState(e){return this.props.viewState&&typeof this.props.viewState=="object"?this.props.viewState.id?Fo(e,this.props.viewState):this.props.viewState:e}getDimensions({width:e,height:r}){let n={x:bt(this._x,e),y:bt(this._y,r),width:bt(this._width,e),height:bt(this._height,r)};return this._padding&&(n.padding={left:bt(this._padding.left,e),top:bt(this._padding.top,r),right:bt(this._padding.right,e),bottom:bt(this._padding.bottom,r)}),n}get controller(){let e=this.props.controller;return e?e===!0?{type:this.ControllerType}:typeof e=="function"?{type:e}:{type:this.ControllerType,...e}:null}};be();function ie(t,e){if(!t)throw new Error(e||"Assertion failed")}function Yn(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return ie(Number.isFinite(e)&&e>=0),e}function Do(t){let{logLevel:e,message:r}=t;t.logLevel=Yn(e);let n=t.args?Array.from(t.args):[];for(;n.length&&n.shift()!==r;);switch(typeof e){case"string":case"function":r!==void 0&&n.unshift(r),t.message=e;break;case"object":Object.assign(t,e);break;default:}typeof t.message=="function"&&(t.message=t.message());let i=typeof t.message;return ie(i==="string"||i==="object"),Object.assign(t,{args:n},t.opts)}var Lt=()=>{},Xr=class{constructor({level:e=0}={}){this.userData={},this._onceCache=new Set,this._level=e}set level(e){this.setLevel(e)}get level(){return this.getLevel()}setLevel(e){return this._level=e,this}getLevel(){return this._level}warn(e,...r){return this._log("warn",0,e,r,{once:!0})}error(e,...r){return this._log("error",0,e,r)}log(e,r,...n){return this._log("log",e,r,n)}info(e,r,...n){return this._log("info",e,r,n)}once(e,r,...n){return this._log("once",e,r,n,{once:!0})}_log(e,r,n,i,s={}){let o=Do({logLevel:r,message:n,args:this._buildArgs(r,n,i),opts:s});return this._createLogFunction(e,o,s)}_buildArgs(e,r,n){return[e,r,...n]}_createLogFunction(e,r,n){if(!this._shouldLog(r.logLevel))return Lt;let i=this._getOnceTag(n.tag??r.tag??r.message);if((n.once||r.once)&&i!==void 0){if(this._onceCache.has(i))return Lt;this._onceCache.add(i)}return this._emit(e,r)}_shouldLog(e){return this.getLevel()>=Yn(e)}_getOnceTag(e){if(e!==void 0)try{return typeof e=="string"?e:String(e)}catch{return}}};function rl(t){try{let e=window[t],r="__storage_test__";return e.setItem(r,r),e.removeItem(r),e}catch{return null}}var Wr=class{constructor(e,r,n="sessionStorage"){this.storage=rl(n),this.id=e,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let e={};if(this.storage){let r=this.storage.getItem(this.id);e=r?JSON.parse(r):{}}return Object.assign(this.config,e),this}};function Bo(t){let e;return t<10?e=`${t.toFixed(2)}ms`:t<100?e=`${t.toFixed(1)}ms`:t<1e3?e=`${t.toFixed(0)}ms`:e=`${(t/1e3).toFixed(2)}s`,e}function vo(t,e=8){let r=Math.max(e-t.length,0);return`${" ".repeat(r)}${t}`}be();var Hr;(function(t){t[t.BLACK=30]="BLACK",t[t.RED=31]="RED",t[t.GREEN=32]="GREEN",t[t.YELLOW=33]="YELLOW",t[t.BLUE=34]="BLUE",t[t.MAGENTA=35]="MAGENTA",t[t.CYAN=36]="CYAN",t[t.WHITE=37]="WHITE",t[t.BRIGHT_BLACK=90]="BRIGHT_BLACK",t[t.BRIGHT_RED=91]="BRIGHT_RED",t[t.BRIGHT_GREEN=92]="BRIGHT_GREEN",t[t.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",t[t.BRIGHT_BLUE=94]="BRIGHT_BLUE",t[t.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",t[t.BRIGHT_CYAN=96]="BRIGHT_CYAN",t[t.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Hr||(Hr={}));var nl=10;function Uo(t){return typeof t!="string"?t:(t=t.toUpperCase(),Hr[t]||Hr.WHITE)}function Vo(t,e,r){return!Et&&typeof t=="string"&&(e&&(t=`\x1B[${Uo(e)}m${t}\x1B[39m`),r&&(t=`\x1B[${Uo(r)+nl}m${t}\x1B[49m`)),t}function ko(t,e=["constructor"]){let r=Object.getPrototypeOf(t),n=Object.getOwnPropertyNames(r),i=t;for(let s of n){let o=i[s];typeof o=="function"&&(e.find(a=>s===a)||(i[s]=o.bind(t)))}}be();function se(){let t;if(Et()&&tr.performance)t=tr?.performance?.now?.();else if("hrtime"in er){let e=er?.hrtime?.();t=e[0]*1e3+e[1]/1e6}else t=Date.now();return t}var oe={debug:Et()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Kn={enabled:!0,level:0},Mt=class extends Xr{constructor({id:e}={id:""}){super({level:0}),this.VERSION=mn,this._startTs=se(),this._deltaTs=se(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new Wr(`__probe-${this.id}__`,{[this.id]:Kn}),this.timeStamp(`${this.id} started`),ko(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((se()-this._startTs).toPrecision(10))}getDelta(){return Number((se()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._updateConfiguration({enabled:e}),this}setLevel(e){return this._updateConfiguration({level:e}),this}get(e){return this._getConfiguration()[e]}set(e,r){this._updateConfiguration({[e]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,r){if(!e)throw new Error(r||"Assertion failed")}warn(e,...r){return this._log("warn",0,e,r,{method:oe.warn,once:!0})}error(e,...r){return this._log("error",0,e,r,{method:oe.error})}deprecated(e,r){return this.warn(`\`${e}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(e,r){return this.error(`\`${e}\` has been removed. Use \`${r}\` instead`)}probe(e,r,...n){return this._log("log",e,r,n,{method:oe.log,time:!0,once:!0})}log(e,r,...n){return this._log("log",e,r,n,{method:oe.debug})}info(e,r,...n){return this._log("info",e,r,n,{method:console.info})}once(e,r,...n){return this._log("once",e,r,n,{method:oe.debug||oe.info,once:!0})}table(e,r,n){return r?this._log("table",e,r,n&&[n]||[],{method:console.table||Lt,tag:sl(r)}):Lt}time(e,r){return this._log("time",e,r,[],{method:console.time?console.time:console.info})}timeEnd(e,r){return this._log("time",e,r,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(e,r){return this._log("time",e,r,[],{method:console.timeStamp||Lt})}group(e,r,n={collapsed:!1}){let i=(n.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",e,r,[],{method:i})}groupCollapsed(e,r,n={}){return this.group(e,r,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._log("groupEnd",e,"",[],{method:console.groupEnd||Lt})}withGroup(e,r,n){this.group(e,r)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&super._shouldLog(e)}_emit(e,r){let n=r.method;ie(n),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=se();let i=il(this.id,r.message,r);return n.bind(console,i,...r.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(Kn),this._storage.config[this.id]}_updateConfiguration(e){let r=this._storage.config[this.id]||{...Kn};this._storage.setConfiguration({[this.id]:{...r,...e}})}};Mt.VERSION=mn;function il(t,e,r){if(typeof e=="string"){let n=r.time?vo(Bo(r.total)):"";e=r.time?`${t}: ${n} ${e}`:`${t}: ${e}`,e=Vo(e,r.color,r.background)}return e}function sl(t){for(let e in t)for(let r in t[e])return r||"untitled";return"empty"}globalThis.probe={};var Q_=new Mt({id:"@probe.gl/log"});var ol=new Mt({id:"deck"}),ae=ol;var ng=1/Math.PI*180,ig=1/180*Math.PI,al={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...al}};var H=globalThis.mathgl.config;function jn(t,{precision:e=H.precision}={}){return t=cl(t),`${parseFloat(t.toPrecision(e))}`}function xt(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function K(t,e,r){return hl(t,n=>Math.max(e,Math.min(r,n)))}function Be(t,e,r){return xt(t)?t.map((n,i)=>Be(n,e[i],r)):r*e+(1-r)*t}function Pt(t,e,r){let n=H.EPSILON;r&&(H.EPSILON=r);try{if(t===e)return!0;if(xt(t)&&xt(e)){if(t.length!==e.length)return!1;for(let i=0;i<t.length;++i)if(!Pt(t[i],e[i]))return!1;return!0}return t&&t.equals?t.equals(e):e&&e.equals?e.equals(t):typeof t=="number"&&typeof e=="number"?Math.abs(t-e)<=H.EPSILON*Math.max(1,Math.abs(t),Math.abs(e)):!1}finally{H.EPSILON=n}}function cl(t){return Math.round(t/H.EPSILON)*H.EPSILON}function ll(t){return t.clone?t.clone():new Array(t.length)}function hl(t,e,r){if(xt(t)){let n=t;r=r||ll(n);for(let i=0;i<r.length&&i<n.length;++i){let s=typeof t=="number"?t:t[i];r[i]=e(s,i,r)}return r}return e(t)}var ce=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(e,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=e[n+r];return this.check()}toArray(e=[],r=0){for(let n=0;n<this.ELEMENTS;++n)e[r+n]=this[n];return e}toObject(e){return e}from(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}to(e){return e===this?this:xt(e)?this.toArray(e):this.toObject(e)}toTarget(e){return e?this.to(e):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(H)}formatString(e){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+jn(this[n],e);return`${e.printTypes?this.constructor.name:""}[${r}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!Pt(this[r],e[r]))return!1;return!0}exactEquals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==e[r])return!1;return!0}negate(){for(let e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}lerp(e,r,n){if(n===void 0)return this.lerp(this,e,r);for(let i=0;i<this.ELEMENTS;++i){let s=e[i],o=typeof r=="number"?r:r[i];this[i]=s+n*(o-s)}return this.check()}min(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(e[r],this[r]);return this.check()}max(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(e[r],this[r]);return this.check()}clamp(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e[n]),r[n]);return this.check()}add(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(e){if(typeof e=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;else for(let r=0;r<this.ELEMENTS&&r<e.length;++r)this[r]*=e[r];return this.check()}multiplyByScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}check(){if(H.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let e=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)e=e&&Number.isFinite(this[r]);return e}sub(e){return this.subtract(e)}setScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=e;return this.check()}addScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]+=e;return this.check()}subScalar(e){return this.addScalar(-e)}multiplyScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}divideScalar(e){return this.multiplyByScalar(1/e)}clampScalar(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e),r);return this.check()}get elements(){return this}};function fl(t,e){if(t.length!==e)return!1;for(let r=0;r<t.length;++r)if(!Number.isFinite(t[r]))return!1;return!0}function Y(t){if(!Number.isFinite(t))throw new Error(`Invalid number ${JSON.stringify(t)}`);return t}function Lr(t,e,r=""){if(H.debug&&!fl(t,e))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return t}function Zn(t,e){if(!t)throw new Error(`math.gl assertion ${e}`)}var zr=class extends ce{get x(){return this[0]}set x(e){this[0]=Y(e)}get y(){return this[1]}set y(e){this[1]=Y(e)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let e=0;for(let r=0;r<this.ELEMENTS;++r)e+=this[r]*this[r];return e}magnitudeSquared(){return this.lengthSquared()}distance(e){return Math.sqrt(this.distanceSquared(e))}distanceSquared(e){let r=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-e[n];r+=i*i}return Y(r)}dot(e){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*e[n];return Y(r)}normalize(){let e=this.magnitude();if(e!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=e;return this.check()}multiply(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(e){return this.distance(e)}distanceToSquared(e){return this.distanceSquared(e)}getComponent(e){return Zn(e>=0&&e<this.ELEMENTS,"index is out of range"),Y(this[e])}setComponent(e,r){return Zn(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=r,this.check()}addVectors(e,r){return this.copy(e).add(r)}subVectors(e,r){return this.copy(e).subtract(r)}multiplyVectors(e,r){return this.copy(e).multiply(r)}addScaledVector(e,r){return this.add(new this.constructor(e).multiplyScalar(r))}};var G={};Se(G,{add:()=>gl,angle:()=>Bl,ceil:()=>Tl,clone:()=>dl,copy:()=>ul,create:()=>Xo,cross:()=>yl,dist:()=>zl,distance:()=>zo,div:()=>Ll,divide:()=>Lo,dot:()=>Cl,equals:()=>kl,exactEquals:()=>Vl,floor:()=>ml,forEach:()=>jl,fromValues:()=>pl,inverse:()=>xl,len:()=>Xl,length:()=>Ko,lerp:()=>Il,max:()=>El,min:()=>Rl,mul:()=>Hl,multiply:()=>Ho,negate:()=>Ml,normalize:()=>Pl,random:()=>Nl,rotate:()=>Dl,round:()=>Al,scale:()=>Sl,scaleAndAdd:()=>bl,set:()=>_l,sqrDist:()=>Yl,sqrLen:()=>Kl,squaredDistance:()=>Yo,squaredLength:()=>jo,str:()=>Ul,sub:()=>Wl,subtract:()=>Wo,transformMat2:()=>Ol,transformMat2d:()=>wl,transformMat3:()=>Fl,transformMat4:()=>$n,zero:()=>vl});var V=typeof Float32Array<"u"?Float32Array:Array,Rt=Math.random;function J(t){return t>=0?Math.round(t):t%.5===0?Math.floor(t):Math.round(t)}var _g=Math.PI/180;function Xo(){let t=new V(2);return V!=Float32Array&&(t[0]=0,t[1]=0),t}function dl(t){let e=new V(2);return e[0]=t[0],e[1]=t[1],e}function pl(t,e){let r=new V(2);return r[0]=t,r[1]=e,r}function ul(t,e){return t[0]=e[0],t[1]=e[1],t}function _l(t,e,r){return t[0]=e,t[1]=r,t}function gl(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t}function Wo(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t}function Ho(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t}function Lo(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t}function Tl(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t}function ml(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t}function Rl(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t}function El(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t}function Al(t,e){return t[0]=J(e[0]),t[1]=J(e[1]),t}function Sl(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t}function bl(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t}function zo(t,e){let r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)}function Yo(t,e){let r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n}function Ko(t){let e=t[0],r=t[1];return Math.sqrt(e*e+r*r)}function jo(t){let e=t[0],r=t[1];return e*e+r*r}function Ml(t,e){return t[0]=-e[0],t[1]=-e[1],t}function xl(t,e){return t[0]=1/e[0],t[1]=1/e[1],t}function Pl(t,e){let r=e[0],n=e[1],i=r*r+n*n;return i>0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t}function Cl(t,e){return t[0]*e[0]+t[1]*e[1]}function yl(t,e,r){let n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t}function Il(t,e,r,n){let i=e[0],s=e[1];return t[0]=i+n*(r[0]-i),t[1]=s+n*(r[1]-s),t}function Nl(t,e){e=e===void 0?1:e;let r=Rt()*2*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t}function Ol(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t}function wl(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i+r[4],t[1]=r[1]*n+r[3]*i+r[5],t}function Fl(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t}function $n(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t}function Dl(t,e,r,n){let i=e[0]-r[0],s=e[1]-r[1],o=Math.sin(n),a=Math.cos(n);return t[0]=i*a-s*o+r[0],t[1]=i*o+s*a+r[1],t}function Bl(t,e){let r=t[0],n=t[1],i=e[0],s=e[1],o=Math.sqrt((r*r+n*n)*(i*i+s*s)),a=o&&(r*i+n*s)/o;return Math.acos(Math.min(Math.max(a,-1),1))}function vl(t){return t[0]=0,t[1]=0,t}function Ul(t){return`vec2(${t[0]}, ${t[1]})`}function Vl(t,e){return t[0]===e[0]&&t[1]===e[1]}function kl(t,e){let r=t[0],n=t[1],i=e[0],s=e[1];return Math.abs(r-i)<=1e-6*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(n-s)<=1e-6*Math.max(1,Math.abs(n),Math.abs(s))}var Xl=Ko,Wl=Wo,Hl=Ho,Ll=Lo,zl=zo,Yl=Yo,Kl=jo,jl=function(){let t=Xo();return function(e,r,n,i,s,o){let a,c;for(r||(r=2),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],s(t,t,o),e[a]=t[0],e[a+1]=t[1];return e}}();function Zo(t,e,r){let n=e[0],i=e[1],s=r[3]*n+r[7]*i||1;return t[0]=(r[0]*n+r[4]*i)/s,t[1]=(r[1]*n+r[5]*i)/s,t}function Kr(t,e,r){let n=e[0],i=e[1],s=e[2],o=r[3]*n+r[7]*i+r[11]*s||1;return t[0]=(r[0]*n+r[4]*i+r[8]*s)/o,t[1]=(r[1]*n+r[5]*i+r[9]*s)/o,t[2]=(r[2]*n+r[6]*i+r[10]*s)/o,t}function $o(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t[2]=e[2],t}var tt={};Se(tt,{add:()=>Jl,angle:()=>ni,bezier:()=>dh,ceil:()=>Gl,clone:()=>Zl,copy:()=>ql,create:()=>qo,cross:()=>Qn,dist:()=>Ah,distance:()=>ea,div:()=>Eh,divide:()=>ta,dot:()=>qn,equals:()=>Th,exactEquals:()=>gh,floor:()=>th,forEach:()=>xh,fromValues:()=>$l,hermite:()=>fh,inverse:()=>ah,len:()=>bh,length:()=>Qo,lerp:()=>lh,max:()=>rh,min:()=>eh,mul:()=>Rh,multiply:()=>Go,negate:()=>oh,normalize:()=>ch,random:()=>ph,rotateX:()=>ti,rotateY:()=>ei,rotateZ:()=>ri,round:()=>nh,scale:()=>ih,scaleAndAdd:()=>sh,set:()=>Ql,slerp:()=>hh,sqrDist:()=>Sh,sqrLen:()=>Mh,squaredDistance:()=>ra,squaredLength:()=>na,str:()=>_h,sub:()=>mh,subtract:()=>Jo,transformMat3:()=>Jn,transformMat4:()=>ve,transformQuat:()=>Gn,zero:()=>uh});function qo(){let t=new V(3);return V!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function Zl(t){let e=new V(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function Qo(t){let e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}function $l(t,e,r){let n=new V(3);return n[0]=t,n[1]=e,n[2]=r,n}function ql(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Ql(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function Jl(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function Jo(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function Go(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function ta(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function Gl(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}function th(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}function eh(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function rh(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function nh(t,e){return t[0]=J(e[0]),t[1]=J(e[1]),t[2]=J(e[2]),t}function ih(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function sh(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}function ea(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}function ra(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}function na(t){let e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}function oh(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function ah(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function ch(t,e){let r=e[0],n=e[1],i=e[2],s=r*r+n*n+i*i;return s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t}function qn(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Qn(t,e,r){let n=e[0],i=e[1],s=e[2],o=r[0],a=r[1],c=r[2];return t[0]=i*c-s*a,t[1]=s*o-n*c,t[2]=n*a-i*o,t}function lh(t,e,r,n){let i=e[0],s=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=s+n*(r[1]-s),t[2]=o+n*(r[2]-o),t}function hh(t,e,r,n){let i=Math.acos(Math.min(Math.max(qn(e,r),-1),1)),s=Math.sin(i),o=Math.sin((1-n)*i)/s,a=Math.sin(n*i)/s;return t[0]=o*e[0]+a*r[0],t[1]=o*e[1]+a*r[1],t[2]=o*e[2]+a*r[2],t}function fh(t,e,r,n,i,s){let o=s*s,a=o*(2*s-3)+1,c=o*(s-2)+s,l=o*(s-1),h=o*(3-2*s);return t[0]=e[0]*a+r[0]*c+n[0]*l+i[0]*h,t[1]=e[1]*a+r[1]*c+n[1]*l+i[1]*h,t[2]=e[2]*a+r[2]*c+n[2]*l+i[2]*h,t}function dh(t,e,r,n,i,s){let o=1-s,a=o*o,c=s*s,l=a*o,h=3*s*a,f=3*c*o,d=c*s;return t[0]=e[0]*l+r[0]*h+n[0]*f+i[0]*d,t[1]=e[1]*l+r[1]*h+n[1]*f+i[1]*d,t[2]=e[2]*l+r[2]*h+n[2]*f+i[2]*d,t}function ph(t,e){e=e===void 0?1:e;let r=Rt()*2*Math.PI,n=Rt()*2-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}function ve(t,e,r){let n=e[0],i=e[1],s=e[2],o=r[3]*n+r[7]*i+r[11]*s+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/o,t}function Jn(t,e,r){let n=e[0],i=e[1],s=e[2];return t[0]=n*r[0]+i*r[3]+s*r[6],t[1]=n*r[1]+i*r[4]+s*r[7],t[2]=n*r[2]+i*r[5]+s*r[8],t}function Gn(t,e,r){let n=r[0],i=r[1],s=r[2],o=r[3],a=e[0],c=e[1],l=e[2],h=i*l-s*c,f=s*a-n*l,d=n*c-i*a,p=i*d-s*f,_=s*h-n*d,g=n*f-i*h,u=o*2;return h*=u,f*=u,d*=u,p*=2,_*=2,g*=2,t[0]=a+h+p,t[1]=c+f+_,t[2]=l+d+g,t}function ti(t,e,r,n){let i=[],s=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],s[0]=i[0],s[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),s[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),t[0]=s[0]+r[0],t[1]=s[1]+r[1],t[2]=s[2]+r[2],t}function ei(t,e,r,n){let i=[],s=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],s[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),s[1]=i[1],s[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),t[0]=s[0]+r[0],t[1]=s[1]+r[1],t[2]=s[2]+r[2],t}function ri(t,e,r,n){let i=[],s=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],s[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),s[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),s[2]=i[2],t[0]=s[0]+r[0],t[1]=s[1]+r[1],t[2]=s[2]+r[2],t}function ni(t,e){let r=t[0],n=t[1],i=t[2],s=e[0],o=e[1],a=e[2],c=Math.sqrt((r*r+n*n+i*i)*(s*s+o*o+a*a)),l=c&&qn(t,e)/c;return Math.acos(Math.min(Math.max(l,-1),1))}function uh(t){return t[0]=0,t[1]=0,t[2]=0,t}function _h(t){return`vec3(${t[0]}, ${t[1]}, ${t[2]})`}function gh(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function Th(t,e){let r=t[0],n=t[1],i=t[2],s=e[0],o=e[1],a=e[2];return Math.abs(r-s)<=1e-6*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-a)<=1e-6*Math.max(1,Math.abs(i),Math.abs(a))}var mh=Jo,Rh=Go,Eh=ta,Ah=ea,Sh=ra,bh=Qo,Mh=na,xh=function(){let t=qo();return function(e,r,n,i,s,o){let a,c;for(r||(r=3),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],s(t,t,o),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2];return e}}();var ii=[0,0,0],jr,ct=class extends zr{static get ZERO(){return jr||(jr=new ct(0,0,0),Object.freeze(jr)),jr}constructor(e=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&xt(e)?this.copy(e):(H.debug&&(Y(e),Y(r),Y(n)),this[0]=e,this[1]=r,this[2]=n)}set(e,r,n){return this[0]=e,this[1]=r,this[2]=n,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}fromObject(e){return H.debug&&(Y(e.x),Y(e.y),Y(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}get ELEMENTS(){return 3}get z(){return this[2]}set z(e){this[2]=Y(e)}angle(e){return ni(this,e)}cross(e){return Qn(this,this,e),this.check()}rotateX({radians:e,origin:r=ii}){return ti(this,this,r,e),this.check()}rotateY({radians:e,origin:r=ii}){return ei(this,this,r,e),this.check()}rotateZ({radians:e,origin:r=ii}){return ri(this,this,r,e),this.check()}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return ve(this,this,e),this.check()}transformAsVector(e){return Kr(this,this,e),this.check()}transformByMatrix3(e){return Jn(this,this,e),this.check()}transformByMatrix2(e){return $o(this,this,e),this.check()}transformByQuaternion(e){return Gn(this,this,e),this.check()}};var Zr=class extends ce{toString(){let e="[";if(H.printRowMajor){e+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)e+=` ${this[n*this.RANK+r]}`}else{e+="column-major:";for(let r=0;r<this.ELEMENTS;++r)e+=` ${this[r]}`}return e+="]",e}getElementIndex(e,r){return r*this.RANK+e}getElement(e,r){return this[r*this.RANK+e]}setElement(e,r,n){return this[r*this.RANK+e]=Y(n),this}getColumn(e,r=new Array(this.RANK).fill(-0)){let n=e*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(e,r){let n=e*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};var z={};Se(z,{add:()=>qh,adjoint:()=>Oh,clone:()=>Ch,copy:()=>yh,create:()=>Ph,decompose:()=>Wh,determinant:()=>ai,equals:()=>tf,exactEquals:()=>Gh,frob:()=>$h,fromQuat:()=>ui,fromQuat2:()=>Vh,fromRotation:()=>Dh,fromRotationTranslation:()=>sa,fromRotationTranslationScale:()=>Hh,fromRotationTranslationScaleOrigin:()=>Lh,fromScaling:()=>Fh,fromTranslation:()=>wh,fromValues:()=>Ih,fromXRotation:()=>Bh,fromYRotation:()=>vh,fromZRotation:()=>Uh,frustum:()=>_i,getRotation:()=>Xh,getScaling:()=>oa,getTranslation:()=>kh,identity:()=>ia,invert:()=>oi,lookAt:()=>mi,mul:()=>ef,multiply:()=>Ue,multiplyScalar:()=>Qh,multiplyScalarAndAdd:()=>Jh,ortho:()=>Ti,orthoNO:()=>ca,orthoZO:()=>Kh,perspective:()=>gi,perspectiveFromFieldOfView:()=>Yh,perspectiveNO:()=>aa,perspectiveZO:()=>zh,rotate:()=>hi,rotateX:()=>fi,rotateY:()=>di,rotateZ:()=>pi,scale:()=>li,set:()=>Nh,str:()=>Zh,sub:()=>rf,subtract:()=>la,targetTo:()=>jh,translate:()=>ci,transpose:()=>si});function Ph(){let t=new V(16);return V!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function Ch(t){let e=new V(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function yh(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Ih(t,e,r,n,i,s,o,a,c,l,h,f,d,p,_,g){let u=new V(16);return u[0]=t,u[1]=e,u[2]=r,u[3]=n,u[4]=i,u[5]=s,u[6]=o,u[7]=a,u[8]=c,u[9]=l,u[10]=h,u[11]=f,u[12]=d,u[13]=p,u[14]=_,u[15]=g,u}function Nh(t,e,r,n,i,s,o,a,c,l,h,f,d,p,_,g,u){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=s,t[5]=o,t[6]=a,t[7]=c,t[8]=l,t[9]=h,t[10]=f,t[11]=d,t[12]=p,t[13]=_,t[14]=g,t[15]=u,t}function ia(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function si(t,e){if(t===e){let r=e[1],n=e[2],i=e[3],s=e[6],o=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=s,t[11]=e[14],t[12]=i,t[13]=o,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function oi(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],a=e[5],c=e[6],l=e[7],h=e[8],f=e[9],d=e[10],p=e[11],_=e[12],g=e[13],u=e[14],T=e[15],b=r*a-n*o,R=r*c-i*o,E=r*l-s*o,A=n*c-i*a,M=n*l-s*a,m=i*l-s*c,S=h*g-f*_,P=h*u-d*_,x=h*T-p*_,I=f*u-d*g,N=f*T-p*g,w=d*T-p*u,O=b*w-R*N+E*I+A*x-M*P+m*S;return O?(O=1/O,t[0]=(a*w-c*N+l*I)*O,t[1]=(i*N-n*w-s*I)*O,t[2]=(g*m-u*M+T*A)*O,t[3]=(d*M-f*m-p*A)*O,t[4]=(c*x-o*w-l*P)*O,t[5]=(r*w-i*x+s*P)*O,t[6]=(u*E-_*m-T*R)*O,t[7]=(h*m-d*E+p*R)*O,t[8]=(o*N-a*x+l*S)*O,t[9]=(n*x-r*N-s*S)*O,t[10]=(_*M-g*E+T*b)*O,t[11]=(f*E-h*M-p*b)*O,t[12]=(a*P-o*I-c*S)*O,t[13]=(r*I-n*P+i*S)*O,t[14]=(g*R-_*A-u*b)*O,t[15]=(h*A-f*R+d*b)*O,t):null}function Oh(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],a=e[5],c=e[6],l=e[7],h=e[8],f=e[9],d=e[10],p=e[11],_=e[12],g=e[13],u=e[14],T=e[15],b=r*a-n*o,R=r*c-i*o,E=r*l-s*o,A=n*c-i*a,M=n*l-s*a,m=i*l-s*c,S=h*g-f*_,P=h*u-d*_,x=h*T-p*_,I=f*u-d*g,N=f*T-p*g,w=d*T-p*u;return t[0]=a*w-c*N+l*I,t[1]=i*N-n*w-s*I,t[2]=g*m-u*M+T*A,t[3]=d*M-f*m-p*A,t[4]=c*x-o*w-l*P,t[5]=r*w-i*x+s*P,t[6]=u*E-_*m-T*R,t[7]=h*m-d*E+p*R,t[8]=o*N-a*x+l*S,t[9]=n*x-r*N-s*S,t[10]=_*M-g*E+T*b,t[11]=f*E-h*M-p*b,t[12]=a*P-o*I-c*S,t[13]=r*I-n*P+i*S,t[14]=g*R-_*A-u*b,t[15]=h*A-f*R+d*b,t}function ai(t){let e=t[0],r=t[1],n=t[2],i=t[3],s=t[4],o=t[5],a=t[6],c=t[7],l=t[8],h=t[9],f=t[10],d=t[11],p=t[12],_=t[13],g=t[14],u=t[15],T=e*o-r*s,b=e*a-n*s,R=r*a-n*o,E=l*_-h*p,A=l*g-f*p,M=h*g-f*_,m=e*M-r*A+n*E,S=s*M-o*A+a*E,P=l*R-h*b+f*T,x=p*R-_*b+g*T;return c*m-i*S+u*P-d*x}function Ue(t,e,r){let n=e[0],i=e[1],s=e[2],o=e[3],a=e[4],c=e[5],l=e[6],h=e[7],f=e[8],d=e[9],p=e[10],_=e[11],g=e[12],u=e[13],T=e[14],b=e[15],R=r[0],E=r[1],A=r[2],M=r[3];return t[0]=R*n+E*a+A*f+M*g,t[1]=R*i+E*c+A*d+M*u,t[2]=R*s+E*l+A*p+M*T,t[3]=R*o+E*h+A*_+M*b,R=r[4],E=r[5],A=r[6],M=r[7],t[4]=R*n+E*a+A*f+M*g,t[5]=R*i+E*c+A*d+M*u,t[6]=R*s+E*l+A*p+M*T,t[7]=R*o+E*h+A*_+M*b,R=r[8],E=r[9],A=r[10],M=r[11],t[8]=R*n+E*a+A*f+M*g,t[9]=R*i+E*c+A*d+M*u,t[10]=R*s+E*l+A*p+M*T,t[11]=R*o+E*h+A*_+M*b,R=r[12],E=r[13],A=r[14],M=r[15],t[12]=R*n+E*a+A*f+M*g,t[13]=R*i+E*c+A*d+M*u,t[14]=R*s+E*l+A*p+M*T,t[15]=R*o+E*h+A*_+M*b,t}function ci(t,e,r){let n=r[0],i=r[1],s=r[2],o,a,c,l,h,f,d,p,_,g,u,T;return e===t?(t[12]=e[0]*n+e[4]*i+e[8]*s+e[12],t[13]=e[1]*n+e[5]*i+e[9]*s+e[13],t[14]=e[2]*n+e[6]*i+e[10]*s+e[14],t[15]=e[3]*n+e[7]*i+e[11]*s+e[15]):(o=e[0],a=e[1],c=e[2],l=e[3],h=e[4],f=e[5],d=e[6],p=e[7],_=e[8],g=e[9],u=e[10],T=e[11],t[0]=o,t[1]=a,t[2]=c,t[3]=l,t[4]=h,t[5]=f,t[6]=d,t[7]=p,t[8]=_,t[9]=g,t[10]=u,t[11]=T,t[12]=o*n+h*i+_*s+e[12],t[13]=a*n+f*i+g*s+e[13],t[14]=c*n+d*i+u*s+e[14],t[15]=l*n+p*i+T*s+e[15]),t}function li(t,e,r){let n=r[0],i=r[1],s=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function hi(t,e,r,n){let i=n[0],s=n[1],o=n[2],a=Math.sqrt(i*i+s*s+o*o),c,l,h,f,d,p,_,g,u,T,b,R,E,A,M,m,S,P,x,I,N,w,O,v;return a<1e-6?null:(a=1/a,i*=a,s*=a,o*=a,l=Math.sin(r),c=Math.cos(r),h=1-c,f=e[0],d=e[1],p=e[2],_=e[3],g=e[4],u=e[5],T=e[6],b=e[7],R=e[8],E=e[9],A=e[10],M=e[11],m=i*i*h+c,S=s*i*h+o*l,P=o*i*h-s*l,x=i*s*h-o*l,I=s*s*h+c,N=o*s*h+i*l,w=i*o*h+s*l,O=s*o*h-i*l,v=o*o*h+c,t[0]=f*m+g*S+R*P,t[1]=d*m+u*S+E*P,t[2]=p*m+T*S+A*P,t[3]=_*m+b*S+M*P,t[4]=f*x+g*I+R*N,t[5]=d*x+u*I+E*N,t[6]=p*x+T*I+A*N,t[7]=_*x+b*I+M*N,t[8]=f*w+g*O+R*v,t[9]=d*w+u*O+E*v,t[10]=p*w+T*O+A*v,t[11]=_*w+b*O+M*v,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}function fi(t,e,r){let n=Math.sin(r),i=Math.cos(r),s=e[4],o=e[5],a=e[6],c=e[7],l=e[8],h=e[9],f=e[10],d=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*i+l*n,t[5]=o*i+h*n,t[6]=a*i+f*n,t[7]=c*i+d*n,t[8]=l*i-s*n,t[9]=h*i-o*n,t[10]=f*i-a*n,t[11]=d*i-c*n,t}function di(t,e,r){let n=Math.sin(r),i=Math.cos(r),s=e[0],o=e[1],a=e[2],c=e[3],l=e[8],h=e[9],f=e[10],d=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*i-l*n,t[1]=o*i-h*n,t[2]=a*i-f*n,t[3]=c*i-d*n,t[8]=s*n+l*i,t[9]=o*n+h*i,t[10]=a*n+f*i,t[11]=c*n+d*i,t}function pi(t,e,r){let n=Math.sin(r),i=Math.cos(r),s=e[0],o=e[1],a=e[2],c=e[3],l=e[4],h=e[5],f=e[6],d=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*i+l*n,t[1]=o*i+h*n,t[2]=a*i+f*n,t[3]=c*i+d*n,t[4]=l*i-s*n,t[5]=h*i-o*n,t[6]=f*i-a*n,t[7]=d*i-c*n,t}function wh(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}function Fh(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Dh(t,e,r){let n=r[0],i=r[1],s=r[2],o=Math.sqrt(n*n+i*i+s*s),a,c,l;return o<1e-6?null:(o=1/o,n*=o,i*=o,s*=o,c=Math.sin(e),a=Math.cos(e),l=1-a,t[0]=n*n*l+a,t[1]=i*n*l+s*c,t[2]=s*n*l-i*c,t[3]=0,t[4]=n*i*l-s*c,t[5]=i*i*l+a,t[6]=s*i*l+n*c,t[7]=0,t[8]=n*s*l+i*c,t[9]=i*s*l-n*c,t[10]=s*s*l+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}function Bh(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function vh(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Uh(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function sa(t,e,r){let n=e[0],i=e[1],s=e[2],o=e[3],a=n+n,c=i+i,l=s+s,h=n*a,f=n*c,d=n*l,p=i*c,_=i*l,g=s*l,u=o*a,T=o*c,b=o*l;return t[0]=1-(p+g),t[1]=f+b,t[2]=d-T,t[3]=0,t[4]=f-b,t[5]=1-(h+g),t[6]=_+u,t[7]=0,t[8]=d+T,t[9]=_-u,t[10]=1-(h+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function Vh(t,e){let r=new V(3),n=-e[0],i=-e[1],s=-e[2],o=e[3],a=e[4],c=e[5],l=e[6],h=e[7],f=n*n+i*i+s*s+o*o;return f>0?(r[0]=(a*o+h*n+c*s-l*i)*2/f,r[1]=(c*o+h*i+l*n-a*s)*2/f,r[2]=(l*o+h*s+a*i-c*n)*2/f):(r[0]=(a*o+h*n+c*s-l*i)*2,r[1]=(c*o+h*i+l*n-a*s)*2,r[2]=(l*o+h*s+a*i-c*n)*2),sa(t,e,r),t}function kh(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function oa(t,e){let r=e[0],n=e[1],i=e[2],s=e[4],o=e[5],a=e[6],c=e[8],l=e[9],h=e[10];return t[0]=Math.sqrt(r*r+n*n+i*i),t[1]=Math.sqrt(s*s+o*o+a*a),t[2]=Math.sqrt(c*c+l*l+h*h),t}function Xh(t,e){let r=new V(3);oa(r,e);let n=1/r[0],i=1/r[1],s=1/r[2],o=e[0]*n,a=e[1]*i,c=e[2]*s,l=e[4]*n,h=e[5]*i,f=e[6]*s,d=e[8]*n,p=e[9]*i,_=e[10]*s,g=o+h+_,u=0;return g>0?(u=Math.sqrt(g+1)*2,t[3]=.25*u,t[0]=(f-p)/u,t[1]=(d-c)/u,t[2]=(a-l)/u):o>h&&o>_?(u=Math.sqrt(1+o-h-_)*2,t[3]=(f-p)/u,t[0]=.25*u,t[1]=(a+l)/u,t[2]=(d+c)/u):h>_?(u=Math.sqrt(1+h-o-_)*2,t[3]=(d-c)/u,t[0]=(a+l)/u,t[1]=.25*u,t[2]=(f+p)/u):(u=Math.sqrt(1+_-o-h)*2,t[3]=(a-l)/u,t[0]=(d+c)/u,t[1]=(f+p)/u,t[2]=.25*u),t}function Wh(t,e,r,n){e[0]=n[12],e[1]=n[13],e[2]=n[14];let i=n[0],s=n[1],o=n[2],a=n[4],c=n[5],l=n[6],h=n[8],f=n[9],d=n[10];r[0]=Math.sqrt(i*i+s*s+o*o),r[1]=Math.sqrt(a*a+c*c+l*l),r[2]=Math.sqrt(h*h+f*f+d*d);let p=1/r[0],_=1/r[1],g=1/r[2],u=i*p,T=s*_,b=o*g,R=a*p,E=c*_,A=l*g,M=h*p,m=f*_,S=d*g,P=u+E+S,x=0;return P>0?(x=Math.sqrt(P+1)*2,t[3]=.25*x,t[0]=(A-m)/x,t[1]=(M-b)/x,t[2]=(T-R)/x):u>E&&u>S?(x=Math.sqrt(1+u-E-S)*2,t[3]=(A-m)/x,t[0]=.25*x,t[1]=(T+R)/x,t[2]=(M+b)/x):E>S?(x=Math.sqrt(1+E-u-S)*2,t[3]=(M-b)/x,t[0]=(T+R)/x,t[1]=.25*x,t[2]=(A+m)/x):(x=Math.sqrt(1+S-u-E)*2,t[3]=(T-R)/x,t[0]=(M+b)/x,t[1]=(A+m)/x,t[2]=.25*x),t}function Hh(t,e,r,n){let i=e[0],s=e[1],o=e[2],a=e[3],c=i+i,l=s+s,h=o+o,f=i*c,d=i*l,p=i*h,_=s*l,g=s*h,u=o*h,T=a*c,b=a*l,R=a*h,E=n[0],A=n[1],M=n[2];return t[0]=(1-(_+u))*E,t[1]=(d+R)*E,t[2]=(p-b)*E,t[3]=0,t[4]=(d-R)*A,t[5]=(1-(f+u))*A,t[6]=(g+T)*A,t[7]=0,t[8]=(p+b)*M,t[9]=(g-T)*M,t[10]=(1-(f+_))*M,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function Lh(t,e,r,n,i){let s=e[0],o=e[1],a=e[2],c=e[3],l=s+s,h=o+o,f=a+a,d=s*l,p=s*h,_=s*f,g=o*h,u=o*f,T=a*f,b=c*l,R=c*h,E=c*f,A=n[0],M=n[1],m=n[2],S=i[0],P=i[1],x=i[2],I=(1-(g+T))*A,N=(p+E)*A,w=(_-R)*A,O=(p-E)*M,v=(1-(d+T))*M,dt=(u+b)*M,Q=(_+R)*m,Ze=(u-b)*m,Hi=(1-(d+g))*m;return t[0]=I,t[1]=N,t[2]=w,t[3]=0,t[4]=O,t[5]=v,t[6]=dt,t[7]=0,t[8]=Q,t[9]=Ze,t[10]=Hi,t[11]=0,t[12]=r[0]+S-(I*S+O*P+Q*x),t[13]=r[1]+P-(N*S+v*P+Ze*x),t[14]=r[2]+x-(w*S+dt*P+Hi*x),t[15]=1,t}function ui(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],o=r+r,a=n+n,c=i+i,l=r*o,h=n*o,f=n*a,d=i*o,p=i*a,_=i*c,g=s*o,u=s*a,T=s*c;return t[0]=1-f-_,t[1]=h+T,t[2]=d-u,t[3]=0,t[4]=h-T,t[5]=1-l-_,t[6]=p+g,t[7]=0,t[8]=d+u,t[9]=p-g,t[10]=1-l-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function _i(t,e,r,n,i,s,o){let a=1/(r-e),c=1/(i-n),l=1/(s-o);return t[0]=s*2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=s*2*c,t[6]=0,t[7]=0,t[8]=(r+e)*a,t[9]=(i+n)*c,t[10]=(o+s)*l,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*s*2*l,t[15]=0,t}function aa(t,e,r,n,i){let s=1/Math.tan(e/2);if(t[0]=s/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=s,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0){let o=1/(n-i);t[10]=(i+n)*o,t[14]=2*i*n*o}else t[10]=-1,t[14]=-2*n;return t}var gi=aa;function zh(t,e,r,n,i){let s=1/Math.tan(e/2);if(t[0]=s/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=s,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0){let o=1/(n-i);t[10]=i*o,t[14]=i*n*o}else t[10]=-1,t[14]=-n;return t}function Yh(t,e,r,n){let i=Math.tan(e.upDegrees*Math.PI/180),s=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),a=Math.tan(e.rightDegrees*Math.PI/180),c=2/(o+a),l=2/(i+s);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=l,t[6]=0,t[7]=0,t[8]=-((o-a)*c*.5),t[9]=(i-s)*l*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}function ca(t,e,r,n,i,s,o){let a=1/(e-r),c=1/(n-i),l=1/(s-o);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+r)*a,t[13]=(i+n)*c,t[14]=(o+s)*l,t[15]=1,t}var Ti=ca;function Kh(t,e,r,n,i,s,o){let a=1/(e-r),c=1/(n-i),l=1/(s-o);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=l,t[11]=0,t[12]=(e+r)*a,t[13]=(i+n)*c,t[14]=s*l,t[15]=1,t}function mi(t,e,r,n){let i,s,o,a,c,l,h,f,d,p,_=e[0],g=e[1],u=e[2],T=n[0],b=n[1],R=n[2],E=r[0],A=r[1],M=r[2];return Math.abs(_-E)<1e-6&&Math.abs(g-A)<1e-6&&Math.abs(u-M)<1e-6?ia(t):(f=_-E,d=g-A,p=u-M,i=1/Math.sqrt(f*f+d*d+p*p),f*=i,d*=i,p*=i,s=b*p-R*d,o=R*f-T*p,a=T*d-b*f,i=Math.sqrt(s*s+o*o+a*a),i?(i=1/i,s*=i,o*=i,a*=i):(s=0,o=0,a=0),c=d*a-p*o,l=p*s-f*a,h=f*o-d*s,i=Math.sqrt(c*c+l*l+h*h),i?(i=1/i,c*=i,l*=i,h*=i):(c=0,l=0,h=0),t[0]=s,t[1]=c,t[2]=f,t[3]=0,t[4]=o,t[5]=l,t[6]=d,t[7]=0,t[8]=a,t[9]=h,t[10]=p,t[11]=0,t[12]=-(s*_+o*g+a*u),t[13]=-(c*_+l*g+h*u),t[14]=-(f*_+d*g+p*u),t[15]=1,t)}function jh(t,e,r,n){let i=e[0],s=e[1],o=e[2],a=n[0],c=n[1],l=n[2],h=i-r[0],f=s-r[1],d=o-r[2],p=h*h+f*f+d*d;p>0&&(p=1/Math.sqrt(p),h*=p,f*=p,d*=p);let _=c*d-l*f,g=l*h-a*d,u=a*f-c*h;return p=_*_+g*g+u*u,p>0&&(p=1/Math.sqrt(p),_*=p,g*=p,u*=p),t[0]=_,t[1]=g,t[2]=u,t[3]=0,t[4]=f*u-d*g,t[5]=d*_-h*u,t[6]=h*g-f*_,t[7]=0,t[8]=h,t[9]=f,t[10]=d,t[11]=0,t[12]=i,t[13]=s,t[14]=o,t[15]=1,t}function Zh(t){return`mat4(${t[0]}, ${t[1]}, ${t[2]}, ${t[3]}, ${t[4]}, ${t[5]}, ${t[6]}, ${t[7]}, ${t[8]}, ${t[9]}, ${t[10]}, ${t[11]}, ${t[12]}, ${t[13]}, ${t[14]}, ${t[15]})`}function $h(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+t[6]*t[6]+t[7]*t[7]+t[8]*t[8]+t[9]*t[9]+t[10]*t[10]+t[11]*t[11]+t[12]*t[12]+t[13]*t[13]+t[14]*t[14]+t[15]*t[15])}function qh(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t}function la(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t}function Qh(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t}function Jh(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t}function Gh(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]}function tf(t,e){let r=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],c=t[6],l=t[7],h=t[8],f=t[9],d=t[10],p=t[11],_=t[12],g=t[13],u=t[14],T=t[15],b=e[0],R=e[1],E=e[2],A=e[3],M=e[4],m=e[5],S=e[6],P=e[7],x=e[8],I=e[9],N=e[10],w=e[11],O=e[12],v=e[13],dt=e[14],Q=e[15];return Math.abs(r-b)<=1e-6*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(n-R)<=1e-6*Math.max(1,Math.abs(n),Math.abs(R))&&Math.abs(i-E)<=1e-6*Math.max(1,Math.abs(i),Math.abs(E))&&Math.abs(s-A)<=1e-6*Math.max(1,Math.abs(s),Math.abs(A))&&Math.abs(o-M)<=1e-6*Math.max(1,Math.abs(o),Math.abs(M))&&Math.abs(a-m)<=1e-6*Math.max(1,Math.abs(a),Math.abs(m))&&Math.abs(c-S)<=1e-6*Math.max(1,Math.abs(c),Math.abs(S))&&Math.abs(l-P)<=1e-6*Math.max(1,Math.abs(l),Math.abs(P))&&Math.abs(h-x)<=1e-6*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(f-I)<=1e-6*Math.max(1,Math.abs(f),Math.abs(I))&&Math.abs(d-N)<=1e-6*Math.max(1,Math.abs(d),Math.abs(N))&&Math.abs(p-w)<=1e-6*Math.max(1,Math.abs(p),Math.abs(w))&&Math.abs(_-O)<=1e-6*Math.max(1,Math.abs(_),Math.abs(O))&&Math.abs(g-v)<=1e-6*Math.max(1,Math.abs(g),Math.abs(v))&&Math.abs(u-dt)<=1e-6*Math.max(1,Math.abs(u),Math.abs(dt))&&Math.abs(T-Q)<=1e-6*Math.max(1,Math.abs(T),Math.abs(Q))}var ef=Ue,rf=la;var Ct={};Se(Ct,{add:()=>cf,ceil:()=>lf,clone:()=>nf,copy:()=>of,create:()=>ha,cross:()=>Ef,dist:()=>Of,distance:()=>ua,div:()=>Nf,divide:()=>pa,dot:()=>Rf,equals:()=>Cf,exactEquals:()=>Pf,floor:()=>hf,forEach:()=>Bf,fromValues:()=>sf,inverse:()=>Tf,len:()=>Ff,length:()=>ga,lerp:()=>Af,max:()=>df,min:()=>ff,mul:()=>If,multiply:()=>da,negate:()=>gf,normalize:()=>mf,random:()=>Sf,round:()=>pf,scale:()=>uf,scaleAndAdd:()=>_f,set:()=>af,sqrDist:()=>wf,sqrLen:()=>Df,squaredDistance:()=>_a,squaredLength:()=>Ta,str:()=>xf,sub:()=>yf,subtract:()=>fa,transformMat4:()=>Ri,transformQuat:()=>bf,zero:()=>Mf});function ha(){let t=new V(4);return V!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function nf(t){let e=new V(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function sf(t,e,r,n){let i=new V(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}function of(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function af(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}function cf(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}function fa(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}function da(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}function pa(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}function lf(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t}function hf(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t}function ff(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}function df(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}function pf(t,e){return t[0]=J(e[0]),t[1]=J(e[1]),t[2]=J(e[2]),t[3]=J(e[3]),t}function uf(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}function _f(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}function ua(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],s=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+s*s)}function _a(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],s=e[3]-t[3];return r*r+n*n+i*i+s*s}function ga(t){let e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}function Ta(t){let e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}function gf(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}function Tf(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}function mf(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],o=r*r+n*n+i*i+s*s;return o>0&&(o=1/Math.sqrt(o)),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=s*o,t}function Rf(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Ef(t,e,r,n){let i=r[0]*n[1]-r[1]*n[0],s=r[0]*n[2]-r[2]*n[0],o=r[0]*n[3]-r[3]*n[0],a=r[1]*n[2]-r[2]*n[1],c=r[1]*n[3]-r[3]*n[1],l=r[2]*n[3]-r[3]*n[2],h=e[0],f=e[1],d=e[2],p=e[3];return t[0]=f*l-d*c+p*a,t[1]=-(h*l)+d*o-p*s,t[2]=h*c-f*o+p*i,t[3]=-(h*a)+f*s-d*i,t}function Af(t,e,r,n){let i=e[0],s=e[1],o=e[2],a=e[3];return t[0]=i+n*(r[0]-i),t[1]=s+n*(r[1]-s),t[2]=o+n*(r[2]-o),t[3]=a+n*(r[3]-a),t}function Sf(t,e){e=e===void 0?1:e;let r,n,i,s,o,a;do r=Rt()*2-1,n=Rt()*2-1,o=r*r+n*n;while(o>=1);do i=Rt()*2-1,s=Rt()*2-1,a=i*i+s*s;while(a>=1);let c=Math.sqrt((1-o)/a);return t[0]=e*r,t[1]=e*n,t[2]=e*i*c,t[3]=e*s*c,t}function Ri(t,e,r){let n=e[0],i=e[1],s=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*s+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*s+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*s+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*s+r[15]*o,t}function bf(t,e,r){let n=e[0],i=e[1],s=e[2],o=r[0],a=r[1],c=r[2],l=r[3],h=l*n+a*s-c*i,f=l*i+c*n-o*s,d=l*s+o*i-a*n,p=-o*n-a*i-c*s;return t[0]=h*l+p*-o+f*-c-d*-a,t[1]=f*l+p*-a+d*-o-h*-c,t[2]=d*l+p*-c+h*-a-f*-o,t[3]=e[3],t}function Mf(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}function xf(t){return`vec4(${t[0]}, ${t[1]}, ${t[2]}, ${t[3]})`}function Pf(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]}function Cf(t,e){let r=t[0],n=t[1],i=t[2],s=t[3],o=e[0],a=e[1],c=e[2],l=e[3];return Math.abs(r-o)<=1e-6*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-a)<=1e-6*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(i-c)<=1e-6*Math.max(1,Math.abs(i),Math.abs(c))&&Math.abs(s-l)<=1e-6*Math.max(1,Math.abs(s),Math.abs(l))}var yf=fa,If=da,Nf=pa,Of=ua,wf=_a,Ff=ga,Df=Ta,Bf=function(){let t=ha();return function(e,r,n,i,s,o){let a,c;for(r||(r=4),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],t[3]=e[a+3],s(t,t,o),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2],e[a+3]=t[3];return e}}();var Si;(function(t){t[t.COL0ROW0=0]="COL0ROW0",t[t.COL0ROW1=1]="COL0ROW1",t[t.COL0ROW2=2]="COL0ROW2",t[t.COL0ROW3=3]="COL0ROW3",t[t.COL1ROW0=4]="COL1ROW0",t[t.COL1ROW1=5]="COL1ROW1",t[t.COL1ROW2=6]="COL1ROW2",t[t.COL1ROW3=7]="COL1ROW3",t[t.COL2ROW0=8]="COL2ROW0",t[t.COL2ROW1=9]="COL2ROW1",t[t.COL2ROW2=10]="COL2ROW2",t[t.COL2ROW3=11]="COL2ROW3",t[t.COL3ROW0=12]="COL3ROW0",t[t.COL3ROW1=13]="COL3ROW1",t[t.COL3ROW2=14]="COL3ROW2",t[t.COL3ROW3=15]="COL3ROW3"})(Si||(Si={}));var vf=45*Math.PI/180,Uf=1,Ei=.1,Ai=500,Vf=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),j=class extends Zr{static get IDENTITY(){return Xf()}static get ZERO(){return kf()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Si}constructor(e){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}set(e,r,n,i,s,o,a,c,l,h,f,d,p,_,g,u){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this[4]=s,this[5]=o,this[6]=a,this[7]=c,this[8]=l,this[9]=h,this[10]=f,this[11]=d,this[12]=p,this[13]=_,this[14]=g,this[15]=u,this.check()}setRowMajor(e,r,n,i,s,o,a,c,l,h,f,d,p,_,g,u){return this[0]=e,this[1]=s,this[2]=l,this[3]=p,this[4]=r,this[5]=o,this[6]=h,this[7]=_,this[8]=n,this[9]=a,this[10]=f,this[11]=g,this[12]=i,this[13]=c,this[14]=d,this[15]=u,this.check()}toRowMajor(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}identity(){return this.copy(Vf)}fromObject(e){return this.check()}fromQuaternion(e){return ui(this,e),this.check()}frustum(e){let{left:r,right:n,bottom:i,top:s,near:o=Ei,far:a=Ai}=e;return a===1/0?Wf(this,r,n,i,s,o):_i(this,r,n,i,s,o,a),this.check()}lookAt(e){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=e;return mi(this,r,n,i),this.check()}ortho(e){let{left:r,right:n,bottom:i,top:s,near:o=Ei,far:a=Ai}=e;return Ti(this,r,n,i,s,o,a),this.check()}orthographic(e){let{fovy:r=vf,aspect:n=Uf,focalDistance:i=1,near:s=Ei,far:o=Ai}=e;ma(r);let a=r/2,c=i*Math.tan(a),l=c*n;return this.ortho({left:-l,right:l,bottom:-c,top:c,near:s,far:o})}perspective(e){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:s=500}=e;return ma(r),gi(this,r,n,i,s),this.check()}determinant(){return ai(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],s=1/n[1],o=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*i,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*i,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],s=1/n[1],o=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*i,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*i,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return si(this,this),this.check()}invert(){return oi(this,this),this.check()}multiplyLeft(e){return Ue(this,e,this),this.check()}multiplyRight(e){return Ue(this,this,e),this.check()}rotateX(e){return fi(this,this,e),this.check()}rotateY(e){return di(this,this,e),this.check()}rotateZ(e){return pi(this,this,e),this.check()}rotateXYZ(e){return this.rotateX(e[0]).rotateY(e[1]).rotateZ(e[2])}rotateAxis(e,r){return hi(this,this,e,r),this.check()}scale(e){return li(this,this,Array.isArray(e)?e:[e,e,e]),this.check()}translate(e){return ci(this,this,e),this.check()}transform(e,r){return e.length===4?(r=Ri(r||[-0,-0,-0,-0],e,this),Lr(r,4),r):this.transformAsPoint(e,r)}transformAsPoint(e,r){let{length:n}=e,i;switch(n){case 2:i=$n(r||[-0,-0],e,this);break;case 3:i=ve(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Lr(i,e.length),i}transformAsVector(e,r){let n;switch(e.length){case 2:n=Zo(r||[-0,-0],e,this);break;case 3:n=Kr(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Lr(n,e.length),n}transformPoint(e,r){return this.transformAsPoint(e,r)}transformVector(e,r){return this.transformAsPoint(e,r)}transformDirection(e,r){return this.transformAsVector(e,r)}makeRotationX(e){return this.identity().rotateX(e)}makeTranslation(e,r,n){return this.identity().translate([e,r,n])}},$r,qr;function kf(){return $r||($r=new j([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze($r)),$r}function Xf(){return qr||(qr=new j,Object.freeze(qr)),qr}function ma(t){if(t>Math.PI*2)throw Error("expected radians")}function Wf(t,e,r,n,i,s){let o=2*s/(r-e),a=2*s/(i-n),c=(r+e)/(r-e),l=(i+n)/(i-n),h=-1,f=-1,d=-2*s;return t[0]=o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=c,t[9]=l,t[10]=h,t[11]=f,t[12]=0,t[13]=0,t[14]=d,t[15]=0,t}function he(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function bi(t,e){let r=t%e;return r<0?e+r:r}function Ea(t){return[t[12],t[13],t[14]]}function Aa(t){return{left:le(t[3]+t[0],t[7]+t[4],t[11]+t[8],t[15]+t[12]),right:le(t[3]-t[0],t[7]-t[4],t[11]-t[8],t[15]-t[12]),bottom:le(t[3]+t[1],t[7]+t[5],t[11]+t[9],t[15]+t[13]),top:le(t[3]-t[1],t[7]-t[5],t[11]-t[9],t[15]-t[13]),near:le(t[3]+t[2],t[7]+t[6],t[11]+t[10],t[15]+t[14]),far:le(t[3]-t[2],t[7]-t[6],t[11]-t[10],t[15]-t[14])}}var Ra=new ct;function le(t,e,r,n){Ra.set(t,e,r);let i=Ra.len();return{distance:n/i,normal:new ct(-t/i,-e/i,-r/i)}}function Mi(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function Ut(t,e){let r=Ct.transformMat4([],e,t);return Ct.scale(r,r,1/r[3]),r}function Ve(t,e,r){return t<e?e:t>r?r:t}function Hf(t){return Math.log(t)*Math.LOG2E}var ke=Math.log2||Hf;function lt(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}var ht=Math.PI,Sa=ht/4,et=ht/180,xi=180/ht,fe=512,Qr=4003e4,ft=85.051129,ba=1.5;function Pi(t){return ke(t)}function rt(t){let[e,r]=t;lt(Number.isFinite(e)),lt(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude");let n=e*et,i=r*et,s=fe*(n+ht)/(2*ht),o=fe*(ht+Math.log(Math.tan(Sa+i*.5)))/(2*ht);return[s,o]}function Z(t){let[e,r]=t,n=e/fe*(2*ht)-ht,i=2*(Math.atan(Math.exp(r/fe*(2*ht)-ht))-Sa);return[n*xi,i*xi]}function Ci(t){let{latitude:e}=t;lt(Number.isFinite(e));let r=Math.cos(e*et);return Pi(Qr*r)-9}function Xe(t){let e=Math.cos(t*et);return fe/Qr/e}function de(t){let{latitude:e,longitude:r,highPrecision:n=!1}=t;lt(Number.isFinite(e)&&Number.isFinite(r));let i=fe,s=Math.cos(e*et),o=i/360,a=o/s,c=i/Qr/s,l={unitsPerMeter:[c,c,c],metersPerUnit:[1/c,1/c,1/c],unitsPerDegree:[o,a,c],degreesPerUnit:[1/o,1/a,1/c]};if(n){let h=et*Math.tan(e*et)/s,f=o*h/2,d=i/Qr*h,p=d/a*c;l.unitsPerDegree2=[0,f,d],l.unitsPerMeter2=[p,0,p]}return l}function yi(t,e){let[r,n,i]=t,[s,o,a]=e,{unitsPerMeter:c,unitsPerMeter2:l}=de({longitude:r,latitude:n,highPrecision:!0}),h=rt(t);h[0]+=s*(c[0]+l[0]*o),h[1]+=o*(c[1]+l[1]*o);let f=Z(h),d=(i||0)+(a||0);return Number.isFinite(i)||Number.isFinite(a)?[f[0],f[1],d]:f}function Jr(t){let{height:e,pitch:r,bearing:n,altitude:i,scale:s,center:o}=t,a=Mi();z.translate(a,a,[0,0,-i]),z.rotateX(a,a,-r*et),z.rotateZ(a,a,n*et);let c=s/e;return z.scale(a,a,[c,c,c]),o&&z.translate(a,a,tt.negate([],o)),a}function Ii(t){let{width:e,height:r,altitude:n,pitch:i=0,offset:s,center:o,scale:a,nearZMultiplier:c=1,farZMultiplier:l=1}=t,{fovy:h=yt(ba)}=t;n!==void 0&&(h=yt(n));let f=h*et,d=i*et,p=zt(h),_=p;o&&(_+=o[2]*a/Math.cos(d)/r);let g=f*(.5+(s?s[1]:0)/r),u=Math.sin(g)*_/Math.sin(Ve(Math.PI/2-d-g,.01,Math.PI-.01)),T=Math.sin(d)*u+_,b=_*10,R=Math.min(T*l,b);return{fov:f,aspect:e/r,focalDistance:p,near:c,far:R}}function yt(t){return 2*Math.atan(.5/t)*xi}function zt(t){return .5/Math.tan(.5*t*et)}function Gr(t,e){let[r,n,i=0]=t;return lt(Number.isFinite(r)&&Number.isFinite(n)&&Number.isFinite(i)),Ut(e,[r,n,i,1])}function pe(t,e,r=0){let[n,i,s]=t;if(lt(Number.isFinite(n)&&Number.isFinite(i),"invalid pixel coordinate"),Number.isFinite(s))return Ut(e,[n,i,s,1]);let o=Ut(e,[n,i,0,1]),a=Ut(e,[n,i,1,1]),c=o[2],l=a[2],h=c===l?0:((r||0)-c)/(l-c);return G.lerp([],o,a,h)}function tn(t){let{width:e,height:r,bounds:n,minExtent:i=0,maxZoom:s=24,offset:o=[0,0]}=t,[[a,c],[l,h]]=n,f=Lf(t.padding),d=rt([a,Ve(h,-ft,ft)]),p=rt([l,Ve(c,-ft,ft)]),_=[Math.max(Math.abs(p[0]-d[0]),i),Math.max(Math.abs(p[1]-d[1]),i)],g=[e-f.left-f.right-Math.abs(o[0])*2,r-f.top-f.bottom-Math.abs(o[1])*2];lt(g[0]>0&&g[1]>0);let u=g[0]/_[0],T=g[1]/_[1],b=(f.right-f.left)/2/u,R=(f.top-f.bottom)/2/T,E=[(p[0]+d[0])/2+b,(p[1]+d[1])/2+R],A=Z(E),M=Math.min(s,ke(Math.abs(Math.min(u,T))));return lt(Number.isFinite(M)),{longitude:A[0],latitude:A[1],zoom:M}}function Lf(t=0){return typeof t=="number"?{top:t,bottom:t,left:t,right:t}:(lt(Number.isFinite(t.top)&&Number.isFinite(t.bottom)&&Number.isFinite(t.left)&&Number.isFinite(t.right)),t)}var Ma=Math.PI/180;function en(t,e=0){let{width:r,height:n,unproject:i}=t,s={targetZ:e},o=i([0,n],s),a=i([r,n],s),c,l,h=t.fovy?.5*t.fovy*Ma:Math.atan(.5/t.altitude),f=(90-t.pitch)*Ma;return h>f-.01?(c=xa(t,0,e),l=xa(t,r,e)):(c=i([0,0],s),l=i([r,0],s)),[o,a,l,c]}function xa(t,e,r){let{pixelUnprojectionMatrix:n}=t,i=Ut(n,[e,0,1,1]),s=Ut(n,[e,t.height,1,1]),a=(r*t.distanceScales.unitsPerMeter[2]-i[2])/(s[2]-i[2]),c=G.lerp([],i,s,a),l=Z(c);return l.push(r),l}var k;(function(t){t[t.Start=1]="Start",t[t.Move=2]="Move",t[t.End=4]="End",t[t.Cancel=8]="Cancel"})(k||(k={}));var W;(function(t){t[t.None=0]="None",t[t.Left=1]="Left",t[t.Right=2]="Right",t[t.Up=4]="Up",t[t.Down=8]="Down",t[t.Horizontal=3]="Horizontal",t[t.Vertical=12]="Vertical",t[t.All=15]="All"})(W||(W={}));var y;(function(t){t[t.Possible=1]="Possible",t[t.Began=2]="Began",t[t.Changed=4]="Changed",t[t.Ended=8]="Ended",t[t.Recognized=8]="Recognized",t[t.Cancelled=16]="Cancelled",t[t.Failed=32]="Failed"})(y||(y={}));var Ni="manipulation",rn="none",Oi="pan-x",wi="pan-y";function Fi(t,e){let r=e.x-t.x,n=e.y-t.y;return Math.sqrt(r*r+n*n)}var r0={pointerdown:k.Start,pointermove:k.Move,pointerup:k.End,pointercancel:k.Cancel,pointerout:k.Cancel};var td=1;function Ca(){return td++}function Di(t){return t&y.Cancelled?"cancel":t&y.Ended?"end":t&y.Changed?"move":t&y.Began?"start":""}var It=class{constructor(e){this.options=e,this.id=Ca(),this.state=y.Possible,this.simultaneous={},this.requireFail=[]}set(e){return Object.assign(this.options,e),this.manager.touchAction.update(),this}recognizeWith(e){if(Array.isArray(e)){for(let i of e)this.recognizeWith(i);return this}let r;if(typeof e=="string"){if(r=this.manager.get(e),!r)throw new Error(`Cannot find recognizer ${e}`)}else r=e;let{simultaneous:n}=this;return n[r.id]||(n[r.id]=r,r.recognizeWith(this)),this}dropRecognizeWith(e){if(Array.isArray(e)){for(let n of e)this.dropRecognizeWith(n);return this}let r;return typeof e=="string"?r=this.manager.get(e):r=e,r&&delete this.simultaneous[r.id],this}requireFailure(e){if(Array.isArray(e)){for(let i of e)this.requireFailure(i);return this}let r;if(typeof e=="string"){if(r=this.manager.get(e),!r)throw new Error(`Cannot find recognizer ${e}`)}else r=e;let{requireFail:n}=this;return n.indexOf(r)===-1&&(n.push(r),r.requireFailure(this)),this}dropRequireFailure(e){if(Array.isArray(e)){for(let n of e)this.dropRequireFailure(n);return this}let r;if(typeof e=="string"?r=this.manager.get(e):r=e,r){let n=this.requireFail.indexOf(r);n>-1&&this.requireFail.splice(n,1)}return this}hasRequireFailures(){return Boolean(this.requireFail.find(e=>e.options.enable))}canRecognizeWith(e){return Boolean(this.simultaneous[e.id])}emit(e){if(!e)return;let{state:r}=this;r<y.Ended&&this.manager.emit(this.options.event+Di(r),e),this.manager.emit(this.options.event,e),e.additionalEvent&&this.manager.emit(e.additionalEvent,e),r>=y.Ended&&this.manager.emit(this.options.event+Di(r),e)}tryEmit(e){this.canEmit()?this.emit(e):this.state=y.Failed}canEmit(){let e=0;for(;e<this.requireFail.length;){if(!(this.requireFail[e].state&(y.Failed|y.Possible)))return!1;e++}return!0}recognize(e){let r={...e};if(!this.options.enable){this.reset(),this.state=y.Failed;return}this.state&(y.Recognized|y.Cancelled|y.Failed)&&(this.state=y.Possible),this.state=this.process(r),this.state&(y.Began|y.Changed|y.Ended|y.Cancelled)&&this.tryEmit(r)}getEventNames(){return[this.options.event]}reset(){}};var Nt=class extends It{attrTest(e){let r=this.options.pointers;return r===0||e.pointers.length===r}process(e){let{state:r}=this,{eventType:n}=e,i=r&(y.Began|y.Changed),s=this.attrTest(e);return i&&(n&k.Cancel||!s)?r|y.Cancelled:i||s?n&k.End?r|y.Ended:r&y.Began?r|y.Changed:y.Began:y.Failed}};var Yt=class extends It{constructor(e={}){super({enable:!0,event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10,...e}),this.pTime=null,this.pCenter=null,this._timer=null,this._input=null,this.count=0}getTouchAction(){return[Ni]}process(e){let{options:r}=this,n=e.pointers.length===r.pointers,i=e.distance<r.threshold,s=e.deltaTime<r.time;if(this.reset(),e.eventType&k.Start&&this.count===0)return this.failTimeout();if(i&&s&&n){if(e.eventType!==k.End)return this.failTimeout();let o=this.pTime?e.timeStamp-this.pTime<r.interval:!0,a=!this.pCenter||Fi(this.pCenter,e.center)<r.posThreshold;if(this.pTime=e.timeStamp,this.pCenter=e.center,!a||!o?this.count=1:this.count+=1,this._input=e,this.count%r.taps===0)return this.hasRequireFailures()?(this._timer=setTimeout(()=>{this.state=y.Recognized,this.tryEmit(this._input)},r.interval),y.Began):y.Recognized}return y.Failed}failTimeout(){return this._timer=setTimeout(()=>{this.state=y.Failed},this.options.interval),y.Failed}reset(){clearTimeout(this._timer)}emit(e){this.state===y.Recognized&&(e.tapCount=this.count,this.manager.emit(this.options.event,e))}};var ed=["","start","move","end","cancel","up","down","left","right"],Vt=class extends Nt{constructor(e={}){super({enable:!0,pointers:1,event:"pan",threshold:10,direction:W.All,...e}),this.pX=null,this.pY=null}getTouchAction(){let{options:{direction:e}}=this,r=[];return e&W.Horizontal&&r.push(wi),e&W.Vertical&&r.push(Oi),r}getEventNames(){return ed.map(e=>this.options.event+e)}directionTest(e){let{options:r}=this,n=!0,{distance:i}=e,{direction:s}=e,o=e.deltaX,a=e.deltaY;return s&r.direction||(r.direction&W.Horizontal?(s=o===0?W.None:o<0?W.Left:W.Right,n=o!==this.pX,i=Math.abs(e.deltaX)):(s=a===0?W.None:a<0?W.Up:W.Down,n=a!==this.pY,i=Math.abs(e.deltaY))),e.direction=s,n&&i>r.threshold&&Boolean(s&r.direction)}attrTest(e){return super.attrTest(e)&&(Boolean(this.state&y.Began)||!(this.state&y.Began)&&this.directionTest(e))}emit(e){this.pX=e.deltaX,this.pY=e.deltaY;let r=W[e.direction].toLowerCase();r&&(e.additionalEvent=this.options.event+r),super.emit(e)}};var rd=["","start","move","end","cancel","in","out"],ue=class extends Nt{constructor(e={}){super({enable:!0,event:"pinch",threshold:0,pointers:2,...e})}getTouchAction(){return[rn]}getEventNames(){return rd.map(e=>this.options.event+e)}attrTest(e){return super.attrTest(e)&&(Math.abs(e.scale-1)>this.options.threshold||Boolean(this.state&y.Began))}emit(e){if(e.scale!==1){let r=e.scale<1?"in":"out";e.additionalEvent=this.options.event+r}super.emit(e)}};var ya=typeof navigator<"u"&&navigator.userAgent?navigator.userAgent.toLowerCase():"",um=typeof window<"u"?window:global;var mm=ya.indexOf("firefox")!==-1;var Ia={DEFAULT:"default",LNGLAT:"lnglat",METER_OFFSETS:"meter-offsets",LNGLAT_OFFSETS:"lnglat-offsets",CARTESIAN:"cartesian"};Object.defineProperty(Ia,"IDENTITY",{get:()=>(ae.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")(),Ia.CARTESIAN)});var _e={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0};var $m={multipan:[Vt,{threshold:10,direction:W.Vertical,pointers:2}],pinch:[ue,{},null,["multipan"]],pan:[Vt,{threshold:1},["pinch"],["multipan"]],dblclick:[Yt,{event:"dblclick",taps:2}],click:[Yt,{event:"click"},null,["dblclick"]]};var ad=Math.PI/180,cd=he(),Na=[0,0,0],ld={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};function hd({width:t,height:e,orthographic:r,fovyRadians:n,focalDistance:i,padding:s,near:o,far:a}){let c=t/e,l=r?new j().orthographic({fovy:n,aspect:c,focalDistance:i,near:o,far:a}):new j().perspective({fovy:n,aspect:c,near:o,far:a});if(s){let{left:h=0,right:f=0,top:d=0,bottom:p=0}=s,_=K((h+t-f)/2,0,t)-t/2,g=K((d+e-p)/2,0,e)-e/2;l[8]-=_*2/t,l[9]+=g*2/e}return l}var vi=class{constructor(e={}){this._frustumPlanes={};this.id=e.id||this.constructor.displayName||"viewport",this.x=e.x||0,this.y=e.y||0,this.width=e.width||1,this.height=e.height||1,this.zoom=e.zoom||0,this.padding=e.padding,this.distanceScales=e.distanceScales||ld,this.focalDistance=e.focalDistance||1,this.position=e.position||Na,this.modelMatrix=e.modelMatrix||null;let{longitude:r,latitude:n}=e;this.isGeospatial=Number.isFinite(n)&&Number.isFinite(r),this._initProps(e),this._initMatrices(e),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get subViewports(){return null}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?_e.WEB_MERCATOR:_e.WEB_MERCATOR_AUTO_OFFSET:_e.IDENTITY}equals(e){return e instanceof vi?this===e?!0:e.width===this.width&&e.height===this.height&&e.scale===this.scale&&Pt(e.projectionMatrix,this.projectionMatrix)&&Pt(e.viewMatrix,this.viewMatrix):!1}project(e,{topLeft:r=!0}={}){let n=this.projectPosition(e),i=Gr(n,this.pixelProjectionMatrix),[s,o]=i,a=r?o:this.height-o;return e.length===2?[s,a]:[s,a,i[2]]}unproject(e,{topLeft:r=!0,targetZ:n}={}){let[i,s,o]=e,a=r?s:this.height-s,c=n&&n*this.distanceScales.unitsPerMeter[2],l=pe([i,a,o],this.pixelUnprojectionMatrix,c),[h,f,d]=this.unprojectPosition(l);return Number.isFinite(o)?[h,f,d]:Number.isFinite(n)?[h,f,n]:[h,f]}projectPosition(e){let[r,n]=this.projectFlat(e),i=(e[2]||0)*this.distanceScales.unitsPerMeter[2];return[r,n,i]}unprojectPosition(e){let[r,n]=this.unprojectFlat(e),i=(e[2]||0)*this.distanceScales.metersPerUnit[2];return[r,n,i]}projectFlat(e){if(this.isGeospatial){let r=rt(e);return r[1]=K(r[1],-318,830),r}return e}unprojectFlat(e){return this.isGeospatial?Z(e):e}getBounds(e={}){let r={targetZ:e.z||0},n=this.unproject([0,0],r),i=this.unproject([this.width,0],r),s=this.unproject([0,this.height],r),o=this.unproject([this.width,this.height],r);return[Math.min(n[0],i[0],s[0],o[0]),Math.min(n[1],i[1],s[1],o[1]),Math.max(n[0],i[0],s[0],o[0]),Math.max(n[1],i[1],s[1],o[1])]}getDistanceScales(e){return e&&this.isGeospatial?de({longitude:e[0],latitude:e[1],highPrecision:!0}):this.distanceScales}containsPixel({x:e,y:r,width:n=1,height:i=1}){return e<this.x+this.width&&this.x<e+n&&r<this.y+this.height&&this.y<r+i}getFrustumPlanes(){return this._frustumPlanes.near?this._frustumPlanes:(Object.assign(this._frustumPlanes,Aa(this.viewProjectionMatrix)),this._frustumPlanes)}panByPosition(e,r,n){return null}_initProps(e){let r=e.longitude,n=e.latitude;this.isGeospatial&&(Number.isFinite(e.zoom)||(this.zoom=Ci({latitude:n})+Math.log2(this.focalDistance)),this.distanceScales=e.distanceScales||de({latitude:n,longitude:r}));let i=Math.pow(2,this.zoom);this.scale=i;let{position:s,modelMatrix:o}=e,a=Na;if(s&&(a=o?new j(o).transformAsVector(s,[]):s),this.isGeospatial){let c=this.projectPosition([r,n,0]);this.center=new ct(a).scale(this.distanceScales.unitsPerMeter).add(c)}else this.center=this.projectPosition(a)}_initMatrices(e){let{viewMatrix:r=cd,projectionMatrix:n=null,orthographic:i=!1,fovyRadians:s,fovy:o=75,near:a=.1,far:c=1e3,padding:l=null,focalDistance:h=1}=e;this.viewMatrixUncentered=r,this.viewMatrix=new j().multiplyRight(r).translate(new ct(this.center).negate()),this.projectionMatrix=n||hd({width:this.width,height:this.height,orthographic:i,fovyRadians:s||o*ad,focalDistance:h,padding:l,near:a,far:c});let f=he();z.multiply(f,f,this.projectionMatrix),z.multiply(f,f,this.viewMatrix),this.viewProjectionMatrix=f,this.viewMatrixInverse=z.invert([],this.viewMatrix)||this.viewMatrix,this.cameraPosition=Ea(this.viewMatrixInverse);let d=he(),p=he();z.scale(d,d,[this.width/2,-this.height/2,1]),z.translate(d,d,[1,-1,0]),z.multiply(p,d,this.viewProjectionMatrix),this.pixelProjectionMatrix=p,this.pixelUnprojectionMatrix=z.invert(he(),this.pixelProjectionMatrix),this.pixelUnprojectionMatrix||ae.warn("Pixel project matrix not invertible")()}},kt=vi;kt.displayName="Viewport";var nn=class extends kt{constructor(r={}){let{latitude:n=0,longitude:i=0,zoom:s=0,pitch:o=0,bearing:a=0,nearZMultiplier:c=.1,farZMultiplier:l=1.01,nearZ:h,farZ:f,orthographic:d=!1,projectionMatrix:p,repeat:_=!1,worldOffset:g=0,position:u,padding:T,legacyMeterSizes:b=!1}=r,{width:R,height:E,altitude:A=1.5}=r,M=Math.pow(2,s);R=R||1,E=E||1;let m,S=null;if(p)A=p[5]/2,m=yt(A);else{r.fovy?(m=r.fovy,A=zt(m)):m=yt(A);let x;if(T){let{top:I=0,bottom:N=0}=T;x=[0,K((I+E-N)/2,0,E)-E/2]}S=Ii({width:R,height:E,scale:M,center:u&&[0,0,u[2]*Xe(n)],offset:x,pitch:o,fovy:m,nearZMultiplier:c,farZMultiplier:l}),Number.isFinite(h)&&(S.near=h),Number.isFinite(f)&&(S.far=f)}let P=Jr({height:E,pitch:o,bearing:a,scale:M,altitude:A});g&&(P=new j().translate([512*g,0,0]).multiplyLeft(P));super({...r,width:R,height:E,viewMatrix:P,longitude:i,latitude:n,zoom:s,...S,fovy:m,focalDistance:A});this.latitude=n,this.longitude=i,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=A,this.fovy=m,this.orthographic=d,this._subViewports=_?[]:null,this._pseudoMeters=b,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){let r=this.getBounds(),n=Math.floor((r[0]+180)/360),i=Math.ceil((r[2]-180)/360);for(let s=n;s<=i;s++){let o=s?new nn({...this,worldOffset:s}):this;this._subViewports.push(o)}}return this._subViewports}projectPosition(r){if(this._pseudoMeters)return super.projectPosition(r);let[n,i]=this.projectFlat(r),s=(r[2]||0)*Xe(r[1]);return[n,i,s]}unprojectPosition(r){if(this._pseudoMeters)return super.unprojectPosition(r);let[n,i]=this.unprojectFlat(r),s=(r[2]||0)/Xe(i);return[n,i,s]}addMetersToLngLat(r,n){return yi(r,n)}panByPosition(r,n,i){let s=pe(n,this.pixelUnprojectionMatrix),o=this.projectFlat(r),a=G.add([],o,G.negate([],s)),c=G.add([],this.center,a),[l,h]=this.unprojectFlat(c);return{longitude:l,latitude:h}}panByPosition3D(r,n){let i=r[2]||0,s=G.sub([],r,this.unproject(n,{targetZ:i}));return{longitude:this.longitude+s[0],latitude:this.latitude+s[1]}}getBounds(r={}){let n=en(this,r.z||0);return[Math.min(n[0][0],n[1][0],n[2][0],n[3][0]),Math.min(n[0][1],n[1][1],n[2][1],n[3][1]),Math.max(n[0][0],n[1][0],n[2][0],n[3][0]),Math.max(n[0][1],n[1][1],n[2][1],n[3][1])]}fitBounds(r,n={}){let{width:i,height:s}=this,{longitude:o,latitude:a,zoom:c}=tn({width:i,height:s,bounds:r,...n});return new nn({width:i,height:s,longitude:o,latitude:a,zoom:c})}},ge=nn;ge.displayName="WebMercatorViewport";var We=class{constructor(e){this._inProgress=!1;this._handle=null;this.time=0;this.settings={duration:0};this._timeline=e}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=e,this._inProgress=!0,this.settings.onStart?.(this)}end(){this._inProgress&&(this._timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd?.(this))}cancel(){this._inProgress&&(this.settings.onInterrupt?.(this),this._timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(this._handle===null){let{_timeline:e,settings:r}=this;this._handle=e.addChannel({delay:e.getTime(),duration:r.duration})}return this.time=this._timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate?.(this),this._timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}};var Oa=()=>{},Ui={BREAK:1,SNAP_TO_END:2,IGNORE:3},fd=t=>t,dd=Ui.BREAK,He=class{constructor(e){this._onTransitionUpdate=e=>{let{time:r,settings:{interpolator:n,startProps:i,endProps:s,duration:o,easing:a}}=e,c=a(r/o),l=n.interpolateProps(i,s,c);this.propsInTransition=this.getControllerState({...this.props,...l}).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})};this.getControllerState=e.getControllerState,this.propsInTransition=null,this.transition=new We(e.timeline),this.onViewStateChange=e.onViewStateChange||Oa,this.onStateChange=e.onStateChange||Oa}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let r=!1,n=this.props;if(this.props=e,!n||this._shouldIgnoreViewportChange(n,e))return!1;if(this._isTransitionEnabled(e)){let i=n;if(this.transition.inProgress){let{interruption:s,endProps:o}=this.transition.settings;i={...n,...s===Ui.SNAP_TO_END?o:this.propsInTransition||n}}this._triggerTransition(i,e),r=!0}else this.transition.cancel();return r}updateTransition(){this.transition.update()}_isTransitionEnabled(e){let{transitionDuration:r,transitionInterpolator:n}=e;return(r>0||r==="auto")&&Boolean(n)}_isUpdateDueToCurrentTransition(e){return this.transition.inProgress&&this.propsInTransition?this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition):!1}_shouldIgnoreViewportChange(e,r){return this.transition.inProgress?this.transition.settings.interruption===Ui.IGNORE||this._isUpdateDueToCurrentTransition(r):this._isTransitionEnabled(r)?r.transitionInterpolator.arePropsEqual(e,r):!0}_triggerTransition(e,r){let n=this.getControllerState(e),i=this.getControllerState(r).shortestPathFrom(n),s=r.transitionInterpolator,o=s.getDuration?s.getDuration(e,r):r.transitionDuration;if(o===0)return;let a=s.initializeProps(e,i);this.propsInTransition={};let c={duration:o,easing:r.transitionEasing||fd,interpolator:s,interruption:r.transitionInterruption||dd,startProps:a.start,endProps:a.end,onStart:r.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(r.onTransitionInterrupt),onEnd:this._onTransitionEnd(r.onTransitionEnd)};this.transition.start(c),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return r=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e?.(r)}}};function Kt(t,e){if(!t)throw new Error(e||"deck.gl: assertion failed.")}var Le=class{constructor(e){let{compare:r,extract:n,required:i}=e;this._propsToCompare=r,this._propsToExtract=n||r,this._requiredProps=i}arePropsEqual(e,r){for(let n of this._propsToCompare)if(!(n in e)||!(n in r)||!Pt(e[n],r[n]))return!1;return!0}initializeProps(e,r){let n={},i={};for(let s of this._propsToExtract)(s in e||s in r)&&(n[s]=e[s],i[s]=r[s]);return this._checkRequiredProps(n),this._checkRequiredProps(i),{start:n,end:i}}getDuration(e,r){return r.transitionDuration}_checkRequiredProps(e){this._requiredProps&&this._requiredProps.forEach(r=>{let n=e[r];Kt(Number.isFinite(n)||Array.isArray(n),`${r} is required for transition`)})}};var sn=Math.PI/180,wa=180/Math.PI,an=6370972,Te=256;function pd(){let t=Te/an,e=Math.PI/180*Te;return{unitsPerMeter:[t,t,t],unitsPerMeter2:[0,0,0],metersPerUnit:[1/t,1/t,1/t],unitsPerDegree:[e,e,t],unitsPerDegree2:[0,0,0],degreesPerUnit:[1/e,1/e,1/t]}}var me=class extends kt{constructor(r={}){let{longitude:n=0,zoom:i=0,nearZMultiplier:s=.5,farZMultiplier:o=1,resolution:a=10}=r,{latitude:c=0,height:l,altitude:h=1.5,fovy:f}=r;c=Math.max(Math.min(c,ft),-ft),l=l||1,f?h=zt(f):f=yt(h);let d=Math.pow(2,i-on(c)),p=r.nearZ??s,_=r.farZ??(h+Te*2*d/l)*o,g=new j().lookAt({eye:[0,-h,0],up:[0,0,1]});g.rotateX(c*sn),g.rotateZ(-n*sn),g.scale(d/l);super({...r,height:l,viewMatrix:g,longitude:n,latitude:c,zoom:i,distanceScales:pd(),fovy:f,focalDistance:h,near:p,far:_});this.scale=d,this.latitude=c,this.longitude=n,this.fovy=f,this.resolution=a}get projectionMode(){return _e.GLOBE}getDistanceScales(){return this.distanceScales}getBounds(r={}){let n={targetZ:r.z||0},i=this.unproject([0,this.height/2],n),s=this.unproject([this.width/2,0],n),o=this.unproject([this.width,this.height/2],n),a=this.unproject([this.width/2,this.height],n);return o[0]<this.longitude&&(o[0]+=360),i[0]>this.longitude&&(i[0]-=360),[Math.min(i[0],o[0],s[0],a[0]),Math.min(i[1],o[1],s[1],a[1]),Math.max(i[0],o[0],s[0],a[0]),Math.max(i[1],o[1],s[1],a[1])]}unproject(r,{topLeft:n=!0,targetZ:i}={}){let[s,o,a]=r,c=n?o:this.height-o,{pixelUnprojectionMatrix:l}=this,h;if(Number.isFinite(a))h=Vi(l,[s,c,a,1]);else{let _=Vi(l,[s,c,-1,1]),g=Vi(l,[s,c,1,1]),u=((i||0)/an+1)*Te,T=tt.sqrLen(tt.sub([],_,g)),b=tt.sqrLen(_),R=tt.sqrLen(g),A=4*((4*b*R-(T-b-R)**2)/16)/T,M=Math.sqrt(b-A),m=Math.sqrt(Math.max(0,u*u-A)),S=(M-m)/Math.sqrt(T);h=tt.lerp([],_,g,S)}let[f,d,p]=this.unprojectPosition(h);return Number.isFinite(a)?[f,d,p]:Number.isFinite(i)?[f,d,i]:[f,d]}projectPosition(r){let[n,i,s=0]=r,o=n*sn,a=i*sn,c=Math.cos(a),l=(s/an+1)*Te;return[Math.sin(o)*c*l,-Math.cos(o)*c*l,Math.sin(a)*l]}unprojectPosition(r){let[n,i,s]=r,o=tt.len(r),a=Math.asin(s/o),l=Math.atan2(n,-i)*wa,h=a*wa,f=(o/Te-1)*an;return[l,h,f]}projectFlat(r){return r}unprojectFlat(r){return r}panByPosition([r,n,i],s,o){let c=.25/Math.pow(2,this.zoom-on(this.latitude)),l=r+c*(o[0]-s[0]),h=n-c*(o[1]-s[1]);h=Math.max(Math.min(h,ft),-ft);let f={longitude:l,latitude:h,zoom:i-on(n)};return f.zoom+=on(f.latitude),f}};me.displayName="GlobeViewport";function on(t){let e=Math.PI*Math.cos(t*Math.PI/180);return Math.log2(e)}function Vi(t,e){let r=Ct.transformMat4([],e,t);return Ct.scale(r,r,1/r[3]),r}var ud=["longitude","latitude","zoom","bearing","pitch"],_d=["longitude","latitude","zoom"],jt=class extends Le{constructor(r={}){let n=Array.isArray(r)?r:r.transitionProps,i=Array.isArray(r)?{}:r;i.transitionProps=Array.isArray(n)?{compare:n,required:n}:n||{compare:ud,required:_d};super(i.transitionProps);this.opts=i}initializeProps(r,n){let i=super.initializeProps(r,n),{makeViewport:s,around:o}=this.opts;if(s&&o)if(s(r)instanceof me)ae.warn("around not supported in GlobeView")();else{let c=s(r),l=s(n),h=c.unproject(o);i.start.around=o,Object.assign(i.end,{around:l.project(h),aroundPosition:h,width:n.width,height:n.height})}return i}interpolateProps(r,n,i){let s={};for(let o of this._propsToExtract)s[o]=Be(r[o]||0,n[o]||0,i);if(n.aroundPosition&&this.opts.makeViewport){let o=this.opts.makeViewport({...n,...s});Object.assign(s,o.panByPosition(n.aroundPosition,Be(r.around,n.around,i)))}return s}};var Ot={transitionDuration:0},gd=300,cn=t=>1-(1-t)*(1-t),Re={WHEEL:["wheel"],PAN:["panstart","panmove","panend"],PINCH:["pinchstart","pinchmove","pinchend"],MULTI_PAN:["multipanstart","multipanmove","multipanend"],DOUBLE_CLICK:["dblclick"],KEYBOARD:["keydown"]},Zt={},ze=class{constructor(e){this.state={};this._events={};this._interactionState={isDragging:!1};this._customEvents=[];this._eventStartBlocked=null;this._panMove=!1;this.invertPan=!1;this.dragMode="rotate";this.inertia=0;this.scrollZoom=!0;this.dragPan=!0;this.dragRotate=!0;this.doubleClickZoom=!0;this.touchZoom=!0;this.touchRotate=!1;this.keyboard=!0;this.transitionManager=new He({...e,getControllerState:r=>new this.ControllerState(r),onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}),this.handleEvent=this.handleEvent.bind(this),this.eventManager=e.eventManager,this.onViewStateChange=e.onViewStateChange||(()=>{}),this.onStateChange=e.onStateChange||(()=>{}),this.makeViewport=e.makeViewport,this.pickPosition=e.pickPosition}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.props&&this.setProps(this.props)}finalize(){for(let e in this._events)this._events[e]&&this.eventManager?.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){this._controllerState=void 0;let r=this._eventStartBlocked;switch(e.type){case"panstart":return r?!1:this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return r?!1:this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"multipanstart":return r?!1:this._onMultiPanStart(e);case"multipanmove":return this._onMultiPan(e);case"multipanend":return this._onMultiPanEnd(e);case"dblclick":return this._onDoubleClick(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}get controllerState(){return this._controllerState=this._controllerState||new this.ControllerState({makeViewport:this.makeViewport,...this.props,...this.state}),this._controllerState}getCenter(e){let{x:r,y:n}=this.props,{offsetCenter:i}=e;return[i.x-r,i.y-n]}isPointInBounds(e,r){let{width:n,height:i}=this.props;if(r&&r.handled)return!1;let s=e[0]>=0&&e[0]<=n&&e[1]>=0&&e[1]<=i;return s&&r&&r.stopPropagation(),s}isFunctionKeyPressed(e){let{srcEvent:r}=e;return Boolean(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)}isDragging(){return this._interactionState.isDragging||!1}blockEvents(e){let r=setTimeout(()=>{this._eventStartBlocked===r&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=r}setProps(e){e.dragMode&&(this.dragMode=e.dragMode);let r=this.props;this.props=e,"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:n}=e;this.inertia=Number.isFinite(n)?n:n===!0?gd:0;let{scrollZoom:i=!0,dragPan:s=!0,dragRotate:o=!0,doubleClickZoom:a=!0,touchZoom:c=!0,touchRotate:l=!1,keyboard:h=!0}=e,f=Boolean(this.onViewStateChange);if(this.toggleEvents(Re.WHEEL,f&&i),this.toggleEvents(Re.PAN,f),this.toggleEvents(Re.PINCH,f&&(c||l)),this.toggleEvents(Re.MULTI_PAN,f&&l),this.toggleEvents(Re.DOUBLE_CLICK,f&&a),this.toggleEvents(Re.KEYBOARD,f&&h),this.scrollZoom=i,this.dragPan=s,this.dragRotate=o,this.doubleClickZoom=a,this.touchZoom=c,this.touchRotate=l,this.keyboard=h,(!r||r.height!==e.height||r.width!==e.width||r.maxBounds!==e.maxBounds)&&e.maxBounds){let p=new this.ControllerState({...e,makeViewport:this.makeViewport}),_=p.getViewportProps();Object.keys(_).some(u=>!ne(_[u],e[u],1))&&this.updateViewport(p)}}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,r){this.eventManager&&e.forEach(n=>{this._events[n]!==r&&(this._events[n]=r,r?this.eventManager.on(n,this.handleEvent):this.eventManager.off(n,this.handleEvent))})}updateViewport(e,r=null,n={}){let i={...e.getViewportProps(),...r},s=this.controllerState!==e;if(this.state=e.getState(),this._setInteractionState(n),s){let o=this.controllerState&&this.controllerState.getViewportProps();this.onViewStateChange&&this.onViewStateChange({viewState:i,interactionState:this._interactionState,oldViewState:o,viewId:this.props.id})}}_onTransition(e){this.onViewStateChange({...e,interactionState:this._interactionState,viewId:this.props.id})}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange(this._interactionState)}_onPanStart(e){let r=this.getCenter(e);if(!this.isPointInBounds(r,e))return!1;let n=this.isFunctionKeyPressed(e)||e.rightButton||!1;(this.invertPan||this.dragMode==="pan")&&(n=!n);let i=this.controllerState[n?"panStart":"rotateStart"]({pos:r});return this._panMove=n,this.updateViewport(i,Ot,{isDragging:!0}),!0}_onPan(e){return this.isDragging()?this._panMove?this._onPanMove(e):this._onPanRotate(e):!1}_onPanEnd(e){return this.isDragging()?this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e):!1}_onPanMove(e){if(!this.dragPan)return!1;let r=this.getCenter(e),n=this.controllerState.pan({pos:r});return this.updateViewport(n,Ot,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){let{inertia:r}=this;if(this.dragPan&&r&&e.velocity){let n=this.getCenter(e),i=[n[0]+e.velocityX*r/2,n[1]+e.velocityY*r/2],s=this.controllerState.pan({pos:i}).panEnd();this.updateViewport(s,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:cn},{isDragging:!1,isPanning:!0})}else{let n=this.controllerState.panEnd();this.updateViewport(n,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;let r=this.getCenter(e),n=this.controllerState.rotate({pos:r});return this.updateViewport(n,Ot,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){let{inertia:r}=this;if(this.dragRotate&&r&&e.velocity){let n=this.getCenter(e),i=[n[0]+e.velocityX*r/2,n[1]+e.velocityY*r/2],s=this.controllerState.rotate({pos:i}).rotateEnd();this.updateViewport(s,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:cn},{isDragging:!1,isRotating:!0})}else{let n=this.controllerState.rotateEnd();this.updateViewport(n,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;let r=this.getCenter(e);if(!this.isPointInBounds(r,e))return!1;e.srcEvent.preventDefault();let{speed:n=.01,smooth:i=!1}=this.scrollZoom===!0?{}:this.scrollZoom,{delta:s}=e,o=2/(1+Math.exp(-Math.abs(s*n)));s<0&&o!==0&&(o=1/o);let a=i?{...this._getTransitionProps({around:r}),transitionDuration:250}:Ot,c=this.controllerState.zoom({pos:r,scale:o});return this.updateViewport(c,a,{isZooming:!0,isPanning:!0}),i||this._setInteractionState({isZooming:!1,isPanning:!1}),!0}_onMultiPanStart(e){let r=this.getCenter(e);if(!this.isPointInBounds(r,e))return!1;let n=this.controllerState.rotateStart({pos:r});return this.updateViewport(n,Ot,{isDragging:!0}),!0}_onMultiPan(e){if(!this.touchRotate||!this.isDragging())return!1;let r=this.getCenter(e);r[0]-=e.deltaX;let n=this.controllerState.rotate({pos:r});return this.updateViewport(n,Ot,{isDragging:!0,isRotating:!0}),!0}_onMultiPanEnd(e){if(!this.isDragging())return!1;let{inertia:r}=this;if(this.touchRotate&&r&&e.velocityY){let n=this.getCenter(e),i=[n[0],n[1]+=e.velocityY*r/2],s=this.controllerState.rotate({pos:i});this.updateViewport(s,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:cn},{isDragging:!1,isRotating:!0}),this.blockEvents(r)}else{let n=this.controllerState.rotateEnd();this.updateViewport(n,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){let r=this.getCenter(e);if(!this.isPointInBounds(r,e))return!1;let n=this.controllerState.zoomStart({pos:r}).rotateStart({pos:r});return Zt._startPinchRotation=e.rotation,Zt._lastPinchEvent=e,this.updateViewport(n,Ot,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let r=this.controllerState;if(this.touchZoom){let{scale:n}=e,i=this.getCenter(e);r=r.zoom({pos:i,scale:n})}if(this.touchRotate){let{rotation:n}=e;r=r.rotate({deltaAngleX:Zt._startPinchRotation-n})}return this.updateViewport(r,Ot,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),Zt._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;let{inertia:r}=this,{_lastPinchEvent:n}=Zt;if(this.touchZoom&&r&&n&&e.scale!==n.scale){let i=this.getCenter(e),s=this.controllerState.rotateEnd(),o=Math.log2(e.scale),a=(o-Math.log2(n.scale))/(e.deltaTime-n.deltaTime),c=Math.pow(2,o+a*r/2);s=s.zoom({pos:i,scale:c}).zoomEnd(),this.updateViewport(s,{...this._getTransitionProps({around:i}),transitionDuration:r,transitionEasing:cn},{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(r)}else{let i=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return Zt._startPinchRotation=null,Zt._lastPinchEvent=null,!0}_onDoubleClick(e){if(!this.doubleClickZoom)return!1;let r=this.getCenter(e);if(!this.isPointInBounds(r,e))return!1;let n=this.isFunctionKeyPressed(e),i=this.controllerState.zoom({pos:r,scale:n?.5:2});return this.updateViewport(i,this._getTransitionProps({around:r}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;let r=this.isFunctionKeyPressed(e),{zoomSpeed:n,moveSpeed:i,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard===!0?{}:this.keyboard,{controllerState:a}=this,c,l={};switch(e.srcEvent.code){case"Minus":c=r?a.zoomOut(n).zoomOut(n):a.zoomOut(n),l.isZooming=!0;break;case"Equal":c=r?a.zoomIn(n).zoomIn(n):a.zoomIn(n),l.isZooming=!0;break;case"ArrowLeft":r?(c=a.rotateLeft(s),l.isRotating=!0):(c=a.moveLeft(i),l.isPanning=!0);break;case"ArrowRight":r?(c=a.rotateRight(s),l.isRotating=!0):(c=a.moveRight(i),l.isPanning=!0);break;case"ArrowUp":r?(c=a.rotateUp(o),l.isRotating=!0):(c=a.moveUp(i),l.isPanning=!0);break;case"ArrowDown":r?(c=a.rotateDown(o),l.isRotating=!0):(c=a.moveDown(i),l.isPanning=!0);break;default:return!1}return this.updateViewport(c,this._getTransitionProps(),l),!0}_getTransitionProps(e){let{transition:r}=this;return!r||!r.transitionInterpolator?Ot:e?{...r,transitionInterpolator:new jt({...e,...r.transitionInterpolator.opts,makeViewport:this.controllerState.makeViewport})}:r}};var Ye=class{constructor(e,r,n){this.makeViewport=n,this._viewportProps=this.applyConstraints(e),this._state=r}getViewportProps(){return this._viewportProps}getState(){return this._state}};var Fa=5,Td=1.2,Da=512,Ba=[[-1/0,-90],[1/0,90]];function ln([t,e]){if(Math.abs(e)>90&&(e=Math.sign(e)*90),Number.isFinite(t)){let[n,i]=rt([t,e]);return[n,K(i,0,Da)]}let[,r]=rt([0,e]);return[t,K(r,0,Da)]}var ki=class extends Ye{constructor(r){let{width:n,height:i,latitude:s,longitude:o,zoom:a,bearing:c=0,pitch:l=0,altitude:h=1.5,position:f=[0,0,0],maxZoom:d=20,minZoom:p=0,maxPitch:_=60,minPitch:g=0,startPanLngLat:u,startZoomLngLat:T,startRotatePos:b,startRotateLngLat:R,startBearing:E,startPitch:A,startZoom:M,normalize:m=!0}=r;Kt(Number.isFinite(o)),Kt(Number.isFinite(s)),Kt(Number.isFinite(a));let S=r.maxBounds||(m?Ba:null);super({width:n,height:i,latitude:s,longitude:o,zoom:a,bearing:c,pitch:l,altitude:h,maxZoom:d,minZoom:p,maxPitch:_,minPitch:g,normalize:m,position:f,maxBounds:S},{startPanLngLat:u,startZoomLngLat:T,startRotatePos:b,startRotateLngLat:R,startBearing:E,startPitch:A,startZoom:M},r.makeViewport);this.getAltitude=r.getAltitude}panStart({pos:r}){return this._getUpdatedState({startPanLngLat:this._unproject(r)})}pan({pos:r,startPos:n}){let i=this.getState().startPanLngLat||this._unproject(n);if(!i)return this;let o=this.makeViewport(this.getViewportProps()).panByPosition(i,r);return this._getUpdatedState(o)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:r}){let n=this.getAltitude?.(r);return this._getUpdatedState({startRotatePos:r,startRotateLngLat:n!==void 0?this._unproject3D(r,n):void 0,startBearing:this.getViewportProps().bearing,startPitch:this.getViewportProps().pitch})}rotate({pos:r,deltaAngleX:n=0,deltaAngleY:i=0}){let{startRotatePos:s,startRotateLngLat:o,startBearing:a,startPitch:c}=this.getState();if(!s||a===void 0||c===void 0)return this;let l;if(r?l=this._getNewRotation(r,s,c,a):l={bearing:a+n,pitch:c+i},o){let h=this.makeViewport({...this.getViewportProps(),...l}),f="panByPosition3D"in h?"panByPosition3D":"panByPosition";return this._getUpdatedState({...l,...h[f](o,s)})}return this._getUpdatedState(l)}rotateEnd(){return this._getUpdatedState({startRotatePos:null,startRotateLngLat:null,startBearing:null,startPitch:null})}zoomStart({pos:r}){return this._getUpdatedState({startZoomLngLat:this._unproject(r),startZoom:this.getViewportProps().zoom})}zoom({pos:r,startPos:n,scale:i}){let{startZoom:s,startZoomLngLat:o}=this.getState();if(o||(s=this.getViewportProps().zoom,o=this._unproject(n)||this._unproject(r)),!o)return this;let a=this._constrainZoom(s+Math.log2(i)),c=this.makeViewport({...this.getViewportProps(),zoom:a});return this._getUpdatedState({zoom:a,...c.panByPosition(o,r)})}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(r=2){return this._zoomFromCenter(r)}zoomOut(r=2){return this._zoomFromCenter(1/r)}moveLeft(r=100){return this._panFromCenter([r,0])}moveRight(r=100){return this._panFromCenter([-r,0])}moveUp(r=100){return this._panFromCenter([0,r])}moveDown(r=100){return this._panFromCenter([0,-r])}rotateLeft(r=15){return this._getUpdatedState({bearing:this.getViewportProps().bearing-r})}rotateRight(r=15){return this._getUpdatedState({bearing:this.getViewportProps().bearing+r})}rotateUp(r=10){return this._getUpdatedState({pitch:this.getViewportProps().pitch+r})}rotateDown(r=10){return this._getUpdatedState({pitch:this.getViewportProps().pitch-r})}shortestPathFrom(r){let n=r.getViewportProps(),i={...this.getViewportProps()},{bearing:s,longitude:o}=i;return Math.abs(s-n.bearing)>180&&(i.bearing=s<0?s+360:s-360),Math.abs(o-n.longitude)>180&&(i.longitude=o<0?o+360:o-360),i}applyConstraints(r){let{maxPitch:n,minPitch:i,pitch:s,longitude:o,bearing:a,normalize:c,maxBounds:l}=r;if(c&&((o<-180||o>180)&&(r.longitude=bi(o+180,360)-180),(a<-180||a>180)&&(r.bearing=bi(a+180,360)-180)),r.pitch=K(s,i,n),r.zoom=this._constrainZoom(r.zoom,r),l){let h=ln(l[0]),f=ln(l[1]),d=2**r.zoom,p=r.width/2/d,_=r.height/2/d,[g,u]=Z([h[0]+p,h[1]+_]),[T,b]=Z([f[0]-p,f[1]-_]);r.longitude=K(r.longitude,g,T),r.latitude=K(r.latitude,u,b)}return r}_constrainZoom(r,n){n||=this.getViewportProps();let{maxZoom:i,maxBounds:s}=n,o=s!==null&&n.width>0&&n.height>0,{minZoom:a}=n;if(o){let c=ln(s[0]),l=ln(s[1]),h=l[0]-c[0],f=l[1]-c[1];Number.isFinite(h)&&h>0&&(a=Math.max(a,Math.log2(n.width/h))),Number.isFinite(f)&&f>0&&(a=Math.max(a,Math.log2(n.height/f))),a>i&&(a=i)}return K(r,a,i)}_zoomFromCenter(r){let{width:n,height:i}=this.getViewportProps();return this.zoom({pos:[n/2,i/2],scale:r})}_panFromCenter(r){let{width:n,height:i}=this.getViewportProps();return this.pan({startPos:[n/2,i/2],pos:[n/2+r[0],i/2+r[1]]})}_getUpdatedState(r){return new this.constructor({makeViewport:this.makeViewport,...this.getViewportProps(),...this.getState(),...r})}_unproject(r){let n=this.makeViewport(this.getViewportProps());return r&&n.unproject(r)}_unproject3D(r,n){return this.makeViewport(this.getViewportProps()).unproject(r,{targetZ:n})}_getNewRotation(r,n,i,s){let o=r[0]-n[0],a=r[1]-n[1],c=r[1],l=n[1],{width:h,height:f}=this.getViewportProps(),d=o/h,p=0;a>0?Math.abs(f-l)>Fa&&(p=a/(l-f)*Td):a<0&&l>Fa&&(p=1-c/l),p=K(p,-1,1);let{minPitch:_,maxPitch:g}=this.getViewportProps(),u=s+180*d,T=i;return p>0?T=i+p*(g-i):p<0&&(T=i-p*(_-i)),{pitch:T,bearing:u}}},Ke=class extends ze{constructor(){super(...arguments);this.ControllerState=ki;this.transition={transitionDuration:300,transitionInterpolator:new jt({transitionProps:{compare:["longitude","latitude","zoom","bearing","pitch","position"],required:["longitude","latitude","zoom"]}})};this.dragMode="pan";this.rotationPivot="center";this._getAltitude=r=>{if(this.rotationPivot==="2d")return 0;if(this.rotationPivot==="3d"&&this.pickPosition){let{x:n,y:i}=this.props,s=this.pickPosition(n+r[0],i+r[1]);if(s&&s.coordinate&&s.coordinate.length>=3)return s.coordinate[2]}}}setProps(r){"rotationPivot"in r&&(this.rotationPivot=r.rotationPivot||"center"),r.getAltitude=this._getAltitude,r.position=r.position||[0,0,0],r.maxBounds=r.maxBounds||(r.normalize===!1?null:Ba),super.setProps(r)}updateViewport(r,n=null,i={}){let s=r.getState();i.isDragging&&s.startRotateLngLat?i={...i,rotationPivotPosition:s.startRotateLngLat}:i.isDragging===!1&&(i={...i,rotationPivotPosition:void 0}),super.updateViewport(r,n,i)}};var Ee=class extends De{constructor(e={}){super(e)}getViewportType(){return ge}get ControllerType(){return Ke}};Ee.displayName="MapView";var md=5916575505e-1,Rd=78271.484,hn=111320,Ed=55*Math.PI/180,Ad=65,Sd=80;function bd(t,e){let r=(t.latitude+e.latitude)/2*Math.PI/180,n=(t.latitude-e.latitude)*hn,i=(t.longitude-e.longitude)*hn*Math.cos(r);return Math.sqrt(n*n+i*i)}function Md(t,e,r,n,i){let s=t.toMap({x:n/2,y:i/2}),o=t.toMap({x:n/2+1,y:i/2});if(s&&o){let a=bd(s,o);if(a>0){let c=r*Math.PI/180;return Math.log2(Rd*Math.cos(c)/a)}}return Math.log2(md/t.scale)-1}function xd(t,e,r){let n=Math.max(0,Math.min(1,(r-t)/(e-t)));return n*n*(3-2*n)}function Pd(t,e){let r=t/e;return .5/(Math.tan(Ed/2)/Math.sqrt(1+r*r))}function Cd(t,e,r,n){let i=Pd(r,n),s=xd(Ad,Sd,t);return e*(1-s)+i*s}function yd(t,e,r,n,i,s){return{views:new Ee({id:"arcgis-scene"}),viewState:{"arcgis-scene":{id:"arcgis-scene",longitude:e,latitude:r,zoom:n,pitch:t.camera.tilt,bearing:t.camera.heading,altitude:s,position:[0,0,0],resolution:i}}}}function Xi(t,e){class r{constructor(i,s){if(this.resources=null,this.cancelInitialization=null,this.renderNode=null,i&&typeof i=="object"&&"view"in i){let{view:l,...h}=i;this.view=l,this.deck=new t(h)}else this.view=i,this.deck=new t(s);let o=!1,a=this,c=e.createSubclass({consumes:{required:["composite-color"]},produces:"composite-color",initialize(){},render(l){let h=this,f=l.find(v=>v.name==="composite-color");if(!a.resources&&!o){let v=h.gl;if(v){o=!0;let dt=!1;a.cancelInitialization=()=>{dt=!0},kr.call(a,v).then(Q=>{if(o=!1,dt){re(Q);return}a.deck.on("change",Ze=>Q.deck.setProps(Ze)),Q.deck.setProps(a.deck.toJSON()),a.resources=Q,h.requestRender()}).catch(Q=>{o=!1,console.error("DeckRenderer: failed to initialize resources",Q)})}return f}if(!a.resources)return f;let d=h.bindRenderTarget(),p=h.gl,_=window.devicePixelRatio||1,g=p.drawingBufferWidth/_,u=p.drawingBufferHeight/_,T=a.view.camera.position,b=a.view.toMap({x:g/2,y:u/2}),R=b?b.latitude:a.view.center.latitude,E=b?b.longitude:a.view.center.longitude,A=(R+T.latitude)/2*Math.PI/180,M=(T.latitude-R)*hn,m=(T.longitude-E)*hn*Math.cos(A),S=Math.sqrt(M*M+m*m),P=Math.sqrt(S*S+T.z*T.z),x=Md(a.view,E,R,g,u),I=u*a.view.resolution,N=P/I,w=Cd(a.view.camera.tilt,N,g,u),O=yd(a.view,E,R,x,a.view.resolution,w);try{O?Fe(a.resources,{width:g,height:u,latitude:R,longitude:E,altitude:w,zoom:x,bearing:a.view.camera.heading,pitch:a.view.camera.tilt,...O}):Fe(a.resources,{width:g,height:u,latitude:R,longitude:E,altitude:w,zoom:x,bearing:a.view.camera.heading,pitch:a.view.camera.tilt})}catch(v){console.error("DeckRenderer: render error",v)}return d}});this.renderNode=new c({view:this.view})}async setup(i){}dispose(){this.cancelInitialization?.(),this.resources&&(re(this.resources),this.resources=null),this.renderNode=null}redraw(){this.renderNode?.requestRender()}render(){this.renderNode?.requestRender()}}return r}var Wi=D(Ua(),1),Ae;async function Id(t,e){let r=Array.isArray(t)?null:t;return await Nd(r,e),Array.isArray(t)?(0,Wi.loadModules)(t,e).then(n=>({...Ae,modules:n})):Ae}async function Nd(t,e){if(Ae)return Ae;if(t){let o=t.layers.Layer,a=t.core.Accessor,c=t.views["2d"].layers.BaseLayerViewGL2D,l=t.views["3d"].webgl.RenderNode;return Va(o,a,c,l)}let[r,n,i,s]=await(0,Wi.loadModules)(["esri/layers/Layer","esri/core/Accessor","esri/views/2d/layers/BaseLayerViewGL2D","esri/views/3d/webgl/RenderNode"],e);return Va(r,n,i,s)}function Va(t,e,r,n){let i=dn(e),s=Hn(r),o=pn(i,t,s),a=Xi(i,n);return Ae={DeckLayer:o,DeckRenderer:a},Ae}return za(je);})();
28
+ `,bindings:{deckglTexture:n},parameters:{depthWriteEnabled:!1,depthCompare:"always",blendColorSrcFactor:"one",blendColorDstFactor:"one-minus-src-alpha",blendAlphaSrcFactor:"one",blendAlphaDstFactor:"one-minus-src-alpha",blendColorOperation:"add",blendAlphaOperation:"add"},geometry:new Hr.Geometry({topology:"triangle-strip",attributes:{pos:{size:2,value:new Int8Array([-1,-1,1,-1,-1,1,-1,1,1,1,1,-1])}}}),vertexCount:6,disableWarnings:!0}),s=r.createFramebuffer({id:"deckfbo",width:1,height:1,colorAttachments:[n],depthStencilAttachment:"depth16unorm"});return e.setProps({_framebuffer:s,_customRender:o=>{if(o==="arcgis"){let a=r.gl;a.blendFuncSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA),e._drawLayers(o)}else this.redraw()}}),{deck:e,texture:n,fbo:s,model:i}}function Be(t,e){let{model:r,deck:n,fbo:i}=t,s=r.device;if(s instanceof vt){let o=s.getParametersWebGL(36006),{width:a,height:c,views:l,viewState:h,...f}=e,d=window.devicePixelRatio,p=Math.round(a*d),_=Math.round(c*d);i.resize({width:p,height:_});let g=i.colorAttachments[0].texture??i.colorAttachments[0];g!==t.texture&&(t.texture=g,r.setBindings({deckglTexture:g}));let u={width:a,height:c,viewState:h||f};l&&(u.views=l),n.setProps(u),n.redraw("arcgis");let{gl:T}=s;o?(T.bindFramebuffer(36160,o),T.drawBuffers([36064])):T.drawBuffers([1029]),T.enable(3042),T.blendFuncSeparate(1,771,1,771),T.blendEquationSeparate(32774,32774);let S={handle:o,width:p,height:_,colorAttachments:[null]},R=s.beginRenderPass({framebuffer:S,parameters:{viewport:[0,0,p,_]},clearColor:!1,clearDepth:!1});try{r.draw(R)}finally{R.end()}}}function ne(t){t.deck.finalize(),t.model.destroy(),t.fbo.destroy(),t.texture.destroy()}function Yn(t){return t.createSubclass({properties:{cancelInitialization:null,resources:null},async attach(){let e=this.context,r=!1;this.cancelInitialization=()=>r=!0;let n=await Lr.call(this,e);if(r){ne(n);return}this.resources=n,this.layer.deck.on("change",i=>n.deck.setProps(i)),n.deck.setProps(this.layer.deck.toJSON())},redraw(){this.requestRender()},detach(){this.cancelInitialization?.(),this.resources&&(ne(this.resources),this.resources=null)},render(e){if(!this.resources)return;let[r,n]=this.view.state.size,i=e.state;Be(this.resources,{width:r,height:n,latitude:this.view.center.latitude,longitude:this.view.center.longitude,zoom:this.view.featuresTilingScheme.scaleToLevel(i.scale),bearing:-i.rotation,pitch:0})}})}var Gc=/^(?:\d+\.?\d*|\.\d+)$/;function Mt(t){switch(typeof t){case"number":if(!Number.isFinite(t))throw new Error(`Could not parse position string ${t}`);return{type:"literal",value:t};case"string":try{let e=tl(t);return new Zn(e).parseExpression()}catch(e){let r=e instanceof Error?e.message:String(e);throw new Error(`Could not parse position string ${t}: ${r}`)}default:throw new Error(`Could not parse position string ${t}`)}}function Kn(t,e){switch(t.type){case"literal":return t.value;case"percentage":return Math.round(t.value*e);case"binary":let r=Kn(t.left,e),n=Kn(t.right,e);return t.operator==="+"?r+n:r-n;default:throw new Error("Unknown layout expression type")}}function xt(t,e){return Kn(t,e)}function tl(t){let e=[],r=0;for(;r<t.length;){let n=t[r];if(/\s/.test(n)){r++;continue}if(n==="+"||n==="-"||n==="("||n===")"||n==="%"){e.push({type:"symbol",value:n}),r++;continue}if(wo(n)||n==="."){let i=r,s=n===".";for(r++;r<t.length;){let a=t[r];if(wo(a)){r++;continue}if(a==="."&&!s){s=!0,r++;continue}break}let o=t.slice(i,r);if(!Gc.test(o))throw new Error("Invalid number token");e.push({type:"number",value:parseFloat(o)});continue}if(Do(n)){let i=r;for(;r<t.length&&Do(t[r]);)r++;let s=t.slice(i,r).toLowerCase();e.push({type:"word",value:s});continue}throw new Error("Invalid token in position string")}return e}var Zn=class{constructor(e){this.index=0;this.tokens=e}parseExpression(){let e=this.parseBinaryExpression();if(this.index<this.tokens.length)throw new Error("Unexpected token at end of expression");return e}parseBinaryExpression(){let e=this.parseFactor(),r=this.peek();for(;el(r);){this.index++;let n=this.parseFactor();e={type:"binary",operator:r.value,left:e,right:n},r=this.peek()}return e}parseFactor(){let e=this.peek();if(!e)throw new Error("Unexpected end of expression");if(e.type==="symbol"&&e.value==="+")return this.index++,this.parseFactor();if(e.type==="symbol"&&e.value==="-"){this.index++;let r=this.parseFactor();return{type:"binary",operator:"-",left:{type:"literal",value:0},right:r}}if(e.type==="symbol"&&e.value==="("){this.index++;let r=this.parseBinaryExpression();if(!this.consumeSymbol(")"))throw new Error("Missing closing parenthesis");return r}if(e.type==="word"&&e.value==="calc"){if(this.index++,!this.consumeSymbol("("))throw new Error("Missing opening parenthesis after calc");let r=this.parseBinaryExpression();if(!this.consumeSymbol(")"))throw new Error("Missing closing parenthesis");return r}if(e.type==="number"){this.index++;let r=e.value,n=this.peek();return n&&n.type==="symbol"&&n.value==="%"?(this.index++,{type:"percentage",value:r/100}):n&&n.type==="word"&&n.value==="px"?(this.index++,{type:"literal",value:r}):{type:"literal",value:r}}throw new Error("Unexpected token in expression")}consumeSymbol(e){let r=this.peek();return r&&r.type==="symbol"&&r.value===e?(this.index++,!0):!1}peek(){return this.tokens[this.index]||null}};function wo(t){return t>="0"&&t<="9"}function Do(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"}function el(t){return Boolean(t&&t.type==="symbol"&&(t.value==="+"||t.value==="-"))}function ie(t,e,r){if(t===e)return!0;if(!r||!t||!e)return!1;if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(!ie(t[n],e[n],r-1))return!1;return!0}if(Array.isArray(e))return!1;if(typeof t=="object"&&typeof e=="object"){let n=Object.keys(t),i=Object.keys(e);if(n.length!==i.length)return!1;for(let s of n)if(!e.hasOwnProperty(s)||!ie(t[s],e[s],r-1))return!1;return!0}return!1}function Fo(t,e){let r={...t};for(let n in e)n!=="id"&&(Array.isArray(r[n])&&Array.isArray(e[n])?r[n]=rl(r[n],e[n]):r[n]=e[n]);return r}function rl(t,e){t=t.slice();for(let r=0;r<e.length;r++){let n=e[r];Number.isFinite(n)&&(t[r]=n)}return t}var ve=class{constructor(e){let{id:r,x:n=0,y:i=0,width:s="100%",height:o="100%",padding:a=null}=e;this.id=r||this.constructor.displayName||"view",this.props={...e,id:this.id},this._x=Mt(n),this._y=Mt(i),this._width=Mt(s),this._height=Mt(o),this._padding=a&&{left:Mt(a.left||0),right:Mt(a.right||0),top:Mt(a.top||0),bottom:Mt(a.bottom||0)},this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e?!0:this.constructor===e.constructor&&ie(this.props,e.props,2)}clone(e){let r=this.constructor;return new r({...this.props,...e})}makeViewport({width:e,height:r,viewState:n}){n=this.filterViewState(n);let i=this.getDimensions({width:e,height:r});if(!i.height||!i.width)return null;let s=this.getViewportType(n);return new s({...n,...this.props,...i})}getViewStateId(){let{viewState:e}=this.props;return typeof e=="string"?e:e?.id||this.id}filterViewState(e){return this.props.viewState&&typeof this.props.viewState=="object"?this.props.viewState.id?Fo(e,this.props.viewState):this.props.viewState:e}getDimensions({width:e,height:r}){let n={x:xt(this._x,e),y:xt(this._y,r),width:xt(this._width,e),height:xt(this._height,r)};return this._padding&&(n.padding={left:xt(this._padding.left,e),top:xt(this._padding.top,r),right:xt(this._padding.right,e),bottom:xt(this._padding.bottom,r)}),n}get controller(){let e=this.props.controller;return e?e===!0?{type:this.ControllerType}:typeof e=="function"?{type:e}:{type:this.ControllerType,...e}:null}};xe();function se(t,e){if(!t)throw new Error(e||"Assertion failed")}function jn(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return se(Number.isFinite(e)&&e>=0),e}function Bo(t){let{logLevel:e,message:r}=t;t.logLevel=jn(e);let n=t.args?Array.from(t.args):[];for(;n.length&&n.shift()!==r;);switch(typeof e){case"string":case"function":r!==void 0&&n.unshift(r),t.message=e;break;case"object":Object.assign(t,e);break;default:}typeof t.message=="function"&&(t.message=t.message());let i=typeof t.message;return se(i==="string"||i==="object"),Object.assign(t,{args:n},t.opts)}var Lt=()=>{},zr=class{constructor({level:e=0}={}){this.userData={},this._onceCache=new Set,this._level=e}set level(e){this.setLevel(e)}get level(){return this.getLevel()}setLevel(e){return this._level=e,this}getLevel(){return this._level}warn(e,...r){return this._log("warn",0,e,r,{once:!0})}error(e,...r){return this._log("error",0,e,r)}log(e,r,...n){return this._log("log",e,r,n)}info(e,r,...n){return this._log("info",e,r,n)}once(e,r,...n){return this._log("once",e,r,n,{once:!0})}_log(e,r,n,i,s={}){let o=Bo({logLevel:r,message:n,args:this._buildArgs(r,n,i),opts:s});return this._createLogFunction(e,o,s)}_buildArgs(e,r,n){return[e,r,...n]}_createLogFunction(e,r,n){if(!this._shouldLog(r.logLevel))return Lt;let i=this._getOnceTag(n.tag??r.tag??r.message);if((n.once||r.once)&&i!==void 0){if(this._onceCache.has(i))return Lt;this._onceCache.add(i)}return this._emit(e,r)}_shouldLog(e){return this.getLevel()>=jn(e)}_getOnceTag(e){if(e!==void 0)try{return typeof e=="string"?e:String(e)}catch{return}}};function nl(t){try{let e=window[t],r="__storage_test__";return e.setItem(r,r),e.removeItem(r),e}catch{return null}}var Yr=class{constructor(e,r,n="sessionStorage"){this.storage=nl(n),this.id=e,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let e={};if(this.storage){let r=this.storage.getItem(this.id);e=r?JSON.parse(r):{}}return Object.assign(this.config,e),this}};function vo(t){let e;return t<10?e=`${t.toFixed(2)}ms`:t<100?e=`${t.toFixed(1)}ms`:t<1e3?e=`${t.toFixed(0)}ms`:e=`${(t/1e3).toFixed(2)}s`,e}function Uo(t,e=8){let r=Math.max(e-t.length,0);return`${" ".repeat(r)}${t}`}xe();var Kr;(function(t){t[t.BLACK=30]="BLACK",t[t.RED=31]="RED",t[t.GREEN=32]="GREEN",t[t.YELLOW=33]="YELLOW",t[t.BLUE=34]="BLUE",t[t.MAGENTA=35]="MAGENTA",t[t.CYAN=36]="CYAN",t[t.WHITE=37]="WHITE",t[t.BRIGHT_BLACK=90]="BRIGHT_BLACK",t[t.BRIGHT_RED=91]="BRIGHT_RED",t[t.BRIGHT_GREEN=92]="BRIGHT_GREEN",t[t.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",t[t.BRIGHT_BLUE=94]="BRIGHT_BLUE",t[t.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",t[t.BRIGHT_CYAN=96]="BRIGHT_CYAN",t[t.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Kr||(Kr={}));var il=10;function Vo(t){return typeof t!="string"?t:(t=t.toUpperCase(),Kr[t]||Kr.WHITE)}function ko(t,e,r){return!bt&&typeof t=="string"&&(e&&(t=`\x1B[${Vo(e)}m${t}\x1B[39m`),r&&(t=`\x1B[${Vo(r)+il}m${t}\x1B[49m`)),t}function Xo(t,e=["constructor"]){let r=Object.getPrototypeOf(t),n=Object.getOwnPropertyNames(r),i=t;for(let s of n){let o=i[s];typeof o=="function"&&(e.find(a=>s===a)||(i[s]=o.bind(t)))}}xe();function oe(){let t;if(bt()&&ir.performance)t=ir?.performance?.now?.();else if("hrtime"in sr){let e=sr?.hrtime?.();t=e[0]*1e3+e[1]/1e6}else t=Date.now();return t}var ae={debug:bt()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},$n={enabled:!0,level:0},Pt=class extends zr{constructor({id:e}={id:""}){super({level:0}),this.VERSION=An,this._startTs=oe(),this._deltaTs=oe(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new Yr(`__probe-${this.id}__`,{[this.id]:$n}),this.timeStamp(`${this.id} started`),Xo(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((oe()-this._startTs).toPrecision(10))}getDelta(){return Number((oe()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._updateConfiguration({enabled:e}),this}setLevel(e){return this._updateConfiguration({level:e}),this}get(e){return this._getConfiguration()[e]}set(e,r){this._updateConfiguration({[e]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,r){if(!e)throw new Error(r||"Assertion failed")}warn(e,...r){return this._log("warn",0,e,r,{method:ae.warn,once:!0})}error(e,...r){return this._log("error",0,e,r,{method:ae.error})}deprecated(e,r){return this.warn(`\`${e}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(e,r){return this.error(`\`${e}\` has been removed. Use \`${r}\` instead`)}probe(e,r,...n){return this._log("log",e,r,n,{method:ae.log,time:!0,once:!0})}log(e,r,...n){return this._log("log",e,r,n,{method:ae.debug})}info(e,r,...n){return this._log("info",e,r,n,{method:console.info})}once(e,r,...n){return this._log("once",e,r,n,{method:ae.debug||ae.info,once:!0})}table(e,r,n){return r?this._log("table",e,r,n&&[n]||[],{method:console.table||Lt,tag:ol(r)}):Lt}time(e,r){return this._log("time",e,r,[],{method:console.time?console.time:console.info})}timeEnd(e,r){return this._log("time",e,r,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(e,r){return this._log("time",e,r,[],{method:console.timeStamp||Lt})}group(e,r,n={collapsed:!1}){let i=(n.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",e,r,[],{method:i})}groupCollapsed(e,r,n={}){return this.group(e,r,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._log("groupEnd",e,"",[],{method:console.groupEnd||Lt})}withGroup(e,r,n){this.group(e,r)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&super._shouldLog(e)}_emit(e,r){let n=r.method;se(n),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=oe();let i=sl(this.id,r.message,r);return n.bind(console,i,...r.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration($n),this._storage.config[this.id]}_updateConfiguration(e){let r=this._storage.config[this.id]||{...$n};this._storage.setConfiguration({[this.id]:{...r,...e}})}};Pt.VERSION=An;function sl(t,e,r){if(typeof e=="string"){let n=r.time?Uo(vo(r.total)):"";e=r.time?`${t}: ${n} ${e}`:`${t}: ${e}`,e=ko(e,r.color,r.background)}return e}function ol(t){for(let e in t)for(let r in t[e])return r||"untitled";return"empty"}globalThis.probe={};var G_=new Pt({id:"@probe.gl/log"});var al=new Pt({id:"deck"}),ce=al;var sg=1/Math.PI*180,og=1/180*Math.PI,cl={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...cl}};var H=globalThis.mathgl.config;function qn(t,{precision:e=H.precision}={}){return t=ll(t),`${parseFloat(t.toPrecision(e))}`}function Ct(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function K(t,e,r){return fl(t,n=>Math.max(e,Math.min(r,n)))}function Ue(t,e,r){return Ct(t)?t.map((n,i)=>Ue(n,e[i],r)):r*e+(1-r)*t}function It(t,e,r){let n=H.EPSILON;r&&(H.EPSILON=r);try{if(t===e)return!0;if(Ct(t)&&Ct(e)){if(t.length!==e.length)return!1;for(let i=0;i<t.length;++i)if(!It(t[i],e[i]))return!1;return!0}return t&&t.equals?t.equals(e):e&&e.equals?e.equals(t):typeof t=="number"&&typeof e=="number"?Math.abs(t-e)<=H.EPSILON*Math.max(1,Math.abs(t),Math.abs(e)):!1}finally{H.EPSILON=n}}function ll(t){return Math.round(t/H.EPSILON)*H.EPSILON}function hl(t){return t.clone?t.clone():new Array(t.length)}function fl(t,e,r){if(Ct(t)){let n=t;r=r||hl(n);for(let i=0;i<r.length&&i<n.length;++i){let s=typeof t=="number"?t:t[i];r[i]=e(s,i,r)}return r}return e(t)}var le=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(e,r=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=e[n+r];return this.check()}toArray(e=[],r=0){for(let n=0;n<this.ELEMENTS;++n)e[r+n]=this[n];return e}toObject(e){return e}from(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}to(e){return e===this?this:Ct(e)?this.toArray(e):this.toObject(e)}toTarget(e){return e?this.to(e):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(H)}formatString(e){let r="";for(let n=0;n<this.ELEMENTS;++n)r+=(n>0?", ":"")+qn(this[n],e);return`${e.printTypes?this.constructor.name:""}[${r}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!It(this[r],e[r]))return!1;return!0}exactEquals(e){if(!e||this.length!==e.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==e[r])return!1;return!0}negate(){for(let e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}lerp(e,r,n){if(n===void 0)return this.lerp(this,e,r);for(let i=0;i<this.ELEMENTS;++i){let s=e[i],o=typeof r=="number"?r:r[i];this[i]=s+n*(o-s)}return this.check()}min(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(e[r],this[r]);return this.check()}max(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(e[r],this[r]);return this.check()}clamp(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e[n]),r[n]);return this.check()}add(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]+=r[n];return this.check()}subtract(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]-=r[n];return this.check()}scale(e){if(typeof e=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;else for(let r=0;r<this.ELEMENTS&&r<e.length;++r)this[r]*=e[r];return this.check()}multiplyByScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}check(){if(H.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let e=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)e=e&&Number.isFinite(this[r]);return e}sub(e){return this.subtract(e)}setScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]=e;return this.check()}addScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]+=e;return this.check()}subScalar(e){return this.addScalar(-e)}multiplyScalar(e){for(let r=0;r<this.ELEMENTS;++r)this[r]*=e;return this.check()}divideScalar(e){return this.multiplyByScalar(1/e)}clampScalar(e,r){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e),r);return this.check()}get elements(){return this}};function dl(t,e){if(t.length!==e)return!1;for(let r=0;r<t.length;++r)if(!Number.isFinite(t[r]))return!1;return!0}function Y(t){if(!Number.isFinite(t))throw new Error(`Invalid number ${JSON.stringify(t)}`);return t}function Zr(t,e,r=""){if(H.debug&&!dl(t,e))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return t}function Qn(t,e){if(!t)throw new Error(`math.gl assertion ${e}`)}var jr=class extends le{get x(){return this[0]}set x(e){this[0]=Y(e)}get y(){return this[1]}set y(e){this[1]=Y(e)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let e=0;for(let r=0;r<this.ELEMENTS;++r)e+=this[r]*this[r];return e}magnitudeSquared(){return this.lengthSquared()}distance(e){return Math.sqrt(this.distanceSquared(e))}distanceSquared(e){let r=0;for(let n=0;n<this.ELEMENTS;++n){let i=this[n]-e[n];r+=i*i}return Y(r)}dot(e){let r=0;for(let n=0;n<this.ELEMENTS;++n)r+=this[n]*e[n];return Y(r)}normalize(){let e=this.magnitude();if(e!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=e;return this.check()}multiply(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]*=r[n];return this.check()}divide(...e){for(let r of e)for(let n=0;n<this.ELEMENTS;++n)this[n]/=r[n];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(e){return this.distance(e)}distanceToSquared(e){return this.distanceSquared(e)}getComponent(e){return Qn(e>=0&&e<this.ELEMENTS,"index is out of range"),Y(this[e])}setComponent(e,r){return Qn(e>=0&&e<this.ELEMENTS,"index is out of range"),this[e]=r,this.check()}addVectors(e,r){return this.copy(e).add(r)}subVectors(e,r){return this.copy(e).subtract(r)}multiplyVectors(e,r){return this.copy(e).multiply(r)}addScaledVector(e,r){return this.add(new this.constructor(e).multiplyScalar(r))}};var G={};Me(G,{add:()=>Tl,angle:()=>vl,ceil:()=>ml,clone:()=>pl,copy:()=>_l,create:()=>Wo,cross:()=>yl,dist:()=>Yl,distance:()=>Yo,div:()=>zl,divide:()=>zo,dot:()=>Il,equals:()=>Xl,exactEquals:()=>kl,floor:()=>Rl,forEach:()=>jl,fromValues:()=>ul,inverse:()=>Pl,len:()=>Wl,length:()=>Zo,lerp:()=>Nl,max:()=>Al,min:()=>El,mul:()=>Ll,multiply:()=>Lo,negate:()=>xl,normalize:()=>Cl,random:()=>Ol,rotate:()=>Bl,round:()=>bl,scale:()=>Sl,scaleAndAdd:()=>Ml,set:()=>gl,sqrDist:()=>Kl,sqrLen:()=>Zl,squaredDistance:()=>Ko,squaredLength:()=>jo,str:()=>Vl,sub:()=>Hl,subtract:()=>Ho,transformMat2:()=>wl,transformMat2d:()=>Dl,transformMat3:()=>Fl,transformMat4:()=>Jn,zero:()=>Ul});var k=typeof Float32Array<"u"?Float32Array:Array,At=Math.random;function J(t){return t>=0?Math.round(t):t%.5===0?Math.floor(t):Math.round(t)}var Tg=Math.PI/180;function Wo(){let t=new k(2);return k!=Float32Array&&(t[0]=0,t[1]=0),t}function pl(t){let e=new k(2);return e[0]=t[0],e[1]=t[1],e}function ul(t,e){let r=new k(2);return r[0]=t,r[1]=e,r}function _l(t,e){return t[0]=e[0],t[1]=e[1],t}function gl(t,e,r){return t[0]=e,t[1]=r,t}function Tl(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t}function Ho(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t}function Lo(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t}function zo(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t}function ml(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t}function Rl(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t}function El(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t}function Al(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t}function bl(t,e){return t[0]=J(e[0]),t[1]=J(e[1]),t}function Sl(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t}function Ml(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t}function Yo(t,e){let r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)}function Ko(t,e){let r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n}function Zo(t){let e=t[0],r=t[1];return Math.sqrt(e*e+r*r)}function jo(t){let e=t[0],r=t[1];return e*e+r*r}function xl(t,e){return t[0]=-e[0],t[1]=-e[1],t}function Pl(t,e){return t[0]=1/e[0],t[1]=1/e[1],t}function Cl(t,e){let r=e[0],n=e[1],i=r*r+n*n;return i>0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t}function Il(t,e){return t[0]*e[0]+t[1]*e[1]}function yl(t,e,r){let n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t}function Nl(t,e,r,n){let i=e[0],s=e[1];return t[0]=i+n*(r[0]-i),t[1]=s+n*(r[1]-s),t}function Ol(t,e){e=e===void 0?1:e;let r=At()*2*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t}function wl(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t}function Dl(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i+r[4],t[1]=r[1]*n+r[3]*i+r[5],t}function Fl(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t}function Jn(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t}function Bl(t,e,r,n){let i=e[0]-r[0],s=e[1]-r[1],o=Math.sin(n),a=Math.cos(n);return t[0]=i*a-s*o+r[0],t[1]=i*o+s*a+r[1],t}function vl(t,e){let r=t[0],n=t[1],i=e[0],s=e[1],o=Math.sqrt((r*r+n*n)*(i*i+s*s)),a=o&&(r*i+n*s)/o;return Math.acos(Math.min(Math.max(a,-1),1))}function Ul(t){return t[0]=0,t[1]=0,t}function Vl(t){return`vec2(${t[0]}, ${t[1]})`}function kl(t,e){return t[0]===e[0]&&t[1]===e[1]}function Xl(t,e){let r=t[0],n=t[1],i=e[0],s=e[1];return Math.abs(r-i)<=1e-6*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(n-s)<=1e-6*Math.max(1,Math.abs(n),Math.abs(s))}var Wl=Zo,Hl=Ho,Ll=Lo,zl=zo,Yl=Yo,Kl=Ko,Zl=jo,jl=function(){let t=Wo();return function(e,r,n,i,s,o){let a,c;for(r||(r=2),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],s(t,t,o),e[a]=t[0],e[a+1]=t[1];return e}}();function $o(t,e,r){let n=e[0],i=e[1],s=r[3]*n+r[7]*i||1;return t[0]=(r[0]*n+r[4]*i)/s,t[1]=(r[1]*n+r[5]*i)/s,t}function qr(t,e,r){let n=e[0],i=e[1],s=e[2],o=r[3]*n+r[7]*i+r[11]*s||1;return t[0]=(r[0]*n+r[4]*i+r[8]*s)/o,t[1]=(r[1]*n+r[5]*i+r[9]*s)/o,t[2]=(r[2]*n+r[6]*i+r[10]*s)/o,t}function qo(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[2]*i,t[1]=r[1]*n+r[3]*i,t[2]=e[2],t}var tt={};Me(tt,{add:()=>Gl,angle:()=>oi,bezier:()=>ph,ceil:()=>th,clone:()=>$l,copy:()=>Ql,create:()=>Qo,cross:()=>ti,dist:()=>bh,distance:()=>ra,div:()=>Ah,divide:()=>ea,dot:()=>Gn,equals:()=>mh,exactEquals:()=>Th,floor:()=>eh,forEach:()=>Ph,fromValues:()=>ql,hermite:()=>dh,inverse:()=>ch,len:()=>Mh,length:()=>Jo,lerp:()=>hh,max:()=>nh,min:()=>rh,mul:()=>Eh,multiply:()=>ta,negate:()=>ah,normalize:()=>lh,random:()=>uh,rotateX:()=>ni,rotateY:()=>ii,rotateZ:()=>si,round:()=>ih,scale:()=>sh,scaleAndAdd:()=>oh,set:()=>Jl,slerp:()=>fh,sqrDist:()=>Sh,sqrLen:()=>xh,squaredDistance:()=>na,squaredLength:()=>ia,str:()=>gh,sub:()=>Rh,subtract:()=>Go,transformMat3:()=>ei,transformMat4:()=>Ve,transformQuat:()=>ri,zero:()=>_h});function Qo(){let t=new k(3);return k!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function $l(t){let e=new k(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function Jo(t){let e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}function ql(t,e,r){let n=new k(3);return n[0]=t,n[1]=e,n[2]=r,n}function Ql(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Jl(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function Gl(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function Go(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function ta(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function ea(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function th(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}function eh(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}function rh(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function nh(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function ih(t,e){return t[0]=J(e[0]),t[1]=J(e[1]),t[2]=J(e[2]),t}function sh(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function oh(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}function ra(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}function na(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}function ia(t){let e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}function ah(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function ch(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function lh(t,e){let r=e[0],n=e[1],i=e[2],s=r*r+n*n+i*i;return s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t}function Gn(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function ti(t,e,r){let n=e[0],i=e[1],s=e[2],o=r[0],a=r[1],c=r[2];return t[0]=i*c-s*a,t[1]=s*o-n*c,t[2]=n*a-i*o,t}function hh(t,e,r,n){let i=e[0],s=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=s+n*(r[1]-s),t[2]=o+n*(r[2]-o),t}function fh(t,e,r,n){let i=Math.acos(Math.min(Math.max(Gn(e,r),-1),1)),s=Math.sin(i),o=Math.sin((1-n)*i)/s,a=Math.sin(n*i)/s;return t[0]=o*e[0]+a*r[0],t[1]=o*e[1]+a*r[1],t[2]=o*e[2]+a*r[2],t}function dh(t,e,r,n,i,s){let o=s*s,a=o*(2*s-3)+1,c=o*(s-2)+s,l=o*(s-1),h=o*(3-2*s);return t[0]=e[0]*a+r[0]*c+n[0]*l+i[0]*h,t[1]=e[1]*a+r[1]*c+n[1]*l+i[1]*h,t[2]=e[2]*a+r[2]*c+n[2]*l+i[2]*h,t}function ph(t,e,r,n,i,s){let o=1-s,a=o*o,c=s*s,l=a*o,h=3*s*a,f=3*c*o,d=c*s;return t[0]=e[0]*l+r[0]*h+n[0]*f+i[0]*d,t[1]=e[1]*l+r[1]*h+n[1]*f+i[1]*d,t[2]=e[2]*l+r[2]*h+n[2]*f+i[2]*d,t}function uh(t,e){e=e===void 0?1:e;let r=At()*2*Math.PI,n=At()*2-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}function Ve(t,e,r){let n=e[0],i=e[1],s=e[2],o=r[3]*n+r[7]*i+r[11]*s+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/o,t}function ei(t,e,r){let n=e[0],i=e[1],s=e[2];return t[0]=n*r[0]+i*r[3]+s*r[6],t[1]=n*r[1]+i*r[4]+s*r[7],t[2]=n*r[2]+i*r[5]+s*r[8],t}function ri(t,e,r){let n=r[0],i=r[1],s=r[2],o=r[3],a=e[0],c=e[1],l=e[2],h=i*l-s*c,f=s*a-n*l,d=n*c-i*a,p=i*d-s*f,_=s*h-n*d,g=n*f-i*h,u=o*2;return h*=u,f*=u,d*=u,p*=2,_*=2,g*=2,t[0]=a+h+p,t[1]=c+f+_,t[2]=l+d+g,t}function ni(t,e,r,n){let i=[],s=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],s[0]=i[0],s[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),s[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),t[0]=s[0]+r[0],t[1]=s[1]+r[1],t[2]=s[2]+r[2],t}function ii(t,e,r,n){let i=[],s=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],s[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),s[1]=i[1],s[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),t[0]=s[0]+r[0],t[1]=s[1]+r[1],t[2]=s[2]+r[2],t}function si(t,e,r,n){let i=[],s=[];return i[0]=e[0]-r[0],i[1]=e[1]-r[1],i[2]=e[2]-r[2],s[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),s[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),s[2]=i[2],t[0]=s[0]+r[0],t[1]=s[1]+r[1],t[2]=s[2]+r[2],t}function oi(t,e){let r=t[0],n=t[1],i=t[2],s=e[0],o=e[1],a=e[2],c=Math.sqrt((r*r+n*n+i*i)*(s*s+o*o+a*a)),l=c&&Gn(t,e)/c;return Math.acos(Math.min(Math.max(l,-1),1))}function _h(t){return t[0]=0,t[1]=0,t[2]=0,t}function gh(t){return`vec3(${t[0]}, ${t[1]}, ${t[2]})`}function Th(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function mh(t,e){let r=t[0],n=t[1],i=t[2],s=e[0],o=e[1],a=e[2];return Math.abs(r-s)<=1e-6*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-o)<=1e-6*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-a)<=1e-6*Math.max(1,Math.abs(i),Math.abs(a))}var Rh=Go,Eh=ta,Ah=ea,bh=ra,Sh=na,Mh=Jo,xh=ia,Ph=function(){let t=Qo();return function(e,r,n,i,s,o){let a,c;for(r||(r=3),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],s(t,t,o),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2];return e}}();var ai=[0,0,0],Qr,ct=class extends jr{static get ZERO(){return Qr||(Qr=new ct(0,0,0),Object.freeze(Qr)),Qr}constructor(e=0,r=0,n=0){super(-0,-0,-0),arguments.length===1&&Ct(e)?this.copy(e):(H.debug&&(Y(e),Y(r),Y(n)),this[0]=e,this[1]=r,this[2]=n)}set(e,r,n){return this[0]=e,this[1]=r,this[2]=n,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}fromObject(e){return H.debug&&(Y(e.x),Y(e.y),Y(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}get ELEMENTS(){return 3}get z(){return this[2]}set z(e){this[2]=Y(e)}angle(e){return oi(this,e)}cross(e){return ti(this,this,e),this.check()}rotateX({radians:e,origin:r=ai}){return ni(this,this,r,e),this.check()}rotateY({radians:e,origin:r=ai}){return ii(this,this,r,e),this.check()}rotateZ({radians:e,origin:r=ai}){return si(this,this,r,e),this.check()}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return Ve(this,this,e),this.check()}transformAsVector(e){return qr(this,this,e),this.check()}transformByMatrix3(e){return ei(this,this,e),this.check()}transformByMatrix2(e){return qo(this,this,e),this.check()}transformByQuaternion(e){return ri(this,this,e),this.check()}};var Jr=class extends le{toString(){let e="[";if(H.printRowMajor){e+="row-major:";for(let r=0;r<this.RANK;++r)for(let n=0;n<this.RANK;++n)e+=` ${this[n*this.RANK+r]}`}else{e+="column-major:";for(let r=0;r<this.ELEMENTS;++r)e+=` ${this[r]}`}return e+="]",e}getElementIndex(e,r){return r*this.RANK+e}getElement(e,r){return this[r*this.RANK+e]}setElement(e,r,n){return this[r*this.RANK+e]=Y(n),this}getColumn(e,r=new Array(this.RANK).fill(-0)){let n=e*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[n+i];return r}setColumn(e,r){let n=e*this.RANK;for(let i=0;i<this.RANK;++i)this[n+i]=r[i];return this}};var z={};Me(z,{add:()=>Qh,adjoint:()=>wh,clone:()=>Ih,copy:()=>yh,create:()=>Ch,decompose:()=>Hh,determinant:()=>hi,equals:()=>ef,exactEquals:()=>tf,frob:()=>qh,fromQuat:()=>Ti,fromQuat2:()=>kh,fromRotation:()=>Bh,fromRotationTranslation:()=>oa,fromRotationTranslationScale:()=>Lh,fromRotationTranslationScaleOrigin:()=>zh,fromScaling:()=>Fh,fromTranslation:()=>Dh,fromValues:()=>Nh,fromXRotation:()=>vh,fromYRotation:()=>Uh,fromZRotation:()=>Vh,frustum:()=>mi,getRotation:()=>Wh,getScaling:()=>aa,getTranslation:()=>Xh,identity:()=>sa,invert:()=>li,lookAt:()=>Ai,mul:()=>rf,multiply:()=>ke,multiplyScalar:()=>Jh,multiplyScalarAndAdd:()=>Gh,ortho:()=>Ei,orthoNO:()=>la,orthoZO:()=>Zh,perspective:()=>Ri,perspectiveFromFieldOfView:()=>Kh,perspectiveNO:()=>ca,perspectiveZO:()=>Yh,rotate:()=>pi,rotateX:()=>ui,rotateY:()=>_i,rotateZ:()=>gi,scale:()=>di,set:()=>Oh,str:()=>$h,sub:()=>nf,subtract:()=>ha,targetTo:()=>jh,translate:()=>fi,transpose:()=>ci});function Ch(){let t=new k(16);return k!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function Ih(t){let e=new k(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function yh(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Nh(t,e,r,n,i,s,o,a,c,l,h,f,d,p,_,g){let u=new k(16);return u[0]=t,u[1]=e,u[2]=r,u[3]=n,u[4]=i,u[5]=s,u[6]=o,u[7]=a,u[8]=c,u[9]=l,u[10]=h,u[11]=f,u[12]=d,u[13]=p,u[14]=_,u[15]=g,u}function Oh(t,e,r,n,i,s,o,a,c,l,h,f,d,p,_,g,u){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=s,t[5]=o,t[6]=a,t[7]=c,t[8]=l,t[9]=h,t[10]=f,t[11]=d,t[12]=p,t[13]=_,t[14]=g,t[15]=u,t}function sa(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ci(t,e){if(t===e){let r=e[1],n=e[2],i=e[3],s=e[6],o=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=s,t[11]=e[14],t[12]=i,t[13]=o,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function li(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],a=e[5],c=e[6],l=e[7],h=e[8],f=e[9],d=e[10],p=e[11],_=e[12],g=e[13],u=e[14],T=e[15],S=r*a-n*o,R=r*c-i*o,E=r*l-s*o,A=n*c-i*a,M=n*l-s*a,m=i*l-s*c,b=h*g-f*_,C=h*u-d*_,x=h*T-p*_,y=f*u-d*g,N=f*T-p*g,w=d*T-p*u,O=S*w-R*N+E*y+A*x-M*C+m*b;return O?(O=1/O,t[0]=(a*w-c*N+l*y)*O,t[1]=(i*N-n*w-s*y)*O,t[2]=(g*m-u*M+T*A)*O,t[3]=(d*M-f*m-p*A)*O,t[4]=(c*x-o*w-l*C)*O,t[5]=(r*w-i*x+s*C)*O,t[6]=(u*E-_*m-T*R)*O,t[7]=(h*m-d*E+p*R)*O,t[8]=(o*N-a*x+l*b)*O,t[9]=(n*x-r*N-s*b)*O,t[10]=(_*M-g*E+T*S)*O,t[11]=(f*E-h*M-p*S)*O,t[12]=(a*C-o*y-c*b)*O,t[13]=(r*y-n*C+i*b)*O,t[14]=(g*R-_*A-u*S)*O,t[15]=(h*A-f*R+d*S)*O,t):null}function wh(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],a=e[5],c=e[6],l=e[7],h=e[8],f=e[9],d=e[10],p=e[11],_=e[12],g=e[13],u=e[14],T=e[15],S=r*a-n*o,R=r*c-i*o,E=r*l-s*o,A=n*c-i*a,M=n*l-s*a,m=i*l-s*c,b=h*g-f*_,C=h*u-d*_,x=h*T-p*_,y=f*u-d*g,N=f*T-p*g,w=d*T-p*u;return t[0]=a*w-c*N+l*y,t[1]=i*N-n*w-s*y,t[2]=g*m-u*M+T*A,t[3]=d*M-f*m-p*A,t[4]=c*x-o*w-l*C,t[5]=r*w-i*x+s*C,t[6]=u*E-_*m-T*R,t[7]=h*m-d*E+p*R,t[8]=o*N-a*x+l*b,t[9]=n*x-r*N-s*b,t[10]=_*M-g*E+T*S,t[11]=f*E-h*M-p*S,t[12]=a*C-o*y-c*b,t[13]=r*y-n*C+i*b,t[14]=g*R-_*A-u*S,t[15]=h*A-f*R+d*S,t}function hi(t){let e=t[0],r=t[1],n=t[2],i=t[3],s=t[4],o=t[5],a=t[6],c=t[7],l=t[8],h=t[9],f=t[10],d=t[11],p=t[12],_=t[13],g=t[14],u=t[15],T=e*o-r*s,S=e*a-n*s,R=r*a-n*o,E=l*_-h*p,A=l*g-f*p,M=h*g-f*_,m=e*M-r*A+n*E,b=s*M-o*A+a*E,C=l*R-h*S+f*T,x=p*R-_*S+g*T;return c*m-i*b+u*C-d*x}function ke(t,e,r){let n=e[0],i=e[1],s=e[2],o=e[3],a=e[4],c=e[5],l=e[6],h=e[7],f=e[8],d=e[9],p=e[10],_=e[11],g=e[12],u=e[13],T=e[14],S=e[15],R=r[0],E=r[1],A=r[2],M=r[3];return t[0]=R*n+E*a+A*f+M*g,t[1]=R*i+E*c+A*d+M*u,t[2]=R*s+E*l+A*p+M*T,t[3]=R*o+E*h+A*_+M*S,R=r[4],E=r[5],A=r[6],M=r[7],t[4]=R*n+E*a+A*f+M*g,t[5]=R*i+E*c+A*d+M*u,t[6]=R*s+E*l+A*p+M*T,t[7]=R*o+E*h+A*_+M*S,R=r[8],E=r[9],A=r[10],M=r[11],t[8]=R*n+E*a+A*f+M*g,t[9]=R*i+E*c+A*d+M*u,t[10]=R*s+E*l+A*p+M*T,t[11]=R*o+E*h+A*_+M*S,R=r[12],E=r[13],A=r[14],M=r[15],t[12]=R*n+E*a+A*f+M*g,t[13]=R*i+E*c+A*d+M*u,t[14]=R*s+E*l+A*p+M*T,t[15]=R*o+E*h+A*_+M*S,t}function fi(t,e,r){let n=r[0],i=r[1],s=r[2],o,a,c,l,h,f,d,p,_,g,u,T;return e===t?(t[12]=e[0]*n+e[4]*i+e[8]*s+e[12],t[13]=e[1]*n+e[5]*i+e[9]*s+e[13],t[14]=e[2]*n+e[6]*i+e[10]*s+e[14],t[15]=e[3]*n+e[7]*i+e[11]*s+e[15]):(o=e[0],a=e[1],c=e[2],l=e[3],h=e[4],f=e[5],d=e[6],p=e[7],_=e[8],g=e[9],u=e[10],T=e[11],t[0]=o,t[1]=a,t[2]=c,t[3]=l,t[4]=h,t[5]=f,t[6]=d,t[7]=p,t[8]=_,t[9]=g,t[10]=u,t[11]=T,t[12]=o*n+h*i+_*s+e[12],t[13]=a*n+f*i+g*s+e[13],t[14]=c*n+d*i+u*s+e[14],t[15]=l*n+p*i+T*s+e[15]),t}function di(t,e,r){let n=r[0],i=r[1],s=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function pi(t,e,r,n){let i=n[0],s=n[1],o=n[2],a=Math.sqrt(i*i+s*s+o*o),c,l,h,f,d,p,_,g,u,T,S,R,E,A,M,m,b,C,x,y,N,w,O,U;return a<1e-6?null:(a=1/a,i*=a,s*=a,o*=a,l=Math.sin(r),c=Math.cos(r),h=1-c,f=e[0],d=e[1],p=e[2],_=e[3],g=e[4],u=e[5],T=e[6],S=e[7],R=e[8],E=e[9],A=e[10],M=e[11],m=i*i*h+c,b=s*i*h+o*l,C=o*i*h-s*l,x=i*s*h-o*l,y=s*s*h+c,N=o*s*h+i*l,w=i*o*h+s*l,O=s*o*h-i*l,U=o*o*h+c,t[0]=f*m+g*b+R*C,t[1]=d*m+u*b+E*C,t[2]=p*m+T*b+A*C,t[3]=_*m+S*b+M*C,t[4]=f*x+g*y+R*N,t[5]=d*x+u*y+E*N,t[6]=p*x+T*y+A*N,t[7]=_*x+S*y+M*N,t[8]=f*w+g*O+R*U,t[9]=d*w+u*O+E*U,t[10]=p*w+T*O+A*U,t[11]=_*w+S*O+M*U,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}function ui(t,e,r){let n=Math.sin(r),i=Math.cos(r),s=e[4],o=e[5],a=e[6],c=e[7],l=e[8],h=e[9],f=e[10],d=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*i+l*n,t[5]=o*i+h*n,t[6]=a*i+f*n,t[7]=c*i+d*n,t[8]=l*i-s*n,t[9]=h*i-o*n,t[10]=f*i-a*n,t[11]=d*i-c*n,t}function _i(t,e,r){let n=Math.sin(r),i=Math.cos(r),s=e[0],o=e[1],a=e[2],c=e[3],l=e[8],h=e[9],f=e[10],d=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*i-l*n,t[1]=o*i-h*n,t[2]=a*i-f*n,t[3]=c*i-d*n,t[8]=s*n+l*i,t[9]=o*n+h*i,t[10]=a*n+f*i,t[11]=c*n+d*i,t}function gi(t,e,r){let n=Math.sin(r),i=Math.cos(r),s=e[0],o=e[1],a=e[2],c=e[3],l=e[4],h=e[5],f=e[6],d=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*i+l*n,t[1]=o*i+h*n,t[2]=a*i+f*n,t[3]=c*i+d*n,t[4]=l*i-s*n,t[5]=h*i-o*n,t[6]=f*i-a*n,t[7]=d*i-c*n,t}function Dh(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}function Fh(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Bh(t,e,r){let n=r[0],i=r[1],s=r[2],o=Math.sqrt(n*n+i*i+s*s),a,c,l;return o<1e-6?null:(o=1/o,n*=o,i*=o,s*=o,c=Math.sin(e),a=Math.cos(e),l=1-a,t[0]=n*n*l+a,t[1]=i*n*l+s*c,t[2]=s*n*l-i*c,t[3]=0,t[4]=n*i*l-s*c,t[5]=i*i*l+a,t[6]=s*i*l+n*c,t[7]=0,t[8]=n*s*l+i*c,t[9]=i*s*l-n*c,t[10]=s*s*l+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}function vh(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Uh(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Vh(t,e){let r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function oa(t,e,r){let n=e[0],i=e[1],s=e[2],o=e[3],a=n+n,c=i+i,l=s+s,h=n*a,f=n*c,d=n*l,p=i*c,_=i*l,g=s*l,u=o*a,T=o*c,S=o*l;return t[0]=1-(p+g),t[1]=f+S,t[2]=d-T,t[3]=0,t[4]=f-S,t[5]=1-(h+g),t[6]=_+u,t[7]=0,t[8]=d+T,t[9]=_-u,t[10]=1-(h+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function kh(t,e){let r=new k(3),n=-e[0],i=-e[1],s=-e[2],o=e[3],a=e[4],c=e[5],l=e[6],h=e[7],f=n*n+i*i+s*s+o*o;return f>0?(r[0]=(a*o+h*n+c*s-l*i)*2/f,r[1]=(c*o+h*i+l*n-a*s)*2/f,r[2]=(l*o+h*s+a*i-c*n)*2/f):(r[0]=(a*o+h*n+c*s-l*i)*2,r[1]=(c*o+h*i+l*n-a*s)*2,r[2]=(l*o+h*s+a*i-c*n)*2),oa(t,e,r),t}function Xh(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function aa(t,e){let r=e[0],n=e[1],i=e[2],s=e[4],o=e[5],a=e[6],c=e[8],l=e[9],h=e[10];return t[0]=Math.sqrt(r*r+n*n+i*i),t[1]=Math.sqrt(s*s+o*o+a*a),t[2]=Math.sqrt(c*c+l*l+h*h),t}function Wh(t,e){let r=new k(3);aa(r,e);let n=1/r[0],i=1/r[1],s=1/r[2],o=e[0]*n,a=e[1]*i,c=e[2]*s,l=e[4]*n,h=e[5]*i,f=e[6]*s,d=e[8]*n,p=e[9]*i,_=e[10]*s,g=o+h+_,u=0;return g>0?(u=Math.sqrt(g+1)*2,t[3]=.25*u,t[0]=(f-p)/u,t[1]=(d-c)/u,t[2]=(a-l)/u):o>h&&o>_?(u=Math.sqrt(1+o-h-_)*2,t[3]=(f-p)/u,t[0]=.25*u,t[1]=(a+l)/u,t[2]=(d+c)/u):h>_?(u=Math.sqrt(1+h-o-_)*2,t[3]=(d-c)/u,t[0]=(a+l)/u,t[1]=.25*u,t[2]=(f+p)/u):(u=Math.sqrt(1+_-o-h)*2,t[3]=(a-l)/u,t[0]=(d+c)/u,t[1]=(f+p)/u,t[2]=.25*u),t}function Hh(t,e,r,n){e[0]=n[12],e[1]=n[13],e[2]=n[14];let i=n[0],s=n[1],o=n[2],a=n[4],c=n[5],l=n[6],h=n[8],f=n[9],d=n[10];r[0]=Math.sqrt(i*i+s*s+o*o),r[1]=Math.sqrt(a*a+c*c+l*l),r[2]=Math.sqrt(h*h+f*f+d*d);let p=1/r[0],_=1/r[1],g=1/r[2],u=i*p,T=s*_,S=o*g,R=a*p,E=c*_,A=l*g,M=h*p,m=f*_,b=d*g,C=u+E+b,x=0;return C>0?(x=Math.sqrt(C+1)*2,t[3]=.25*x,t[0]=(A-m)/x,t[1]=(M-S)/x,t[2]=(T-R)/x):u>E&&u>b?(x=Math.sqrt(1+u-E-b)*2,t[3]=(A-m)/x,t[0]=.25*x,t[1]=(T+R)/x,t[2]=(M+S)/x):E>b?(x=Math.sqrt(1+E-u-b)*2,t[3]=(M-S)/x,t[0]=(T+R)/x,t[1]=.25*x,t[2]=(A+m)/x):(x=Math.sqrt(1+b-u-E)*2,t[3]=(T-R)/x,t[0]=(M+S)/x,t[1]=(A+m)/x,t[2]=.25*x),t}function Lh(t,e,r,n){let i=e[0],s=e[1],o=e[2],a=e[3],c=i+i,l=s+s,h=o+o,f=i*c,d=i*l,p=i*h,_=s*l,g=s*h,u=o*h,T=a*c,S=a*l,R=a*h,E=n[0],A=n[1],M=n[2];return t[0]=(1-(_+u))*E,t[1]=(d+R)*E,t[2]=(p-S)*E,t[3]=0,t[4]=(d-R)*A,t[5]=(1-(f+u))*A,t[6]=(g+T)*A,t[7]=0,t[8]=(p+S)*M,t[9]=(g-T)*M,t[10]=(1-(f+_))*M,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function zh(t,e,r,n,i){let s=e[0],o=e[1],a=e[2],c=e[3],l=s+s,h=o+o,f=a+a,d=s*l,p=s*h,_=s*f,g=o*h,u=o*f,T=a*f,S=c*l,R=c*h,E=c*f,A=n[0],M=n[1],m=n[2],b=i[0],C=i[1],x=i[2],y=(1-(g+T))*A,N=(p+E)*A,w=(_-R)*A,O=(p-E)*M,U=(1-(d+T))*M,ut=(u+S)*M,Q=(_+R)*m,Je=(u-S)*m,Li=(1-(d+g))*m;return t[0]=y,t[1]=N,t[2]=w,t[3]=0,t[4]=O,t[5]=U,t[6]=ut,t[7]=0,t[8]=Q,t[9]=Je,t[10]=Li,t[11]=0,t[12]=r[0]+b-(y*b+O*C+Q*x),t[13]=r[1]+C-(N*b+U*C+Je*x),t[14]=r[2]+x-(w*b+ut*C+Li*x),t[15]=1,t}function Ti(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],o=r+r,a=n+n,c=i+i,l=r*o,h=n*o,f=n*a,d=i*o,p=i*a,_=i*c,g=s*o,u=s*a,T=s*c;return t[0]=1-f-_,t[1]=h+T,t[2]=d-u,t[3]=0,t[4]=h-T,t[5]=1-l-_,t[6]=p+g,t[7]=0,t[8]=d+u,t[9]=p-g,t[10]=1-l-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function mi(t,e,r,n,i,s,o){let a=1/(r-e),c=1/(i-n),l=1/(s-o);return t[0]=s*2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=s*2*c,t[6]=0,t[7]=0,t[8]=(r+e)*a,t[9]=(i+n)*c,t[10]=(o+s)*l,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*s*2*l,t[15]=0,t}function ca(t,e,r,n,i){let s=1/Math.tan(e/2);if(t[0]=s/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=s,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0){let o=1/(n-i);t[10]=(i+n)*o,t[14]=2*i*n*o}else t[10]=-1,t[14]=-2*n;return t}var Ri=ca;function Yh(t,e,r,n,i){let s=1/Math.tan(e/2);if(t[0]=s/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=s,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0){let o=1/(n-i);t[10]=i*o,t[14]=i*n*o}else t[10]=-1,t[14]=-n;return t}function Kh(t,e,r,n){let i=Math.tan(e.upDegrees*Math.PI/180),s=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),a=Math.tan(e.rightDegrees*Math.PI/180),c=2/(o+a),l=2/(i+s);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=l,t[6]=0,t[7]=0,t[8]=-((o-a)*c*.5),t[9]=(i-s)*l*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}function la(t,e,r,n,i,s,o){let a=1/(e-r),c=1/(n-i),l=1/(s-o);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+r)*a,t[13]=(i+n)*c,t[14]=(o+s)*l,t[15]=1,t}var Ei=la;function Zh(t,e,r,n,i,s,o){let a=1/(e-r),c=1/(n-i),l=1/(s-o);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=l,t[11]=0,t[12]=(e+r)*a,t[13]=(i+n)*c,t[14]=s*l,t[15]=1,t}function Ai(t,e,r,n){let i,s,o,a,c,l,h,f,d,p,_=e[0],g=e[1],u=e[2],T=n[0],S=n[1],R=n[2],E=r[0],A=r[1],M=r[2];return Math.abs(_-E)<1e-6&&Math.abs(g-A)<1e-6&&Math.abs(u-M)<1e-6?sa(t):(f=_-E,d=g-A,p=u-M,i=1/Math.sqrt(f*f+d*d+p*p),f*=i,d*=i,p*=i,s=S*p-R*d,o=R*f-T*p,a=T*d-S*f,i=Math.sqrt(s*s+o*o+a*a),i?(i=1/i,s*=i,o*=i,a*=i):(s=0,o=0,a=0),c=d*a-p*o,l=p*s-f*a,h=f*o-d*s,i=Math.sqrt(c*c+l*l+h*h),i?(i=1/i,c*=i,l*=i,h*=i):(c=0,l=0,h=0),t[0]=s,t[1]=c,t[2]=f,t[3]=0,t[4]=o,t[5]=l,t[6]=d,t[7]=0,t[8]=a,t[9]=h,t[10]=p,t[11]=0,t[12]=-(s*_+o*g+a*u),t[13]=-(c*_+l*g+h*u),t[14]=-(f*_+d*g+p*u),t[15]=1,t)}function jh(t,e,r,n){let i=e[0],s=e[1],o=e[2],a=n[0],c=n[1],l=n[2],h=i-r[0],f=s-r[1],d=o-r[2],p=h*h+f*f+d*d;p>0&&(p=1/Math.sqrt(p),h*=p,f*=p,d*=p);let _=c*d-l*f,g=l*h-a*d,u=a*f-c*h;return p=_*_+g*g+u*u,p>0&&(p=1/Math.sqrt(p),_*=p,g*=p,u*=p),t[0]=_,t[1]=g,t[2]=u,t[3]=0,t[4]=f*u-d*g,t[5]=d*_-h*u,t[6]=h*g-f*_,t[7]=0,t[8]=h,t[9]=f,t[10]=d,t[11]=0,t[12]=i,t[13]=s,t[14]=o,t[15]=1,t}function $h(t){return`mat4(${t[0]}, ${t[1]}, ${t[2]}, ${t[3]}, ${t[4]}, ${t[5]}, ${t[6]}, ${t[7]}, ${t[8]}, ${t[9]}, ${t[10]}, ${t[11]}, ${t[12]}, ${t[13]}, ${t[14]}, ${t[15]})`}function qh(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+t[6]*t[6]+t[7]*t[7]+t[8]*t[8]+t[9]*t[9]+t[10]*t[10]+t[11]*t[11]+t[12]*t[12]+t[13]*t[13]+t[14]*t[14]+t[15]*t[15])}function Qh(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t}function ha(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t}function Jh(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t}function Gh(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t}function tf(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]}function ef(t,e){let r=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],c=t[6],l=t[7],h=t[8],f=t[9],d=t[10],p=t[11],_=t[12],g=t[13],u=t[14],T=t[15],S=e[0],R=e[1],E=e[2],A=e[3],M=e[4],m=e[5],b=e[6],C=e[7],x=e[8],y=e[9],N=e[10],w=e[11],O=e[12],U=e[13],ut=e[14],Q=e[15];return Math.abs(r-S)<=1e-6*Math.max(1,Math.abs(r),Math.abs(S))&&Math.abs(n-R)<=1e-6*Math.max(1,Math.abs(n),Math.abs(R))&&Math.abs(i-E)<=1e-6*Math.max(1,Math.abs(i),Math.abs(E))&&Math.abs(s-A)<=1e-6*Math.max(1,Math.abs(s),Math.abs(A))&&Math.abs(o-M)<=1e-6*Math.max(1,Math.abs(o),Math.abs(M))&&Math.abs(a-m)<=1e-6*Math.max(1,Math.abs(a),Math.abs(m))&&Math.abs(c-b)<=1e-6*Math.max(1,Math.abs(c),Math.abs(b))&&Math.abs(l-C)<=1e-6*Math.max(1,Math.abs(l),Math.abs(C))&&Math.abs(h-x)<=1e-6*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(f-y)<=1e-6*Math.max(1,Math.abs(f),Math.abs(y))&&Math.abs(d-N)<=1e-6*Math.max(1,Math.abs(d),Math.abs(N))&&Math.abs(p-w)<=1e-6*Math.max(1,Math.abs(p),Math.abs(w))&&Math.abs(_-O)<=1e-6*Math.max(1,Math.abs(_),Math.abs(O))&&Math.abs(g-U)<=1e-6*Math.max(1,Math.abs(g),Math.abs(U))&&Math.abs(u-ut)<=1e-6*Math.max(1,Math.abs(u),Math.abs(ut))&&Math.abs(T-Q)<=1e-6*Math.max(1,Math.abs(T),Math.abs(Q))}var rf=ke,nf=ha;var yt={};Me(yt,{add:()=>lf,ceil:()=>hf,clone:()=>sf,copy:()=>af,create:()=>fa,cross:()=>Af,dist:()=>wf,distance:()=>_a,div:()=>Of,divide:()=>ua,dot:()=>Ef,equals:()=>If,exactEquals:()=>Cf,floor:()=>ff,forEach:()=>vf,fromValues:()=>of,inverse:()=>mf,len:()=>Ff,length:()=>Ta,lerp:()=>bf,max:()=>pf,min:()=>df,mul:()=>Nf,multiply:()=>pa,negate:()=>Tf,normalize:()=>Rf,random:()=>Sf,round:()=>uf,scale:()=>_f,scaleAndAdd:()=>gf,set:()=>cf,sqrDist:()=>Df,sqrLen:()=>Bf,squaredDistance:()=>ga,squaredLength:()=>ma,str:()=>Pf,sub:()=>yf,subtract:()=>da,transformMat4:()=>bi,transformQuat:()=>Mf,zero:()=>xf});function fa(){let t=new k(4);return k!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function sf(t){let e=new k(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function of(t,e,r,n){let i=new k(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}function af(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function cf(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}function lf(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}function da(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}function pa(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}function ua(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}function hf(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t}function ff(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t}function df(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}function pf(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}function uf(t,e){return t[0]=J(e[0]),t[1]=J(e[1]),t[2]=J(e[2]),t[3]=J(e[3]),t}function _f(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}function gf(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}function _a(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],s=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+s*s)}function ga(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],s=e[3]-t[3];return r*r+n*n+i*i+s*s}function Ta(t){let e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}function ma(t){let e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}function Tf(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}function mf(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}function Rf(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],o=r*r+n*n+i*i+s*s;return o>0&&(o=1/Math.sqrt(o)),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=s*o,t}function Ef(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Af(t,e,r,n){let i=r[0]*n[1]-r[1]*n[0],s=r[0]*n[2]-r[2]*n[0],o=r[0]*n[3]-r[3]*n[0],a=r[1]*n[2]-r[2]*n[1],c=r[1]*n[3]-r[3]*n[1],l=r[2]*n[3]-r[3]*n[2],h=e[0],f=e[1],d=e[2],p=e[3];return t[0]=f*l-d*c+p*a,t[1]=-(h*l)+d*o-p*s,t[2]=h*c-f*o+p*i,t[3]=-(h*a)+f*s-d*i,t}function bf(t,e,r,n){let i=e[0],s=e[1],o=e[2],a=e[3];return t[0]=i+n*(r[0]-i),t[1]=s+n*(r[1]-s),t[2]=o+n*(r[2]-o),t[3]=a+n*(r[3]-a),t}function Sf(t,e){e=e===void 0?1:e;let r,n,i,s,o,a;do r=At()*2-1,n=At()*2-1,o=r*r+n*n;while(o>=1);do i=At()*2-1,s=At()*2-1,a=i*i+s*s;while(a>=1);let c=Math.sqrt((1-o)/a);return t[0]=e*r,t[1]=e*n,t[2]=e*i*c,t[3]=e*s*c,t}function bi(t,e,r){let n=e[0],i=e[1],s=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*s+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*s+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*s+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*s+r[15]*o,t}function Mf(t,e,r){let n=e[0],i=e[1],s=e[2],o=r[0],a=r[1],c=r[2],l=r[3],h=l*n+a*s-c*i,f=l*i+c*n-o*s,d=l*s+o*i-a*n,p=-o*n-a*i-c*s;return t[0]=h*l+p*-o+f*-c-d*-a,t[1]=f*l+p*-a+d*-o-h*-c,t[2]=d*l+p*-c+h*-a-f*-o,t[3]=e[3],t}function xf(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}function Pf(t){return`vec4(${t[0]}, ${t[1]}, ${t[2]}, ${t[3]})`}function Cf(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]}function If(t,e){let r=t[0],n=t[1],i=t[2],s=t[3],o=e[0],a=e[1],c=e[2],l=e[3];return Math.abs(r-o)<=1e-6*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-a)<=1e-6*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(i-c)<=1e-6*Math.max(1,Math.abs(i),Math.abs(c))&&Math.abs(s-l)<=1e-6*Math.max(1,Math.abs(s),Math.abs(l))}var yf=da,Nf=pa,Of=ua,wf=_a,Df=ga,Ff=Ta,Bf=ma,vf=function(){let t=fa();return function(e,r,n,i,s,o){let a,c;for(r||(r=4),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,a=n;a<c;a+=r)t[0]=e[a],t[1]=e[a+1],t[2]=e[a+2],t[3]=e[a+3],s(t,t,o),e[a]=t[0],e[a+1]=t[1],e[a+2]=t[2],e[a+3]=t[3];return e}}();var xi;(function(t){t[t.COL0ROW0=0]="COL0ROW0",t[t.COL0ROW1=1]="COL0ROW1",t[t.COL0ROW2=2]="COL0ROW2",t[t.COL0ROW3=3]="COL0ROW3",t[t.COL1ROW0=4]="COL1ROW0",t[t.COL1ROW1=5]="COL1ROW1",t[t.COL1ROW2=6]="COL1ROW2",t[t.COL1ROW3=7]="COL1ROW3",t[t.COL2ROW0=8]="COL2ROW0",t[t.COL2ROW1=9]="COL2ROW1",t[t.COL2ROW2=10]="COL2ROW2",t[t.COL2ROW3=11]="COL2ROW3",t[t.COL3ROW0=12]="COL3ROW0",t[t.COL3ROW1=13]="COL3ROW1",t[t.COL3ROW2=14]="COL3ROW2",t[t.COL3ROW3=15]="COL3ROW3"})(xi||(xi={}));var Uf=45*Math.PI/180,Vf=1,Si=.1,Mi=500,kf=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Z=class extends Jr{static get IDENTITY(){return Wf()}static get ZERO(){return Xf()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return xi}constructor(e){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}set(e,r,n,i,s,o,a,c,l,h,f,d,p,_,g,u){return this[0]=e,this[1]=r,this[2]=n,this[3]=i,this[4]=s,this[5]=o,this[6]=a,this[7]=c,this[8]=l,this[9]=h,this[10]=f,this[11]=d,this[12]=p,this[13]=_,this[14]=g,this[15]=u,this.check()}setRowMajor(e,r,n,i,s,o,a,c,l,h,f,d,p,_,g,u){return this[0]=e,this[1]=s,this[2]=l,this[3]=p,this[4]=r,this[5]=o,this[6]=h,this[7]=_,this[8]=n,this[9]=a,this[10]=f,this[11]=g,this[12]=i,this[13]=c,this[14]=d,this[15]=u,this.check()}toRowMajor(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}identity(){return this.copy(kf)}fromObject(e){return this.check()}fromQuaternion(e){return Ti(this,e),this.check()}frustum(e){let{left:r,right:n,bottom:i,top:s,near:o=Si,far:a=Mi}=e;return a===1/0?Hf(this,r,n,i,s,o):mi(this,r,n,i,s,o,a),this.check()}lookAt(e){let{eye:r,center:n=[0,0,0],up:i=[0,1,0]}=e;return Ai(this,r,n,i),this.check()}ortho(e){let{left:r,right:n,bottom:i,top:s,near:o=Si,far:a=Mi}=e;return Ei(this,r,n,i,s,o,a),this.check()}orthographic(e){let{fovy:r=Uf,aspect:n=Vf,focalDistance:i=1,near:s=Si,far:o=Mi}=e;Ra(r);let a=r/2,c=i*Math.tan(a),l=c*n;return this.ortho({left:-l,right:l,bottom:-c,top:c,near:s,far:o})}perspective(e){let{fovy:r=45*Math.PI/180,aspect:n=1,near:i=.1,far:s=500}=e;return Ra(r),Ri(this,r,n,i,s),this.check()}determinant(){return hi(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],s=1/n[1],o=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*i,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*i,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e,r){e=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let n=this.getScale(r),i=1/n[0],s=1/n[1],o=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*i,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*i,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return ci(this,this),this.check()}invert(){return li(this,this),this.check()}multiplyLeft(e){return ke(this,e,this),this.check()}multiplyRight(e){return ke(this,this,e),this.check()}rotateX(e){return ui(this,this,e),this.check()}rotateY(e){return _i(this,this,e),this.check()}rotateZ(e){return gi(this,this,e),this.check()}rotateXYZ(e){return this.rotateX(e[0]).rotateY(e[1]).rotateZ(e[2])}rotateAxis(e,r){return pi(this,this,e,r),this.check()}scale(e){return di(this,this,Array.isArray(e)?e:[e,e,e]),this.check()}translate(e){return fi(this,this,e),this.check()}transform(e,r){return e.length===4?(r=bi(r||[-0,-0,-0,-0],e,this),Zr(r,4),r):this.transformAsPoint(e,r)}transformAsPoint(e,r){let{length:n}=e,i;switch(n){case 2:i=Jn(r||[-0,-0],e,this);break;case 3:i=Ve(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Zr(i,e.length),i}transformAsVector(e,r){let n;switch(e.length){case 2:n=$o(r||[-0,-0],e,this);break;case 3:n=qr(r||[-0,-0,-0],e,this);break;default:throw new Error("Illegal vector")}return Zr(n,e.length),n}transformPoint(e,r){return this.transformAsPoint(e,r)}transformVector(e,r){return this.transformAsPoint(e,r)}transformDirection(e,r){return this.transformAsVector(e,r)}makeRotationX(e){return this.identity().rotateX(e)}makeTranslation(e,r,n){return this.identity().translate([e,r,n])}},Gr,tn;function Xf(){return Gr||(Gr=new Z([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Gr)),Gr}function Wf(){return tn||(tn=new Z,Object.freeze(tn)),tn}function Ra(t){if(t>Math.PI*2)throw Error("expected radians")}function Hf(t,e,r,n,i,s){let o=2*s/(r-e),a=2*s/(i-n),c=(r+e)/(r-e),l=(i+n)/(i-n),h=-1,f=-1,d=-2*s;return t[0]=o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=c,t[9]=l,t[10]=h,t[11]=f,t[12]=0,t[13]=0,t[14]=d,t[15]=0,t}function fe(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function Pi(t,e){let r=t%e;return r<0?e+r:r}function Aa(t){return[t[12],t[13],t[14]]}function ba(t){return{left:he(t[3]+t[0],t[7]+t[4],t[11]+t[8],t[15]+t[12]),right:he(t[3]-t[0],t[7]-t[4],t[11]-t[8],t[15]-t[12]),bottom:he(t[3]+t[1],t[7]+t[5],t[11]+t[9],t[15]+t[13]),top:he(t[3]-t[1],t[7]-t[5],t[11]-t[9],t[15]-t[13]),near:he(t[3]+t[2],t[7]+t[6],t[11]+t[10],t[15]+t[14]),far:he(t[3]-t[2],t[7]-t[6],t[11]-t[10],t[15]-t[14])}}var Ea=new ct;function he(t,e,r,n){Ea.set(t,e,r);let i=Ea.len();return{distance:n/i,normal:new ct(-t/i,-e/i,-r/i)}}function Ci(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function Ut(t,e){let r=yt.transformMat4([],e,t);return yt.scale(r,r,1/r[3]),r}function Xe(t,e,r){return t<e?e:t>r?r:t}function Lf(t){return Math.log(t)*Math.LOG2E}var We=Math.log2||Lf;function lt(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}var ht=Math.PI,Sa=ht/4,et=ht/180,Ii=180/ht,de=512,en=4003e4,ft=85.051129,Ma=1.5;function yi(t){return We(t)}function rt(t){let[e,r]=t;lt(Number.isFinite(e)),lt(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude");let n=e*et,i=r*et,s=de*(n+ht)/(2*ht),o=de*(ht+Math.log(Math.tan(Sa+i*.5)))/(2*ht);return[s,o]}function j(t){let[e,r]=t,n=e/de*(2*ht)-ht,i=2*(Math.atan(Math.exp(r/de*(2*ht)-ht))-Sa);return[n*Ii,i*Ii]}function Ni(t){let{latitude:e}=t;lt(Number.isFinite(e));let r=Math.cos(e*et);return yi(en*r)-9}function He(t){let e=Math.cos(t*et);return de/en/e}function pe(t){let{latitude:e,longitude:r,highPrecision:n=!1}=t;lt(Number.isFinite(e)&&Number.isFinite(r));let i=de,s=Math.cos(e*et),o=i/360,a=o/s,c=i/en/s,l={unitsPerMeter:[c,c,c],metersPerUnit:[1/c,1/c,1/c],unitsPerDegree:[o,a,c],degreesPerUnit:[1/o,1/a,1/c]};if(n){let h=et*Math.tan(e*et)/s,f=o*h/2,d=i/en*h,p=d/a*c;l.unitsPerDegree2=[0,f,d],l.unitsPerMeter2=[p,0,p]}return l}function Oi(t,e){let[r,n,i]=t,[s,o,a]=e,{unitsPerMeter:c,unitsPerMeter2:l}=pe({longitude:r,latitude:n,highPrecision:!0}),h=rt(t);h[0]+=s*(c[0]+l[0]*o),h[1]+=o*(c[1]+l[1]*o);let f=j(h),d=(i||0)+(a||0);return Number.isFinite(i)||Number.isFinite(a)?[f[0],f[1],d]:f}function rn(t){let{height:e,pitch:r,bearing:n,altitude:i,scale:s,center:o}=t,a=Ci();z.translate(a,a,[0,0,-i]),z.rotateX(a,a,-r*et),z.rotateZ(a,a,n*et);let c=s/e;return z.scale(a,a,[c,c,c]),o&&z.translate(a,a,tt.negate([],o)),a}function wi(t){let{width:e,height:r,altitude:n,pitch:i=0,offset:s,center:o,scale:a,nearZMultiplier:c=1,farZMultiplier:l=1}=t,{fovy:h=Nt(Ma)}=t;n!==void 0&&(h=Nt(n));let f=h*et,d=i*et,p=zt(h),_=p;o&&(_+=o[2]*a/Math.cos(d)/r);let g=f*(.5+(s?s[1]:0)/r),u=Math.sin(g)*_/Math.sin(Xe(Math.PI/2-d-g,.01,Math.PI-.01)),T=Math.sin(d)*u+_,S=_*10,R=Math.min(T*l,S);return{fov:f,aspect:e/r,focalDistance:p,near:c,far:R}}function Nt(t){return 2*Math.atan(.5/t)*Ii}function zt(t){return .5/Math.tan(.5*t*et)}function nn(t,e){let[r,n,i=0]=t;return lt(Number.isFinite(r)&&Number.isFinite(n)&&Number.isFinite(i)),Ut(e,[r,n,i,1])}function ue(t,e,r=0){let[n,i,s]=t;if(lt(Number.isFinite(n)&&Number.isFinite(i),"invalid pixel coordinate"),Number.isFinite(s))return Ut(e,[n,i,s,1]);let o=Ut(e,[n,i,0,1]),a=Ut(e,[n,i,1,1]),c=o[2],l=a[2],h=c===l?0:((r||0)-c)/(l-c);return G.lerp([],o,a,h)}function sn(t){let{width:e,height:r,bounds:n,minExtent:i=0,maxZoom:s=24,offset:o=[0,0]}=t,[[a,c],[l,h]]=n,f=zf(t.padding),d=rt([a,Xe(h,-ft,ft)]),p=rt([l,Xe(c,-ft,ft)]),_=[Math.max(Math.abs(p[0]-d[0]),i),Math.max(Math.abs(p[1]-d[1]),i)],g=[e-f.left-f.right-Math.abs(o[0])*2,r-f.top-f.bottom-Math.abs(o[1])*2];lt(g[0]>0&&g[1]>0);let u=g[0]/_[0],T=g[1]/_[1],S=(f.right-f.left)/2/u,R=(f.top-f.bottom)/2/T,E=[(p[0]+d[0])/2+S,(p[1]+d[1])/2+R],A=j(E),M=Math.min(s,We(Math.abs(Math.min(u,T))));return lt(Number.isFinite(M)),{longitude:A[0],latitude:A[1],zoom:M}}function zf(t=0){return typeof t=="number"?{top:t,bottom:t,left:t,right:t}:(lt(Number.isFinite(t.top)&&Number.isFinite(t.bottom)&&Number.isFinite(t.left)&&Number.isFinite(t.right)),t)}var xa=Math.PI/180;function on(t,e=0){let{width:r,height:n,unproject:i}=t,s={targetZ:e},o=i([0,n],s),a=i([r,n],s),c,l,h=t.fovy?.5*t.fovy*xa:Math.atan(.5/t.altitude),f=(90-t.pitch)*xa;return h>f-.01?(c=Pa(t,0,e),l=Pa(t,r,e)):(c=i([0,0],s),l=i([r,0],s)),[o,a,l,c]}function Pa(t,e,r){let{pixelUnprojectionMatrix:n}=t,i=Ut(n,[e,0,1,1]),s=Ut(n,[e,t.height,1,1]),a=(r*t.distanceScales.unitsPerMeter[2]-i[2])/(s[2]-i[2]),c=G.lerp([],i,s,a),l=j(c);return l.push(r),l}var v;(function(t){t[t.Start=1]="Start",t[t.Move=2]="Move",t[t.End=4]="End",t[t.Cancel=8]="Cancel"})(v||(v={}));var W;(function(t){t[t.None=0]="None",t[t.Left=1]="Left",t[t.Right=2]="Right",t[t.Up=4]="Up",t[t.Down=8]="Down",t[t.Horizontal=3]="Horizontal",t[t.Vertical=12]="Vertical",t[t.All=15]="All"})(W||(W={}));var P;(function(t){t[t.Possible=1]="Possible",t[t.Began=2]="Began",t[t.Changed=4]="Changed",t[t.Ended=8]="Ended",t[t.Recognized=8]="Recognized",t[t.Cancelled=16]="Cancelled",t[t.Failed=32]="Failed"})(P||(P={}));var Le="manipulation",an="none",Di="pan-x",Fi="pan-y";function ze(t,e){let r=e.x-t.x,n=e.y-t.y;return Math.sqrt(r*r+n*n)}var im={pointerdown:v.Start,pointermove:v.Move,pointerup:v.End,pointercancel:v.Cancel,pointerout:v.Cancel};var ed=1;function Ia(){return ed++}function Bi(t){return t&P.Cancelled?"cancel":t&P.Ended?"end":t&P.Changed?"move":t&P.Began?"start":""}var dt=class{constructor(e){this.options=e,this.id=Ia(),this.state=P.Possible,this.simultaneous={},this.requireFail=[]}set(e){return Object.assign(this.options,e),this.manager.touchAction.update(),this}recognizeWith(e){if(Array.isArray(e)){for(let i of e)this.recognizeWith(i);return this}let r;if(typeof e=="string"){if(r=this.manager.get(e),!r)throw new Error(`Cannot find recognizer ${e}`)}else r=e;let{simultaneous:n}=this;return n[r.id]||(n[r.id]=r,r.recognizeWith(this)),this}dropRecognizeWith(e){if(Array.isArray(e)){for(let n of e)this.dropRecognizeWith(n);return this}let r;return typeof e=="string"?r=this.manager.get(e):r=e,r&&delete this.simultaneous[r.id],this}requireFailure(e){if(Array.isArray(e)){for(let i of e)this.requireFailure(i);return this}let r;if(typeof e=="string"){if(r=this.manager.get(e),!r)throw new Error(`Cannot find recognizer ${e}`)}else r=e;let{requireFail:n}=this;return n.indexOf(r)===-1&&(n.push(r),r.requireFailure(this)),this}dropRequireFailure(e){if(Array.isArray(e)){for(let n of e)this.dropRequireFailure(n);return this}let r;if(typeof e=="string"?r=this.manager.get(e):r=e,r){let n=this.requireFail.indexOf(r);n>-1&&this.requireFail.splice(n,1)}return this}hasRequireFailures(){return Boolean(this.requireFail.find(e=>e.options.enable))}canRecognizeWith(e){return Boolean(this.simultaneous[e.id])}emit(e){if(!e)return;let{state:r}=this;r<P.Ended&&this.manager.emit(this.options.event+Bi(r),e),this.manager.emit(this.options.event,e),e.additionalEvent&&this.manager.emit(e.additionalEvent,e),r>=P.Ended&&this.manager.emit(this.options.event+Bi(r),e)}tryEmit(e){this.canEmit()?this.emit(e):this.state=P.Failed}canEmit(){let e=0;for(;e<this.requireFail.length;){if(!(this.requireFail[e].state&(P.Failed|P.Possible)))return!1;e++}return!0}recognize(e){let r={...e};if(!this.options.enable){this.reset(),this.state=P.Failed;return}this.state&(P.Recognized|P.Cancelled|P.Failed)&&(this.state=P.Possible),this.state=this.process(r),this.state&(P.Began|P.Changed|P.Ended|P.Cancelled)&&this.tryEmit(r)}getEventNames(){return[this.options.event]}reset(){}};var Ot=class extends dt{attrTest(e){let r=this.options.pointers;return r===0||e.pointers.length===r}process(e){let{state:r}=this,{eventType:n}=e,i=r&(P.Began|P.Changed),s=this.attrTest(e);return i&&(n&v.Cancel||!s)?r|P.Cancelled:i||s?n&v.End?r|P.Ended:r&P.Began?r|P.Changed:P.Began:P.Failed}};var rd=["","start","move","end","cancel"],_e=class extends dt{constructor(e={}){super({enable:!0,event:"doubleclickdrag",pointers:1,interval:500,time:350,threshold:28,dragThreshold:1,pixelsPerScale:120,...e}),this._tapStart=null,this._lastTap=null,this._drag=null,this._emittedStart=!1}getTouchAction(){return[Le]}getEventNames(){return rd.map(e=>this.options.event+e)}process(e){let{options:r}=this;return e.pointers.length===r.pointers?e.eventType&v.Start?this._handleStart(e):e.eventType&v.Move?this._handleMove(e):e.eventType&v.Cancel?this._handleEnd(e,!0):e.eventType&v.End?this._handleEnd(e,!1):P.Failed:(this.reset(),P.Failed)}reset(){this._tapStart=null,this._lastTap=null,this._drag=null,this._emittedStart=!1}emit(e){if(e){if(this.state===P.Began){if(!this._drag?.active||this._emittedStart)return;this._emittedStart=!0,this.manager.emit(`${this.options.event}start`,e),this.manager.emit(this.options.event,e);return}if(this.state===P.Changed){if(!this._emittedStart)return;this.manager.emit(`${this.options.event}move`,e),this.manager.emit(this.options.event,e);return}if(this.state===P.Ended){if(!this._emittedStart)return;this.manager.emit(this.options.event,e),this.manager.emit(`${this.options.event}end`,e),this._emittedStart=!1;return}if(this.state===P.Cancelled){if(!this._emittedStart)return;this.manager.emit(this.options.event,e),this.manager.emit(`${this.options.event}cancel`,e),this._emittedStart=!1}}}_handleStart(e){let r=this._getPointerId(e);return this._lastTap&&this._isTapMatch(e,this._lastTap)?(this._tapStart=null,this._lastTap=null,this._drag={startCenter:e.center,pointerId:r,active:!1},this._emittedStart=!1,P.Began):(this._tapStart={center:e.center,timeStamp:e.timeStamp,pointerId:r},this._lastTap=null,this._drag=null,this._emittedStart=!1,P.Failed)}_handleMove(e){if(!this._drag||!this._isSamePointer(e,this._drag.pointerId))return P.Failed;let r=this._drag.startCenter.y-e.center.y;return!this._drag.active&&Math.abs(r)<this.options.dragThreshold?P.Began:(this._drag.active=!0,e.scale=Math.pow(2,r/this.options.pixelsPerScale),this._emittedStart?P.Changed:P.Began)}_handleEnd(e,r){if(this._drag&&this._isSamePointer(e,this._drag.pointerId)){let{active:n,startCenter:i}=this._drag;if(this._drag=null,this._tapStart=null,this._lastTap=null,!n)return this._emittedStart=!1,P.Failed;let s=i.y-e.center.y;return e.scale=Math.pow(2,s/this.options.pixelsPerScale),r?P.Cancelled:P.Ended}return!this._tapStart||!this._isSamePointer(e,this._tapStart.pointerId)?(r&&this.reset(),P.Failed):(this._isValidTap(e)?this._lastTap={center:e.center,timeStamp:e.timeStamp,pointerId:this._tapStart.pointerId}:this._lastTap=null,this._tapStart=null,P.Failed)}_isTapMatch(e,r){return e.timeStamp-r.timeStamp<=this.options.interval&&ze(e.center,r.center)<=this.options.threshold}_isValidTap(e){return e.deltaTime<=this.options.time&&e.distance<=this.options.threshold}_getPointerId(e){return"pointerId"in e.srcEvent?e.srcEvent.pointerId:null}_isSamePointer(e,r){return r===null||this._getPointerId(e)===r}};var Yt=class extends dt{constructor(e={}){super({enable:!0,event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10,...e}),this.pTime=null,this.pCenter=null,this._timer=null,this._input=null,this.count=0}getTouchAction(){return[Le]}process(e){let{options:r}=this,n=e.pointers.length===r.pointers,i=e.distance<r.threshold,s=e.deltaTime<r.time;if(this.reset(),e.eventType&v.Start&&this.count===0)return this.failTimeout();if(i&&s&&n){if(e.eventType!==v.End)return this.failTimeout();let o=this.pTime?e.timeStamp-this.pTime<r.interval:!0,a=!this.pCenter||ze(this.pCenter,e.center)<r.posThreshold;if(this.pTime=e.timeStamp,this.pCenter=e.center,!a||!o?this.count=1:this.count+=1,this._input=e,this.count%r.taps===0)return this.hasRequireFailures()?(this._timer=setTimeout(()=>{this.state=P.Recognized,this.tryEmit(this._input)},r.interval),P.Began):P.Recognized}return P.Failed}failTimeout(){return this._timer=setTimeout(()=>{this.state=P.Failed},this.options.interval),P.Failed}reset(){clearTimeout(this._timer)}emit(e){this.state===P.Recognized&&(e.tapCount=this.count,this.manager.emit(this.options.event,e))}};var nd=["","start","move","end","cancel","up","down","left","right"],Vt=class extends Ot{constructor(e={}){super({enable:!0,pointers:1,event:"pan",threshold:10,direction:W.All,...e}),this.pX=null,this.pY=null}getTouchAction(){let{options:{direction:e}}=this,r=[];return e&W.Horizontal&&r.push(Fi),e&W.Vertical&&r.push(Di),r}getEventNames(){return nd.map(e=>this.options.event+e)}directionTest(e){let{options:r}=this,n=!0,{distance:i}=e,{direction:s}=e,o=e.deltaX,a=e.deltaY;return s&r.direction||(r.direction&W.Horizontal?(s=o===0?W.None:o<0?W.Left:W.Right,n=o!==this.pX,i=Math.abs(e.deltaX)):(s=a===0?W.None:a<0?W.Up:W.Down,n=a!==this.pY,i=Math.abs(e.deltaY))),e.direction=s,n&&i>r.threshold&&Boolean(s&r.direction)}attrTest(e){return super.attrTest(e)&&(Boolean(this.state&P.Began)||!(this.state&P.Began)&&this.directionTest(e))}emit(e){this.pX=e.deltaX,this.pY=e.deltaY;let r=W[e.direction].toLowerCase();r&&(e.additionalEvent=this.options.event+r),super.emit(e)}};var id=["","start","move","end","cancel","in","out"],ge=class extends Ot{constructor(e={}){super({enable:!0,event:"pinch",threshold:0,pointers:2,...e})}getTouchAction(){return[an]}getEventNames(){return id.map(e=>this.options.event+e)}attrTest(e){return super.attrTest(e)&&(Math.abs(e.scale-1)>this.options.threshold||Boolean(this.state&P.Began))}emit(e){if(e.scale!==1){let r=e.scale<1?"in":"out";e.additionalEvent=this.options.event+r}super.emit(e)}};var ya=typeof navigator<"u"&&navigator.userAgent?navigator.userAgent.toLowerCase():"",S0=typeof window<"u"?window:global;var C0=ya.indexOf("firefox")!==-1;var Na={DEFAULT:"default",LNGLAT:"lnglat",METER_OFFSETS:"meter-offsets",LNGLAT_OFFSETS:"lnglat-offsets",CARTESIAN:"cartesian"};Object.defineProperty(Na,"IDENTITY",{get:()=>(ce.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")(),Na.CARTESIAN)});var Te={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0};var i3={multipan:[Vt,{threshold:10,direction:W.Vertical,pointers:2}],pinch:[ge,{},null,["multipan"]],pan:[Vt,{threshold:1},["pinch"],["multipan"]],dblclick:[Yt,{event:"dblclick",taps:2,enable:!1}],dblclickdrag:[_e,{event:"dblclickdrag",enable:!1},["dblclick"],null],click:[Yt,{event:"click"},["dblclickdrag"],["dblclick","dblclickdrag"]]};var ld=Math.PI/180,hd=fe(),Oa=[0,0,0],fd={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};function dd({width:t,height:e,orthographic:r,fovyRadians:n,focalDistance:i,padding:s,near:o,far:a}){let c=t/e,l=r?new Z().orthographic({fovy:n,aspect:c,focalDistance:i,near:o,far:a}):new Z().perspective({fovy:n,aspect:c,near:o,far:a});if(s){let{left:h=0,right:f=0,top:d=0,bottom:p=0}=s,_=K((h+t-f)/2,0,t)-t/2,g=K((d+e-p)/2,0,e)-e/2;l[8]-=_*2/t,l[9]+=g*2/e}return l}var Ui=class{constructor(e={}){this._frustumPlanes={};this.id=e.id||this.constructor.displayName||"viewport",this.x=e.x||0,this.y=e.y||0,this.width=e.width||1,this.height=e.height||1,this.zoom=e.zoom||0,this.padding=e.padding,this.distanceScales=e.distanceScales||fd,this.focalDistance=e.focalDistance||1,this.position=e.position||Oa,this.modelMatrix=e.modelMatrix||null;let{longitude:r,latitude:n}=e;this.isGeospatial=Number.isFinite(n)&&Number.isFinite(r),this._initProps(e),this._initMatrices(e),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get subViewports(){return null}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Te.WEB_MERCATOR:Te.WEB_MERCATOR_AUTO_OFFSET:Te.IDENTITY}equals(e){return e instanceof Ui?this===e?!0:e.width===this.width&&e.height===this.height&&e.scale===this.scale&&It(e.projectionMatrix,this.projectionMatrix)&&It(e.viewMatrix,this.viewMatrix):!1}project(e,{topLeft:r=!0}={}){let n=this.projectPosition(e),i=nn(n,this.pixelProjectionMatrix),[s,o]=i,a=r?o:this.height-o;return e.length===2?[s,a]:[s,a,i[2]]}unproject(e,{topLeft:r=!0,targetZ:n}={}){let[i,s,o]=e,a=r?s:this.height-s,c=n&&n*this.distanceScales.unitsPerMeter[2],l=ue([i,a,o],this.pixelUnprojectionMatrix,c),[h,f,d]=this.unprojectPosition(l);return Number.isFinite(o)?[h,f,d]:Number.isFinite(n)?[h,f,n]:[h,f]}projectPosition(e){let[r,n]=this.projectFlat(e),i=(e[2]||0)*this.distanceScales.unitsPerMeter[2];return[r,n,i]}unprojectPosition(e){let[r,n]=this.unprojectFlat(e),i=(e[2]||0)*this.distanceScales.metersPerUnit[2];return[r,n,i]}projectFlat(e){if(this.isGeospatial){let r=rt(e);return r[1]=K(r[1],-318,830),r}return e}unprojectFlat(e){return this.isGeospatial?j(e):e}getBounds(e={}){let r={targetZ:e.z||0},n=this.unproject([0,0],r),i=this.unproject([this.width,0],r),s=this.unproject([0,this.height],r),o=this.unproject([this.width,this.height],r);return[Math.min(n[0],i[0],s[0],o[0]),Math.min(n[1],i[1],s[1],o[1]),Math.max(n[0],i[0],s[0],o[0]),Math.max(n[1],i[1],s[1],o[1])]}getDistanceScales(e){return e&&this.isGeospatial?pe({longitude:e[0],latitude:e[1],highPrecision:!0}):this.distanceScales}containsPixel({x:e,y:r,width:n=1,height:i=1}){return e<this.x+this.width&&this.x<e+n&&r<this.y+this.height&&this.y<r+i}getFrustumPlanes(){return this._frustumPlanes.near?this._frustumPlanes:(Object.assign(this._frustumPlanes,ba(this.viewProjectionMatrix)),this._frustumPlanes)}panByPosition(e,r,n){return null}_initProps(e){let r=e.longitude,n=e.latitude;this.isGeospatial&&(Number.isFinite(e.zoom)||(this.zoom=Ni({latitude:n})+Math.log2(this.focalDistance)),this.distanceScales=e.distanceScales||pe({latitude:n,longitude:r}));let i=Math.pow(2,this.zoom);this.scale=i;let{position:s,modelMatrix:o}=e,a=Oa;if(s&&(a=o?new Z(o).transformAsVector(s,[]):s),this.isGeospatial){let c=this.projectPosition([r,n,0]);this.center=new ct(a).scale(this.distanceScales.unitsPerMeter).add(c)}else this.center=this.projectPosition(a)}_initMatrices(e){let{viewMatrix:r=hd,projectionMatrix:n=null,orthographic:i=!1,fovyRadians:s,fovy:o=75,near:a=.1,far:c=1e3,padding:l=null,focalDistance:h=1}=e;this.viewMatrixUncentered=r,this.viewMatrix=new Z().multiplyRight(r).translate(new ct(this.center).negate()),this.projectionMatrix=n||dd({width:this.width,height:this.height,orthographic:i,fovyRadians:s||o*ld,focalDistance:h,padding:l,near:a,far:c});let f=fe();z.multiply(f,f,this.projectionMatrix),z.multiply(f,f,this.viewMatrix),this.viewProjectionMatrix=f,this.viewMatrixInverse=z.invert([],this.viewMatrix)||this.viewMatrix,this.cameraPosition=Aa(this.viewMatrixInverse);let d=fe(),p=fe();z.scale(d,d,[this.width/2,-this.height/2,1]),z.translate(d,d,[1,-1,0]),z.multiply(p,d,this.viewProjectionMatrix),this.pixelProjectionMatrix=p,this.pixelUnprojectionMatrix=z.invert(fe(),this.pixelProjectionMatrix),this.pixelUnprojectionMatrix||ce.warn("Pixel project matrix not invertible")()}},kt=Ui;kt.displayName="Viewport";var cn=class extends kt{constructor(r={}){let{latitude:n=0,longitude:i=0,zoom:s=0,pitch:o=0,bearing:a=0,nearZMultiplier:c=.1,farZMultiplier:l=1.01,nearZ:h,farZ:f,orthographic:d=!1,projectionMatrix:p,repeat:_=!1,worldOffset:g=0,position:u,padding:T,legacyMeterSizes:S=!1}=r,{width:R,height:E,altitude:A=1.5}=r,M=Math.pow(2,s);R=R||1,E=E||1;let m,b=null;if(p)A=p[5]/2,m=Nt(A);else{r.fovy?(m=r.fovy,A=zt(m)):m=Nt(A);let x;if(T){let{top:y=0,bottom:N=0}=T;x=[0,K((y+E-N)/2,0,E)-E/2]}b=wi({width:R,height:E,scale:M,center:u&&[0,0,u[2]*He(n)],offset:x,pitch:o,fovy:m,nearZMultiplier:c,farZMultiplier:l}),Number.isFinite(h)&&(b.near=h),Number.isFinite(f)&&(b.far=f)}let C=rn({height:E,pitch:o,bearing:a,scale:M,altitude:A});g&&(C=new Z().translate([512*g,0,0]).multiplyLeft(C));super({...r,width:R,height:E,viewMatrix:C,longitude:i,latitude:n,zoom:s,...b,fovy:m,focalDistance:A});this.latitude=n,this.longitude=i,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=A,this.fovy=m,this.orthographic=d,this._subViewports=_?[]:null,this._pseudoMeters=S,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){let r=this.getBounds(),n=Math.floor((r[0]+180)/360),i=Math.ceil((r[2]-180)/360);for(let s=n;s<=i;s++){let o=s?new cn({...this,worldOffset:s}):this;this._subViewports.push(o)}}return this._subViewports}projectPosition(r){if(this._pseudoMeters)return super.projectPosition(r);let[n,i]=this.projectFlat(r),s=(r[2]||0)*He(r[1]);return[n,i,s]}unprojectPosition(r){if(this._pseudoMeters)return super.unprojectPosition(r);let[n,i]=this.unprojectFlat(r),s=(r[2]||0)/He(i);return[n,i,s]}addMetersToLngLat(r,n){return Oi(r,n)}panByPosition(r,n,i){let s=ue(n,this.pixelUnprojectionMatrix),o=this.projectFlat(r),a=G.add([],o,G.negate([],s)),c=G.add([],this.center,a),[l,h]=this.unprojectFlat(c);return{longitude:l,latitude:h}}panByPosition3D(r,n){let i=r[2]||0,s=G.sub([],r,this.unproject(n,{targetZ:i}));return{longitude:this.longitude+s[0],latitude:this.latitude+s[1]}}getBounds(r={}){let n=on(this,r.z||0);return[Math.min(n[0][0],n[1][0],n[2][0],n[3][0]),Math.min(n[0][1],n[1][1],n[2][1],n[3][1]),Math.max(n[0][0],n[1][0],n[2][0],n[3][0]),Math.max(n[0][1],n[1][1],n[2][1],n[3][1])]}fitBounds(r,n={}){let{width:i,height:s}=this,{longitude:o,latitude:a,zoom:c}=sn({width:i,height:s,bounds:r,...n});return new cn({width:i,height:s,longitude:o,latitude:a,zoom:c})}},me=cn;me.displayName="WebMercatorViewport";var Ye=class{constructor(e){this._inProgress=!1;this._handle=null;this.time=0;this.settings={duration:0};this._timeline=e}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=e,this._inProgress=!0,this.settings.onStart?.(this)}end(){this._inProgress&&(this._timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd?.(this))}cancel(){this._inProgress&&(this.settings.onInterrupt?.(this),this._timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(this._handle===null){let{_timeline:e,settings:r}=this;this._handle=e.addChannel({delay:e.getTime(),duration:r.duration})}return this.time=this._timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate?.(this),this._timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}};var wa=()=>{},Vi={BREAK:1,SNAP_TO_END:2,IGNORE:3},pd=t=>t,ud=Vi.BREAK,Ke=class{constructor(e){this._onTransitionUpdate=e=>{let{time:r,settings:{interpolator:n,startProps:i,endProps:s,duration:o,easing:a}}=e,c=a(r/o),l=n.interpolateProps(i,s,c);this.propsInTransition=this.getControllerState({...this.props,...l}).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})};this.getControllerState=e.getControllerState,this.propsInTransition=null,this.transition=new Ye(e.timeline),this.onViewStateChange=e.onViewStateChange||wa,this.onStateChange=e.onStateChange||wa}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let r=!1,n=this.props;if(this.props=e,!n||this._shouldIgnoreViewportChange(n,e))return!1;if(this._isTransitionEnabled(e)){let i=n;if(this.transition.inProgress){let{interruption:s,endProps:o}=this.transition.settings;i={...n,...s===Vi.SNAP_TO_END?o:this.propsInTransition||n}}this._triggerTransition(i,e),r=!0}else this.transition.cancel();return r}updateTransition(){this.transition.update()}_isTransitionEnabled(e){let{transitionDuration:r,transitionInterpolator:n}=e;return(r>0||r==="auto")&&Boolean(n)}_isUpdateDueToCurrentTransition(e){return this.transition.inProgress&&this.propsInTransition?this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition):!1}_shouldIgnoreViewportChange(e,r){return this.transition.inProgress?this.transition.settings.interruption===Vi.IGNORE||this._isUpdateDueToCurrentTransition(r):this._isTransitionEnabled(r)?r.transitionInterpolator.arePropsEqual(e,r):!0}_triggerTransition(e,r){let n=this.getControllerState(e),i=this.getControllerState(r).shortestPathFrom(n),s=r.transitionInterpolator,o=s.getDuration?s.getDuration(e,r):r.transitionDuration;if(o===0)return;let a=s.initializeProps(e,i);this.propsInTransition={};let c={duration:o,easing:r.transitionEasing||pd,interpolator:s,interruption:r.transitionInterruption||ud,startProps:a.start,endProps:a.end,onStart:r.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(r.onTransitionInterrupt),onEnd:this._onTransitionEnd(r.onTransitionEnd)};this.transition.start(c),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return r=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e?.(r)}}};function Kt(t,e){if(!t)throw new Error(e||"deck.gl: assertion failed.")}var Ze=class{constructor(e){let{compare:r,extract:n,required:i}=e;this._propsToCompare=r,this._propsToExtract=n||r,this._requiredProps=i}arePropsEqual(e,r){for(let n of this._propsToCompare)if(!(n in e)||!(n in r)||!It(e[n],r[n]))return!1;return!0}initializeProps(e,r){let n={},i={};for(let s of this._propsToExtract)(s in e||s in r)&&(n[s]=e[s],i[s]=r[s]);return this._checkRequiredProps(n),this._checkRequiredProps(i),{start:n,end:i}}getDuration(e,r){return r.transitionDuration}_checkRequiredProps(e){this._requiredProps&&this._requiredProps.forEach(r=>{let n=e[r];Kt(Number.isFinite(n)||Array.isArray(n),`${r} is required for transition`)})}};var Re=Math.PI/180,Da=180/Math.PI,hn=6370972,Ee=256;function _d(){let t=Ee/hn,e=Math.PI/180*Ee;return{unitsPerMeter:[t,t,t],unitsPerMeter2:[0,0,0],metersPerUnit:[1/t,1/t,1/t],unitsPerDegree:[e,e,t],unitsPerDegree2:[0,0,0],degreesPerUnit:[1/e,1/e,1/t]}}var Ae=class extends kt{constructor(r={}){let{longitude:n=0,bearing:i=0,pitch:s=0,zoom:o=0,nearZMultiplier:a=.5,farZMultiplier:c=1,resolution:l=10}=r,{latitude:h=0,height:f,altitude:d=1.5,fovy:p}=r;h=Math.max(Math.min(h,90),-90),f=f||1,p?d=zt(p):p=Nt(d);let _=Math.max(Math.min(h,ft),-ft),g=Math.pow(2,o-ln(_)),u=s*Re,T=r.nearZ??a,S=r.farZ??(d+Ee*2*g/f/Math.max(Math.cos(u),.1))*c,R=new Z().lookAt({eye:[0,-d,0],up:[0,0,1]}).rotateX(-u).rotateY(-i*Re).rotateX(h*Re).rotateZ(-n*Re).scale(g/f);super({...r,height:f,viewMatrix:R,longitude:n,latitude:h,zoom:o,distanceScales:_d(),fovy:p,focalDistance:d,near:T,far:S});this.scale=g,this.latitude=h,this.longitude=n,this.bearing=i,this.pitch=s,this.fovy=p,this.resolution=l}get projectionMode(){return Te.GLOBE}getDistanceScales(){return this.distanceScales}getBounds(r={}){let n={targetZ:r.z||0},i=this.unproject([0,this.height/2],n),s=this.unproject([this.width/2,0],n),o=this.unproject([this.width,this.height/2],n),a=this.unproject([this.width/2,this.height],n);return o[0]<this.longitude&&(o[0]+=360),i[0]>this.longitude&&(i[0]-=360),[Math.min(i[0],o[0],s[0],a[0]),Math.min(i[1],o[1],s[1],a[1]),Math.max(i[0],o[0],s[0],a[0]),Math.max(i[1],o[1],s[1],a[1])]}unproject(r,{topLeft:n=!0,targetZ:i}={}){let[s,o,a]=r,c=n?o:this.height-o,{pixelUnprojectionMatrix:l}=this,h;if(Number.isFinite(a))h=ki(l,[s,c,a,1]);else{let _=ki(l,[s,c,-1,1]),g=ki(l,[s,c,1,1]),u=((i||0)/hn+1)*Ee,T=tt.sqrLen(tt.sub([],_,g)),S=tt.sqrLen(_),R=tt.sqrLen(g),A=4*((4*S*R-(T-S-R)**2)/16)/T,M=Math.sqrt(S-A),m=Math.sqrt(Math.max(0,u*u-A)),b=(M-m)/Math.sqrt(T);h=tt.lerp([],_,g,b)}let[f,d,p]=this.unprojectPosition(h);return Number.isFinite(a)?[f,d,p]:Number.isFinite(i)?[f,d,i]:[f,d]}projectPosition(r){let[n,i,s=0]=r,o=n*Re,a=i*Re,c=Math.cos(a),l=(s/hn+1)*Ee;return[Math.sin(o)*c*l,-Math.cos(o)*c*l,Math.sin(a)*l]}unprojectPosition(r){let[n,i,s]=r,o=tt.len(r),a=Math.asin(s/o),l=Math.atan2(n,-i)*Da,h=a*Da,f=(o/Ee-1)*hn;return[l,h,f]}projectFlat(r){return r}unprojectFlat(r){return r}panByPosition([r,n,i],s,o){let c=.25/Math.pow(2,this.zoom-ln(this.latitude)),l=r+c*(o[0]-s[0]),h=n-c*(o[1]-s[1]);h=Math.max(Math.min(h,90),-90);let f={longitude:l,latitude:h,zoom:i-ln(n)};return f.zoom+=ln(f.latitude),f}};Ae.displayName="GlobeViewport";function ln(t,e){e&&(t=Math.max(Math.min(t,ft),-ft));let r=Math.PI*Math.cos(t*Math.PI/180);return Math.log2(r)}function ki(t,e){let r=yt.transformMat4([],e,t);return yt.scale(r,r,1/r[3]),r}var gd=["longitude","latitude","zoom","bearing","pitch"],Td=["longitude","latitude","zoom"],Zt=class extends Ze{constructor(r={}){let n=Array.isArray(r)?r:r.transitionProps,i=Array.isArray(r)?{}:r;i.transitionProps=Array.isArray(n)?{compare:n,required:n}:n||{compare:gd,required:Td};super(i.transitionProps);this.opts=i}initializeProps(r,n){let i=super.initializeProps(r,n),{makeViewport:s,around:o}=this.opts;if(s&&o)if(s(r)instanceof Ae)ce.warn("around not supported in GlobeView")();else{let c=s(r),l=s(n),h=c.unproject(o);i.start.around=o,Object.assign(i.end,{around:l.project(h),aroundPosition:h,width:n.width,height:n.height})}return i}interpolateProps(r,n,i){let s={};for(let o of this._propsToExtract)s[o]=Ue(r[o]||0,n[o]||0,i);if(n.aroundPosition&&this.opts.makeViewport){let o=this.opts.makeViewport({...n,...s});Object.assign(s,o.panByPosition(n.aroundPosition,Ue(r.around,n.around,i)))}return s}};var pt={transitionDuration:0},md=300,fn=t=>1-(1-t)*(1-t),jt={WHEEL:["wheel"],PAN:["panstart","panmove","panend"],PINCH:["pinchstart","pinchmove","pinchend"],MULTI_PAN:["multipanstart","multipanmove","multipanend"],DOUBLE_CLICK:["dblclick"],DOUBLE_CLICK_DRAG:["dblclickdragstart","dblclickdragmove","dblclickdragend","dblclickdragcancel"],KEYBOARD:["keydown"]},$t={},je=class{constructor(e){this.state={};this._events={};this._interactionState={isDragging:!1};this._customEvents=[];this._eventStartBlocked=null;this._panMove=!1;this._doubleClickDragAnchor=null;this._suppressDoubleClickUntil=0;this.invertPan=!1;this.dragMode="rotate";this.inertia=0;this.scrollZoom=!0;this.dragPan=!0;this.dragRotate=!0;this.doubleClickZoom=!0;this.doubleClickDragZoom=!0;this.touchZoom=!0;this.touchRotate=!1;this.keyboard=!0;this.transitionManager=new Ke({...e,getControllerState:r=>new this.ControllerState(r),onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}),this.handleEvent=this.handleEvent.bind(this),this.eventManager=e.eventManager,this.onViewStateChange=e.onViewStateChange||(()=>{}),this.onStateChange=e.onStateChange||(()=>{}),this.makeViewport=e.makeViewport,this.pickPosition=e.pickPosition}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.props&&this.setProps(this.props)}finalize(){for(let e in this._events)this._events[e]&&this.eventManager?.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){this._controllerState=void 0;let r=this._eventStartBlocked;switch(e.type){case"panstart":return r?!1:this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return r?!1:this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"multipanstart":return r?!1:this._onMultiPanStart(e);case"multipanmove":return this._onMultiPan(e);case"multipanend":return this._onMultiPanEnd(e);case"dblclick":return this._onDoubleClick(e);case"dblclickdragstart":return r?!1:this._onDoubleClickDragStart(e);case"dblclickdragmove":return this._onDoubleClickDrag(e);case"dblclickdragend":case"dblclickdragcancel":return this._onDoubleClickDragEnd(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}get controllerState(){return this._controllerState=this._controllerState||new this.ControllerState({makeViewport:this.makeViewport,...this.props,...this.state}),this._controllerState}getCenter(e){let{x:r,y:n}=this.props,{offsetCenter:i}=e;return[i.x-r,i.y-n]}isPointInBounds(e,r){let{width:n,height:i}=this.props;if(r&&r.handled)return!1;let s=e[0]>=0&&e[0]<=n&&e[1]>=0&&e[1]<=i;return s&&r&&r.stopPropagation(),s}isFunctionKeyPressed(e){let{srcEvent:r}=e;return Boolean(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)}isDragging(){return this._interactionState.isDragging||!1}blockEvents(e){let r=setTimeout(()=>{this._eventStartBlocked===r&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=r}setProps(e){e.dragMode&&(this.dragMode=e.dragMode);let r=this.props;this.props=e,"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:n}=e;this.inertia=Number.isFinite(n)?n:n===!0?md:0;let{scrollZoom:i=!0,dragPan:s=!0,dragRotate:o=!0,doubleClickZoom:a=!0,doubleClickDragZoom:c=!1,touchZoom:l=!0,touchRotate:h=!1,keyboard:f=!0}=e,d=Boolean(this.onViewStateChange);if(this.toggleEvents(jt.WHEEL,d&&i),this.toggleEvents(jt.PAN,d),this.toggleEvents(jt.PINCH,d&&(l||h)),this.toggleEvents(jt.MULTI_PAN,d&&h),this.toggleEvents(jt.DOUBLE_CLICK,d&&a),this.toggleEvents(jt.DOUBLE_CLICK_DRAG,d&&c),this.toggleEvents(jt.KEYBOARD,d&&f),this.scrollZoom=i,this.dragPan=s,this.dragRotate=o,this.doubleClickZoom=a,this.doubleClickDragZoom=c,this.touchZoom=l,this.touchRotate=h,this.keyboard=f,(!r||r.height!==e.height||r.width!==e.width||r.maxBounds!==e.maxBounds)&&e.maxBounds){let _=new this.ControllerState({...e,makeViewport:this.makeViewport}),g=_.getViewportProps();Object.keys(g).some(T=>!ie(g[T],e[T],1))&&this.updateViewport(_)}}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,r){this.eventManager&&e.forEach(n=>{this._events[n]!==r&&(this._events[n]=r,r?this.eventManager.on(n,this.handleEvent):this.eventManager.off(n,this.handleEvent))})}updateViewport(e,r=null,n={}){let i={...e.getViewportProps(),...r},s=this.controllerState!==e;if(this.state=e.getState(),this._setInteractionState(n),s){let o=this.controllerState&&this.controllerState.getViewportProps();this.onViewStateChange&&this.onViewStateChange({viewState:i,interactionState:this._interactionState,oldViewState:o,viewId:this.props.id})}}_onTransition(e){this.onViewStateChange({...e,interactionState:this._interactionState,viewId:this.props.id})}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange(this._interactionState)}_onPanStart(e){let r=this.getCenter(e);if(!this.isPointInBounds(r,e))return!1;let n=this.isFunctionKeyPressed(e)||e.rightButton||!1;(this.invertPan||this.dragMode==="pan")&&(n=!n);let i=this.controllerState[n?"panStart":"rotateStart"]({pos:r});return this._panMove=n,this.updateViewport(i,pt,{isDragging:!0}),!0}_onPan(e){return this.isDragging()?this._panMove?this._onPanMove(e):this._onPanRotate(e):!1}_onPanEnd(e){return this.isDragging()?this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e):!1}_onPanMove(e){if(!this.dragPan)return!1;let r=this.getCenter(e),n=this.controllerState.pan({pos:r});return this.updateViewport(n,pt,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){let{inertia:r}=this;if(this.dragPan&&r&&e.velocity){let n=this.getCenter(e),i=[n[0]+e.velocityX*r/2,n[1]+e.velocityY*r/2],s=this.controllerState.pan({pos:i}).panEnd();this.updateViewport(s,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:fn},{isDragging:!1,isPanning:!0})}else{let n=this.controllerState.panEnd();this.updateViewport(n,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;let r=this.getCenter(e),n=this.controllerState.rotate({pos:r});return this.updateViewport(n,pt,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){let{inertia:r}=this;if(this.dragRotate&&r&&e.velocity){let n=this.getCenter(e),i=[n[0]+e.velocityX*r/2,n[1]+e.velocityY*r/2],s=this.controllerState.rotate({pos:i}).rotateEnd();this.updateViewport(s,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:fn},{isDragging:!1,isRotating:!0})}else{let n=this.controllerState.rotateEnd();this.updateViewport(n,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;let r=this.getCenter(e);if(!this.isPointInBounds(r,e))return!1;e.srcEvent.preventDefault();let{speed:n=.01,smooth:i=!1}=this.scrollZoom===!0?{}:this.scrollZoom,{delta:s}=e,o=2/(1+Math.exp(-Math.abs(s*n)));s<0&&o!==0&&(o=1/o);let a=i?{...this._getTransitionProps({around:r}),transitionDuration:250}:pt,c=this.controllerState.zoom({pos:r,scale:o});return this.updateViewport(c,a,{isZooming:!0,isPanning:!0}),i||this._setInteractionState({isZooming:!1,isPanning:!1}),!0}_onMultiPanStart(e){let r=this.getCenter(e);if(!this.isPointInBounds(r,e))return!1;let n=this.controllerState.rotateStart({pos:r});return this.updateViewport(n,pt,{isDragging:!0}),!0}_onMultiPan(e){if(!this.touchRotate||!this.isDragging())return!1;let r=this.getCenter(e);r[0]-=e.deltaX;let n=this.controllerState.rotate({pos:r});return this.updateViewport(n,pt,{isDragging:!0,isRotating:!0}),!0}_onMultiPanEnd(e){if(!this.isDragging())return!1;let{inertia:r}=this;if(this.touchRotate&&r&&e.velocityY){let n=this.getCenter(e),i=[n[0],n[1]+=e.velocityY*r/2],s=this.controllerState.rotate({pos:i});this.updateViewport(s,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:fn},{isDragging:!1,isRotating:!0}),this.blockEvents(r)}else{let n=this.controllerState.rotateEnd();this.updateViewport(n,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){this._doubleClickDragAnchor=null;let r=this.getCenter(e);if(!this.isPointInBounds(r,e))return!1;let n=this.controllerState.zoomStart({pos:r}).rotateStart({pos:r});return $t._startPinchRotation=e.rotation,$t._lastPinchEvent=e,this.updateViewport(n,pt,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let r=this.controllerState;if(this.touchZoom){let{scale:n}=e,i=this.getCenter(e);r=r.zoom({pos:i,scale:n})}if(this.touchRotate){let{rotation:n}=e;r=r.rotate({deltaAngleX:$t._startPinchRotation-n})}return this.updateViewport(r,pt,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),$t._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;let{inertia:r}=this,{_lastPinchEvent:n}=$t;if(this.touchZoom&&r&&n&&e.scale!==n.scale){let i=this.getCenter(e),s=this.controllerState.rotateEnd(),o=Math.log2(e.scale),a=(o-Math.log2(n.scale))/(e.deltaTime-n.deltaTime),c=Math.pow(2,o+a*r/2);s=s.zoom({pos:i,scale:c}).zoomEnd(),this.updateViewport(s,{...this._getTransitionProps({around:i}),transitionDuration:r,transitionEasing:fn},{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(r)}else{let i=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return $t._startPinchRotation=null,$t._lastPinchEvent=null,!0}_onDoubleClick(e){if(!this.doubleClickZoom||Date.now()<this._suppressDoubleClickUntil)return!1;let r=this.getCenter(e);if(!this.isPointInBounds(r,e))return!1;let n=this.isFunctionKeyPressed(e),i=this.controllerState.zoom({pos:r,scale:n?.5:2});return this.updateViewport(i,this._getTransitionProps({around:r}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onDoubleClickDragStart(e){if(!this.doubleClickDragZoom)return this._doubleClickDragAnchor=null,!1;let r=this.getCenter(e);if(!this.isPointInBounds(r,e))return this._doubleClickDragAnchor=null,!1;this._doubleClickDragAnchor=r;let n=this.controllerState.zoomStart({pos:r});return e.scale!==1&&(n=n.zoom({pos:r,scale:e.scale})),this.updateViewport(n,pt,{isDragging:!0,isPanning:!0,isZooming:!0}),!0}_onDoubleClickDrag(e){let r=this._doubleClickDragAnchor;if(!r)return!1;let n=this.controllerState.zoom({pos:r,scale:e.scale});return this.updateViewport(n,pt,{isDragging:!0,isPanning:!0,isZooming:!0}),!0}_onDoubleClickDragEnd(e){if(!this._doubleClickDragAnchor)return!1;this._doubleClickDragAnchor=null;let r=this.controllerState.zoomEnd();return this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1}),this._suppressDoubleClickUntil=Date.now()+100,this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;let r=this.isFunctionKeyPressed(e),{zoomSpeed:n,moveSpeed:i,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard===!0?{}:this.keyboard,{controllerState:a}=this,c,l={};switch(e.srcEvent.code){case"Minus":c=r?a.zoomOut(n).zoomOut(n):a.zoomOut(n),l.isZooming=!0;break;case"Equal":c=r?a.zoomIn(n).zoomIn(n):a.zoomIn(n),l.isZooming=!0;break;case"ArrowLeft":r?(c=a.rotateLeft(s),l.isRotating=!0):(c=a.moveLeft(i),l.isPanning=!0);break;case"ArrowRight":r?(c=a.rotateRight(s),l.isRotating=!0):(c=a.moveRight(i),l.isPanning=!0);break;case"ArrowUp":r?(c=a.rotateUp(o),l.isRotating=!0):(c=a.moveUp(i),l.isPanning=!0);break;case"ArrowDown":r?(c=a.rotateDown(o),l.isRotating=!0):(c=a.moveDown(i),l.isPanning=!0);break;default:return!1}return this.updateViewport(c,this._getTransitionProps(),l),!0}_getTransitionProps(e){let{transition:r}=this;return!r||!r.transitionInterpolator?pt:e?{...r,transitionInterpolator:new Zt({...e,...r.transitionInterpolator.opts,makeViewport:this.controllerState.makeViewport})}:r}};var $e=class{constructor(e,r,n){this.makeViewport=n,this._viewportProps=this.applyConstraints(e),this._state=r}getViewportProps(){return this._viewportProps}getState(){return this._state}};var Fa=5,Rd=1.2,Ba=512,va=[[-1/0,-90],[1/0,90]];function dn([t,e]){if(Math.abs(e)>90&&(e=Math.sign(e)*90),Number.isFinite(t)){let[n,i]=rt([t,e]);return[n,K(i,0,Ba)]}let[,r]=rt([0,e]);return[t,K(r,0,Ba)]}var Xi=class extends $e{constructor(r){let{width:n,height:i,latitude:s,longitude:o,zoom:a,bearing:c=0,pitch:l=0,altitude:h=1.5,position:f=[0,0,0],maxZoom:d=20,minZoom:p=0,maxPitch:_=60,minPitch:g=0,startPanLngLat:u,startZoomLngLat:T,startRotatePos:S,startRotateLngLat:R,startBearing:E,startPitch:A,startZoom:M,normalize:m=!0}=r;Kt(Number.isFinite(o)),Kt(Number.isFinite(s)),Kt(Number.isFinite(a));let b=r.maxBounds||(m?va:null);super({width:n,height:i,latitude:s,longitude:o,zoom:a,bearing:c,pitch:l,altitude:h,maxZoom:d,minZoom:p,maxPitch:_,minPitch:g,normalize:m,position:f,maxBounds:b},{startPanLngLat:u,startZoomLngLat:T,startRotatePos:S,startRotateLngLat:R,startBearing:E,startPitch:A,startZoom:M},r.makeViewport);this.getAltitude=r.getAltitude}panStart({pos:r}){return this._getUpdatedState({startPanLngLat:this._unproject(r)})}pan({pos:r,startPos:n}){let i=this.getState().startPanLngLat||this._unproject(n);if(!i)return this;let o=this.makeViewport(this.getViewportProps()).panByPosition(i,r);return this._getUpdatedState(o)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:r}){let n=this.getAltitude?.(r);return this._getUpdatedState({startRotatePos:r,startRotateLngLat:n!==void 0?this._unproject3D(r,n):void 0,startBearing:this.getViewportProps().bearing,startPitch:this.getViewportProps().pitch})}rotate({pos:r,deltaAngleX:n=0,deltaAngleY:i=0}){let{startRotatePos:s,startRotateLngLat:o,startBearing:a,startPitch:c}=this.getState();if(!s||a===void 0||c===void 0)return this;let l;if(r?l=this._getNewRotation(r,s,c,a):l={bearing:a+n,pitch:c+i},o){let h=this.makeViewport({...this.getViewportProps(),...l}),f="panByPosition3D"in h?"panByPosition3D":"panByPosition";return this._getUpdatedState({...l,...h[f](o,s)})}return this._getUpdatedState(l)}rotateEnd(){return this._getUpdatedState({startRotatePos:null,startRotateLngLat:null,startBearing:null,startPitch:null})}zoomStart({pos:r}){return this._getUpdatedState({startZoomLngLat:this._unproject(r),startZoom:this.getViewportProps().zoom})}zoom({pos:r,startPos:n,scale:i}){let{startZoom:s,startZoomLngLat:o}=this.getState();if(o||(s=this.getViewportProps().zoom,o=this._unproject(n)||this._unproject(r)),!o)return this;let a=this._constrainZoom(s+Math.log2(i)),c=this.makeViewport({...this.getViewportProps(),zoom:a});return this._getUpdatedState({zoom:a,...c.panByPosition(o,r)})}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(r=2){return this._zoomFromCenter(r)}zoomOut(r=2){return this._zoomFromCenter(1/r)}moveLeft(r=100){return this._panFromCenter([r,0])}moveRight(r=100){return this._panFromCenter([-r,0])}moveUp(r=100){return this._panFromCenter([0,r])}moveDown(r=100){return this._panFromCenter([0,-r])}rotateLeft(r=15){return this._getUpdatedState({bearing:this.getViewportProps().bearing-r})}rotateRight(r=15){return this._getUpdatedState({bearing:this.getViewportProps().bearing+r})}rotateUp(r=10){return this._getUpdatedState({pitch:this.getViewportProps().pitch+r})}rotateDown(r=10){return this._getUpdatedState({pitch:this.getViewportProps().pitch-r})}shortestPathFrom(r){let n=r.getViewportProps(),i={...this.getViewportProps()},{bearing:s,longitude:o}=i;return Math.abs(s-n.bearing)>180&&(i.bearing=s<0?s+360:s-360),Math.abs(o-n.longitude)>180&&(i.longitude=o<0?o+360:o-360),i}applyConstraints(r){let{maxPitch:n,minPitch:i,pitch:s,longitude:o,bearing:a,normalize:c,maxBounds:l}=r;if(c&&((o<-180||o>180)&&(r.longitude=Pi(o+180,360)-180),(a<-180||a>180)&&(r.bearing=Pi(a+180,360)-180)),r.pitch=K(s,i,n),r.zoom=this._constrainZoom(r.zoom,r),l){let h=dn(l[0]),f=dn(l[1]),d=2**r.zoom,p=r.width/2/d,_=r.height/2/d,[g,u]=j([h[0]+p,h[1]+_]),[T,S]=j([f[0]-p,f[1]-_]);r.longitude=K(r.longitude,g,T),r.latitude=K(r.latitude,u,S)}return r}_constrainZoom(r,n){n||=this.getViewportProps();let{maxZoom:i,maxBounds:s}=n,o=s!==null&&n.width>0&&n.height>0,{minZoom:a}=n;if(o){let c=dn(s[0]),l=dn(s[1]),h=l[0]-c[0],f=l[1]-c[1];Number.isFinite(h)&&h>0&&(a=Math.max(a,Math.log2(n.width/h))),Number.isFinite(f)&&f>0&&(a=Math.max(a,Math.log2(n.height/f))),a>i&&(a=i)}return K(r,a,i)}_zoomFromCenter(r){let{width:n,height:i}=this.getViewportProps();return this.zoom({pos:[n/2,i/2],scale:r})}_panFromCenter(r){let{width:n,height:i}=this.getViewportProps();return this.pan({startPos:[n/2,i/2],pos:[n/2+r[0],i/2+r[1]]})}_getUpdatedState(r){return new this.constructor({makeViewport:this.makeViewport,...this.getViewportProps(),...this.getState(),...r})}_unproject(r){let n=this.makeViewport(this.getViewportProps());return r&&n.unproject(r)}_unproject3D(r,n){return this.makeViewport(this.getViewportProps()).unproject(r,{targetZ:n})}_getNewRotation(r,n,i,s){let o=r[0]-n[0],a=r[1]-n[1],c=r[1],l=n[1],{width:h,height:f}=this.getViewportProps(),d=o/h,p=0;a>0?Math.abs(f-l)>Fa&&(p=a/(l-f)*Rd):a<0&&l>Fa&&(p=1-c/l),p=K(p,-1,1);let{minPitch:_,maxPitch:g}=this.getViewportProps(),u=s+180*d,T=i;return p>0?T=i+p*(g-i):p<0&&(T=i-p*(_-i)),{pitch:T,bearing:u}}},qe=class extends je{constructor(){super(...arguments);this.ControllerState=Xi;this.transition={transitionDuration:300,transitionInterpolator:new Zt({transitionProps:{compare:["longitude","latitude","zoom","bearing","pitch","position"],required:["longitude","latitude","zoom"]}})};this.dragMode="pan";this.rotationPivot="center";this._getAltitude=r=>{if(this.rotationPivot==="2d")return 0;if(this.rotationPivot==="3d"&&this.pickPosition){let{x:n,y:i}=this.props,s=this.pickPosition(n+r[0],i+r[1]);if(s&&s.coordinate&&s.coordinate.length>=3)return s.coordinate[2]}}}setProps(r){"rotationPivot"in r&&(this.rotationPivot=r.rotationPivot||"center"),r.getAltitude=this._getAltitude,r.position=r.position||[0,0,0],r.maxBounds=r.maxBounds||(r.normalize===!1?null:va),super.setProps(r)}updateViewport(r,n=null,i={}){let s=r.getState();i.isDragging&&s.startRotateLngLat?i={...i,rotationPivotPosition:s.startRotateLngLat}:i.isDragging===!1&&(i={...i,rotationPivotPosition:void 0}),super.updateViewport(r,n,i)}};var be=class extends ve{constructor(e={}){super(e)}getViewportType(){return me}get ControllerType(){return qe}};be.displayName="MapView";var Ed=5916575505e-1,Ad=78271.484,pn=111320,bd=55*Math.PI/180,Sd=65,Md=80;function xd(t,e){let r=(t.latitude+e.latitude)/2*Math.PI/180,n=(t.latitude-e.latitude)*pn,i=(t.longitude-e.longitude)*pn*Math.cos(r);return Math.sqrt(n*n+i*i)}function Pd(t,e,r,n,i){let s=t.toMap({x:n/2,y:i/2}),o=t.toMap({x:n/2+1,y:i/2});if(s&&o){let a=xd(s,o);if(a>0){let c=r*Math.PI/180;return Math.log2(Ad*Math.cos(c)/a)}}return Math.log2(Ed/t.scale)-1}function Cd(t,e,r){let n=Math.max(0,Math.min(1,(r-t)/(e-t)));return n*n*(3-2*n)}function Id(t,e){let r=t/e;return .5/(Math.tan(bd/2)/Math.sqrt(1+r*r))}function yd(t,e,r,n){let i=Id(r,n),s=Cd(Sd,Md,t);return e*(1-s)+i*s}function Nd(t,e,r,n,i,s){return{views:new be({id:"arcgis-scene"}),viewState:{"arcgis-scene":{id:"arcgis-scene",longitude:e,latitude:r,zoom:n,pitch:t.camera.tilt,bearing:t.camera.heading,altitude:s,position:[0,0,0],resolution:i}}}}function Wi(t,e){class r{constructor(i,s){if(this.resources=null,this.cancelInitialization=null,this.renderNode=null,i&&typeof i=="object"&&"view"in i){let{view:l,...h}=i;this.view=l,this.deck=new t(h)}else this.view=i,this.deck=new t(s);let o=!1,a=this,c=e.createSubclass({consumes:{required:["composite-color"]},produces:"composite-color",initialize(){},render(l){let h=this,f=l.find(U=>U.name==="composite-color");if(!a.resources&&!o){let U=h.gl;if(U){o=!0;let ut=!1;a.cancelInitialization=()=>{ut=!0},Lr.call(a,U).then(Q=>{if(o=!1,ut){ne(Q);return}a.deck.on("change",Je=>Q.deck.setProps(Je)),Q.deck.setProps(a.deck.toJSON()),a.resources=Q,h.requestRender()}).catch(Q=>{o=!1,console.error("DeckRenderer: failed to initialize resources",Q)})}return f}if(!a.resources)return f;let d=h.bindRenderTarget(),p=h.gl,_=window.devicePixelRatio||1,g=p.drawingBufferWidth/_,u=p.drawingBufferHeight/_,T=a.view.camera.position,S=a.view.toMap({x:g/2,y:u/2}),R=S?S.latitude:a.view.center.latitude,E=S?S.longitude:a.view.center.longitude,A=(R+T.latitude)/2*Math.PI/180,M=(T.latitude-R)*pn,m=(T.longitude-E)*pn*Math.cos(A),b=Math.sqrt(M*M+m*m),C=Math.sqrt(b*b+T.z*T.z),x=Pd(a.view,E,R,g,u),y=u*a.view.resolution,N=C/y,w=yd(a.view.camera.tilt,N,g,u),O=Nd(a.view,E,R,x,a.view.resolution,w);try{O?Be(a.resources,{width:g,height:u,latitude:R,longitude:E,altitude:w,zoom:x,bearing:a.view.camera.heading,pitch:a.view.camera.tilt,...O}):Be(a.resources,{width:g,height:u,latitude:R,longitude:E,altitude:w,zoom:x,bearing:a.view.camera.heading,pitch:a.view.camera.tilt})}catch(U){console.error("DeckRenderer: render error",U)}return d}});this.renderNode=new c({view:this.view})}async setup(i){}dispose(){this.cancelInitialization?.(),this.resources&&(ne(this.resources),this.resources=null),this.renderNode=null}redraw(){this.renderNode?.requestRender()}render(){this.renderNode?.requestRender()}}return r}var Hi=F(Va(),1),Se;async function Od(t,e){let r=Array.isArray(t)?null:t;return await wd(r,e),Array.isArray(t)?(0,Hi.loadModules)(t,e).then(n=>({...Se,modules:n})):Se}async function wd(t,e){if(Se)return Se;if(t){let o=t.layers.Layer,a=t.core.Accessor,c=t.views["2d"].layers.BaseLayerViewGL2D,l=t.views["3d"].webgl.RenderNode;return ka(o,a,c,l)}let[r,n,i,s]=await(0,Hi.loadModules)(["esri/layers/Layer","esri/core/Accessor","esri/views/2d/layers/BaseLayerViewGL2D","esri/views/3d/webgl/RenderNode"],e);return ka(r,n,i,s)}function ka(t,e,r,n){let i=_n(e),s=Yn(r),o=gn(i,t,s),a=Wi(i,n);return Se={DeckLayer:o,DeckRenderer:a},Se}return Ya(Qe);})();
29
29
  return __exports__;
30
30
  });