@mapvx/web-kit 1.2.0-develop.12 → 1.2.0-develop.14

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.
Files changed (48) hide show
  1. package/dist/cjs/chunks/{DRACOLoader-B7myelzS.cjs → DRACOLoader-B1Y7vbrj.cjs} +2 -2
  2. package/dist/cjs/chunks/{GLTFLoader-Bhlg-PN9.cjs → GLTFLoader-DrrfQ0_F.cjs} +2 -2
  3. package/dist/cjs/chunks/{KTX2Loader-8oVInPCY.cjs → KTX2Loader-BoLi8knA.cjs} +2 -2
  4. package/dist/cjs/chunks/{accessibility-DQMGPqEF.cjs → accessibility-Djzp33ox.cjs} +2 -2
  5. package/dist/cjs/chunks/{back_arrow-BT38PaNs.cjs → back_arrow-BPoJQerl.cjs} +2 -2
  6. package/dist/cjs/chunks/{debug-hooks-DDHLlDXD.cjs → debug-hooks-CMF1BR-2.cjs} +2 -2
  7. package/dist/cjs/chunks/{dist-Dqt88Zla.cjs → dist-B06OgE5W.cjs} +2 -2
  8. package/dist/cjs/chunks/{dist-BsZPOLf6.cjs → dist-DII2Jcfe.cjs} +2 -2
  9. package/dist/cjs/chunks/{dist-CdHuaZdF.cjs → dist-_3MDeFq6.cjs} +2 -2
  10. package/dist/cjs/chunks/{expression-DOSBosTT.cjs → expression-Dq2zVyIz.cjs} +2 -2
  11. package/dist/cjs/chunks/{globe-viewport-CTph-zTi.cjs → globe-viewport-s9VMxxMl.cjs} +2 -2
  12. package/dist/cjs/chunks/{icon-origin-point-BQq_v8fl.cjs → icon-origin-point-B07J_RrC.cjs} +2 -2
  13. package/dist/cjs/chunks/{meshopt_decoder.module-Xc0iTpWr.cjs → meshopt_decoder.module-CedN2Fs4.cjs} +2 -2
  14. package/dist/cjs/chunks/{repeat_icon-DgZwJHQn.cjs → repeat_icon-BwwtBUqw.cjs} +2 -2
  15. package/dist/cjs/chunks/{rolldown-runtime-DCHM1mdG.cjs → rolldown-runtime-S4XI6pHy.cjs} +2 -2
  16. package/dist/cjs/chunks/{shader-type-decoder-ClUxS2uC.cjs → shader-type-decoder-CplMa6Zn.cjs} +2 -2
  17. package/dist/cjs/chunks/{styles-ap7q_oUC.cjs → styles-eVk3as0O.cjs} +2 -2
  18. package/dist/cjs/chunks/{three.module-CZrl_ZUv.cjs → three.module-TyjyfRuV.cjs} +2 -2
  19. package/dist/cjs/chunks/{walking-zHHQi5LZ.cjs → walking-BXmnNjav.cjs} +2 -2
  20. package/dist/cjs/chunks/{webgl-CmboLkDs.cjs → webgl-C3A9O7UB.cjs} +2 -2
  21. package/dist/cjs/chunks/{webgl-device-BXkaCOiH.cjs → webgl-device-CR_IOS1K.cjs} +2 -2
  22. package/dist/cjs/web-kit.cjs +5 -5
  23. package/dist/es/chunks/{DRACOLoader-CNpxxqVh.js → DRACOLoader-D0vU8-Oo.js} +2 -2
  24. package/dist/es/chunks/{GLTFLoader-CbnWtZLU.js → GLTFLoader-DQ80Aq6X.js} +2 -2
  25. package/dist/es/chunks/{KTX2Loader-DA7PMnUh.js → KTX2Loader-Dh9k32r5.js} +2 -2
  26. package/dist/es/chunks/{accessibility-D1G0e3jm.js → accessibility-BG8JCwcH.js} +2 -2
  27. package/dist/es/chunks/{back_arrow-DOtCNdHS.js → back_arrow-CF2VEGV0.js} +2 -2
  28. package/dist/es/chunks/{debug-hooks-Cd_b4Bki.js → debug-hooks-D_XQuFlb.js} +2 -2
  29. package/dist/es/chunks/{dist-DXAjwVD1.js → dist-B7VX6I_c.js} +2 -2
  30. package/dist/es/chunks/{dist-DXRF-lm8.js → dist-CQzG76mh.js} +2 -2
  31. package/dist/es/chunks/{dist-CrKfguaO.js → dist-CcWEArpE.js} +2 -2
  32. package/dist/es/chunks/{expression-6f6kc1i6.js → expression-C7yC7-03.js} +2 -2
  33. package/dist/es/chunks/{globe-viewport-Brth2aT0.js → globe-viewport-D0Ev9_5m.js} +2 -2
  34. package/dist/es/chunks/{icon-origin-point-DWIRQVPT.js → icon-origin-point-C23InZ8B.js} +2 -2
  35. package/dist/es/chunks/{meshopt_decoder.module-Ch7mmZHA.js → meshopt_decoder.module-CrrPmGGq.js} +2 -2
  36. package/dist/es/chunks/{repeat_icon-D5mfHUaL.js → repeat_icon-BIa50JSA.js} +2 -2
  37. package/dist/es/chunks/{rolldown-runtime-BptZgroH.js → rolldown-runtime-CDBfnOLQ.js} +2 -2
  38. package/dist/es/chunks/{shader-type-decoder-CQKC8yW9.js → shader-type-decoder-CmsRL_mF.js} +2 -2
  39. package/dist/es/chunks/{styles-Be_VFWZ4.js → styles-CU6-Ggto.js} +2 -2
  40. package/dist/es/chunks/{three.module-CrfgWCl8.js → three.module-Df6wkceO.js} +2 -2
  41. package/dist/es/chunks/{walking-BRSMxmlG.js → walking-BY9QNI9o.js} +2 -2
  42. package/dist/es/chunks/{webgl-device-6J3R62SY.js → webgl-device-CjfmtXLr.js} +2 -2
  43. package/dist/es/chunks/{webgl-ClUuONJn.js → webgl-y_Wz0lFW.js} +2 -2
  44. package/dist/es/web-kit.mjs +5 -5
  45. package/dist/iife/web-kit.iife.js +3 -3
  46. package/dist/sw/mvx-tiles-sw.js +82 -49
  47. package/dist/types/index.d.ts +22 -22
  48. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- /*! Web-kit v1.2.0-develop.12 | (c) 2026 MapVX */
2
- !function(){try{var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="87a0628f-7bcb-41b8-a931-ecc6792b0285",e._sentryDebugIdIdentifier="sentry-dbid-87a0628f-7bcb-41b8-a931-ecc6792b0285")}catch(e){}}();import{Ht as e,Vt as t,en as r}from"./debug-hooks-Cd_b4Bki.js";import{d as s,f as i,i as n,l as o,p as a,r as f,s as u,u as h}from"./shader-type-decoder-CQKC8yW9.js";import{c,l as d,m as l,p as y,s as g,u as b}from"./webgl-device-6J3R62SY.js";function p(e){return function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}(e)||function(e){return!!Array.isArray(e)&&(0===e.length||"number"==typeof e[0])}(e)}var m=class e extends s{get[Symbol.toStringTag](){return"ComputePipeline"}hash="";shaderLayout;constructor(t,r){super(t,r,e.defaultProps),this.shaderLayout=r.shaderLayout}static defaultProps={...s.defaultProps,shader:void 0,entryPoint:void 0,constants:{},shaderLayout:void 0}},w=class e{static defaultProps={...y.defaultProps};static getDefaultPipelineFactory(t){const r=t.getModuleData("@luma.gl/core");return r.defaultPipelineFactory||=new e(t),r.defaultPipelineFactory}device;_hashCounter=0;_hashes={};_renderPipelineCache={};_computePipelineCache={};_sharedRenderPipelineCache={};get[Symbol.toStringTag](){return"PipelineFactory"}toString(){return`PipelineFactory(${this.device.id})`}constructor(e){this.device=e}createRenderPipeline(e){if(!this.device.props._cachePipelines)return this.device.createRenderPipeline(e);const t={...y.defaultProps,...e},r=this._renderPipelineCache,s=this._hashRenderPipeline(t);let n=r[s]?.resource;if(n)r[s].useCount++,this.device.props.debugFactories&&a.log(3,`${this}: ${r[s].resource} reused, count=${r[s].useCount}, (id=${e.id})`)();else{const e="webgl"===this.device.type&&this.device.props._sharePipelines?this.createSharedRenderPipeline(t):void 0;n=this.device.createRenderPipeline({...t,id:t.id?`${t.id}-cached`:i("unnamed-cached"),_sharedRenderPipeline:e}),n.hash=s,r[s]={resource:n,useCount:1},this.device.props.debugFactories&&a.log(3,`${this}: ${n} created, count=${r[s].useCount}`)()}return n}createComputePipeline(e){if(!this.device.props._cachePipelines)return this.device.createComputePipeline(e);const t={...m.defaultProps,...e},r=this._computePipelineCache,s=this._hashComputePipeline(t);let i=r[s]?.resource;return i?(r[s].useCount++,this.device.props.debugFactories&&a.log(3,`${this}: ${r[s].resource} reused, count=${r[s].useCount}, (id=${e.id})`)()):(i=this.device.createComputePipeline({...t,id:t.id?`${t.id}-cached`:void 0}),i.hash=s,r[s]={resource:i,useCount:1},this.device.props.debugFactories&&a.log(3,`${this}: ${i} created, count=${r[s].useCount}`)()),i}release(e){if(!this.device.props._cachePipelines)return void e.destroy();const t=this._getCache(e),r=e.hash;t[r].useCount--,0===t[r].useCount?(this._destroyPipeline(e),this.device.props.debugFactories&&a.log(3,`${this}: ${e} released and destroyed`)()):t[r].useCount<0?(a.error(`${this}: ${e} released, useCount < 0, resetting`)(),t[r].useCount=0):this.device.props.debugFactories&&a.log(3,`${this}: ${e} released, count=${t[r].useCount}`)()}createSharedRenderPipeline(e){const t=this._hashSharedRenderPipeline(e);let r=this._sharedRenderPipelineCache[t];return r||(r={resource:this.device._createSharedRenderPipelineWebGL(e),useCount:0},this._sharedRenderPipelineCache[t]=r),r.useCount++,r.resource}releaseSharedRenderPipeline(e){if(!e.sharedRenderPipeline)return;const t=this._hashSharedRenderPipeline(e.sharedRenderPipeline.props),r=this._sharedRenderPipelineCache[t];r&&(r.useCount--,0===r.useCount&&(r.resource.destroy(),delete this._sharedRenderPipelineCache[t]))}_destroyPipeline(e){const t=this._getCache(e);return!!this.device.props._destroyPipelines&&(delete t[e.hash],e.destroy(),e instanceof y&&this.releaseSharedRenderPipeline(e),!0)}_getCache(e){let t;if(e instanceof m&&(t=this._computePipelineCache),e instanceof y&&(t=this._renderPipelineCache),!t)throw new Error(`${this}`);if(!t[e.hash])throw new Error(`${this}: ${e} matched incorrect entry`);return t}_hashComputePipeline(e){const{type:t}=this.device;return`${t}/C/${this._getHash(e.shader.source)}SL${this._getHash(JSON.stringify(e.shaderLayout))}`}_hashRenderPipeline(e){const t=e.vs?this._getHash(e.vs.source):0,r=e.fs?this._getHash(e.fs.source):0,s=this._getWebGLVaryingHash(e),i=this._getHash(JSON.stringify(e.shaderLayout)),n=this._getHash(JSON.stringify(e._uniformBlockLayouts)),o=this._getHash(JSON.stringify(e.bufferLayout)),{type:a}=this.device;if("webgl"===a){const f=this._getHash(JSON.stringify(e.parameters));return`${a}/R/${t}/${r}V${s}T${e.topology}P${f}SL${i}UBL${n}BL${o}`}{const n=this._getHash(JSON.stringify({vertexEntryPoint:e.vertexEntryPoint,fragmentEntryPoint:e.fragmentEntryPoint})),f=this._getHash(JSON.stringify(e.parameters)),u=this._getWebGPUAttachmentHash(e);return`${a}/R/${t}/${r}V${s}T${e.topology}EP${n}P${f}SL${i}BL${o}A${u}`}}_hashSharedRenderPipeline(e){return`webgl/S/${e.vs?this._getHash(e.vs.source):0}/${e.fs?this._getHash(e.fs.source):0}V${this._getWebGLVaryingHash(e)}`}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getWebGLVaryingHash(e){const{varyings:t=[],bufferMode:r=null}=e;return this._getHash(JSON.stringify({varyings:t,bufferMode:r}))}_getWebGPUAttachmentHash(e){const t=e.colorAttachmentFormats??[this.device.preferredColorFormat],r=e.depthStencilAttachmentFormat??(e.parameters?.depthWriteEnabled?this.device.preferredDepthFormat:null);return this._getHash(JSON.stringify({colorAttachmentFormats:t,depthStencilAttachmentFormat:r}))}},v=class e{static defaultProps={...l.defaultProps};static getDefaultShaderFactory(t){const r=t.getModuleData("@luma.gl/core");return r.defaultShaderFactory||=new e(t),r.defaultShaderFactory}device;_cache={};get[Symbol.toStringTag](){return"ShaderFactory"}toString(){return`${this[Symbol.toStringTag]}(${this.device.id})`}constructor(e){this.device=e}createShader(e){if(!this.device.props._cacheShaders)return this.device.createShader(e);const t=this._hashShader(e);let r=this._cache[t];if(r)r.useCount++,this.device.props.debugFactories&&a.log(3,`${this}: Reusing shader ${r.resource.id} count=${r.useCount}`)();else{const s=this.device.createShader({...e,id:e.id?`${e.id}-cached`:void 0});this._cache[t]=r={resource:s,useCount:1},this.device.props.debugFactories&&a.log(3,`${this}: Created new shader ${s.id}`)()}return r.resource}release(e){if(!this.device.props._cacheShaders)return void e.destroy();const t=this._hashShader(e),r=this._cache[t];if(r)if(r.useCount--,0===r.useCount)this.device.props._destroyShaders&&(delete this._cache[t],r.resource.destroy(),this.device.props.debugFactories&&a.log(3,`${this}: Releasing shader ${e.id}, destroyed`)());else{if(r.useCount<0)throw new Error(`ShaderFactory: Shader ${e.id} released too many times`);this.device.props.debugFactories&&a.log(3,`${this}: Releasing shader ${e.id} count=${r.useCount}`)()}}_hashShader(e){return`${e.stage}:${e.source}`}};function _(e){return Array.isArray(e)?0===e.length||"number"==typeof e[0]:function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}(e)}var B=class{layout;constructor(e){this.layout=e}has(e){return Boolean(this.layout.fields[e])}get(e){const t=this.layout.fields[e];return t?{offset:t.offset,size:t.size}:void 0}getFlatUniformValues(e){const t={};for(const[r,s]of Object.entries(e)){const e=this.layout.uniformTypes[r];e?this._flattenCompositeValue(t,r,e,s):this.layout.fields[r]&&(t[r]=s)}return t}getData(e){const t=g(this.layout.byteLength);new Uint8Array(t,0,this.layout.byteLength).fill(0);const r={i32:new Int32Array(t),u32:new Uint32Array(t),f32:new Float32Array(t),f16:new Uint16Array(t)},s=this.getFlatUniformValues(e);for(const[i,n]of Object.entries(s))this._writeLeafValue(r,i,n);return new Uint8Array(t,0,this.layout.byteLength)}_flattenCompositeValue(e,t,r,s){if(void 0!==s)if("string"==typeof r||this.layout.fields[t])e[t]=s;else{if(Array.isArray(r)){const i=r[0],n=r[1];if(Array.isArray(i))throw new Error(`Nested arrays are not supported for ${t}`);if("string"==typeof i&&_(s))return void this._flattenPackedArray(e,t,i,n,s);if(!Array.isArray(s))return void a.warn(`Unsupported uniform array value for ${t}:`,s)();for(let r=0;r<Math.min(s.length,n);r++){const n=s[r];void 0!==n&&this._flattenCompositeValue(e,`${t}[${r}]`,i,n)}return}if(d(r)&&function(e){return Boolean(e)&&"object"==typeof e&&!Array.isArray(e)&&!ArrayBuffer.isView(e)}(s))for(const[i,n]of Object.entries(s)){if(void 0===n)continue;const s=`${t}.${i}`;this._flattenCompositeValue(e,s,r[i],n)}else a.warn(`Unsupported uniform value for ${t}:`,s)()}}_flattenPackedArray(e,t,r,s,i){const n=i,o=c(r,this.layout.layout).components;for(let a=0;a<s;a++){const r=a*o;if(r>=n.length)break;e[`${t}[${a}]`]=1===o?Number(n[r]):L(i,r,r+o)}}_writeLeafValue(e,t,r){const s=this.layout.fields[t];if(!s)return void a.warn(`Uniform ${t} not found in layout`)();const{type:i,components:n,columns:o,rows:f,offset:u,columnStride:h}=s,c=e[i];if(1===n)return void(c[u]=Number(r));const d=r;if(1===o){for(let e=0;e<n;e++)c[u+e]=Number(d[e]??0);return}let l=0;for(let a=0;a<o;a++){const e=u+a*h;for(let t=0;t<f;t++)c[e+t]=Number(d[l++]??0)}}};function L(e,t,r){return Array.prototype.slice.call(e,t,r)}var E=class{name;uniforms={};modifiedUniforms={};modified=!0;bindingLayout={};needsRedraw="initialized";constructor(e){if(this.name=e?.name||"unnamed",e?.name&&e?.shaderLayout){const t=e?.shaderLayout.bindings?.find(t=>"uniform"===t.type&&t.name===e?.name);if(!t)throw new Error(e?.name);const r=t;for(const e of r.uniforms||[])this.bindingLayout[e.name]=e}}setUniforms(e){for(const[t,r]of Object.entries(e))this._setUniform(t,r)&&!this.needsRedraw&&this.setNeedsRedraw(`${this.name}.${t}=${r}`)}setNeedsRedraw(e){this.needsRedraw=this.needsRedraw||e}getAllUniforms(){return this.modifiedUniforms={},this.needsRedraw=!1,this.uniforms||{}}_setUniform(e,t){return!function(e,t,r=16){if(e===t)return!0;const s=e,i=t;if(!_(s)||!_(i))return!1;if(s.length!==i.length)return!1;const n=Math.min(r,128);if(s.length>n)return!1;for(let o=0;o<s.length;++o)if(i[o]!==s[o])return!1;return!0}(this.uniforms[e],t)&&(this.uniforms[e]=_(r=t)?r.slice():r,this.modifiedUniforms[e]=!0,this.modified=!0,!0);var r}},P=class{device;uniformBlocks=/* @__PURE__ */new Map;shaderBlockLayouts=/* @__PURE__ */new Map;shaderBlockWriters=/* @__PURE__ */new Map;uniformBuffers=/* @__PURE__ */new Map;constructor(e,t){this.device=e;for(const[r,s]of Object.entries(t)){const t=r,i=b(s.uniformTypes??{},{layout:s.layout??S(e)}),n=new B(i);this.shaderBlockLayouts.set(t,i),this.shaderBlockWriters.set(t,n);const o=new E({name:r});o.setUniforms(n.getFlatUniformValues(s.defaultUniforms||{})),this.uniformBlocks.set(t,o)}}destroy(){for(const e of this.uniformBuffers.values())e.destroy()}setUniforms(e,t){for(const[r,s]of Object.entries(e)){const e=r,t=this.shaderBlockWriters.get(e)?.getFlatUniformValues(s||{});this.uniformBlocks.get(e)?.setUniforms(t||{})}this.updateUniformBuffers(t)}getUniformBufferByteLength(e){const t=this.shaderBlockLayouts.get(e)?.byteLength||0;return Math.max(t,1024)}getUniformBufferData(e){const t=this.uniformBlocks.get(e)?.getAllUniforms()||{};return this.shaderBlockWriters.get(e)?.getData(t)||/* @__PURE__ */new Uint8Array(0)}createUniformBuffer(e,t){t&&this.setUniforms(t);const r=this.getUniformBufferByteLength(e),s=this.device.createBuffer({usage:h.UNIFORM|h.COPY_DST,byteLength:r}),i=this.getUniformBufferData(e);return s.write(i),s}getManagedUniformBuffer(e){if(!this.uniformBuffers.get(e)){const t=this.getUniformBufferByteLength(e),r=this.device.createBuffer({usage:h.UNIFORM|h.COPY_DST,byteLength:t});this.uniformBuffers.set(e,r)}return this.uniformBuffers.get(e)}updateUniformBuffers(e){let t=!1;for(const r of this.uniformBlocks.keys()){const s=this.updateUniformBuffer(r,e);t||=s}return t&&a.log(3,`UniformStore.updateUniformBuffers(): ${t}`)(),t}updateUniformBuffer(e,t){const r=this.uniformBlocks.get(e);let s=this.uniformBuffers.get(e),i=!1;if(s&&r?.needsRedraw){i||=r.needsRedraw;const n=this.getUniformBufferData(e);if(s=this.uniformBuffers.get(e),s&&(t?this.device.writeBufferViaCommandEncoder(t,s,n):s.write(n)),a.level>=4){const t=this.uniformBlocks.get(e)?.getAllUniforms();a.log(4,`Writing to uniform buffer ${String(e)}`,n,t)()}}return i}};function S(e){return"webgpu"===e.type?"wgsl-uniform":"std140"}var $=/^(vs|fs):(?:#(?:decl|main-start|main-end)|[A-Za-z_][\w-]*)$/;function D(e=[],t){const r=[],s={},i={},n={},o={};for(const a of e)O({modules:r,defines:s,injections:i,vertexInputs:n,varyings:o},a),O({modules:r,defines:s,injections:i,vertexInputs:n,varyings:o},a[t]);for(const a of Object.keys(o))if(n[a])throw new Error(`ShaderPlugin name "${a}" cannot be both a vertex input and a varying`);return{modules:r,defines:s,injections:i,vertexInputs:n,varyings:o}}function U(e=[],t=[]){const r=[...e],s=new Set(r.map(e=>e.name));for(const i of t)s.has(i.name)||(r.push(i),s.add(i.name));return r}function O(e,t){if(t){t.modules?.length&&e.modules.push(...t.modules),t.defines&&Object.assign(e.defines,t.defines);for(const[r,s]of Object.entries(t.vertexInputs||{})){V(r,"vertex input");const t=e.vertexInputs[r];if(t&&t!==s)throw new Error(`ShaderPlugin vertex input "${r}" has conflicting types "${t}" and "${s}"`);e.vertexInputs[r]=s}for(const[r,s]of Object.entries(t.varyings||{})){V(r,"varying");const t=T(r,s),i=e.varyings[r];if(i&&(i.type!==t.type||i.interpolation!==t.interpolation))throw new Error(`ShaderPlugin varying "${r}" has conflicting declarations "${i.type}/${i.interpolation}" and "${t.type}/${t.interpolation}"`);e.varyings[r]=t}for(const r of t.injections||[])A(r.target),e.injections[r.target]||(e.injections[r.target]=[]),e.injections[r.target].push({injection:r.injection,order:r.order??0})}}function V(e,t){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e)||e.startsWith("_luma_"))throw new Error(`ShaderPlugin ${t} "${e}" must be a valid non-reserved identifier`)}function T(e,t){const{primitiveType:r}=f.getAttributeShaderTypeInfo(t.type),s="i32"===r||"u32"===r,i=t.interpolation||(s?"flat":"smooth");if(s&&"smooth"===i)throw new Error(`ShaderPlugin integer varying "${e}" must use flat interpolation`);return{type:t.type,interpolation:i}}function A(e){if(!$.test(e))throw new Error(`ShaderPlugin injection target "${e}" must be a named shader anchor or hook`)}var C={};function G(e="id"){return C[e]=C[e]||1,`${e}-${C[e]++}`}function x(e,t){if(!e||!t.some(e=>e.bindingLayout?.length))return e;const r={...e,bindings:e.bindings.map(e=>({...e}))};"attributes"in(e||{})&&(r.attributes=e?.attributes||[]);for(const s of t)for(const e of s.bindingLayout||[])for(const t of k(e.name)){const s=r.bindings.find(e=>e.name===t);0===s?.group&&(s.group=e.group),s&&void 0!==e.visibility&&(s.visibility=e.visibility)}return r}function R(e,t,r=[]){return e?t?{...e,attributes:e.attributes.length?F(e.attributes,t.attributes.filter(e=>r.includes(e.name))):t.attributes,bindings:N(e.bindings,t.bindings)}:e:t}function z(e){return Boolean(e.uniformTypes&&!function(e){for(const t in e)return!1;return!0}(e.uniformTypes))}function j(r){const s=[];for(const i of r){const r=e(i),n=new Set([i.vs,i.fs].flatMap(e=>e?t(e).filter(e=>e.isStd140).map(e=>e.blockName):[])),o=n.has(r)?r:1===n.size?n.values().next().value:void 0;z(i)&&o&&s.push({name:o,uniformTypes:i.uniformTypes})}return s}function M(e,t){const r=[],s=/* @__PURE__ */new Set;for(const i of[...e||[],...t||[]])s.has(i.name)||(s.add(i.name),r.push(i));return r}function k(e){const t=/* @__PURE__ */new Set([e,`${e}Uniforms`]);return e.endsWith("Uniforms")||t.add(`${e}Sampler`),[...t]}function N(e,t){const r=e.map(e=>({...e})),s=new Set(e.map(e=>e.name)),i=new Set(e.map(e=>`${e.group}:${e.location}`));for(const n of t){const e=`${n.group}:${n.location}`;s.has(n.name)||i.has(e)||r.push({...n})}return r}function F(e,t){const r=e.map(e=>({...e})),s=new Map(e.map(e=>[e.name,e])),i=new Map(e.map(e=>[e.location,e]));for(const n of t){const e=s.get(n.name);if(e){if(e.type!==n.type||e.location!==n.location)throw new Error(`Shader attribute "${n.name}" conflicts with its inferred type or location`);continue}const t=i.get(n.location);if(t)throw new Error(`Shader attributes "${t.name}" and "${n.name}" both use location ${n.location}`);r.push({...n})}return r}function I(e,t={}){const r={bindings:{},uniforms:{}};return Object.keys(e).forEach(s=>{const i=e[s];var n;Object.prototype.hasOwnProperty.call(t,s)||(p(n=i)||"number"==typeof n||"boolean"==typeof n)?r.uniforms[s]=i:r.bindings[s]=i}),r}var H=class{options={disableWarnings:!1};modules;moduleUniforms;moduleBindings;directBindings={};constructor(e,t){Object.assign(this.options,t);const s=r(Object.values(e).filter(Z));for(const r of s)e[r.name]=r;a.log(1,"Creating ShaderInputs with modules",Object.keys(e))(),this.modules=e,this.moduleUniforms={},this.moduleBindings={};for(const[r,i]of Object.entries(e))i&&(this._addModule(i),i.name&&r!==i.name&&!this.options.disableWarnings&&a.warn(`Module name: ${r} vs ${i.name}`)())}destroy(){}setProps(e){e.bindings&&Object.assign(this.directBindings,e.bindings);for(const t of Object.keys(e)){if("bindings"===t)continue;const r=t,s=e[r]||{},i=this.modules[r];if(i){const e=this.moduleUniforms[r],t=this.moduleBindings[r],n=i.getUniforms?.(s,e)||s,{uniforms:o,bindings:a}=I(n,i.uniformTypes);this.moduleUniforms[r]=Y(e,o,i.uniformTypes),this.moduleBindings[r]={...t,...a}}else this.options.disableWarnings||a.warn(`Module ${t} not found`)()}}getModules(){return Object.values(this.modules)}addModules(e){const t=r(e);for(const r of t){const e=r.name;this.modules[e]||(this.modules[e]=r,this._addModule(r))}}getUniformValues(){return this.moduleUniforms}getBindingValues(){const e={};for(const t of Object.values(this.moduleBindings))Object.assign(e,t);return Object.assign(e,this.directBindings),e}getModuleBindingValues(e){const t=this.moduleBindings[e];return t?{...t}:{}}getDebugTable(){const e={};for(const[t,r]of Object.entries(this.moduleUniforms))for(const[s,i]of Object.entries(r))e[`${t}.${s}`]={type:this.modules[t].uniformTypes?.[s],value:String(i)};return e}_addModule(e){const t=e.name;this.moduleUniforms[t]=Y({},e.defaultUniforms||{},e.uniformTypes),this.moduleBindings[t]={}}};function Y(e={},t={},r={}){const s={...e};for(const[i,n]of Object.entries(t))void 0!==n&&(s[i]=W(e[i],n,r[i]));return s}function W(e,t,r){if(!r||"string"==typeof r)return q(t);if(Array.isArray(r)){if(J(t)||!Array.isArray(t))return q(t);const s=Array.isArray(e)&&!J(e)?[...e]:[],i=s.slice();for(let e=0;e<t.length;e++){const n=t[e];void 0!==n&&(i[e]=W(s[e],n,r[0]))}return i}if(!X(t))return q(t);const s=r,i=X(e)?e:{},n={...i};for(const[o,a]of Object.entries(t))void 0!==a&&(n[o]=W(i[o],a,s[o]));return n}function q(e){return ArrayBuffer.isView(e)?Array.prototype.slice.call(e):Array.isArray(e)?J(e)?e.slice():e.map(e=>void 0===e?void 0:q(e)):X(e)?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,void 0===t?void 0:q(t)])):e}function J(e){return ArrayBuffer.isView(e)||Array.isArray(e)&&(0===e.length||"number"==typeof e[0])}function X(e){return Boolean(e)&&"object"==typeof e&&!Array.isArray(e)&&!ArrayBuffer.isView(e)}function Z(e){return Boolean(e?.dependencies)}var K=h.DEBUG_DATA_MAX_LENGTH,Q=class{device;id;ready;usage;props;isReady=!0;destroyed=!1;generation=0;updateTimestamp;debugData=/* @__PURE__ */new ArrayBuffer(0);_debugDataEnabled;_maxDebugDataByteLength;_ownsBuffer;_buffer;get buffer(){return this._buffer}get byteLength(){return this._buffer.byteLength}get[Symbol.toStringTag](){return"DynamicBuffer"}toString(){return`DynamicBuffer:"${this.id}":${this.byteLength}B`}toJSON(){return this.toString()}constructor(e,t){const{debugData:r=!1,buffer:s,ownsBuffer:i=!0,...n}=t;if(s&&s.device!==e)throw new Error("DynamicBuffer adopted buffers must belong to the supplied device");if(s&&(void 0!==n.byteLength||void 0!==n.data))throw new Error("DynamicBuffer cannot combine an adopted buffer with byteLength or data");const o=t.id||s?.id||G("dynamic-buffer"),a={...n,id:o,usage:n.usage??s?.usage,indexType:n.indexType??s?.indexType};(a.usage||0)&h.INDEX&&!a.indexType&&(n.data instanceof Uint32Array?a.indexType="uint32":n.data instanceof Uint16Array?a.indexType="uint16":n.data instanceof Uint8Array&&(a.indexType="uint8")),delete a.data,delete a.byteOffset,this.device=e,this.id=o,this.props=a,this.usage=a.usage||0,this._debugDataEnabled=Boolean(r),this._maxDebugDataByteLength="object"==typeof r&&void 0!==r.maxByteLength?r.maxByteLength:K,this._ownsBuffer=i,this._buffer=s??this.device.createBuffer({...n,id:o}),this.ready=Promise.resolve(this._buffer),this.updateTimestamp=this._buffer.updateTimestamp,this._resetDebugData(this._buffer.byteLength),n.data&&this._writeDebugData(n.data,n.byteOffset||0)}write(e,t=0){this._buffer.write(e,t),this._touch(),this._writeDebugData(e,t)}async mapAndWriteAsync(e,t=0,r=this.byteLength-t){let s=null;await this._buffer.mapAndWriteAsync(async(t,i)=>{await e(t,i),s=new Uint8Array(t.slice(0,r))},t,r),this._touch(),s&&this._writeDebugData(s,t)}async readAsync(e=0,t=this.byteLength-e){const r=await this._buffer.readAsync(e,t);return this._writeDebugData(r,e)&&this._touch(),r}async mapAndReadAsync(e,t=0,r=this.byteLength-t){let s=null;const i=await this._buffer.mapAndReadAsync(async(t,r)=>(s=new Uint8Array(t.slice(0)),await e(t,r)),t,r);return s&&this._writeDebugData(s,t)&&this._touch(),i}resize(e){const{byteLength:t,preserveData:r=!1}=e;if(t===this.byteLength)return!1;const s=Math.min(e.copyByteLength??Math.min(this.byteLength,t),this.byteLength,t),i=this._buffer,n=this.debugData.slice(0),{data:o,byteOffset:a,...f}=this.props,u=this.device.createBuffer({...f,byteLength:t});return r&&s>0&&this._copyBufferContents(i,u,s),this._buffer=u,this._resetDebugData(t),r&&n.byteLength>0&&this._writeDebugData(n,0),this._ownsBuffer&&i.destroy(),this._ownsBuffer=!0,this.generation++,this._touch(),!0}ensureSize(e,t){return!(e<=this.byteLength)&&this.resize({byteLength:e,preserveData:t?.preserveData})}getBinding(e){return void 0===e?.offset&&void 0===e?.size?this._buffer:{buffer:this._buffer,offset:e?.offset,size:e?.size}}destroy(){this.destroyed||(this._ownsBuffer&&this._buffer.destroy(),this.destroyed=!0,this.debugData=/* @__PURE__ */new ArrayBuffer(0))}_copyBufferContents(e,t,r){const s="webgpu"===this.device.type?4*Math.ceil(r/4):r,i=this.device.createCommandEncoder();i.copyBufferToBuffer({sourceBuffer:e,destinationBuffer:t,size:s}),this.device.submit(i.finish())}_touch(){this.updateTimestamp=this.device.incrementTimestamp()}_resetDebugData(e){this._debugDataEnabled?this.debugData=new ArrayBuffer(Math.min(e,this._maxDebugDataByteLength)):this.debugData=/* @__PURE__ */new ArrayBuffer(0)}_writeDebugData(e,t){if(!this._debugDataEnabled||0===this.debugData.byteLength||t>=this.debugData.byteLength)return!1;const r=ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),s=new Uint8Array(this.debugData),i=Math.min(r.byteLength,s.byteLength-t);return s.set(r.subarray(0,i),t),i>0}};function ee(e){return null!==e&&"object"==typeof e&&"buffer"in e}function te(e){return e instanceof Q?e:ee(e)&&e.buffer instanceof Q?e.buffer:null}function re(e){return{buffer:(t=e.buffer,t instanceof Q?t.buffer:t),offset:e.offset,size:e.size};var t}var se=/^vertex-list<([^<>]+)>$/,ie=/^value-list<([^<>]+)>$/;function ne(e){return se.test(e)}function oe(e){return ie.test(e)}function ae(e){const t=function(e){const t=se.exec(e),r=ie.exec(e),s=t?.[1]??r?.[1]??e;try{n.getVertexFormatInfo(s)}catch{throw new Error(`Unsupported GPUVector format ${e}`)}return s}(e),r=ne(e),s=oe(e),i=n.getVertexFormatInfo(t),o=i.type,a=i.normalized,f=function(e,t){if(t)return"f32";switch(e){case"float32":return"f32";case"float16":return"f16";case"uint8":case"uint16":case"uint32":return"u32";case"sint8":case"sint16":case"sint32":return"i32";default:throw new Error(`Unsupported GPUVector component type ${e}`)}}(o,a);return{format:e,elementFormat:t,vertexList:r,valueList:s,type:o,signedDataType:fe(t,o),primitiveType:f,components:i.components,byteLength:i.byteLength,integer:i.integer,signed:i.signed,normalized:a,...i.webglOnly?{webglOnly:!0}:{}}}function fe(e,t){if("unorm10-10-10-2"===e)return"uint32";switch(t){case"unorm8":return"uint8";case"snorm8":return"sint8";case"unorm16":return"uint16";case"snorm16":return"sint16";default:return t}}var ue=class{buffer;format;length;byteOffset;byteStride;constructor(e){const t=n.getVertexFormatInfo(e.format).byteLength,r=e.byteOffset??0,s=e.byteStride??t;if(he(e.length,"GPUDataView length"),he(r,"GPUDataView byteOffset"),he(s,"GPUDataView byteStride"),s<t)throw new Error(`GPUDataView byteStride ${s} is smaller than ${e.format} byte length ${t}`);const i=0===e.length?0:(e.length-1)*s+t,o=r+i;if(!Number.isSafeInteger(i)||!Number.isSafeInteger(o))throw new Error("GPUDataView byte range must use safe integers");if(o>e.buffer.byteLength)throw new Error("GPUDataView exceeds its backing buffer byte length");this.buffer=e.buffer,this.format=e.format,this.length=e.length,this.byteOffset=r,this.byteStride=s}get elementByteLength(){return n.getVertexFormatInfo(this.format).byteLength}get byteLength(){return 0===this.length?0:(this.length-1)*this.byteStride+this.elementByteLength}};function he(e,t){if(!Number.isSafeInteger(e)||e<0)throw new Error(`${t} must be a non-negative safe integer`)}function ce(e){return Boolean(e&&"object"==typeof e&&"struct"===e.type)}function de(e,t){const r=Object.entries(e);if(0===r.length)throw new Error("GPUData struct format must declare at least one field");return"packed"===t?function(e){const t=[];let r=0,s=0;for(const[i,o]of e){const e=n.getVertexFormatInfo(o);if(e.webglOnly)throw new Error(`Packed GPUData struct field "${i}" uses WebGL-only format ${o}`);r=ge(r,Math.min(4,e.byteLength)),t.push([i,Object.freeze({format:o,byteOffset:r,byteLength:e.byteLength})]),r+=e.byteLength,s+=e.components}return Object.freeze({type:"struct",layout:"packed",fields:Object.freeze(Object.fromEntries(t)),components:s,byteStride:ge(r,4),rowByteLength:r})}(r):function(e){const t=Object.fromEntries(e.map(([e,t])=>[e,le(t)])),r=b(t,{layout:"wgsl-storage"}),s=[];let i=0,o=0;for(const[a,f]of e){const e=n.getVertexFormatInfo(f),t=4*r.fields[a].offset;s.push([a,Object.freeze({format:f,byteOffset:t,byteLength:e.byteLength})]),i=Math.max(i,t+e.byteLength),o+=e.components}return Object.freeze({type:"struct",layout:"wgsl-storage",fields:Object.freeze(Object.fromEntries(s)),components:o,byteStride:r.byteLength,rowByteLength:i})}(r)}function le(e){const t=n.getVertexFormatInfo(e);switch(t.type){case"float32":return ye("f32",t.components);case"sint32":return ye("i32",t.components);case"uint32":return ye("u32",t.components);default:return ye("u32",Math.ceil(t.byteLength/4))}}function ye(e,t){return 1===t?e:`vec${t}<${e}>`}function ge(e,t){return Math.ceil(e/t)*t}var be=class{buffer;ownsDataBuffer;constructor(e,t){this.buffer=e,this.ownsDataBuffer=t}get ownsBuffer(){return this.ownsDataBuffer}transferBufferOwnership(e){if(e.buffer!==this.buffer)throw new Error("GPUData ownership can only be transferred to the same buffer");e.ownsDataBuffer=this.ownsDataBuffer,this.ownsDataBuffer=!1}destroy(){this.ownsDataBuffer&&(this.buffer.destroy(),this.ownsDataBuffer=!1)}},pe=class extends be{dataType;format;length;valueLength;stride;byteOffset;byteStride;rowByteLength;readbackMetadata;valueOffsets;nullBitmap;valueByteLength;constructor(e){const{buffer:t,format:r,length:s,valueLength:i,stride:n,byteOffset:o=0,byteStride:a,rowByteLength:f,ownsBuffer:u=!1,readbackMetadata:h,valueOffsets:c,nullBitmap:d,valueByteLength:l,dataType:y}=e;let g;super(t,u),g=r?"string"==typeof r?r:de(r,e.layout??"wgsl-storage"):void 0;const b=ce(g)?g:void 0,p="string"==typeof g?ae(g):void 0;if(this.dataType=y,this.format=g,this.length=s,this.valueLength=i??s,this.stride=n??p?.components??b?.components??a??f??1,this.byteOffset=o,this.rowByteLength=f??b?.rowByteLength??p?.byteLength??a??this.stride,this.byteStride=a??b?.byteStride??this.rowByteLength,b){if(this.rowByteLength<b.rowByteLength)throw new Error(`GPUData rowByteLength ${this.rowByteLength} is smaller than struct format row byte length ${b.rowByteLength}`);if(this.byteStride<Math.max(b.byteStride,this.rowByteLength))throw new Error(`GPUData byteStride ${this.byteStride} is smaller than its struct row layout`)}this.readbackMetadata=h,this.valueOffsets=c,this.nullBitmap=d,this.valueByteLength=l}getChild(e){if(!ce(this.format))return null;const t=this.format.fields[e];return t?new ue({buffer:this.buffer,format:t.format,length:this.length,byteOffset:this.byteOffset+t.byteOffset,byteStride:this.byteStride}):null}getChildAt(e){if(!ce(this.format))return null;const t=Object.values(this.format.fields)[e];return t?new ue({buffer:this.buffer,format:t.format,length:this.length,byteOffset:this.byteOffset+t.byteOffset,byteStride:this.byteStride}):null}},me=class{name;dataType;format;length;valueLength;stride;byteOffset;byteStride;rowByteLength;bufferLayout;data=[];device;bufferProps;isAppendable=!1;ownsDataChunks=!0;ownedVectors=[];appendableByteLength=0;constructor(e){switch(e.type){case"buffer":{const{name:t,buffer:r,format:s,length:i,valueLength:n=i,byteOffset:o=0,ownsBuffer:a=!1}=e,{stride:f,byteStride:u,rowByteLength:h}=we(e);return this.name=t,this.dataType=e.dataType,this.format=s,this.length=i,this.valueLength=n,this.stride=f,this.byteOffset=o,this.byteStride=u,this.rowByteLength=h,void this.data.push(new pe({buffer:r,format:s,length:i,valueLength:n,stride:f,byteOffset:o,byteStride:u,rowByteLength:h,ownsBuffer:a,dataType:e.dataType}))}case"interleaved":{const{name:t,buffer:r,format:s,length:i,valueLength:n=i,byteOffset:o=0,byteStride:a,attributes:f,ownsBuffer:u=!1}=e;return this.name=t,this.dataType=e.dataType,this.format=s,this.length=i,this.valueLength=n,this.stride=a,this.byteOffset=o,this.byteStride=a,this.rowByteLength=a,this.bufferLayout={name:t,byteStride:a,attributes:f},void this.data.push(new pe({buffer:r,format:s,length:i,valueLength:n,stride:a,byteOffset:o,byteStride:a,rowByteLength:a,ownsBuffer:u,dataType:e.dataType}))}case"data":{const t=e.format??function(e){return e[0]?.format}(e.data),r=t?ae(t):void 0,{name:s,data:i,stride:n=i[0]?.stride??r?.components??1,valueLength:o=i.reduce((e,t)=>e+t.valueLength,0),byteStride:a=i[0]?.byteStride??r?.byteLength,rowByteLength:f=i[0]?.rowByteLength??r?.byteLength,bufferLayout:u,ownsData:h=!1}=e;if(void 0===a||void 0===f)throw new Error("GPUVector requires format or explicit byte layout metadata");return t&&function(e,t){if(e.find(e=>e.format!==t))throw new Error("GPUVector data chunks must share the declared format")}(i,t),this.name=s,this.dataType=e.dataType,this.format=t,this.length=i.reduce((e,t)=>e+t.length,0),this.valueLength=o,this.stride=n,this.byteOffset=1===i.length?i[0].byteOffset:0,this.byteStride=a,this.rowByteLength=f,this.bufferLayout=u,this.ownsDataChunks=h,void this.data.push(...i)}case"appendable":{const{name:t,device:r,format:s,valueLength:i=0,bufferProps:n}=e,{stride:o,byteStride:a,rowByteLength:f}=we(e);return this.name=t,this.dataType=e.dataType,this.format=s,this.length=0,this.valueLength=i,this.stride=o,this.byteOffset=0,this.byteStride=a,this.rowByteLength=f,this.device=r,this.bufferProps=n,void(this.isAppendable=!0)}}}get ownsBuffer(){return this.ownsDataChunks&&this.data.some(e=>e.ownsBuffer)||this.ownedVectors.some(e=>e.ownsBuffer)}get capacityRows(){return this.isAppendable?this.length:void 0}get appendedByteLength(){return this.appendableByteLength}addData(e){if(this.format&&e.format!==this.format)throw new Error("GPUVector.addData() requires matching formats");if(e.byteStride!==this.byteStride)throw new Error("GPUVector.addData() requires matching byteStride");if(e.rowByteLength!==this.rowByteLength)throw new Error("GPUVector.addData() requires matching rowByteLength");return this.data.push(e),this.length+=e.length,this.valueLength+=e.valueLength,this}appendDataChunk(e,t=this.appendableByteLength+e.buffer.byteLength){if(!this.isAppendable)throw new Error("GPUVector.appendDataChunk() requires appendable vector storage");if(this.format&&e.format!==this.format)throw new Error("GPUVector.appendDataChunk() requires matching formats");if(e.byteStride!==this.byteStride||e.rowByteLength!==this.rowByteLength)throw new Error("GPUVector.appendDataChunk() requires matching byte layout metadata");return this.data.push(e),this.length+=e.length,this.valueLength+=e.valueLength,this.appendableByteLength=t,this}resetLastBatch(){if(!this.isAppendable)throw new Error("GPUVector.resetLastBatch() requires appendable vector storage");for(const e of this.data.splice(0))e.destroy();return this.length=0,this.valueLength=0,this.appendableByteLength=0,this}retainOwnedVectors(e){return this.ownedVectors.push(...e),this}transferBufferOwnership(e){const t=this.data[0],r=e.data[0];if(!t||!r||t.buffer!==r.buffer)throw new Error("GPUVector ownership can only be transferred to the same buffer");t.transferBufferOwnership(r)}destroy(){if(this.ownsDataChunks)for(const e of this.data)e.destroy();for(const e of this.ownedVectors.splice(0))e.destroy()}};function we(e){const t=e.format?ae(e.format):void 0,r=e.rowByteLength??e.byteStride??t?.byteLength;if(void 0===r)throw new Error("GPUVector requires format or explicit rowByteLength");return{stride:e.stride??t?.components??1,byteStride:e.byteStride??r,rowByteLength:r}}var ve=new class{poolSize=20;bufferPools;constructor(){this.bufferPools=/* @__PURE__ */new Map}createOrReuse(e,t){if(t>e.limits.maxBufferSize)throw new Error(`Buffer pool cannot allocate ${t} bytes: device.limits.maxBufferSize is ${e.limits.maxBufferSize}`);const r=this.bufferPools.get(e),s=r?r.findIndex(e=>e.byteLength>=t):-1;if(s<0)return e.createBuffer({usage:h.VERTEX|h.STORAGE|h.COPY_DST|h.COPY_SRC,byteLength:t});const[i]=r.splice(s,1);return i}recycle(e){const t=e.device;this.bufferPools.has(t)||this.bufferPools.set(t,[]);const r=this.bufferPools.get(t),s=r.findIndex(t=>t.byteLength>e.byteLength);s<0?r.push(e):r.splice(s,0,e),this.purge()}purge(){for(const[e,t]of this.bufferPools){const r=e.isLost?0:this.poolSize;for(;t.length>r;)t.shift().destroy();0===t.length&&this.bufferPools.delete(e)}}},_e=class e{static get bufferPoolSize(){return ve.poolSize}static set bufferPoolSize(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("GPUDataEvaluator.bufferPoolSize must be a non-negative safe integer");ve.poolSize=e,ve.purge()}type;size;get offset(){return this._offset}get stride(){return this._stride}normalized;isConstant;length;get byteLength(){return this._byteLength}ValueType;source=null;format;_id;_destroyed=!1;_value;_offset;_stride;_byteLength;_gpuVector;_bufferOwnership="owned";_targetBuffer;static fromArray(t,{type:r,size:s=1,offset:i=0,stride:n=0,normalized:a=!1}){let f,h=r;Array.isArray(t)?(h=h||"float32",f=new(o(h))(t)):t instanceof Float64Array?(h="uint32",s*=2,i*=2,n*=2,f=new Uint32Array(t.buffer,t.byteOffset,t.byteLength/4)):(h=h||u(t),f=t);return new e({id:`<${h} * ${s}>`,type:h,size:s,offset:i,stride:n,normalized:a,value:f})}static fromConstant(t,r="float32"){const s=o(r);let i;return Array.isArray(t)?i=`[${t.join(",")}]`:(i=String(t),t=[t]),new e({id:i,isConstant:!0,type:r,size:t.length,value:new s(t)})}static fromGPUData(t,r={}){!function(e){if(!e.format)throw new Error("GPUDataEvaluator.fromGPUData() requires GPUData format metadata");if(ne(e.format)||oe(e.format))throw new Error("GPUDataEvaluator.fromGPUData() does not support variable-length input");const t=ae(e.format).byteLength;if(e.rowByteLength!==t)throw new Error(`GPUDataEvaluator.fromGPUData() requires rowByteLength ${t} for GPUData`)}(t);const s=new ue({buffer:t.buffer,format:t.format,length:t.length,byteOffset:t.byteOffset,byteStride:t.byteStride});return new e({...Le(s),id:r.id,gpuData:t})}static fromGPUDataView(t,r={}){return new e({...Le(t),id:r.id,buffer:t.buffer})}constructor(t){const{id:r,value:s,buffer:i,gpuData:n,format:a,source:f=null,isConstant:u=!1}=t;if(!(f||s||i||n))throw new Error("GPUDataEvaluator must have a value source");let{type:h,size:c,offset:d,stride:l,normalized:y,length:g}=t;if(f instanceof e?(h=h??f.type,c=c??f.size,d=d??f.offset,l=l??f.stride,y=y??f.normalized,g=g??f.length):(c=c??1,d=d??0,y=y??!1,g=u?1:g),!h)throw new Error("GPUDataEvaluator: type not defined");if(this._id=r,this.type=h,this.size=c,this.ValueType=o(this.type),this._offset=d,this._stride=l||this.ValueType.BYTES_PER_ELEMENT*c,this.normalized=y,this.source=f,this.format=a,void 0===g)if(u)g=1;else{if(!s)throw new Error("GPUDataEvaluator: length not defined");g=Math.ceil(s.byteLength/this.stride)}this.isConstant=u,this.length=g;const b=this.ValueType.BYTES_PER_ELEMENT*this.size;this._byteLength=0===g?0:(g-1)*this.stride+b,this._value=s,this._bufferOwnership=f instanceof e||i||n?"borrowed":"owned",n?this._gpuVector=new me({type:"data",name:this._id??"data",format:n.format,data:[n],stride:n.stride,byteStride:n.byteStride,rowByteLength:n.rowByteLength}):i&&(this._gpuVector=this.createGPUVectorView({buffer:i,name:this._id,format:this.format}))}get value(){return this._value||(this.source instanceof e?this.source.value:void 0)}get evaluated(){return Boolean(this._gpuVector)}get id(){return this._id}get gpuVector(){if(!this._gpuVector)throw new Error(`${this} not evaluated`);return this._gpuVector}get buffer(){return Ee(this.gpuVector)}setTargetBuffer({buffer:t,byteOffset:r=0,byteStride:s=this.stride}){if(this._destroyed)throw new Error(`GPUDataEvaluator ${this} already destroyed`);if(this._gpuVector)throw new Error(`GPUDataEvaluator ${this} already evaluated`);if(!this.source||this.source instanceof e)throw new Error("GPUDataEvaluator target buffers require a deferred operation source");this._targetBuffer={buffer:t,byteOffset:r,byteStride:s}}async evaluate(t,r={}){if(this._destroyed)throw new Error(`GPUDataEvaluator ${this} already destroyed`);if(this._gpuVector)return this._gpuVector;let s;if(this.source instanceof e){const e=await this.source.evaluate(t);return this._gpuVector=this.createGPUVectorView({...r,buffer:Ee(e)}),this._gpuVector}if(s=this._getEvaluationBuffer(t),this._value)s.write(this._value);else{const e=await this.source.execute(t,s);if(!e.success)throw e.error||/* @__PURE__ */new Error(`${this.source} evaluation failed`);e.value&&(this._value=e.value)}return this._gpuVector=this.createGPUVectorView({...r,buffer:s}),this._gpuVector}evaluateSync(t,r={}){if(this._destroyed)throw new Error(`GPUDataEvaluator ${this} already destroyed`);if(this._gpuVector)return this._gpuVector;let s;if(this.source instanceof e){const e=this.source.evaluateSync(t);return this._gpuVector=this.createGPUVectorView({...r,buffer:Ee(e)}),this._gpuVector}if(s=this._getEvaluationBuffer(t),this._value)s.write(this._value);else{const e=this.source.executeSync(t,s);if(!e.success)throw e.error||/* @__PURE__ */new Error(`${this.source} evaluation failed`);e.value&&(this._value=e.value)}return this._gpuVector=this.createGPUVectorView({...r,buffer:s}),this._gpuVector}createGPUVectorView(e){const t=e.name??this._id??"vector",r=e.format??this.format??function(e,t,r=!1){return t>=1&&t<=4?Se(e,t,r):void 0}(this.type,this.size,this.normalized);if(e.interleaved){const r="object"==typeof e.interleaved&&e.interleaved.attributes?e.interleaved.attributes:function(e){const t=[];return Pe(e,t,{byteOffset:0}),t}(this);return new me({type:"interleaved",name:t,buffer:e.buffer,format:e.format??this.format,length:this.length,byteOffset:this.offset,byteStride:this.stride,attributes:r,ownsBuffer:!1})}return new me({type:"buffer",name:t,buffer:e.buffer,format:r,length:this.length,stride:this.size,byteOffset:this.offset,byteStride:this.stride,rowByteLength:this.ValueType.BYTES_PER_ELEMENT*this.size,ownsBuffer:!1})}_getEvaluationBuffer(e){const t=this._targetBuffer;if(!t)return ve.createOrReuse(e,this.byteLength);if(t.buffer.device!==e)throw new Error("GPUDataEvaluator target buffer belongs to a different device");const r=this.ValueType.BYTES_PER_ELEMENT*this.size,s=0===this.length?0:(this.length-1)*t.byteStride+r;if(t.byteOffset+s>t.buffer.byteLength)throw new Error("GPUDataEvaluator target buffer is too small for the output layout");return this._offset=t.byteOffset,this._stride=t.byteStride,this._byteLength=s,this._bufferOwnership="borrowed",this._targetBuffer=void 0,t.buffer}async readValue(e=0,t){const{ValueType:r}=this,{size:s,offset:i,stride:n,length:o}=this,a=r.BYTES_PER_ELEMENT*s;if(t=t??o,e=Math.max(0,Math.min(o,e)),t=Math.max(e,Math.min(o,t)),this._value)return function(e,t,r,s){const{ValueType:i,size:n,offset:o,stride:a}=e,f=a/i.BYTES_PER_ELEMENT,u=o/i.BYTES_PER_ELEMENT,h=s-r;if(f===n){const e=u+r*f;return t.subarray(e,e+h*n)}const c=new i(h*n);for(let d=0;d<h;d++){const e=u+(r+d)*f;c.set(t.subarray(e,e+n),d*n)}return c}(this,this._value,e,t);const f=t-e;if(0===f)return new r(0);const u=i+e*n,h=n===a?f*a:(f-1)*n+a,c=await this.buffer.readAsync(u,h),d=new r(c.buffer,c.byteOffset,c.byteLength/r.BYTES_PER_ELEMENT);if(n===a)return d;const l=new Uint8Array(a*f);for(let y=0;y<f;y++){const e=y*n;l.set(c.subarray(e,e+a),y*a)}return new r(l.buffer)}async ensureCPUValue(){const e=this.value;if(e)return e;const t=await this.buffer.readAsync(0,this.offset+this.byteLength);if(t.byteLength%this.ValueType.BYTES_PER_ELEMENT!==0)throw new Error(`${this} backing buffer byte length is not aligned to its scalar type`);const r=t.slice();return this._value=new this.ValueType(r.buffer,r.byteOffset,r.byteLength/this.ValueType.BYTES_PER_ELEMENT),this._value}ensureCPUValueSync(){const e=this.value;if(e)return e;throw new Error(`${this} CPU value is not available for synchronous evaluation`)}toString(){return this._id??this.source?.toString()??this.constructor.name}destroy(){this._gpuVector&&("owned"===this._bufferOwnership&&ve.recycle(Ee(this._gpuVector)),this._gpuVector=void 0),this._targetBuffer=void 0,this._destroyed=!0}};function Be(e){if(e instanceof _e)return e;if("number"==typeof e||Array.isArray(e))return _e.fromConstant(e);if(e instanceof pe)return _e.fromGPUData(e);if(e instanceof ue)return _e.fromGPUDataView(e);throw new Error("getGPUDataEvaluator() requires GPUDataEvaluator, GPUData, GPUDataView, number, or number[]")}function Le(e){const t=ae(e.format),r=o(t.signedDataType),s=r.BYTES_PER_ELEMENT*t.components;if(t.byteLength!==s)throw new Error(`GPUDataEvaluator does not support packed vertex format ${e.format}: ${t.byteLength} physical bytes cannot expose ${t.components} ${t.signedDataType} components`);if(e.byteOffset%r.BYTES_PER_ELEMENT!==0||e.byteStride%r.BYTES_PER_ELEMENT!==0)throw new Error(`GPUDataEvaluator requires ${e.format} offset and stride aligned to ${r.BYTES_PER_ELEMENT} bytes`);return{type:t.signedDataType,size:t.components,offset:e.byteOffset,stride:e.byteStride,normalized:t.normalized,length:e.length,format:e.format}}function Ee(e){const t=function(e){const[t,...r]=e.data;if(!t||r.length>0)throw new Error(`GPUDataEvaluator requires exactly one GPUData chunk for "${e.name}"`);return t}(e).buffer;return t instanceof Q?t.buffer:t}function Pe(e,t,r){const s=e.source;if(!s||s instanceof _e||"interleave"!==s.name)t.push({attribute:e.id??e.toString(),format:Se(e.type,e.size,e.normalized),byteOffset:r.byteOffset}),r.byteOffset+=e.ValueType.BYTES_PER_ELEMENT*e.size;else for(const i of Object.values(s.inputs))i instanceof _e&&Pe(i,t,r)}function Se(e,t,r=!1){if(t<1||t>4)throw new Error(`Cannot synthesize a GPUVector vertex format with ${t} components`);let s=e;if(r)switch(e){case"uint8":s="unorm8";break;case"sint8":s="snorm8";break;case"uint16":s="unorm16";break;case"sint16":s="snorm16";break;case"float32":s="float32";break;default:throw new Error(`Unsupported normalized vertex format for ${e}`)}return"uint8"!==s&&"sint8"!==s&&"uint16"!==s&&"sint16"!==s&&"unorm8"!==s&&"snorm8"!==s&&"unorm16"!==s&&"snorm16"!==s||3!==t?`${s}${1===t?"":`x${t}`}`:`${s}x3-webgl`}var $e={add:{arity:2,symbol:"arithmetic_add"},subtract:{arity:2,symbol:"arithmetic_subtract"},multiply:{arity:2,symbol:"arithmetic_multiply"},divide:{arity:2,symbol:"arithmetic_divide"},pow:{arity:2,symbol:"pow"},sqrt:{arity:1,symbol:"sqrt"},abs:{arity:1,symbol:"abs"},sin:{arity:1,symbol:"sin"},cos:{arity:1,symbol:"cos"},tan:{arity:1,symbol:"arithmetic_tan"},exp:{arity:1,symbol:"exp"},log:{arity:1,symbol:"log"}};function De(e,{operations:t,inputs:r}){switch(e.kind){case"input":if(!(e.name in r))throw new Error(`Unknown expression input '${e.name}'`);return;case"literal":if(Array.isArray(e.value)){for(const t of e.value)if(!Number.isFinite(t))throw new Error(`Expression literal array must contain only finite values, got ${t}`)}else if(!Number.isFinite(e.value))throw new Error(`Expression literal must be finite, got ${e.value}`);return;case"call":{const s=t[e.op];if(!s)throw new Error(`Unknown expression op '${e.op}'`);if(e.args.length!==s.arity)throw new Error(`Expression op '${e.op}' expects ${s.arity} args, got ${e.args.length}`);for(const i of e.args)De(i,{operations:t,inputs:r});return}default:throw new Error(`Unsupported expression node ${e.kind}`)}}function Ue(e,t){return De(e,t),Oe(e,t)}function Oe(e,t){switch(e.kind){case"input":{const r=t.inputs[e.name];return t.laneIndex<r.size?t.formatInput(e.name):t.formatOutOfBoundsInput(e.name)}case"literal":return t.formatLiteral(e.value);case"call":{const r=t.operations[e.op],s=e.args.map(e=>Oe(e,t));return t.formatCall(r.symbol,s)}default:throw new Error(`Unsupported expression node ${e.kind}`)}}export{m as C,w as S,G as _,ve as a,P as b,te as c,H as d,j as f,z as g,M as h,Be as i,ee as l,x as m,$e as n,me as o,R as p,_e as r,Q as s,Ue as t,re as u,U as v,p as w,v as x,D as y};
1
+ /*! Web-kit v1.2.0-develop.14 | (c) 2026 MapVX */
2
+ !function(){try{var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="de019dcc-889d-4bcd-8ee6-0b1fe8a63521",e._sentryDebugIdIdentifier="sentry-dbid-de019dcc-889d-4bcd-8ee6-0b1fe8a63521")}catch(e){}}();import{Ht as e,Vt as t,en as r}from"./debug-hooks-D_XQuFlb.js";import{d as s,f as i,i as n,l as o,p as a,r as f,s as u,u as h}from"./shader-type-decoder-CmsRL_mF.js";import{c,l as d,m as l,p as y,s as g,u as b}from"./webgl-device-CjfmtXLr.js";function p(e){return function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}(e)||function(e){return!!Array.isArray(e)&&(0===e.length||"number"==typeof e[0])}(e)}var m=class e extends s{get[Symbol.toStringTag](){return"ComputePipeline"}hash="";shaderLayout;constructor(t,r){super(t,r,e.defaultProps),this.shaderLayout=r.shaderLayout}static defaultProps={...s.defaultProps,shader:void 0,entryPoint:void 0,constants:{},shaderLayout:void 0}},w=class e{static defaultProps={...y.defaultProps};static getDefaultPipelineFactory(t){const r=t.getModuleData("@luma.gl/core");return r.defaultPipelineFactory||=new e(t),r.defaultPipelineFactory}device;_hashCounter=0;_hashes={};_renderPipelineCache={};_computePipelineCache={};_sharedRenderPipelineCache={};get[Symbol.toStringTag](){return"PipelineFactory"}toString(){return`PipelineFactory(${this.device.id})`}constructor(e){this.device=e}createRenderPipeline(e){if(!this.device.props._cachePipelines)return this.device.createRenderPipeline(e);const t={...y.defaultProps,...e},r=this._renderPipelineCache,s=this._hashRenderPipeline(t);let n=r[s]?.resource;if(n)r[s].useCount++,this.device.props.debugFactories&&a.log(3,`${this}: ${r[s].resource} reused, count=${r[s].useCount}, (id=${e.id})`)();else{const e="webgl"===this.device.type&&this.device.props._sharePipelines?this.createSharedRenderPipeline(t):void 0;n=this.device.createRenderPipeline({...t,id:t.id?`${t.id}-cached`:i("unnamed-cached"),_sharedRenderPipeline:e}),n.hash=s,r[s]={resource:n,useCount:1},this.device.props.debugFactories&&a.log(3,`${this}: ${n} created, count=${r[s].useCount}`)()}return n}createComputePipeline(e){if(!this.device.props._cachePipelines)return this.device.createComputePipeline(e);const t={...m.defaultProps,...e},r=this._computePipelineCache,s=this._hashComputePipeline(t);let i=r[s]?.resource;return i?(r[s].useCount++,this.device.props.debugFactories&&a.log(3,`${this}: ${r[s].resource} reused, count=${r[s].useCount}, (id=${e.id})`)()):(i=this.device.createComputePipeline({...t,id:t.id?`${t.id}-cached`:void 0}),i.hash=s,r[s]={resource:i,useCount:1},this.device.props.debugFactories&&a.log(3,`${this}: ${i} created, count=${r[s].useCount}`)()),i}release(e){if(!this.device.props._cachePipelines)return void e.destroy();const t=this._getCache(e),r=e.hash;t[r].useCount--,0===t[r].useCount?(this._destroyPipeline(e),this.device.props.debugFactories&&a.log(3,`${this}: ${e} released and destroyed`)()):t[r].useCount<0?(a.error(`${this}: ${e} released, useCount < 0, resetting`)(),t[r].useCount=0):this.device.props.debugFactories&&a.log(3,`${this}: ${e} released, count=${t[r].useCount}`)()}createSharedRenderPipeline(e){const t=this._hashSharedRenderPipeline(e);let r=this._sharedRenderPipelineCache[t];return r||(r={resource:this.device._createSharedRenderPipelineWebGL(e),useCount:0},this._sharedRenderPipelineCache[t]=r),r.useCount++,r.resource}releaseSharedRenderPipeline(e){if(!e.sharedRenderPipeline)return;const t=this._hashSharedRenderPipeline(e.sharedRenderPipeline.props),r=this._sharedRenderPipelineCache[t];r&&(r.useCount--,0===r.useCount&&(r.resource.destroy(),delete this._sharedRenderPipelineCache[t]))}_destroyPipeline(e){const t=this._getCache(e);return!!this.device.props._destroyPipelines&&(delete t[e.hash],e.destroy(),e instanceof y&&this.releaseSharedRenderPipeline(e),!0)}_getCache(e){let t;if(e instanceof m&&(t=this._computePipelineCache),e instanceof y&&(t=this._renderPipelineCache),!t)throw new Error(`${this}`);if(!t[e.hash])throw new Error(`${this}: ${e} matched incorrect entry`);return t}_hashComputePipeline(e){const{type:t}=this.device;return`${t}/C/${this._getHash(e.shader.source)}SL${this._getHash(JSON.stringify(e.shaderLayout))}`}_hashRenderPipeline(e){const t=e.vs?this._getHash(e.vs.source):0,r=e.fs?this._getHash(e.fs.source):0,s=this._getWebGLVaryingHash(e),i=this._getHash(JSON.stringify(e.shaderLayout)),n=this._getHash(JSON.stringify(e._uniformBlockLayouts)),o=this._getHash(JSON.stringify(e.bufferLayout)),{type:a}=this.device;if("webgl"===a){const f=this._getHash(JSON.stringify(e.parameters));return`${a}/R/${t}/${r}V${s}T${e.topology}P${f}SL${i}UBL${n}BL${o}`}{const n=this._getHash(JSON.stringify({vertexEntryPoint:e.vertexEntryPoint,fragmentEntryPoint:e.fragmentEntryPoint})),f=this._getHash(JSON.stringify(e.parameters)),u=this._getWebGPUAttachmentHash(e);return`${a}/R/${t}/${r}V${s}T${e.topology}EP${n}P${f}SL${i}BL${o}A${u}`}}_hashSharedRenderPipeline(e){return`webgl/S/${e.vs?this._getHash(e.vs.source):0}/${e.fs?this._getHash(e.fs.source):0}V${this._getWebGLVaryingHash(e)}`}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getWebGLVaryingHash(e){const{varyings:t=[],bufferMode:r=null}=e;return this._getHash(JSON.stringify({varyings:t,bufferMode:r}))}_getWebGPUAttachmentHash(e){const t=e.colorAttachmentFormats??[this.device.preferredColorFormat],r=e.depthStencilAttachmentFormat??(e.parameters?.depthWriteEnabled?this.device.preferredDepthFormat:null);return this._getHash(JSON.stringify({colorAttachmentFormats:t,depthStencilAttachmentFormat:r}))}},v=class e{static defaultProps={...l.defaultProps};static getDefaultShaderFactory(t){const r=t.getModuleData("@luma.gl/core");return r.defaultShaderFactory||=new e(t),r.defaultShaderFactory}device;_cache={};get[Symbol.toStringTag](){return"ShaderFactory"}toString(){return`${this[Symbol.toStringTag]}(${this.device.id})`}constructor(e){this.device=e}createShader(e){if(!this.device.props._cacheShaders)return this.device.createShader(e);const t=this._hashShader(e);let r=this._cache[t];if(r)r.useCount++,this.device.props.debugFactories&&a.log(3,`${this}: Reusing shader ${r.resource.id} count=${r.useCount}`)();else{const s=this.device.createShader({...e,id:e.id?`${e.id}-cached`:void 0});this._cache[t]=r={resource:s,useCount:1},this.device.props.debugFactories&&a.log(3,`${this}: Created new shader ${s.id}`)()}return r.resource}release(e){if(!this.device.props._cacheShaders)return void e.destroy();const t=this._hashShader(e),r=this._cache[t];if(r)if(r.useCount--,0===r.useCount)this.device.props._destroyShaders&&(delete this._cache[t],r.resource.destroy(),this.device.props.debugFactories&&a.log(3,`${this}: Releasing shader ${e.id}, destroyed`)());else{if(r.useCount<0)throw new Error(`ShaderFactory: Shader ${e.id} released too many times`);this.device.props.debugFactories&&a.log(3,`${this}: Releasing shader ${e.id} count=${r.useCount}`)()}}_hashShader(e){return`${e.stage}:${e.source}`}};function _(e){return Array.isArray(e)?0===e.length||"number"==typeof e[0]:function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}(e)}var B=class{layout;constructor(e){this.layout=e}has(e){return Boolean(this.layout.fields[e])}get(e){const t=this.layout.fields[e];return t?{offset:t.offset,size:t.size}:void 0}getFlatUniformValues(e){const t={};for(const[r,s]of Object.entries(e)){const e=this.layout.uniformTypes[r];e?this._flattenCompositeValue(t,r,e,s):this.layout.fields[r]&&(t[r]=s)}return t}getData(e){const t=g(this.layout.byteLength);new Uint8Array(t,0,this.layout.byteLength).fill(0);const r={i32:new Int32Array(t),u32:new Uint32Array(t),f32:new Float32Array(t),f16:new Uint16Array(t)},s=this.getFlatUniformValues(e);for(const[i,n]of Object.entries(s))this._writeLeafValue(r,i,n);return new Uint8Array(t,0,this.layout.byteLength)}_flattenCompositeValue(e,t,r,s){if(void 0!==s)if("string"==typeof r||this.layout.fields[t])e[t]=s;else{if(Array.isArray(r)){const i=r[0],n=r[1];if(Array.isArray(i))throw new Error(`Nested arrays are not supported for ${t}`);if("string"==typeof i&&_(s))return void this._flattenPackedArray(e,t,i,n,s);if(!Array.isArray(s))return void a.warn(`Unsupported uniform array value for ${t}:`,s)();for(let r=0;r<Math.min(s.length,n);r++){const n=s[r];void 0!==n&&this._flattenCompositeValue(e,`${t}[${r}]`,i,n)}return}if(d(r)&&function(e){return Boolean(e)&&"object"==typeof e&&!Array.isArray(e)&&!ArrayBuffer.isView(e)}(s))for(const[i,n]of Object.entries(s)){if(void 0===n)continue;const s=`${t}.${i}`;this._flattenCompositeValue(e,s,r[i],n)}else a.warn(`Unsupported uniform value for ${t}:`,s)()}}_flattenPackedArray(e,t,r,s,i){const n=i,o=c(r,this.layout.layout).components;for(let a=0;a<s;a++){const r=a*o;if(r>=n.length)break;e[`${t}[${a}]`]=1===o?Number(n[r]):L(i,r,r+o)}}_writeLeafValue(e,t,r){const s=this.layout.fields[t];if(!s)return void a.warn(`Uniform ${t} not found in layout`)();const{type:i,components:n,columns:o,rows:f,offset:u,columnStride:h}=s,c=e[i];if(1===n)return void(c[u]=Number(r));const d=r;if(1===o){for(let e=0;e<n;e++)c[u+e]=Number(d[e]??0);return}let l=0;for(let a=0;a<o;a++){const e=u+a*h;for(let t=0;t<f;t++)c[e+t]=Number(d[l++]??0)}}};function L(e,t,r){return Array.prototype.slice.call(e,t,r)}var E=class{name;uniforms={};modifiedUniforms={};modified=!0;bindingLayout={};needsRedraw="initialized";constructor(e){if(this.name=e?.name||"unnamed",e?.name&&e?.shaderLayout){const t=e?.shaderLayout.bindings?.find(t=>"uniform"===t.type&&t.name===e?.name);if(!t)throw new Error(e?.name);const r=t;for(const e of r.uniforms||[])this.bindingLayout[e.name]=e}}setUniforms(e){for(const[t,r]of Object.entries(e))this._setUniform(t,r)&&!this.needsRedraw&&this.setNeedsRedraw(`${this.name}.${t}=${r}`)}setNeedsRedraw(e){this.needsRedraw=this.needsRedraw||e}getAllUniforms(){return this.modifiedUniforms={},this.needsRedraw=!1,this.uniforms||{}}_setUniform(e,t){return!function(e,t,r=16){if(e===t)return!0;const s=e,i=t;if(!_(s)||!_(i))return!1;if(s.length!==i.length)return!1;const n=Math.min(r,128);if(s.length>n)return!1;for(let o=0;o<s.length;++o)if(i[o]!==s[o])return!1;return!0}(this.uniforms[e],t)&&(this.uniforms[e]=_(r=t)?r.slice():r,this.modifiedUniforms[e]=!0,this.modified=!0,!0);var r}},P=class{device;uniformBlocks=/* @__PURE__ */new Map;shaderBlockLayouts=/* @__PURE__ */new Map;shaderBlockWriters=/* @__PURE__ */new Map;uniformBuffers=/* @__PURE__ */new Map;constructor(e,t){this.device=e;for(const[r,s]of Object.entries(t)){const t=r,i=b(s.uniformTypes??{},{layout:s.layout??S(e)}),n=new B(i);this.shaderBlockLayouts.set(t,i),this.shaderBlockWriters.set(t,n);const o=new E({name:r});o.setUniforms(n.getFlatUniformValues(s.defaultUniforms||{})),this.uniformBlocks.set(t,o)}}destroy(){for(const e of this.uniformBuffers.values())e.destroy()}setUniforms(e,t){for(const[r,s]of Object.entries(e)){const e=r,t=this.shaderBlockWriters.get(e)?.getFlatUniformValues(s||{});this.uniformBlocks.get(e)?.setUniforms(t||{})}this.updateUniformBuffers(t)}getUniformBufferByteLength(e){const t=this.shaderBlockLayouts.get(e)?.byteLength||0;return Math.max(t,1024)}getUniformBufferData(e){const t=this.uniformBlocks.get(e)?.getAllUniforms()||{};return this.shaderBlockWriters.get(e)?.getData(t)||/* @__PURE__ */new Uint8Array(0)}createUniformBuffer(e,t){t&&this.setUniforms(t);const r=this.getUniformBufferByteLength(e),s=this.device.createBuffer({usage:h.UNIFORM|h.COPY_DST,byteLength:r}),i=this.getUniformBufferData(e);return s.write(i),s}getManagedUniformBuffer(e){if(!this.uniformBuffers.get(e)){const t=this.getUniformBufferByteLength(e),r=this.device.createBuffer({usage:h.UNIFORM|h.COPY_DST,byteLength:t});this.uniformBuffers.set(e,r)}return this.uniformBuffers.get(e)}updateUniformBuffers(e){let t=!1;for(const r of this.uniformBlocks.keys()){const s=this.updateUniformBuffer(r,e);t||=s}return t&&a.log(3,`UniformStore.updateUniformBuffers(): ${t}`)(),t}updateUniformBuffer(e,t){const r=this.uniformBlocks.get(e);let s=this.uniformBuffers.get(e),i=!1;if(s&&r?.needsRedraw){i||=r.needsRedraw;const n=this.getUniformBufferData(e);if(s=this.uniformBuffers.get(e),s&&(t?this.device.writeBufferViaCommandEncoder(t,s,n):s.write(n)),a.level>=4){const t=this.uniformBlocks.get(e)?.getAllUniforms();a.log(4,`Writing to uniform buffer ${String(e)}`,n,t)()}}return i}};function S(e){return"webgpu"===e.type?"wgsl-uniform":"std140"}var $=/^(vs|fs):(?:#(?:decl|main-start|main-end)|[A-Za-z_][\w-]*)$/;function D(e=[],t){const r=[],s={},i={},n={},o={};for(const a of e)O({modules:r,defines:s,injections:i,vertexInputs:n,varyings:o},a),O({modules:r,defines:s,injections:i,vertexInputs:n,varyings:o},a[t]);for(const a of Object.keys(o))if(n[a])throw new Error(`ShaderPlugin name "${a}" cannot be both a vertex input and a varying`);return{modules:r,defines:s,injections:i,vertexInputs:n,varyings:o}}function U(e=[],t=[]){const r=[...e],s=new Set(r.map(e=>e.name));for(const i of t)s.has(i.name)||(r.push(i),s.add(i.name));return r}function O(e,t){if(t){t.modules?.length&&e.modules.push(...t.modules),t.defines&&Object.assign(e.defines,t.defines);for(const[r,s]of Object.entries(t.vertexInputs||{})){V(r,"vertex input");const t=e.vertexInputs[r];if(t&&t!==s)throw new Error(`ShaderPlugin vertex input "${r}" has conflicting types "${t}" and "${s}"`);e.vertexInputs[r]=s}for(const[r,s]of Object.entries(t.varyings||{})){V(r,"varying");const t=T(r,s),i=e.varyings[r];if(i&&(i.type!==t.type||i.interpolation!==t.interpolation))throw new Error(`ShaderPlugin varying "${r}" has conflicting declarations "${i.type}/${i.interpolation}" and "${t.type}/${t.interpolation}"`);e.varyings[r]=t}for(const r of t.injections||[])A(r.target),e.injections[r.target]||(e.injections[r.target]=[]),e.injections[r.target].push({injection:r.injection,order:r.order??0})}}function V(e,t){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e)||e.startsWith("_luma_"))throw new Error(`ShaderPlugin ${t} "${e}" must be a valid non-reserved identifier`)}function T(e,t){const{primitiveType:r}=f.getAttributeShaderTypeInfo(t.type),s="i32"===r||"u32"===r,i=t.interpolation||(s?"flat":"smooth");if(s&&"smooth"===i)throw new Error(`ShaderPlugin integer varying "${e}" must use flat interpolation`);return{type:t.type,interpolation:i}}function A(e){if(!$.test(e))throw new Error(`ShaderPlugin injection target "${e}" must be a named shader anchor or hook`)}var C={};function G(e="id"){return C[e]=C[e]||1,`${e}-${C[e]++}`}function x(e,t){if(!e||!t.some(e=>e.bindingLayout?.length))return e;const r={...e,bindings:e.bindings.map(e=>({...e}))};"attributes"in(e||{})&&(r.attributes=e?.attributes||[]);for(const s of t)for(const e of s.bindingLayout||[])for(const t of k(e.name)){const s=r.bindings.find(e=>e.name===t);0===s?.group&&(s.group=e.group),s&&void 0!==e.visibility&&(s.visibility=e.visibility)}return r}function R(e,t,r=[]){return e?t?{...e,attributes:e.attributes.length?F(e.attributes,t.attributes.filter(e=>r.includes(e.name))):t.attributes,bindings:N(e.bindings,t.bindings)}:e:t}function z(e){return Boolean(e.uniformTypes&&!function(e){for(const t in e)return!1;return!0}(e.uniformTypes))}function j(r){const s=[];for(const i of r){const r=e(i),n=new Set([i.vs,i.fs].flatMap(e=>e?t(e).filter(e=>e.isStd140).map(e=>e.blockName):[])),o=n.has(r)?r:1===n.size?n.values().next().value:void 0;z(i)&&o&&s.push({name:o,uniformTypes:i.uniformTypes})}return s}function M(e,t){const r=[],s=/* @__PURE__ */new Set;for(const i of[...e||[],...t||[]])s.has(i.name)||(s.add(i.name),r.push(i));return r}function k(e){const t=/* @__PURE__ */new Set([e,`${e}Uniforms`]);return e.endsWith("Uniforms")||t.add(`${e}Sampler`),[...t]}function N(e,t){const r=e.map(e=>({...e})),s=new Set(e.map(e=>e.name)),i=new Set(e.map(e=>`${e.group}:${e.location}`));for(const n of t){const e=`${n.group}:${n.location}`;s.has(n.name)||i.has(e)||r.push({...n})}return r}function F(e,t){const r=e.map(e=>({...e})),s=new Map(e.map(e=>[e.name,e])),i=new Map(e.map(e=>[e.location,e]));for(const n of t){const e=s.get(n.name);if(e){if(e.type!==n.type||e.location!==n.location)throw new Error(`Shader attribute "${n.name}" conflicts with its inferred type or location`);continue}const t=i.get(n.location);if(t)throw new Error(`Shader attributes "${t.name}" and "${n.name}" both use location ${n.location}`);r.push({...n})}return r}function I(e,t={}){const r={bindings:{},uniforms:{}};return Object.keys(e).forEach(s=>{const i=e[s];var n;Object.prototype.hasOwnProperty.call(t,s)||(p(n=i)||"number"==typeof n||"boolean"==typeof n)?r.uniforms[s]=i:r.bindings[s]=i}),r}var H=class{options={disableWarnings:!1};modules;moduleUniforms;moduleBindings;directBindings={};constructor(e,t){Object.assign(this.options,t);const s=r(Object.values(e).filter(Z));for(const r of s)e[r.name]=r;a.log(1,"Creating ShaderInputs with modules",Object.keys(e))(),this.modules=e,this.moduleUniforms={},this.moduleBindings={};for(const[r,i]of Object.entries(e))i&&(this._addModule(i),i.name&&r!==i.name&&!this.options.disableWarnings&&a.warn(`Module name: ${r} vs ${i.name}`)())}destroy(){}setProps(e){e.bindings&&Object.assign(this.directBindings,e.bindings);for(const t of Object.keys(e)){if("bindings"===t)continue;const r=t,s=e[r]||{},i=this.modules[r];if(i){const e=this.moduleUniforms[r],t=this.moduleBindings[r],n=i.getUniforms?.(s,e)||s,{uniforms:o,bindings:a}=I(n,i.uniformTypes);this.moduleUniforms[r]=Y(e,o,i.uniformTypes),this.moduleBindings[r]={...t,...a}}else this.options.disableWarnings||a.warn(`Module ${t} not found`)()}}getModules(){return Object.values(this.modules)}addModules(e){const t=r(e);for(const r of t){const e=r.name;this.modules[e]||(this.modules[e]=r,this._addModule(r))}}getUniformValues(){return this.moduleUniforms}getBindingValues(){const e={};for(const t of Object.values(this.moduleBindings))Object.assign(e,t);return Object.assign(e,this.directBindings),e}getModuleBindingValues(e){const t=this.moduleBindings[e];return t?{...t}:{}}getDebugTable(){const e={};for(const[t,r]of Object.entries(this.moduleUniforms))for(const[s,i]of Object.entries(r))e[`${t}.${s}`]={type:this.modules[t].uniformTypes?.[s],value:String(i)};return e}_addModule(e){const t=e.name;this.moduleUniforms[t]=Y({},e.defaultUniforms||{},e.uniformTypes),this.moduleBindings[t]={}}};function Y(e={},t={},r={}){const s={...e};for(const[i,n]of Object.entries(t))void 0!==n&&(s[i]=W(e[i],n,r[i]));return s}function W(e,t,r){if(!r||"string"==typeof r)return q(t);if(Array.isArray(r)){if(J(t)||!Array.isArray(t))return q(t);const s=Array.isArray(e)&&!J(e)?[...e]:[],i=s.slice();for(let e=0;e<t.length;e++){const n=t[e];void 0!==n&&(i[e]=W(s[e],n,r[0]))}return i}if(!X(t))return q(t);const s=r,i=X(e)?e:{},n={...i};for(const[o,a]of Object.entries(t))void 0!==a&&(n[o]=W(i[o],a,s[o]));return n}function q(e){return ArrayBuffer.isView(e)?Array.prototype.slice.call(e):Array.isArray(e)?J(e)?e.slice():e.map(e=>void 0===e?void 0:q(e)):X(e)?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,void 0===t?void 0:q(t)])):e}function J(e){return ArrayBuffer.isView(e)||Array.isArray(e)&&(0===e.length||"number"==typeof e[0])}function X(e){return Boolean(e)&&"object"==typeof e&&!Array.isArray(e)&&!ArrayBuffer.isView(e)}function Z(e){return Boolean(e?.dependencies)}var K=h.DEBUG_DATA_MAX_LENGTH,Q=class{device;id;ready;usage;props;isReady=!0;destroyed=!1;generation=0;updateTimestamp;debugData=/* @__PURE__ */new ArrayBuffer(0);_debugDataEnabled;_maxDebugDataByteLength;_ownsBuffer;_buffer;get buffer(){return this._buffer}get byteLength(){return this._buffer.byteLength}get[Symbol.toStringTag](){return"DynamicBuffer"}toString(){return`DynamicBuffer:"${this.id}":${this.byteLength}B`}toJSON(){return this.toString()}constructor(e,t){const{debugData:r=!1,buffer:s,ownsBuffer:i=!0,...n}=t;if(s&&s.device!==e)throw new Error("DynamicBuffer adopted buffers must belong to the supplied device");if(s&&(void 0!==n.byteLength||void 0!==n.data))throw new Error("DynamicBuffer cannot combine an adopted buffer with byteLength or data");const o=t.id||s?.id||G("dynamic-buffer"),a={...n,id:o,usage:n.usage??s?.usage,indexType:n.indexType??s?.indexType};(a.usage||0)&h.INDEX&&!a.indexType&&(n.data instanceof Uint32Array?a.indexType="uint32":n.data instanceof Uint16Array?a.indexType="uint16":n.data instanceof Uint8Array&&(a.indexType="uint8")),delete a.data,delete a.byteOffset,this.device=e,this.id=o,this.props=a,this.usage=a.usage||0,this._debugDataEnabled=Boolean(r),this._maxDebugDataByteLength="object"==typeof r&&void 0!==r.maxByteLength?r.maxByteLength:K,this._ownsBuffer=i,this._buffer=s??this.device.createBuffer({...n,id:o}),this.ready=Promise.resolve(this._buffer),this.updateTimestamp=this._buffer.updateTimestamp,this._resetDebugData(this._buffer.byteLength),n.data&&this._writeDebugData(n.data,n.byteOffset||0)}write(e,t=0){this._buffer.write(e,t),this._touch(),this._writeDebugData(e,t)}async mapAndWriteAsync(e,t=0,r=this.byteLength-t){let s=null;await this._buffer.mapAndWriteAsync(async(t,i)=>{await e(t,i),s=new Uint8Array(t.slice(0,r))},t,r),this._touch(),s&&this._writeDebugData(s,t)}async readAsync(e=0,t=this.byteLength-e){const r=await this._buffer.readAsync(e,t);return this._writeDebugData(r,e)&&this._touch(),r}async mapAndReadAsync(e,t=0,r=this.byteLength-t){let s=null;const i=await this._buffer.mapAndReadAsync(async(t,r)=>(s=new Uint8Array(t.slice(0)),await e(t,r)),t,r);return s&&this._writeDebugData(s,t)&&this._touch(),i}resize(e){const{byteLength:t,preserveData:r=!1}=e;if(t===this.byteLength)return!1;const s=Math.min(e.copyByteLength??Math.min(this.byteLength,t),this.byteLength,t),i=this._buffer,n=this.debugData.slice(0),{data:o,byteOffset:a,...f}=this.props,u=this.device.createBuffer({...f,byteLength:t});return r&&s>0&&this._copyBufferContents(i,u,s),this._buffer=u,this._resetDebugData(t),r&&n.byteLength>0&&this._writeDebugData(n,0),this._ownsBuffer&&i.destroy(),this._ownsBuffer=!0,this.generation++,this._touch(),!0}ensureSize(e,t){return!(e<=this.byteLength)&&this.resize({byteLength:e,preserveData:t?.preserveData})}getBinding(e){return void 0===e?.offset&&void 0===e?.size?this._buffer:{buffer:this._buffer,offset:e?.offset,size:e?.size}}destroy(){this.destroyed||(this._ownsBuffer&&this._buffer.destroy(),this.destroyed=!0,this.debugData=/* @__PURE__ */new ArrayBuffer(0))}_copyBufferContents(e,t,r){const s="webgpu"===this.device.type?4*Math.ceil(r/4):r,i=this.device.createCommandEncoder();i.copyBufferToBuffer({sourceBuffer:e,destinationBuffer:t,size:s}),this.device.submit(i.finish())}_touch(){this.updateTimestamp=this.device.incrementTimestamp()}_resetDebugData(e){this._debugDataEnabled?this.debugData=new ArrayBuffer(Math.min(e,this._maxDebugDataByteLength)):this.debugData=/* @__PURE__ */new ArrayBuffer(0)}_writeDebugData(e,t){if(!this._debugDataEnabled||0===this.debugData.byteLength||t>=this.debugData.byteLength)return!1;const r=ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),s=new Uint8Array(this.debugData),i=Math.min(r.byteLength,s.byteLength-t);return s.set(r.subarray(0,i),t),i>0}};function ee(e){return null!==e&&"object"==typeof e&&"buffer"in e}function te(e){return e instanceof Q?e:ee(e)&&e.buffer instanceof Q?e.buffer:null}function re(e){return{buffer:(t=e.buffer,t instanceof Q?t.buffer:t),offset:e.offset,size:e.size};var t}var se=/^vertex-list<([^<>]+)>$/,ie=/^value-list<([^<>]+)>$/;function ne(e){return se.test(e)}function oe(e){return ie.test(e)}function ae(e){const t=function(e){const t=se.exec(e),r=ie.exec(e),s=t?.[1]??r?.[1]??e;try{n.getVertexFormatInfo(s)}catch{throw new Error(`Unsupported GPUVector format ${e}`)}return s}(e),r=ne(e),s=oe(e),i=n.getVertexFormatInfo(t),o=i.type,a=i.normalized,f=function(e,t){if(t)return"f32";switch(e){case"float32":return"f32";case"float16":return"f16";case"uint8":case"uint16":case"uint32":return"u32";case"sint8":case"sint16":case"sint32":return"i32";default:throw new Error(`Unsupported GPUVector component type ${e}`)}}(o,a);return{format:e,elementFormat:t,vertexList:r,valueList:s,type:o,signedDataType:fe(t,o),primitiveType:f,components:i.components,byteLength:i.byteLength,integer:i.integer,signed:i.signed,normalized:a,...i.webglOnly?{webglOnly:!0}:{}}}function fe(e,t){if("unorm10-10-10-2"===e)return"uint32";switch(t){case"unorm8":return"uint8";case"snorm8":return"sint8";case"unorm16":return"uint16";case"snorm16":return"sint16";default:return t}}var ue=class{buffer;format;length;byteOffset;byteStride;constructor(e){const t=n.getVertexFormatInfo(e.format).byteLength,r=e.byteOffset??0,s=e.byteStride??t;if(he(e.length,"GPUDataView length"),he(r,"GPUDataView byteOffset"),he(s,"GPUDataView byteStride"),s<t)throw new Error(`GPUDataView byteStride ${s} is smaller than ${e.format} byte length ${t}`);const i=0===e.length?0:(e.length-1)*s+t,o=r+i;if(!Number.isSafeInteger(i)||!Number.isSafeInteger(o))throw new Error("GPUDataView byte range must use safe integers");if(o>e.buffer.byteLength)throw new Error("GPUDataView exceeds its backing buffer byte length");this.buffer=e.buffer,this.format=e.format,this.length=e.length,this.byteOffset=r,this.byteStride=s}get elementByteLength(){return n.getVertexFormatInfo(this.format).byteLength}get byteLength(){return 0===this.length?0:(this.length-1)*this.byteStride+this.elementByteLength}};function he(e,t){if(!Number.isSafeInteger(e)||e<0)throw new Error(`${t} must be a non-negative safe integer`)}function ce(e){return Boolean(e&&"object"==typeof e&&"struct"===e.type)}function de(e,t){const r=Object.entries(e);if(0===r.length)throw new Error("GPUData struct format must declare at least one field");return"packed"===t?function(e){const t=[];let r=0,s=0;for(const[i,o]of e){const e=n.getVertexFormatInfo(o);if(e.webglOnly)throw new Error(`Packed GPUData struct field "${i}" uses WebGL-only format ${o}`);r=ge(r,Math.min(4,e.byteLength)),t.push([i,Object.freeze({format:o,byteOffset:r,byteLength:e.byteLength})]),r+=e.byteLength,s+=e.components}return Object.freeze({type:"struct",layout:"packed",fields:Object.freeze(Object.fromEntries(t)),components:s,byteStride:ge(r,4),rowByteLength:r})}(r):function(e){const t=Object.fromEntries(e.map(([e,t])=>[e,le(t)])),r=b(t,{layout:"wgsl-storage"}),s=[];let i=0,o=0;for(const[a,f]of e){const e=n.getVertexFormatInfo(f),t=4*r.fields[a].offset;s.push([a,Object.freeze({format:f,byteOffset:t,byteLength:e.byteLength})]),i=Math.max(i,t+e.byteLength),o+=e.components}return Object.freeze({type:"struct",layout:"wgsl-storage",fields:Object.freeze(Object.fromEntries(s)),components:o,byteStride:r.byteLength,rowByteLength:i})}(r)}function le(e){const t=n.getVertexFormatInfo(e);switch(t.type){case"float32":return ye("f32",t.components);case"sint32":return ye("i32",t.components);case"uint32":return ye("u32",t.components);default:return ye("u32",Math.ceil(t.byteLength/4))}}function ye(e,t){return 1===t?e:`vec${t}<${e}>`}function ge(e,t){return Math.ceil(e/t)*t}var be=class{buffer;ownsDataBuffer;constructor(e,t){this.buffer=e,this.ownsDataBuffer=t}get ownsBuffer(){return this.ownsDataBuffer}transferBufferOwnership(e){if(e.buffer!==this.buffer)throw new Error("GPUData ownership can only be transferred to the same buffer");e.ownsDataBuffer=this.ownsDataBuffer,this.ownsDataBuffer=!1}destroy(){this.ownsDataBuffer&&(this.buffer.destroy(),this.ownsDataBuffer=!1)}},pe=class extends be{dataType;format;length;valueLength;stride;byteOffset;byteStride;rowByteLength;readbackMetadata;valueOffsets;nullBitmap;valueByteLength;constructor(e){const{buffer:t,format:r,length:s,valueLength:i,stride:n,byteOffset:o=0,byteStride:a,rowByteLength:f,ownsBuffer:u=!1,readbackMetadata:h,valueOffsets:c,nullBitmap:d,valueByteLength:l,dataType:y}=e;let g;super(t,u),g=r?"string"==typeof r?r:de(r,e.layout??"wgsl-storage"):void 0;const b=ce(g)?g:void 0,p="string"==typeof g?ae(g):void 0;if(this.dataType=y,this.format=g,this.length=s,this.valueLength=i??s,this.stride=n??p?.components??b?.components??a??f??1,this.byteOffset=o,this.rowByteLength=f??b?.rowByteLength??p?.byteLength??a??this.stride,this.byteStride=a??b?.byteStride??this.rowByteLength,b){if(this.rowByteLength<b.rowByteLength)throw new Error(`GPUData rowByteLength ${this.rowByteLength} is smaller than struct format row byte length ${b.rowByteLength}`);if(this.byteStride<Math.max(b.byteStride,this.rowByteLength))throw new Error(`GPUData byteStride ${this.byteStride} is smaller than its struct row layout`)}this.readbackMetadata=h,this.valueOffsets=c,this.nullBitmap=d,this.valueByteLength=l}getChild(e){if(!ce(this.format))return null;const t=this.format.fields[e];return t?new ue({buffer:this.buffer,format:t.format,length:this.length,byteOffset:this.byteOffset+t.byteOffset,byteStride:this.byteStride}):null}getChildAt(e){if(!ce(this.format))return null;const t=Object.values(this.format.fields)[e];return t?new ue({buffer:this.buffer,format:t.format,length:this.length,byteOffset:this.byteOffset+t.byteOffset,byteStride:this.byteStride}):null}},me=class{name;dataType;format;length;valueLength;stride;byteOffset;byteStride;rowByteLength;bufferLayout;data=[];device;bufferProps;isAppendable=!1;ownsDataChunks=!0;ownedVectors=[];appendableByteLength=0;constructor(e){switch(e.type){case"buffer":{const{name:t,buffer:r,format:s,length:i,valueLength:n=i,byteOffset:o=0,ownsBuffer:a=!1}=e,{stride:f,byteStride:u,rowByteLength:h}=we(e);return this.name=t,this.dataType=e.dataType,this.format=s,this.length=i,this.valueLength=n,this.stride=f,this.byteOffset=o,this.byteStride=u,this.rowByteLength=h,void this.data.push(new pe({buffer:r,format:s,length:i,valueLength:n,stride:f,byteOffset:o,byteStride:u,rowByteLength:h,ownsBuffer:a,dataType:e.dataType}))}case"interleaved":{const{name:t,buffer:r,format:s,length:i,valueLength:n=i,byteOffset:o=0,byteStride:a,attributes:f,ownsBuffer:u=!1}=e;return this.name=t,this.dataType=e.dataType,this.format=s,this.length=i,this.valueLength=n,this.stride=a,this.byteOffset=o,this.byteStride=a,this.rowByteLength=a,this.bufferLayout={name:t,byteStride:a,attributes:f},void this.data.push(new pe({buffer:r,format:s,length:i,valueLength:n,stride:a,byteOffset:o,byteStride:a,rowByteLength:a,ownsBuffer:u,dataType:e.dataType}))}case"data":{const t=e.format??function(e){return e[0]?.format}(e.data),r=t?ae(t):void 0,{name:s,data:i,stride:n=i[0]?.stride??r?.components??1,valueLength:o=i.reduce((e,t)=>e+t.valueLength,0),byteStride:a=i[0]?.byteStride??r?.byteLength,rowByteLength:f=i[0]?.rowByteLength??r?.byteLength,bufferLayout:u,ownsData:h=!1}=e;if(void 0===a||void 0===f)throw new Error("GPUVector requires format or explicit byte layout metadata");return t&&function(e,t){if(e.find(e=>e.format!==t))throw new Error("GPUVector data chunks must share the declared format")}(i,t),this.name=s,this.dataType=e.dataType,this.format=t,this.length=i.reduce((e,t)=>e+t.length,0),this.valueLength=o,this.stride=n,this.byteOffset=1===i.length?i[0].byteOffset:0,this.byteStride=a,this.rowByteLength=f,this.bufferLayout=u,this.ownsDataChunks=h,void this.data.push(...i)}case"appendable":{const{name:t,device:r,format:s,valueLength:i=0,bufferProps:n}=e,{stride:o,byteStride:a,rowByteLength:f}=we(e);return this.name=t,this.dataType=e.dataType,this.format=s,this.length=0,this.valueLength=i,this.stride=o,this.byteOffset=0,this.byteStride=a,this.rowByteLength=f,this.device=r,this.bufferProps=n,void(this.isAppendable=!0)}}}get ownsBuffer(){return this.ownsDataChunks&&this.data.some(e=>e.ownsBuffer)||this.ownedVectors.some(e=>e.ownsBuffer)}get capacityRows(){return this.isAppendable?this.length:void 0}get appendedByteLength(){return this.appendableByteLength}addData(e){if(this.format&&e.format!==this.format)throw new Error("GPUVector.addData() requires matching formats");if(e.byteStride!==this.byteStride)throw new Error("GPUVector.addData() requires matching byteStride");if(e.rowByteLength!==this.rowByteLength)throw new Error("GPUVector.addData() requires matching rowByteLength");return this.data.push(e),this.length+=e.length,this.valueLength+=e.valueLength,this}appendDataChunk(e,t=this.appendableByteLength+e.buffer.byteLength){if(!this.isAppendable)throw new Error("GPUVector.appendDataChunk() requires appendable vector storage");if(this.format&&e.format!==this.format)throw new Error("GPUVector.appendDataChunk() requires matching formats");if(e.byteStride!==this.byteStride||e.rowByteLength!==this.rowByteLength)throw new Error("GPUVector.appendDataChunk() requires matching byte layout metadata");return this.data.push(e),this.length+=e.length,this.valueLength+=e.valueLength,this.appendableByteLength=t,this}resetLastBatch(){if(!this.isAppendable)throw new Error("GPUVector.resetLastBatch() requires appendable vector storage");for(const e of this.data.splice(0))e.destroy();return this.length=0,this.valueLength=0,this.appendableByteLength=0,this}retainOwnedVectors(e){return this.ownedVectors.push(...e),this}transferBufferOwnership(e){const t=this.data[0],r=e.data[0];if(!t||!r||t.buffer!==r.buffer)throw new Error("GPUVector ownership can only be transferred to the same buffer");t.transferBufferOwnership(r)}destroy(){if(this.ownsDataChunks)for(const e of this.data)e.destroy();for(const e of this.ownedVectors.splice(0))e.destroy()}};function we(e){const t=e.format?ae(e.format):void 0,r=e.rowByteLength??e.byteStride??t?.byteLength;if(void 0===r)throw new Error("GPUVector requires format or explicit rowByteLength");return{stride:e.stride??t?.components??1,byteStride:e.byteStride??r,rowByteLength:r}}var ve=new class{poolSize=20;bufferPools;constructor(){this.bufferPools=/* @__PURE__ */new Map}createOrReuse(e,t){if(t>e.limits.maxBufferSize)throw new Error(`Buffer pool cannot allocate ${t} bytes: device.limits.maxBufferSize is ${e.limits.maxBufferSize}`);const r=this.bufferPools.get(e),s=r?r.findIndex(e=>e.byteLength>=t):-1;if(s<0)return e.createBuffer({usage:h.VERTEX|h.STORAGE|h.COPY_DST|h.COPY_SRC,byteLength:t});const[i]=r.splice(s,1);return i}recycle(e){const t=e.device;this.bufferPools.has(t)||this.bufferPools.set(t,[]);const r=this.bufferPools.get(t),s=r.findIndex(t=>t.byteLength>e.byteLength);s<0?r.push(e):r.splice(s,0,e),this.purge()}purge(){for(const[e,t]of this.bufferPools){const r=e.isLost?0:this.poolSize;for(;t.length>r;)t.shift().destroy();0===t.length&&this.bufferPools.delete(e)}}},_e=class e{static get bufferPoolSize(){return ve.poolSize}static set bufferPoolSize(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("GPUDataEvaluator.bufferPoolSize must be a non-negative safe integer");ve.poolSize=e,ve.purge()}type;size;get offset(){return this._offset}get stride(){return this._stride}normalized;isConstant;length;get byteLength(){return this._byteLength}ValueType;source=null;format;_id;_destroyed=!1;_value;_offset;_stride;_byteLength;_gpuVector;_bufferOwnership="owned";_targetBuffer;static fromArray(t,{type:r,size:s=1,offset:i=0,stride:n=0,normalized:a=!1}){let f,h=r;Array.isArray(t)?(h=h||"float32",f=new(o(h))(t)):t instanceof Float64Array?(h="uint32",s*=2,i*=2,n*=2,f=new Uint32Array(t.buffer,t.byteOffset,t.byteLength/4)):(h=h||u(t),f=t);return new e({id:`<${h} * ${s}>`,type:h,size:s,offset:i,stride:n,normalized:a,value:f})}static fromConstant(t,r="float32"){const s=o(r);let i;return Array.isArray(t)?i=`[${t.join(",")}]`:(i=String(t),t=[t]),new e({id:i,isConstant:!0,type:r,size:t.length,value:new s(t)})}static fromGPUData(t,r={}){!function(e){if(!e.format)throw new Error("GPUDataEvaluator.fromGPUData() requires GPUData format metadata");if(ne(e.format)||oe(e.format))throw new Error("GPUDataEvaluator.fromGPUData() does not support variable-length input");const t=ae(e.format).byteLength;if(e.rowByteLength!==t)throw new Error(`GPUDataEvaluator.fromGPUData() requires rowByteLength ${t} for GPUData`)}(t);const s=new ue({buffer:t.buffer,format:t.format,length:t.length,byteOffset:t.byteOffset,byteStride:t.byteStride});return new e({...Le(s),id:r.id,gpuData:t})}static fromGPUDataView(t,r={}){return new e({...Le(t),id:r.id,buffer:t.buffer})}constructor(t){const{id:r,value:s,buffer:i,gpuData:n,format:a,source:f=null,isConstant:u=!1}=t;if(!(f||s||i||n))throw new Error("GPUDataEvaluator must have a value source");let{type:h,size:c,offset:d,stride:l,normalized:y,length:g}=t;if(f instanceof e?(h=h??f.type,c=c??f.size,d=d??f.offset,l=l??f.stride,y=y??f.normalized,g=g??f.length):(c=c??1,d=d??0,y=y??!1,g=u?1:g),!h)throw new Error("GPUDataEvaluator: type not defined");if(this._id=r,this.type=h,this.size=c,this.ValueType=o(this.type),this._offset=d,this._stride=l||this.ValueType.BYTES_PER_ELEMENT*c,this.normalized=y,this.source=f,this.format=a,void 0===g)if(u)g=1;else{if(!s)throw new Error("GPUDataEvaluator: length not defined");g=Math.ceil(s.byteLength/this.stride)}this.isConstant=u,this.length=g;const b=this.ValueType.BYTES_PER_ELEMENT*this.size;this._byteLength=0===g?0:(g-1)*this.stride+b,this._value=s,this._bufferOwnership=f instanceof e||i||n?"borrowed":"owned",n?this._gpuVector=new me({type:"data",name:this._id??"data",format:n.format,data:[n],stride:n.stride,byteStride:n.byteStride,rowByteLength:n.rowByteLength}):i&&(this._gpuVector=this.createGPUVectorView({buffer:i,name:this._id,format:this.format}))}get value(){return this._value||(this.source instanceof e?this.source.value:void 0)}get evaluated(){return Boolean(this._gpuVector)}get id(){return this._id}get gpuVector(){if(!this._gpuVector)throw new Error(`${this} not evaluated`);return this._gpuVector}get buffer(){return Ee(this.gpuVector)}setTargetBuffer({buffer:t,byteOffset:r=0,byteStride:s=this.stride}){if(this._destroyed)throw new Error(`GPUDataEvaluator ${this} already destroyed`);if(this._gpuVector)throw new Error(`GPUDataEvaluator ${this} already evaluated`);if(!this.source||this.source instanceof e)throw new Error("GPUDataEvaluator target buffers require a deferred operation source");this._targetBuffer={buffer:t,byteOffset:r,byteStride:s}}async evaluate(t,r={}){if(this._destroyed)throw new Error(`GPUDataEvaluator ${this} already destroyed`);if(this._gpuVector)return this._gpuVector;let s;if(this.source instanceof e){const e=await this.source.evaluate(t);return this._gpuVector=this.createGPUVectorView({...r,buffer:Ee(e)}),this._gpuVector}if(s=this._getEvaluationBuffer(t),this._value)s.write(this._value);else{const e=await this.source.execute(t,s);if(!e.success)throw e.error||/* @__PURE__ */new Error(`${this.source} evaluation failed`);e.value&&(this._value=e.value)}return this._gpuVector=this.createGPUVectorView({...r,buffer:s}),this._gpuVector}evaluateSync(t,r={}){if(this._destroyed)throw new Error(`GPUDataEvaluator ${this} already destroyed`);if(this._gpuVector)return this._gpuVector;let s;if(this.source instanceof e){const e=this.source.evaluateSync(t);return this._gpuVector=this.createGPUVectorView({...r,buffer:Ee(e)}),this._gpuVector}if(s=this._getEvaluationBuffer(t),this._value)s.write(this._value);else{const e=this.source.executeSync(t,s);if(!e.success)throw e.error||/* @__PURE__ */new Error(`${this.source} evaluation failed`);e.value&&(this._value=e.value)}return this._gpuVector=this.createGPUVectorView({...r,buffer:s}),this._gpuVector}createGPUVectorView(e){const t=e.name??this._id??"vector",r=e.format??this.format??function(e,t,r=!1){return t>=1&&t<=4?Se(e,t,r):void 0}(this.type,this.size,this.normalized);if(e.interleaved){const r="object"==typeof e.interleaved&&e.interleaved.attributes?e.interleaved.attributes:function(e){const t=[];return Pe(e,t,{byteOffset:0}),t}(this);return new me({type:"interleaved",name:t,buffer:e.buffer,format:e.format??this.format,length:this.length,byteOffset:this.offset,byteStride:this.stride,attributes:r,ownsBuffer:!1})}return new me({type:"buffer",name:t,buffer:e.buffer,format:r,length:this.length,stride:this.size,byteOffset:this.offset,byteStride:this.stride,rowByteLength:this.ValueType.BYTES_PER_ELEMENT*this.size,ownsBuffer:!1})}_getEvaluationBuffer(e){const t=this._targetBuffer;if(!t)return ve.createOrReuse(e,this.byteLength);if(t.buffer.device!==e)throw new Error("GPUDataEvaluator target buffer belongs to a different device");const r=this.ValueType.BYTES_PER_ELEMENT*this.size,s=0===this.length?0:(this.length-1)*t.byteStride+r;if(t.byteOffset+s>t.buffer.byteLength)throw new Error("GPUDataEvaluator target buffer is too small for the output layout");return this._offset=t.byteOffset,this._stride=t.byteStride,this._byteLength=s,this._bufferOwnership="borrowed",this._targetBuffer=void 0,t.buffer}async readValue(e=0,t){const{ValueType:r}=this,{size:s,offset:i,stride:n,length:o}=this,a=r.BYTES_PER_ELEMENT*s;if(t=t??o,e=Math.max(0,Math.min(o,e)),t=Math.max(e,Math.min(o,t)),this._value)return function(e,t,r,s){const{ValueType:i,size:n,offset:o,stride:a}=e,f=a/i.BYTES_PER_ELEMENT,u=o/i.BYTES_PER_ELEMENT,h=s-r;if(f===n){const e=u+r*f;return t.subarray(e,e+h*n)}const c=new i(h*n);for(let d=0;d<h;d++){const e=u+(r+d)*f;c.set(t.subarray(e,e+n),d*n)}return c}(this,this._value,e,t);const f=t-e;if(0===f)return new r(0);const u=i+e*n,h=n===a?f*a:(f-1)*n+a,c=await this.buffer.readAsync(u,h),d=new r(c.buffer,c.byteOffset,c.byteLength/r.BYTES_PER_ELEMENT);if(n===a)return d;const l=new Uint8Array(a*f);for(let y=0;y<f;y++){const e=y*n;l.set(c.subarray(e,e+a),y*a)}return new r(l.buffer)}async ensureCPUValue(){const e=this.value;if(e)return e;const t=await this.buffer.readAsync(0,this.offset+this.byteLength);if(t.byteLength%this.ValueType.BYTES_PER_ELEMENT!==0)throw new Error(`${this} backing buffer byte length is not aligned to its scalar type`);const r=t.slice();return this._value=new this.ValueType(r.buffer,r.byteOffset,r.byteLength/this.ValueType.BYTES_PER_ELEMENT),this._value}ensureCPUValueSync(){const e=this.value;if(e)return e;throw new Error(`${this} CPU value is not available for synchronous evaluation`)}toString(){return this._id??this.source?.toString()??this.constructor.name}destroy(){this._gpuVector&&("owned"===this._bufferOwnership&&ve.recycle(Ee(this._gpuVector)),this._gpuVector=void 0),this._targetBuffer=void 0,this._destroyed=!0}};function Be(e){if(e instanceof _e)return e;if("number"==typeof e||Array.isArray(e))return _e.fromConstant(e);if(e instanceof pe)return _e.fromGPUData(e);if(e instanceof ue)return _e.fromGPUDataView(e);throw new Error("getGPUDataEvaluator() requires GPUDataEvaluator, GPUData, GPUDataView, number, or number[]")}function Le(e){const t=ae(e.format),r=o(t.signedDataType),s=r.BYTES_PER_ELEMENT*t.components;if(t.byteLength!==s)throw new Error(`GPUDataEvaluator does not support packed vertex format ${e.format}: ${t.byteLength} physical bytes cannot expose ${t.components} ${t.signedDataType} components`);if(e.byteOffset%r.BYTES_PER_ELEMENT!==0||e.byteStride%r.BYTES_PER_ELEMENT!==0)throw new Error(`GPUDataEvaluator requires ${e.format} offset and stride aligned to ${r.BYTES_PER_ELEMENT} bytes`);return{type:t.signedDataType,size:t.components,offset:e.byteOffset,stride:e.byteStride,normalized:t.normalized,length:e.length,format:e.format}}function Ee(e){const t=function(e){const[t,...r]=e.data;if(!t||r.length>0)throw new Error(`GPUDataEvaluator requires exactly one GPUData chunk for "${e.name}"`);return t}(e).buffer;return t instanceof Q?t.buffer:t}function Pe(e,t,r){const s=e.source;if(!s||s instanceof _e||"interleave"!==s.name)t.push({attribute:e.id??e.toString(),format:Se(e.type,e.size,e.normalized),byteOffset:r.byteOffset}),r.byteOffset+=e.ValueType.BYTES_PER_ELEMENT*e.size;else for(const i of Object.values(s.inputs))i instanceof _e&&Pe(i,t,r)}function Se(e,t,r=!1){if(t<1||t>4)throw new Error(`Cannot synthesize a GPUVector vertex format with ${t} components`);let s=e;if(r)switch(e){case"uint8":s="unorm8";break;case"sint8":s="snorm8";break;case"uint16":s="unorm16";break;case"sint16":s="snorm16";break;case"float32":s="float32";break;default:throw new Error(`Unsupported normalized vertex format for ${e}`)}return"uint8"!==s&&"sint8"!==s&&"uint16"!==s&&"sint16"!==s&&"unorm8"!==s&&"snorm8"!==s&&"unorm16"!==s&&"snorm16"!==s||3!==t?`${s}${1===t?"":`x${t}`}`:`${s}x3-webgl`}var $e={add:{arity:2,symbol:"arithmetic_add"},subtract:{arity:2,symbol:"arithmetic_subtract"},multiply:{arity:2,symbol:"arithmetic_multiply"},divide:{arity:2,symbol:"arithmetic_divide"},pow:{arity:2,symbol:"pow"},sqrt:{arity:1,symbol:"sqrt"},abs:{arity:1,symbol:"abs"},sin:{arity:1,symbol:"sin"},cos:{arity:1,symbol:"cos"},tan:{arity:1,symbol:"arithmetic_tan"},exp:{arity:1,symbol:"exp"},log:{arity:1,symbol:"log"}};function De(e,{operations:t,inputs:r}){switch(e.kind){case"input":if(!(e.name in r))throw new Error(`Unknown expression input '${e.name}'`);return;case"literal":if(Array.isArray(e.value)){for(const t of e.value)if(!Number.isFinite(t))throw new Error(`Expression literal array must contain only finite values, got ${t}`)}else if(!Number.isFinite(e.value))throw new Error(`Expression literal must be finite, got ${e.value}`);return;case"call":{const s=t[e.op];if(!s)throw new Error(`Unknown expression op '${e.op}'`);if(e.args.length!==s.arity)throw new Error(`Expression op '${e.op}' expects ${s.arity} args, got ${e.args.length}`);for(const i of e.args)De(i,{operations:t,inputs:r});return}default:throw new Error(`Unsupported expression node ${e.kind}`)}}function Ue(e,t){return De(e,t),Oe(e,t)}function Oe(e,t){switch(e.kind){case"input":{const r=t.inputs[e.name];return t.laneIndex<r.size?t.formatInput(e.name):t.formatOutOfBoundsInput(e.name)}case"literal":return t.formatLiteral(e.value);case"call":{const r=t.operations[e.op],s=e.args.map(e=>Oe(e,t));return t.formatCall(r.symbol,s)}default:throw new Error(`Unsupported expression node ${e.kind}`)}}export{m as C,w as S,G as _,ve as a,P as b,te as c,H as d,j as f,z as g,M as h,Be as i,ee as l,x as m,$e as n,me as o,R as p,_e as r,Q as s,Ue as t,re as u,U as v,p as w,v as x,D as y};
@@ -1,2 +1,2 @@
1
- /*! Web-kit v1.2.0-develop.12 | (c) 2026 MapVX */
2
- !function(){try{var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},e=(new t.Error).stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="0a591aa0-7478-469f-807c-084612a95010",t._sentryDebugIdIdentifier="sentry-dbid-0a591aa0-7478-469f-807c-084612a95010")}catch(t){}}();import{$ as t,C as e,Ct as n,Dt as i,E as r,G as s,J as a,K as o,Ot as h,Pt as c,Q as u,R as g,T as l,Tt as f,W as m,X as d,Y as p,Z as y,_t as w,at as M,b,bn as x,dt as k,ft as v,ht as I,it as E,jt as T,kt as j,lt as U,mt as D,ot as S,q as P,rt as L,st as R,ut as A,v as q,vt as B,wt as _,yn as z}from"./debug-hooks-Cd_b4Bki.js";var C=globalThis.loaders?.parseImageNode,Z="undefined"!=typeof Image,O="undefined"!=typeof ImageBitmap,N=!!z||Boolean(C);function G(t){const e=function(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&t instanceof Image?"image":t&&"object"==typeof t&&t.data&&t.width&&t.height?"data":null}(t);if(!e)throw new Error("Not an image");return e}function V(t){switch(G(t)){case"data":return t;case"image":case"imagebitmap":const e=document.createElement("canvas"),n=e.getContext("2d");if(!n)throw new Error("getImageData");return e.width=t.width,e.height=t.height,n.drawImage(t,0,0),n.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}var F=/^data:image\/svg\+xml/,Y=/\.svg((\?|#).*)?$/;function X(t){return t&&(F.test(t)||Y.test(t))}function $(t,e){if(X(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}async function H(t,e,n){const i=function(t,e){if(X(e)){let e=(new TextDecoder).decode(t);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(e=unescape(encodeURIComponent(e)))}catch(n){throw new Error(n.message)}return`data:image/svg+xml;base64,${btoa(e)}`}return $(t,e)}(t,n),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return await async function(t,e){const n=new Image;if(n.src=t,e.image&&e.image.decode&&n.decode)return await n.decode(),n;return await new Promise((t,e)=>{try{n.onload=()=>t(n),n.onerror=t=>{const n=t instanceof Error?t.message:"error";e(new Error(n))}}catch(i){e(i)}})}(s||i,e)}finally{s&&r.revokeObjectURL(s)}}var Q=!0;async function W(t,e,n){let i;i=X(n)?await H(t,e,n):$(t,n);const r=e&&e.imagebitmap;return await async function(t,e=null){!function(t){if(!t)return!0;for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0}(e)&&Q||(e=null);if(e)try{return await createImageBitmap(t,e)}catch(n){console.warn(n),Q=!1}return await createImageBitmap(t)}(i,r)}function J(t){return function(t,e,n=0){const i=(r=e,[...r].map(t=>t.charCodeAt(0)));var r;for(let s=0;s<i.length;++s)if(i[s]!==t[s+n])return!1;return!0}(t,"ftyp",4)&&96&t[8]?function(t){switch((e=t,n=8,i=12,String.fromCharCode(...e.slice(n,i))).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}var e,n,i}(t):null}var K=!1,tt=!0;function et(t){const e=nt(t);return function(t){const e=nt(t);return e.byteLength>=24&&2303741511===e.getUint32(0,K)?{mimeType:"image/png",width:e.getUint32(16,K),height:e.getUint32(20,K)}:null}(e)||function(t){const e=nt(t);if(!(e.byteLength>=3&&65496===e.getUint16(0,K)&&255===e.getUint8(2)))return null;const{tableMarkers:n,sofMarkers:i}=function(){const t=/* @__PURE__ */new Set([65499,65476,65484,65501,65534]);for(let e=65504;e<65520;++e)t.add(e);return{tableMarkers:t,sofMarkers:/* @__PURE__ */new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let r=2;for(;r+9<e.byteLength;){const t=e.getUint16(r,K);if(i.has(t))return{mimeType:"image/jpeg",height:e.getUint16(r+5,K),width:e.getUint16(r+7,K)};if(!n.has(t))return null;r+=2,r+=e.getUint16(r,K)}return null}(e)||function(t){const e=nt(t);return e.byteLength>=10&&1195984440===e.getUint32(0,K)?{mimeType:"image/gif",width:e.getUint16(6,tt),height:e.getUint16(8,tt)}:null}(e)||function(t){const e=nt(t);return e.byteLength>=14&&16973===e.getUint16(0,K)&&e.getUint32(2,tt)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,tt),height:e.getUint32(22,tt)}:null}(e)||function(t){const e=new Uint8Array(t instanceof DataView?t.buffer:t),n=J(e);return n?{mimeType:n.mimeType,width:0,height:0}:null}(e)}function nt(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}var it,rt={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:"4.5.4",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],parse:async function(t,e,n){const i=((e=e||{}).image||{}).type||"auto",{url:r}=n||{};let s;switch(function(t){switch(t){case"auto":case"data":return function(){if(O)return"imagebitmap";if(Z)return"image";if(N)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(t){switch(t){case"auto":return O||Z||N;case"imagebitmap":return O;case"image":return Z;case"data":return N;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}(t),t}}(i)){case"imagebitmap":s=await W(t,e,r);break;case"image":s=await H(t,e,r);break;case"data":s=await async function(t){const{mimeType:e}=et(t)||{},n=globalThis.loaders?.parseImageNode;return x(n),await n(t,e)}(t);break;default:x(!1)}return"data"===i&&(s=V(s)),s},tests:[t=>Boolean(et(new DataView(t)))],options:{image:{type:"auto",decode:!0}}},st=class t extends f{static get ZERO(){return it||(it=new t(0,0,0,0),Object.freeze(it)),it}constructor(t=0,e=0,n=0,r=0){super(-0,-0,-0,-0),c(t)&&1===arguments.length?this.copy(t):(T.debug&&(i(t),i(e),i(n),i(r)),this[0]=t,this[1]=e,this[2]=n,this[3]=r)}set(t,e,n,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=i,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return T.debug&&(i(t.x),i(t.y),i(t.z),i(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=i(t)}get w(){return this[3]}set w(t){this[3]=i(t)}transform(t){return D(this,this,t),this.check()}transformByMatrix3(t){return B(this,this,t),this.check()}transformByMatrix2(t){return w(this,this,t),this.check()}transformByQuaternion(t){return I(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};function at(t,e){if(t===e){const n=e[1],i=e[2],r=e[5];t[1]=e[3],t[2]=e[6],t[3]=n,t[5]=e[7],t[6]=i,t[7]=r}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function ot(t,e){const n=e[0],i=e[1],r=e[2],s=e[3],a=e[4],o=e[5],h=e[6],c=e[7],u=e[8],g=u*a-o*c,l=-u*s+o*h,f=c*s-a*h;let m=n*g+i*l+r*f;return m?(m=1/m,t[0]=g*m,t[1]=(-u*i+r*c)*m,t[2]=(o*i-r*a)*m,t[3]=l*m,t[4]=(u*n-r*h)*m,t[5]=(-o*n+r*s)*m,t[6]=f*m,t[7]=(-c*n+i*h)*m,t[8]=(a*n-i*s)*m,t):null}function ht(t){const e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],h=t[7],c=t[8];return e*(c*s-a*h)+n*(-c*r+a*o)+i*(h*r-s*o)}function ct(t,e,n){const i=e[0],r=e[1],s=e[2],a=e[3],o=e[4],h=e[5],c=e[6],u=e[7],g=e[8],l=n[0],f=n[1],m=n[2],d=n[3],p=n[4],y=n[5],w=n[6],M=n[7],b=n[8];return t[0]=l*i+f*a+m*c,t[1]=l*r+f*o+m*u,t[2]=l*s+f*h+m*g,t[3]=d*i+p*a+y*c,t[4]=d*r+p*o+y*u,t[5]=d*s+p*h+y*g,t[6]=w*i+M*a+b*c,t[7]=w*r+M*o+b*u,t[8]=w*s+M*h+b*g,t}function ut(t,e,n){const i=e[0],r=e[1],s=e[2],a=e[3],o=e[4],h=e[5],c=e[6],u=e[7],g=e[8],l=n[0],f=n[1];return t[0]=i,t[1]=r,t[2]=s,t[3]=a,t[4]=o,t[5]=h,t[6]=l*i+f*a+c,t[7]=l*r+f*o+u,t[8]=l*s+f*h+g,t}function gt(t,e,n){const i=e[0],r=e[1],s=e[2],a=e[3],o=e[4],h=e[5],c=e[6],u=e[7],g=e[8],l=Math.sin(n),f=Math.cos(n);return t[0]=f*i+l*a,t[1]=f*r+l*o,t[2]=f*s+l*h,t[3]=f*a-l*i,t[4]=f*o-l*r,t[5]=f*h-l*s,t[6]=c,t[7]=u,t[8]=g,t}function lt(t,e,n){const i=n[0],r=n[1];return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=r*e[3],t[4]=r*e[4],t[5]=r*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function ft(t,e){const n=e[0],i=e[1],r=e[2],s=e[3],a=n+n,o=i+i,h=r+r,c=n*a,u=i*a,g=i*o,l=r*a,f=r*o,m=r*h,d=s*a,p=s*o,y=s*h;return t[0]=1-g-m,t[3]=u-y,t[6]=l+p,t[1]=u+y,t[4]=1-c-m,t[7]=f-d,t[2]=l-p,t[5]=f+d,t[8]=1-c-g,t}function mt(){const t=new n(4);return n!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function dt(t,e,n){n*=.5;const i=Math.sin(n);return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=Math.cos(n),t}function pt(t,e,n){const i=e[0],r=e[1],s=e[2],a=e[3],o=n[0],h=n[1],c=n[2],u=n[3];return t[0]=i*u+a*o+r*c-s*h,t[1]=r*u+a*h+s*o-i*c,t[2]=s*u+a*c+i*h-r*o,t[3]=a*u-i*o-r*h-s*c,t}function yt(t,e,n,i){const r=e[0],s=e[1],a=e[2],o=e[3];let h,c,u,g,l,f=n[0],m=n[1],d=n[2],p=n[3];return h=r*f+s*m+a*d+o*p,h<0&&(h=-h,f=-f,m=-m,d=-d,p=-p),1-h>1e-6?(c=Math.acos(h),l=Math.sin(c),u=Math.sin((1-i)*c)/l,g=Math.sin(i*c)/l):(u=1-i,g=i),t[0]=u*r+g*f,t[1]=u*s+g*m,t[2]=u*a+g*d,t[3]=u*o+g*p,t}function wt(t,e){const n=e[0]+e[4]+e[8];let i;if(n>0)i=Math.sqrt(n+1),t[3]=.5*i,i=.5/i,t[0]=(e[5]-e[7])*i,t[1]=(e[6]-e[2])*i,t[2]=(e[1]-e[3])*i;else{let n=0;e[4]>e[0]&&(n=1),e[8]>e[3*n+n]&&(n=2);const r=(n+1)%3,s=(n+2)%3;i=Math.sqrt(e[3*n+n]-e[3*r+r]-e[3*s+s]+1),t[n]=.5*i,i=.5/i,t[3]=(e[3*r+s]-e[3*s+r])*i,t[r]=(e[3*r+n]+e[3*n+r])*i,t[s]=(e[3*s+n]+e[3*n+s])*i}return t}var Mt=s,bt=d,xt=o,kt=a,vt=P,It=y,Et=p,Tt=function(){const t=L(),e=S(1,0,0),n=S(0,1,0);return function(i,r,s){const a=M(r,s);return a<-.999999?(E(t,e,r),R(t)<1e-6&&E(t,n,r),A(t,t),dt(i,t,Math.PI),i):a>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(E(t,r,s),i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=1+a,Et(i,i))}}(),jt=(function(){const t=mt(),e=mt()}(),function(){const t=function(){const t=new n(9);return n!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}()}(),[0,0,0,1]),Ut=class extends j{constructor(t=0,e=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?this.copy(t):this.set(t,e,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,e,n,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=i,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return wt(this,t),this.check()}fromAxisRotation(t,e){return dt(this,t,e),this.check()}identity(){var t;return(t=this)[0]=0,t[1]=0,t[2]=0,t[3]=1,this.check()}setAxisAngle(t,e){return this.fromAxisRotation(t,e)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=i(t)}get y(){return this[1]}set y(t){this[1]=i(t)}get z(){return this[2]}set z(t){this[2]=i(t)}get w(){return this[3]}set w(t){this[3]=i(t)}len(){return vt(this)}lengthSquared(){return It(this)}dot(t){return xt(this,t)}rotationTo(t,e){return Tt(this,t,e),this.check()}add(t){return Mt(this,this,t),this.check()}calculateW(){return function(t,e){const n=e[0],i=e[1],r=e[2];t[0]=n,t[1]=i,t[2]=r,t[3]=Math.sqrt(Math.abs(1-n*n-i*i-r*r))}(this,this),this.check()}conjugate(){var t,e;return e=this,(t=this)[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],this.check()}invert(){return function(t,e){const n=e[0],i=e[1],r=e[2],s=e[3],a=n*n+i*i+r*r+s*s,o=a?1/a:0;t[0]=-n*o,t[1]=-i*o,t[2]=-r*o,t[3]=s*o}(this,this),this.check()}lerp(t,e,n){return void 0===n?this.lerp(this,t,e):(kt(this,t,e,n),this.check())}multiplyRight(t){return pt(this,this,t),this.check()}multiplyLeft(t){return pt(this,t,this),this.check()}normalize(){const t=this.len(),e=t>0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return function(t,e,n){n*=.5;const i=e[0],r=e[1],s=e[2],a=e[3],o=Math.sin(n),h=Math.cos(n);t[0]=i*h+a*o,t[1]=r*h+s*o,t[2]=s*h-r*o,t[3]=a*h-i*o}(this,this,t),this.check()}rotateY(t){return function(t,e,n){n*=.5;const i=e[0],r=e[1],s=e[2],a=e[3],o=Math.sin(n),h=Math.cos(n);t[0]=i*h-s*o,t[1]=r*h+a*o,t[2]=s*h+i*o,t[3]=a*h-r*o}(this,this,t),this.check()}rotateZ(t){return function(t,e,n){n*=.5;const i=e[0],r=e[1],s=e[2],a=e[3],o=Math.sin(n),h=Math.cos(n);t[0]=i*h+r*o,t[1]=r*h-i*o,t[2]=s*h+a*o,t[3]=a*h-s*o}(this,this,t),this.check()}scale(t){return bt(this,this,t),this.check()}slerp(t,e,n){let i,r,s;switch(arguments.length){case 1:({start:i=jt,target:r,ratio:s}=t);break;case 2:i=this,r=t,s=e;break;default:i=t,r=e,s=n}return yt(this,i,r,s),this.check()}transformVector4(e,n=new st){return t(n,e,this),h(n,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}},Dt=Math.PI/180,St=180/Math.PI,Pt=6370972;function Lt(){const t=256/Pt,e=Math.PI/180*256;return{unitsPerMeter:[t,t,t],unitsPerMeter2:[0,0,0],metersPerUnit:[24886.609375,24886.609375,24886.609375],unitsPerDegree:[e,e,t],unitsPerDegree2:[0,0,0],degreesPerUnit:[1/e,1/e,24886.609375]}}var Rt=class extends q{constructor(t={}){const{longitude:n=0,bearing:i=0,pitch:s=0,zoom:a=0,nearZMultiplier:o=.5,farZMultiplier:h=1,resolution:c=10}=t;let{latitude:u=0,height:g,altitude:f=1.5,fovy:d}=t;u=Math.max(Math.min(u,90),-90),g=g||1,d?f=r(d):d=l(f);const p=Math.max(Math.min(u,e),-e),y=Math.pow(2,a-At(p)),w=s*Dt,M=t.nearZ??o,b=t.farZ??(f+512*y/g/Math.max(Math.cos(w),.1))*h,x=(new m).lookAt({eye:[0,-f,0],up:[0,0,1]}).rotateX(-w).rotateY(-i*Dt).rotateX(u*Dt).rotateZ(-n*Dt).scale(y/g);super({...t,height:g,viewMatrix:x,longitude:n,latitude:u,zoom:a,distanceScales:Lt(),fovy:d,focalDistance:f,near:M,far:b}),this.scale=y,this.latitude=u,this.longitude=n,this.bearing=i,this.pitch=s,this.fovy=d,this.resolution=c}get projectionMode(){return g.GLOBE}getDistanceScales(){return this.distanceScales}getBounds(t={}){const e={targetZ:t.z||0},n=this.unproject([0,this.height/2],e),i=this.unproject([this.width/2,0],e),r=this.unproject([this.width,this.height/2],e),s=this.unproject([this.width/2,this.height],e);return r[0]<this.longitude&&(r[0]+=360),n[0]>this.longitude&&(n[0]-=360),[Math.min(n[0],r[0],i[0],s[0]),Math.min(n[1],r[1],i[1],s[1]),Math.max(n[0],r[0],i[0],s[0]),Math.max(n[1],r[1],i[1],s[1])]}_getRayToGlobe(t,{topLeft:e=!0,targetZ:n}={}){const[i,r]=t,s=e?r:this.height-r,{pixelUnprojectionMatrix:a}=this,o=qt(a,[i,s,-1,1]),h=qt(a,[i,s,1,1]),c=256*((n||0)/Pt+1),u=k(v([],o,h)),g=k(o),l=k(h);return{rayStartPosition:o,rayEndPosition:h,radius:c,rayLengthSquared:u,rayStartDistanceSquared:g,distanceToCenterSquared:(4*g*l-(u-g-l)**2)/16*4/u}}_getRayDistanceToGlobeCenterRatio(t,e){const{distanceToCenterSquared:n,radius:i}=this._getRayToGlobe(t,e);return Math.sqrt(Math.max(0,n))/i}getZoomAnchorStrength(t){const e=this._getRayDistanceToGlobeCenterRatio(t);return e>1.15?0:1-.65*Math.max(0,Math.min(1,(e-.75)/.25))}unproject(t,{topLeft:e=!0,targetZ:n}={}){const[i,r,s]=t,a=e?r:this.height-r,{pixelUnprojectionMatrix:o}=this;let h;if(Number.isFinite(s))h=qt(o,[i,a,s,1]);else{const{rayStartPosition:i,rayEndPosition:r,radius:s,rayLengthSquared:a,rayStartDistanceSquared:o,distanceToCenterSquared:c}=this._getRayToGlobe(t,{topLeft:e,targetZ:n}),u=(Math.sqrt(o-c)-Math.sqrt(Math.max(0,s*s-c)))/Math.sqrt(a);h=U([],i,r,u)}const[c,u,g]=this.unprojectPosition(h);return Number.isFinite(s)?[c,u,g]:Number.isFinite(n)?[c,u,n]:[c,u]}projectPosition(t){const[e,n,i=0]=t,r=e*Dt,s=n*Dt,a=Math.cos(s),o=256*(i/Pt+1);return[Math.sin(r)*a*o,-Math.cos(r)*a*o,Math.sin(s)*o]}unprojectPosition(t){const[e,n,i]=t,r=R(t),s=Math.asin(i/r);return[Math.atan2(e,-n)*St,s*St,(r/256-1)*Pt]}projectFlat(t){return t}unprojectFlat(t){return t}panByPosition(t,e,n){if(!n){const n=this.getZoomAnchorStrength(e);if(0===n)return{longitude:this.longitude,latitude:this.latitude};const i=this.unproject(e),r=b(t[0]-i[0]+180,360)-180;return{longitude:this.longitude+r*n,latitude:Math.max(Math.min(this.latitude+(t[1]-i[1])*n,90),-90)}}const[i,r,s]=t,a=.25/Math.pow(2,this.zoom-At(this.latitude)),o=i+a*(n[0]-e[0]);let h=r-a*(n[1]-e[1]);h=Math.max(Math.min(h,90),-90);const c={longitude:o,latitude:h,zoom:s-At(r)};return c.zoom+=At(c.latitude),c}};function At(t,n){n&&(t=Math.max(Math.min(t,e),-e));const i=Math.PI*Math.cos(t*Math.PI/180);return Math.log2(i)}function qt(t,e){const n=u([],e,t);return d(n,n,1/n[3]),n}Rt.displayName="GlobeViewport";export{ft as a,gt as c,at as d,rt as f,ht as i,lt as l,V as m,At as n,ot as o,et as p,Ut as r,ct as s,Rt as t,ut as u};
1
+ /*! Web-kit v1.2.0-develop.14 | (c) 2026 MapVX */
2
+ !function(){try{var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},e=(new t.Error).stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="5360d40e-3bdb-47e3-9d15-280587d2d49f",t._sentryDebugIdIdentifier="sentry-dbid-5360d40e-3bdb-47e3-9d15-280587d2d49f")}catch(t){}}();import{$ as t,C as e,Ct as n,Dt as i,E as r,G as s,J as a,K as o,Ot as h,Pt as c,Q as u,R as g,T as l,Tt as f,W as m,X as d,Y as p,Z as y,_t as w,at as M,b,bn as x,dt as k,ft as v,ht as I,it as E,jt as T,kt as j,lt as U,mt as D,ot as S,q as P,rt as L,st as R,ut as A,v as q,vt as B,wt as _,yn as z}from"./debug-hooks-D_XQuFlb.js";var C=globalThis.loaders?.parseImageNode,Z="undefined"!=typeof Image,O="undefined"!=typeof ImageBitmap,N=!!z||Boolean(C);function G(t){const e=function(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&t instanceof Image?"image":t&&"object"==typeof t&&t.data&&t.width&&t.height?"data":null}(t);if(!e)throw new Error("Not an image");return e}function V(t){switch(G(t)){case"data":return t;case"image":case"imagebitmap":const e=document.createElement("canvas"),n=e.getContext("2d");if(!n)throw new Error("getImageData");return e.width=t.width,e.height=t.height,n.drawImage(t,0,0),n.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}var F=/^data:image\/svg\+xml/,Y=/\.svg((\?|#).*)?$/;function X(t){return t&&(F.test(t)||Y.test(t))}function $(t,e){if(X(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}async function H(t,e,n){const i=function(t,e){if(X(e)){let e=(new TextDecoder).decode(t);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(e=unescape(encodeURIComponent(e)))}catch(n){throw new Error(n.message)}return`data:image/svg+xml;base64,${btoa(e)}`}return $(t,e)}(t,n),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return await async function(t,e){const n=new Image;if(n.src=t,e.image&&e.image.decode&&n.decode)return await n.decode(),n;return await new Promise((t,e)=>{try{n.onload=()=>t(n),n.onerror=t=>{const n=t instanceof Error?t.message:"error";e(new Error(n))}}catch(i){e(i)}})}(s||i,e)}finally{s&&r.revokeObjectURL(s)}}var Q=!0;async function W(t,e,n){let i;i=X(n)?await H(t,e,n):$(t,n);const r=e&&e.imagebitmap;return await async function(t,e=null){!function(t){if(!t)return!0;for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0}(e)&&Q||(e=null);if(e)try{return await createImageBitmap(t,e)}catch(n){console.warn(n),Q=!1}return await createImageBitmap(t)}(i,r)}function J(t){return function(t,e,n=0){const i=(r=e,[...r].map(t=>t.charCodeAt(0)));var r;for(let s=0;s<i.length;++s)if(i[s]!==t[s+n])return!1;return!0}(t,"ftyp",4)&&96&t[8]?function(t){switch((e=t,n=8,i=12,String.fromCharCode(...e.slice(n,i))).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}var e,n,i}(t):null}var K=!1,tt=!0;function et(t){const e=nt(t);return function(t){const e=nt(t);return e.byteLength>=24&&2303741511===e.getUint32(0,K)?{mimeType:"image/png",width:e.getUint32(16,K),height:e.getUint32(20,K)}:null}(e)||function(t){const e=nt(t);if(!(e.byteLength>=3&&65496===e.getUint16(0,K)&&255===e.getUint8(2)))return null;const{tableMarkers:n,sofMarkers:i}=function(){const t=/* @__PURE__ */new Set([65499,65476,65484,65501,65534]);for(let e=65504;e<65520;++e)t.add(e);return{tableMarkers:t,sofMarkers:/* @__PURE__ */new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let r=2;for(;r+9<e.byteLength;){const t=e.getUint16(r,K);if(i.has(t))return{mimeType:"image/jpeg",height:e.getUint16(r+5,K),width:e.getUint16(r+7,K)};if(!n.has(t))return null;r+=2,r+=e.getUint16(r,K)}return null}(e)||function(t){const e=nt(t);return e.byteLength>=10&&1195984440===e.getUint32(0,K)?{mimeType:"image/gif",width:e.getUint16(6,tt),height:e.getUint16(8,tt)}:null}(e)||function(t){const e=nt(t);return e.byteLength>=14&&16973===e.getUint16(0,K)&&e.getUint32(2,tt)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,tt),height:e.getUint32(22,tt)}:null}(e)||function(t){const e=new Uint8Array(t instanceof DataView?t.buffer:t),n=J(e);return n?{mimeType:n.mimeType,width:0,height:0}:null}(e)}function nt(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}var it,rt={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:"4.5.4",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],parse:async function(t,e,n){const i=((e=e||{}).image||{}).type||"auto",{url:r}=n||{};let s;switch(function(t){switch(t){case"auto":case"data":return function(){if(O)return"imagebitmap";if(Z)return"image";if(N)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(t){switch(t){case"auto":return O||Z||N;case"imagebitmap":return O;case"image":return Z;case"data":return N;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}(t),t}}(i)){case"imagebitmap":s=await W(t,e,r);break;case"image":s=await H(t,e,r);break;case"data":s=await async function(t){const{mimeType:e}=et(t)||{},n=globalThis.loaders?.parseImageNode;return x(n),await n(t,e)}(t);break;default:x(!1)}return"data"===i&&(s=V(s)),s},tests:[t=>Boolean(et(new DataView(t)))],options:{image:{type:"auto",decode:!0}}},st=class t extends f{static get ZERO(){return it||(it=new t(0,0,0,0),Object.freeze(it)),it}constructor(t=0,e=0,n=0,r=0){super(-0,-0,-0,-0),c(t)&&1===arguments.length?this.copy(t):(T.debug&&(i(t),i(e),i(n),i(r)),this[0]=t,this[1]=e,this[2]=n,this[3]=r)}set(t,e,n,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=i,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return T.debug&&(i(t.x),i(t.y),i(t.z),i(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=i(t)}get w(){return this[3]}set w(t){this[3]=i(t)}transform(t){return D(this,this,t),this.check()}transformByMatrix3(t){return B(this,this,t),this.check()}transformByMatrix2(t){return w(this,this,t),this.check()}transformByQuaternion(t){return I(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};function at(t,e){if(t===e){const n=e[1],i=e[2],r=e[5];t[1]=e[3],t[2]=e[6],t[3]=n,t[5]=e[7],t[6]=i,t[7]=r}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function ot(t,e){const n=e[0],i=e[1],r=e[2],s=e[3],a=e[4],o=e[5],h=e[6],c=e[7],u=e[8],g=u*a-o*c,l=-u*s+o*h,f=c*s-a*h;let m=n*g+i*l+r*f;return m?(m=1/m,t[0]=g*m,t[1]=(-u*i+r*c)*m,t[2]=(o*i-r*a)*m,t[3]=l*m,t[4]=(u*n-r*h)*m,t[5]=(-o*n+r*s)*m,t[6]=f*m,t[7]=(-c*n+i*h)*m,t[8]=(a*n-i*s)*m,t):null}function ht(t){const e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],h=t[7],c=t[8];return e*(c*s-a*h)+n*(-c*r+a*o)+i*(h*r-s*o)}function ct(t,e,n){const i=e[0],r=e[1],s=e[2],a=e[3],o=e[4],h=e[5],c=e[6],u=e[7],g=e[8],l=n[0],f=n[1],m=n[2],d=n[3],p=n[4],y=n[5],w=n[6],M=n[7],b=n[8];return t[0]=l*i+f*a+m*c,t[1]=l*r+f*o+m*u,t[2]=l*s+f*h+m*g,t[3]=d*i+p*a+y*c,t[4]=d*r+p*o+y*u,t[5]=d*s+p*h+y*g,t[6]=w*i+M*a+b*c,t[7]=w*r+M*o+b*u,t[8]=w*s+M*h+b*g,t}function ut(t,e,n){const i=e[0],r=e[1],s=e[2],a=e[3],o=e[4],h=e[5],c=e[6],u=e[7],g=e[8],l=n[0],f=n[1];return t[0]=i,t[1]=r,t[2]=s,t[3]=a,t[4]=o,t[5]=h,t[6]=l*i+f*a+c,t[7]=l*r+f*o+u,t[8]=l*s+f*h+g,t}function gt(t,e,n){const i=e[0],r=e[1],s=e[2],a=e[3],o=e[4],h=e[5],c=e[6],u=e[7],g=e[8],l=Math.sin(n),f=Math.cos(n);return t[0]=f*i+l*a,t[1]=f*r+l*o,t[2]=f*s+l*h,t[3]=f*a-l*i,t[4]=f*o-l*r,t[5]=f*h-l*s,t[6]=c,t[7]=u,t[8]=g,t}function lt(t,e,n){const i=n[0],r=n[1];return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=r*e[3],t[4]=r*e[4],t[5]=r*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function ft(t,e){const n=e[0],i=e[1],r=e[2],s=e[3],a=n+n,o=i+i,h=r+r,c=n*a,u=i*a,g=i*o,l=r*a,f=r*o,m=r*h,d=s*a,p=s*o,y=s*h;return t[0]=1-g-m,t[3]=u-y,t[6]=l+p,t[1]=u+y,t[4]=1-c-m,t[7]=f-d,t[2]=l-p,t[5]=f+d,t[8]=1-c-g,t}function mt(){const t=new n(4);return n!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function dt(t,e,n){n*=.5;const i=Math.sin(n);return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=Math.cos(n),t}function pt(t,e,n){const i=e[0],r=e[1],s=e[2],a=e[3],o=n[0],h=n[1],c=n[2],u=n[3];return t[0]=i*u+a*o+r*c-s*h,t[1]=r*u+a*h+s*o-i*c,t[2]=s*u+a*c+i*h-r*o,t[3]=a*u-i*o-r*h-s*c,t}function yt(t,e,n,i){const r=e[0],s=e[1],a=e[2],o=e[3];let h,c,u,g,l,f=n[0],m=n[1],d=n[2],p=n[3];return h=r*f+s*m+a*d+o*p,h<0&&(h=-h,f=-f,m=-m,d=-d,p=-p),1-h>1e-6?(c=Math.acos(h),l=Math.sin(c),u=Math.sin((1-i)*c)/l,g=Math.sin(i*c)/l):(u=1-i,g=i),t[0]=u*r+g*f,t[1]=u*s+g*m,t[2]=u*a+g*d,t[3]=u*o+g*p,t}function wt(t,e){const n=e[0]+e[4]+e[8];let i;if(n>0)i=Math.sqrt(n+1),t[3]=.5*i,i=.5/i,t[0]=(e[5]-e[7])*i,t[1]=(e[6]-e[2])*i,t[2]=(e[1]-e[3])*i;else{let n=0;e[4]>e[0]&&(n=1),e[8]>e[3*n+n]&&(n=2);const r=(n+1)%3,s=(n+2)%3;i=Math.sqrt(e[3*n+n]-e[3*r+r]-e[3*s+s]+1),t[n]=.5*i,i=.5/i,t[3]=(e[3*r+s]-e[3*s+r])*i,t[r]=(e[3*r+n]+e[3*n+r])*i,t[s]=(e[3*s+n]+e[3*n+s])*i}return t}var Mt=s,bt=d,xt=o,kt=a,vt=P,It=y,Et=p,Tt=function(){const t=L(),e=S(1,0,0),n=S(0,1,0);return function(i,r,s){const a=M(r,s);return a<-.999999?(E(t,e,r),R(t)<1e-6&&E(t,n,r),A(t,t),dt(i,t,Math.PI),i):a>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(E(t,r,s),i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=1+a,Et(i,i))}}(),jt=(function(){const t=mt(),e=mt()}(),function(){const t=function(){const t=new n(9);return n!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}()}(),[0,0,0,1]),Ut=class extends j{constructor(t=0,e=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?this.copy(t):this.set(t,e,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,e,n,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=i,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return wt(this,t),this.check()}fromAxisRotation(t,e){return dt(this,t,e),this.check()}identity(){var t;return(t=this)[0]=0,t[1]=0,t[2]=0,t[3]=1,this.check()}setAxisAngle(t,e){return this.fromAxisRotation(t,e)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=i(t)}get y(){return this[1]}set y(t){this[1]=i(t)}get z(){return this[2]}set z(t){this[2]=i(t)}get w(){return this[3]}set w(t){this[3]=i(t)}len(){return vt(this)}lengthSquared(){return It(this)}dot(t){return xt(this,t)}rotationTo(t,e){return Tt(this,t,e),this.check()}add(t){return Mt(this,this,t),this.check()}calculateW(){return function(t,e){const n=e[0],i=e[1],r=e[2];t[0]=n,t[1]=i,t[2]=r,t[3]=Math.sqrt(Math.abs(1-n*n-i*i-r*r))}(this,this),this.check()}conjugate(){var t,e;return e=this,(t=this)[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],this.check()}invert(){return function(t,e){const n=e[0],i=e[1],r=e[2],s=e[3],a=n*n+i*i+r*r+s*s,o=a?1/a:0;t[0]=-n*o,t[1]=-i*o,t[2]=-r*o,t[3]=s*o}(this,this),this.check()}lerp(t,e,n){return void 0===n?this.lerp(this,t,e):(kt(this,t,e,n),this.check())}multiplyRight(t){return pt(this,this,t),this.check()}multiplyLeft(t){return pt(this,t,this),this.check()}normalize(){const t=this.len(),e=t>0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return function(t,e,n){n*=.5;const i=e[0],r=e[1],s=e[2],a=e[3],o=Math.sin(n),h=Math.cos(n);t[0]=i*h+a*o,t[1]=r*h+s*o,t[2]=s*h-r*o,t[3]=a*h-i*o}(this,this,t),this.check()}rotateY(t){return function(t,e,n){n*=.5;const i=e[0],r=e[1],s=e[2],a=e[3],o=Math.sin(n),h=Math.cos(n);t[0]=i*h-s*o,t[1]=r*h+a*o,t[2]=s*h+i*o,t[3]=a*h-r*o}(this,this,t),this.check()}rotateZ(t){return function(t,e,n){n*=.5;const i=e[0],r=e[1],s=e[2],a=e[3],o=Math.sin(n),h=Math.cos(n);t[0]=i*h+r*o,t[1]=r*h-i*o,t[2]=s*h+a*o,t[3]=a*h-s*o}(this,this,t),this.check()}scale(t){return bt(this,this,t),this.check()}slerp(t,e,n){let i,r,s;switch(arguments.length){case 1:({start:i=jt,target:r,ratio:s}=t);break;case 2:i=this,r=t,s=e;break;default:i=t,r=e,s=n}return yt(this,i,r,s),this.check()}transformVector4(e,n=new st){return t(n,e,this),h(n,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}},Dt=Math.PI/180,St=180/Math.PI,Pt=6370972;function Lt(){const t=256/Pt,e=Math.PI/180*256;return{unitsPerMeter:[t,t,t],unitsPerMeter2:[0,0,0],metersPerUnit:[24886.609375,24886.609375,24886.609375],unitsPerDegree:[e,e,t],unitsPerDegree2:[0,0,0],degreesPerUnit:[1/e,1/e,24886.609375]}}var Rt=class extends q{constructor(t={}){const{longitude:n=0,bearing:i=0,pitch:s=0,zoom:a=0,nearZMultiplier:o=.5,farZMultiplier:h=1,resolution:c=10}=t;let{latitude:u=0,height:g,altitude:f=1.5,fovy:d}=t;u=Math.max(Math.min(u,90),-90),g=g||1,d?f=r(d):d=l(f);const p=Math.max(Math.min(u,e),-e),y=Math.pow(2,a-At(p)),w=s*Dt,M=t.nearZ??o,b=t.farZ??(f+512*y/g/Math.max(Math.cos(w),.1))*h,x=(new m).lookAt({eye:[0,-f,0],up:[0,0,1]}).rotateX(-w).rotateY(-i*Dt).rotateX(u*Dt).rotateZ(-n*Dt).scale(y/g);super({...t,height:g,viewMatrix:x,longitude:n,latitude:u,zoom:a,distanceScales:Lt(),fovy:d,focalDistance:f,near:M,far:b}),this.scale=y,this.latitude=u,this.longitude=n,this.bearing=i,this.pitch=s,this.fovy=d,this.resolution=c}get projectionMode(){return g.GLOBE}getDistanceScales(){return this.distanceScales}getBounds(t={}){const e={targetZ:t.z||0},n=this.unproject([0,this.height/2],e),i=this.unproject([this.width/2,0],e),r=this.unproject([this.width,this.height/2],e),s=this.unproject([this.width/2,this.height],e);return r[0]<this.longitude&&(r[0]+=360),n[0]>this.longitude&&(n[0]-=360),[Math.min(n[0],r[0],i[0],s[0]),Math.min(n[1],r[1],i[1],s[1]),Math.max(n[0],r[0],i[0],s[0]),Math.max(n[1],r[1],i[1],s[1])]}_getRayToGlobe(t,{topLeft:e=!0,targetZ:n}={}){const[i,r]=t,s=e?r:this.height-r,{pixelUnprojectionMatrix:a}=this,o=qt(a,[i,s,-1,1]),h=qt(a,[i,s,1,1]),c=256*((n||0)/Pt+1),u=k(v([],o,h)),g=k(o),l=k(h);return{rayStartPosition:o,rayEndPosition:h,radius:c,rayLengthSquared:u,rayStartDistanceSquared:g,distanceToCenterSquared:(4*g*l-(u-g-l)**2)/16*4/u}}_getRayDistanceToGlobeCenterRatio(t,e){const{distanceToCenterSquared:n,radius:i}=this._getRayToGlobe(t,e);return Math.sqrt(Math.max(0,n))/i}getZoomAnchorStrength(t){const e=this._getRayDistanceToGlobeCenterRatio(t);return e>1.15?0:1-.65*Math.max(0,Math.min(1,(e-.75)/.25))}unproject(t,{topLeft:e=!0,targetZ:n}={}){const[i,r,s]=t,a=e?r:this.height-r,{pixelUnprojectionMatrix:o}=this;let h;if(Number.isFinite(s))h=qt(o,[i,a,s,1]);else{const{rayStartPosition:i,rayEndPosition:r,radius:s,rayLengthSquared:a,rayStartDistanceSquared:o,distanceToCenterSquared:c}=this._getRayToGlobe(t,{topLeft:e,targetZ:n}),u=(Math.sqrt(o-c)-Math.sqrt(Math.max(0,s*s-c)))/Math.sqrt(a);h=U([],i,r,u)}const[c,u,g]=this.unprojectPosition(h);return Number.isFinite(s)?[c,u,g]:Number.isFinite(n)?[c,u,n]:[c,u]}projectPosition(t){const[e,n,i=0]=t,r=e*Dt,s=n*Dt,a=Math.cos(s),o=256*(i/Pt+1);return[Math.sin(r)*a*o,-Math.cos(r)*a*o,Math.sin(s)*o]}unprojectPosition(t){const[e,n,i]=t,r=R(t),s=Math.asin(i/r);return[Math.atan2(e,-n)*St,s*St,(r/256-1)*Pt]}projectFlat(t){return t}unprojectFlat(t){return t}panByPosition(t,e,n){if(!n){const n=this.getZoomAnchorStrength(e);if(0===n)return{longitude:this.longitude,latitude:this.latitude};const i=this.unproject(e),r=b(t[0]-i[0]+180,360)-180;return{longitude:this.longitude+r*n,latitude:Math.max(Math.min(this.latitude+(t[1]-i[1])*n,90),-90)}}const[i,r,s]=t,a=.25/Math.pow(2,this.zoom-At(this.latitude)),o=i+a*(n[0]-e[0]);let h=r-a*(n[1]-e[1]);h=Math.max(Math.min(h,90),-90);const c={longitude:o,latitude:h,zoom:s-At(r)};return c.zoom+=At(c.latitude),c}};function At(t,n){n&&(t=Math.max(Math.min(t,e),-e));const i=Math.PI*Math.cos(t*Math.PI/180);return Math.log2(i)}function qt(t,e){const n=u([],e,t);return d(n,n,1/n[3]),n}Rt.displayName="GlobeViewport";export{ft as a,gt as c,at as d,rt as f,ht as i,lt as l,V as m,At as n,ot as o,et as p,Ut as r,ct as s,Rt as t,ut as u};
@@ -1,2 +1,2 @@
1
- /*! Web-kit v1.2.0-develop.12 | (c) 2026 MapVX */
2
- !function(){try{var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="deaab0be-0e9b-44e9-a956-8fca39613695",e._sentryDebugIdIdentifier="sentry-dbid-deaab0be-0e9b-44e9-a956-8fca39613695")}catch(e){}}();var e="data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cx='11'%20cy='11'%20r='11'%20fill='%23E7F1F7'/%3e%3ccircle%20cx='11.0002'%20cy='10.9999'%20r='6.61538'%20fill='%23396FE5'%20stroke='white'%20stroke-width='2'/%3e%3c/svg%3e";export{e as default};
1
+ /*! Web-kit v1.2.0-develop.14 | (c) 2026 MapVX */
2
+ !function(){try{var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b8fdca13-f2b6-42e8-a55a-b80e47651bce",e._sentryDebugIdIdentifier="sentry-dbid-b8fdca13-f2b6-42e8-a55a-b80e47651bce")}catch(e){}}();var e="data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cx='11'%20cy='11'%20r='11'%20fill='%23E7F1F7'/%3e%3ccircle%20cx='11.0002'%20cy='10.9999'%20r='6.61538'%20fill='%23396FE5'%20stroke='white'%20stroke-width='2'/%3e%3c/svg%3e";export{e as default};
@@ -1,2 +1,2 @@
1
- /*! Web-kit v1.2.0-develop.12 | (c) 2026 MapVX */
2
- !function(){try{var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},b=(new a.Error).stack;b&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[b]="90a792cc-cec3-4346-bd5a-01333f5c576f",a._sentryDebugIdIdentifier="sentry-dbid-90a792cc-cec3-4346-bd5a-01333f5c576f")}catch(a){}}();var a=function(){var a=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),b=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if("object"!=typeof WebAssembly)return{supported:!1};var c,e=WebAssembly.validate(a)?d("b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuixkbbebeeddddilve9Weeeviebeoweuecj:Gdkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WbwY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbDl79IV9Rbqq:W9Dklbzik94evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaeai86b:q:W:cjbaecitab8Piw83i:q:G:cjbaecefgecjd9hmbkk:JBl8Aud97dur978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaialfgxar9RhodnadTgmmbavaoad;8qbbkaicefhPcj;abad9Uc;WFbGcjdadca0EhsdndndnadTmbaoadfhzcbhHinaeaH9nmdaxaP9RaD6miabaHad2fhOaPaDfhAasaeaH9RaHasfae6EgCcsfgocl4cifcd4hXavcj;cbfaoc9WGgQcetfhLavcj;cbfaQci2fhKavcj;cbfaQfhYcbh8Aaoc;ab6hEincbh3dnawTmbaPa8Acd4fRbbh3kcbh5avcj;cbfh8Eindndndndna3a5cet4ciGgoc9:fPdebdkaxaA9RaQ6mwdnaQTmbavcj;cbfa5aQ2faAaQ;8qbbkaAaCfhAxdkaQTmeavcj;cbfa5aQ2fcbaQ;8kbxekaxaA9RaX6moaoclVcbawEhraAaXfhocbhidnaEmbaxao9Rc;Gb6mbcbhlina8EalfhidndndndndndnaAalco4fRbbgqciGarfPDbedibledibkaipxbbbbbbbbbbbbbbbbpklbxlkaiaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaoclffagRb:q:W:cjbfhoxikaiaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaocwffagRb:q:W:cjbfhoxdkaiaopbbbpklbaoczfhoxekaiaopbbdaoRbbghcitpbi:q:G:cjbahRb:q:W:cjbghpsaoRbeggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbahaocdffagRb:q:W:cjbfhokdndndndndndnaqcd4ciGarfPDbedibledibkaiczfpxbbbbbbbbbbbbbbbbpklbxlkaiczfaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaoclffagRb:q:W:cjbfhoxikaiczfaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaocwffagRb:q:W:cjbfhoxdkaiczfaopbbbpklbaoczfhoxekaiczfaopbbdaoRbbghcitpbi:q:G:cjbahRb:q:W:cjbghpsaoRbeggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbahaocdffagRb:q:W:cjbfhokdndndndndndnaqcl4ciGarfPDbedibledibkaicafpxbbbbbbbbbbbbbbbbpklbxlkaicafaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaoclffagRb:q:W:cjbfhoxikaicafaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaocwffagRb:q:W:cjbfhoxdkaicafaopbbbpklbaoczfhoxekaicafaopbbdaoRbbghcitpbi:q:G:cjbahRb:q:W:cjbghpsaoRbeggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbahaocdffagRb:q:W:cjbfhokdndndndndndnaqco4arfPDbedibledibkaic8Wfpxbbbbbbbbbbbbbbbbpklbxlkaic8Wfaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Ngicitpbi:q:G:cjbaiRb:q:W:cjbgipsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbaiaoclffaqRb:q:W:cjbfhoxikaic8Wfaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Ngicitpbi:q:G:cjbaiRb:q:W:cjbgipsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbaiaocwffaqRb:q:W:cjbfhoxdkaic8Wfaopbbbpklbaoczfhoxekaic8WfaopbbdaoRbbgicitpbi:q:G:cjbaiRb:q:W:cjbgipsaoRbegqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbaiaocdffaqRb:q:W:cjbfhokalc;abfhialcjefaQ0meaihlaxao9Rc;Fb0mbkkdnaiaQ9pmbaici4hlinaxao9RcK6mwa8EaifhqdndndndndndnaAaico4fRbbalcoG4ciGarfPDbedibledibkaqpxbbbbbbbbbbbbbbbbpkbbxlkaqaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spkbbahaoclffagRb:q:W:cjbfhoxikaqaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spkbbahaocwffagRb:q:W:cjbfhoxdkaqaopbbbpkbbaoczfhoxekaqaopbbdaoRbbghcitpbi:q:G:cjbahRb:q:W:cjbghpsaoRbeggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpkbbahaocdffagRb:q:W:cjbfhokalcdfhlaiczfgiaQ6mbkkaohAaoTmoka8EaQfh8Ea5cefg5cl9hmbkdndndndnawTmbaza8Acd4fRbbglciGPlbedwbkaQTmdavcjdfa8Afhlava8Afpbdbh8Jcbhoinalavcj;cbfaofpblbg8KaYaofpblbg8LpmbzeHdOiAlCvXoQrLg8MaLaofpblbg8NaKaofpblbgypmbzeHdOiAlCvXoQrLg8PpmbezHdiOAlvCXorQLg8Fcep9Ta8Fpxeeeeeeeeeeeeeeeegap9op9Hp9rg8Fa8Jp9Ug8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp9Ug8Jp9Abbbaladfgla8Ja8Ma8PpmwDKYqk8AExm35Ps8E8Fg8Fcep9Ta8Faap9op9Hp9rg8Fp9Ug8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp9Ug8Jp9Abbbaladfgla8Ja8Ka8LpmwKDYq8AkEx3m5P8Es8Fg8Ka8NaypmwKDYq8AkEx3m5P8Es8Fg8LpmbezHdiOAlvCXorQLg8Fcep9Ta8Faap9op9Hp9rg8Fp9Ug8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp9Ug8Jp9Abbbaladfgla8Ja8Ka8LpmwDKYqk8AExm35Ps8E8Fg8Fcep9Ta8Faap9op9Hp9rg8Fp9Ugap9Abbbaladfglaaa8Fa8Fpmlvorlvorlvorlvorp9Ugap9Abbbaladfglaaa8Fa8FpmwDqkwDqkwDqkwDqkp9Ugap9Abbbaladfglaaa8Fa8FpmxmPsxmPsxmPsxmPsp9Ug8Jp9AbbbaladfhlaoczfgoaQ6mbxikkaQTmeavcjdfa8Afhlava8Afpbdbh8Jcbhoinalavcj;cbfaofpblbg8KaYaofpblbg8LpmbzeHdOiAlCvXoQrLg8MaLaofpblbg8NaKaofpblbgypmbzeHdOiAlCvXoQrLg8PpmbezHdiOAlvCXorQLg8Fcep:nea8Fpxebebebebebebebebgap9op:bep9rg8Fa8Jp:oeg8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp:oeg8Jp9Abbbaladfgla8Ja8Ma8PpmwDKYqk8AExm35Ps8E8Fg8Fcep:nea8Faap9op:bep9rg8Fp:oeg8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp:oeg8Jp9Abbbaladfgla8Ja8Ka8LpmwKDYq8AkEx3m5P8Es8Fg8Ka8NaypmwKDYq8AkEx3m5P8Es8Fg8LpmbezHdiOAlvCXorQLg8Fcep:nea8Faap9op:bep9rg8Fp:oeg8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp:oeg8Jp9Abbbaladfgla8Ja8Ka8LpmwDKYqk8AExm35Ps8E8Fg8Fcep:nea8Faap9op:bep9rg8Fp:oegap9Abbbaladfglaaa8Fa8Fpmlvorlvorlvorlvorp:oegap9Abbbaladfglaaa8Fa8FpmwDqkwDqkwDqkwDqkp:oegap9Abbbaladfglaaa8Fa8FpmxmPsxmPsxmPsxmPsp:oeg8Jp9AbbbaladfhlaoczfgoaQ6mbxdkkaQTmbcbhocbalcl4gl9Rc8FGhiavcjdfa8Afhrava8Afpbdbhainaravcj;cbfaofpblbg8JaYaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaLaofpblbg8MaKaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Faip:Rea8Falp:Tep9qg8Faap9rgap9Abbbaradfgraaa8Fa8Fpmlvorlvorlvorlvorp9rgap9Abbbaradfgraaa8Fa8FpmwDqkwDqkwDqkwDqkp9rgap9Abbbaradfgraaa8Fa8FpmxmPsxmPsxmPsxmPsp9rgap9Abbbaradfgraaa8LaypmwDKYqk8AExm35Ps8E8Fg8Faip:Rea8Falp:Tep9qg8Fp9rgap9Abbbaradfgraaa8Fa8Fpmlvorlvorlvorlvorp9rgap9Abbbaradfgraaa8Fa8FpmwDqkwDqkwDqkwDqkp9rgap9Abbbaradfgraaa8Fa8FpmxmPsxmPsxmPsxmPsp9rgap9Abbbaradfgraaa8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Faip:Rea8Falp:Tep9qg8Fp9rgap9Abbbaradfgraaa8Fa8Fpmlvorlvorlvorlvorp9rgap9Abbbaradfgraaa8Fa8FpmwDqkwDqkwDqkwDqkp9rgap9Abbbaradfgraaa8Fa8FpmxmPsxmPsxmPsxmPsp9rgap9Abbbaradfgraaa8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Faip:Rea8Falp:Tep9qg8Fp9rgap9Abbbaradfgraaa8Fa8Fpmlvorlvorlvorlvorp9rgap9Abbbaradfgraaa8Fa8FpmwDqkwDqkwDqkwDqkp9rgap9Abbbaradfgraaa8Fa8FpmxmPsxmPsxmPsxmPsp9rgap9AbbbaradfhraoczfgoaQ6mbkka8Aclfg8Aad6mbkdnaCad2goTmbaOavcjdfao;8qbbkdnammbavavcjdfaCcufad2fad;8qbbkaCaHfhHc9:hoaAhPaAmbxlkkaeTmbaDalfhrcbhocuhlinaralaD9RglfaD6mdasaeao9Raoasfae6Eaofgoae6mbkaial9RhPkcbc99axaP9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaokwbz:bjjjbkNsezu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnalaeci9UgrcHf6mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbav9cu83iUav9cu83i8Wav9cu83iyav9cu83iaav9cu83iKav9cu83izav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbavaiaqaDcsGfRbbgscl4gP9RcsGcdtfydbaxcefgOaPEhDavaias9RcsGcdtfydbaOaPTgzfgOascsGgPEhsaPThPdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiazfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaPfhiaOaPfhxxekaxcbalRbbgsEgHaDc;:eSgDfhOascsGhAdndnascl4gCmbaOcefhzxekaOhzavaiaC9RcsGcdtfydbhOkdndnaAmbazcefhxxekazhxavaias9RcsGcdtfydbhzkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhHascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaHhDxekaDcefhDkasce4cbasceG9R7amfgmhHkdndnaCcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhOaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkaOhsxekascefhskaPce4cbaPceG9R7amfgmhOkdndnaAcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhzaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkazhlxekalcefhlkaPce4cbaPceG9R7amfgmhzkdndnadcd9hmbabarcetfgDaH87ebaDclfaz87ebaDcdfaO87ebxekabarcdtfgDaHBdbaDcwfazBdbaDclfaOBdbkavc;abfaocitfgDaOBdbaDaHBdlavaicdtfaHBdbavc;abfaocefcsGcitfgDazBdbaDaOBdlavaicefgicsGcdtfaOBdbavc;abfaocdfcsGcitfgDaHBdbaDazBdlavaiaCTaCcsSVfgicsGcdtfazBdbaiaATaAcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnalaecvf9pmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk;Toio97eue97aec98Ghedndnadcl9hmbaeTmecbhdinababpbbbgicKp:RecKp:Sep;6eglaicwp:RecKp:Sep;6ealp;Geaiczp:RecKp:Sep;6egvp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egralpxbbbjbbbjbbbjbbbjgwp9op9rp;Keglpxbb;:9cbb;:9cbb;:9cbb;:9calalp;Meaoaop;Meavaravawp9op9rp;Keglalp;Mep;Kep;Kep;Jep;Negvp;Mepxbbn0bbn0bbn0bbn0grp;KepxFbbbFbbbFbbbFbbbp9oaipxbbbFbbbFbbbFbbbFp9op9qalavp;Mearp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaoavp;Mearp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbabczfhbadclfgdae6mbxdkkaeTmbcbhdinabczfgDaDpbbbgipxbbbbbbFFbbbbbbFFgwp9oabpbbbgoaipmbediwDqkzHOAKY8AEgvczp:Reczp:Sep;6eglaoaipmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eavczp:Sep;6egvp;Gealp;Gep;Kep;Legipxbbbbbbbbbbbbbbbbp:2egralpxbbbjbbbjbbbjbbbjgqp9op9rp;Keglpxb;:FSb;:FSb;:FSb;:FSalalp;Meaiaip;Meavaravaqp9op9rp;Keglalp;Mep;Kep;Kep;Jep;Negvp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbp9oaiavp;Mearp;Keczp:Rep9qgialavp;Mearp;KepxFFbbFFbbFFbbFFbbp9oglpmwDKYqk8AExm35Ps8E8Fp9qpkbbabaoawp9oaialpmbezHdiOAlvCXorQLp9qpkbbabcafhbadclfgdae6mbkkk;2ileue97euo97dnaec98GgiTmbcbheinabcKfpx:ji:1S:ji:1S:ji:1S:ji:1SabpbbbglabczfgvpbbbgopmlvorxmPsCXQL358E8Fgrczp:Segwpxibbbibbbibbbibbbp9qp;6egDp;NegqaDaDp;MegDaDp;KealaopmbediwDqkzHOAKY8AEgDczp:Reczp:Sep;6eglalp;MeaDczp:Sep;6egoaop;Mearczp:Reczp:Sep;6egrarp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jep;Mepxbbn0bbn0bbn0bbn0gDp;KepxFFbbFFbbFFbbFFbbgkp9oaqaop;MeaDp;Keczp:Rep9qgoaqalp;MeaDp;Keakp9oaqarp;MeaDp;Keczp:Rep9qgDpmwDKYqk8AExm35Ps8E8Fglp5eawclp:RegqpEi:T:j83ibavalp5baqpEd:T:j83ibabcwfaoaDpmbezHdiOAlvCXorQLgDp5eaqpEe:T:j83ibabaDp5baqpEb:T:j83ibabcafhbaeclfgeai6mbkkkuee97dnadcd4ae2c98GgeTmbcbhdinababpbbbgicwp:Recwp:Sep;6eaicep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbabczfhbadclfgdae6mbkkk:Sodw97euaec98Ghedndnadcl9hmbaeTmecbhdinabpxbbuJbbuJbbuJbbuJabpbbbgicKp:TeglaicYp:Tep9qgvcdp:Teavp9qgvclp:Teavp9qgop;6ep;Negvaicwp:RecKp:SegraipxFbbbFbbbFbbbFbbbgwp9ogDp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oavaDarp:Xeaiczp:RecKp:Segip:Uep;6ep;Meaqp;Keawp9op9qavaDaraip:Uep:Xep;6ep;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qavaoalcep:Rep9oalpxebbbebbbebbbebbbp9op9qp;6ep;Meaqp;KecKp:Rep9qpkbbabczfhbadclfgdae6mbxdkkaeTmbcbhdinabczfgkpxbFu9hbFu9hbFu9hbFu9habpbbbglakpbbbgrpmlvorxmPsCXQL358E8Fgvczp:TegqavcHp:Tep9qgicdp:Teaip9qgiclp:Teaip9qgicwp:Teaip9qgop;6ep;NegialarpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbglp9ograDczp:Segwp:Ueavczp:Reczp:SegDp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gvp;Kealp9oaiarawaDp:Uep:Xep;6ep;Meavp;Keczp:Rep9qgwaiaoaqcep:Rep9oaqpxebbbebbbebbbebbbp9op9qp;6ep;Meavp;Keczp:ReaiaDarp:Uep;6ep;Meavp;Kealp9op9qgipmwDKYqk8AExm35Ps8E8FpkbbabawaipmbezHdiOAlvCXorQLpkbbabcafhbadclfgdae6mbkkk9teiucbcbydj:G:cjbgeabcifc98GfgbBdj:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkxebcj:Gdklz:zbb"):d("b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuixkbeeeddddillviebeoweuecj:Gdkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WboY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbrl79IV9Rbwq:VZkdbk:XYi5ud9:du8Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxcj;abad9Uc;WFbGcjdadca0EhmaialfgPar9Rgoadfhsavaoadz:jjjjbgzceVhHcbhOdndninaeaO9nmeaPax9RaD6mdamaeaO9RaOamfgoae6EgAcsfglc9WGhCabaOad2fhXaAcethQaxaDfhiaOaeaoaeao6E9RhLalcl4cifcd4hKazcj;cbfaAfhYcbh8AazcjdfhEaHh3incbh5dnawTmbaxa8Acd4fRbbh5kcbh8Eazcj;cbfhqinaih8Fdndndndna5a8Ecet4ciGgoc9:fPdebdkaPa8F9RaA6mrazcj;cbfa8EaA2fa8FaAz:jjjjb8Aa8FaAfhixdkazcj;cbfa8EaA2fcbaAz:kjjjb8Aa8FhixekaPa8F9RaK6mva8FaKfhidnaCTmbaPai9RcK6mbaocdtc:q:G:cjbfcj:G:cjbawEhaczhrcbhlinargoc9Wfghaqfhrdndndndndndnaaa8Fahco4fRbbalcoG4ciGcdtfydbPDbedvivvvlvkar9cb83bwar9cb83bbxlkarcbaiRbdai8Xbb9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbaqaofgrcGfcbaicdfa8J9c8N1:NfghRbbag9cjjjjjw:dg8J9qE86bbarcVfcbaha8J9c8M1:NfghRbbag9cjjjjjl:dg8J9qE86bbarc7fcbaha8J9c8L1:NfghRbbag9cjjjjjd:dg8J9qE86bbarctfcbaha8J9c8K1:NfghRbbag9cjjjjje:dg8J9qE86bbarc91fcbaha8J9c8J1:NfghRbbag9cjjjj;ab:dg8J9qE86bbarc4fcbaha8J9cg1:NfghRbbag9cjjjja:dg8J9qE86bbarc93fcbaha8J9ch1:NfghRbbag9cjjjjz:dgg9qE86bbarc94fcbahag9ca1:NfghRbbai8Xbe9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbarc95fcbaha8J9c8N1:NfgiRbbag9cjjjjjw:dg8J9qE86bbarc96fcbaia8J9c8M1:NfgiRbbag9cjjjjjl:dg8J9qE86bbarc97fcbaia8J9c8L1:NfgiRbbag9cjjjjjd:dg8J9qE86bbarc98fcbaia8J9c8K1:NfgiRbbag9cjjjjje:dg8J9qE86bbarc99fcbaia8J9c8J1:NfgiRbbag9cjjjj;ab:dg8J9qE86bbarc9:fcbaia8J9cg1:NfgiRbbag9cjjjja:dg8J9qE86bbarcufcbaia8J9ch1:NfgiRbbag9cjjjjz:dgg9qE86bbaiag9ca1:NfhixikaraiRblaiRbbghco4g8Ka8KciSg8KE86bbaqaofgrcGfaiclfa8Kfg8KRbbahcl4ciGg8La8LciSg8LE86bbarcVfa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc7fa8Ka8Lfg8KRbbahciGghahciSghE86bbarctfa8Kahfg8KRbbaiRbeghco4g8La8LciSg8LE86bbarc91fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc4fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc93fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc94fa8Kahfg8KRbbaiRbdghco4g8La8LciSg8LE86bbarc95fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc96fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc97fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc98fa8KahfghRbbaiRbigico4g8Ka8KciSg8KE86bbarc99faha8KfghRbbaicl4ciGg8Ka8KciSg8KE86bbarc9:faha8KfghRbbaicd4ciGg8Ka8KciSg8KE86bbarcufaha8KfgrRbbaiciGgiaiciSgiE86bbaraifhixdkaraiRbwaiRbbghcl4g8Ka8KcsSg8KE86bbaqaofgrcGfaicwfa8Kfg8KRbbahcsGghahcsSghE86bbarcVfa8KahfghRbbaiRbeg8Kcl4g8La8LcsSg8LE86bbarc7faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarctfaha8KfghRbbaiRbdg8Kcl4g8La8LcsSg8LE86bbarc91faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc4faha8KfghRbbaiRbig8Kcl4g8La8LcsSg8LE86bbarc93faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc94faha8KfghRbbaiRblg8Kcl4g8La8LcsSg8LE86bbarc95faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc96faha8KfghRbbaiRbvg8Kcl4g8La8LcsSg8LE86bbarc97faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc98faha8KfghRbbaiRbog8Kcl4g8La8LcsSg8LE86bbarc99faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc9:faha8KfghRbbaiRbrgicl4g8Ka8KcsSg8KE86bbarcufaha8KfgrRbbaicsGgiaicsSgiE86bbaraifhixekarai8Pbw83bwarai8Pbb83bbaiczfhikdnaoaC9pmbalcdfhlaoczfhraPai9RcL0mekkaoaC6moaimexokaCmva8FTmvkaqaAfhqa8Ecefg8Ecl9hmbkdndndndnawTmbasa8Acd4fRbbgociGPlbedrbkaATmdaza8Afh8Fazcj;cbfhhcbh8EaEhaina8FRbbhraahocbhlinaoahalfRbbgqce4cbaqceG9R7arfgr86bbaoadfhoaAalcefgl9hmbkaacefhaa8Fcefh8FahaAfhha8Ecefg8Ecl9hmbxikkaATmeaza8Afhaazcj;cbfhhcbhoceh8EaYh8FinaEaofhlaa8Vbbhrcbhoinala8FaofRbbcwtahaofRbbgqVc;:FiGce4cbaqceG9R7arfgr87bbaladfhlaLaocefgofmbka8FaQfh8FcdhoaacdfhaahaQfhha8EceGhlcbh8EalmbxdkkaATmbaocl4h8Eaza8AfRbbhqcwhoa3hlinalRbbaotaqVhqalcefhlaocwfgoca9hmbkcbhhaEh8FaYhainazcj;cbfahfRbbhrcwhoaahlinalRbbaotarVhralaAfhlaocwfgoca9hmbkara8E94aq7hqcbhoa8Fhlinalaqao486bbalcefhlaocwfgoca9hmbka8Fadfh8FaacefhaahcefghaA9hmbkkaEclfhEa3clfh3a8Aclfg8Aad6mbkaXazcjdfaAad2z:jjjjb8AazazcjdfaAcufad2fadz:jjjjb8AaAaOfhOaihxaimbkc9:hoxdkcbc99aPax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaok:ysezu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnalaeci9UgrcHf6mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:kjjjb8Aav9cu83iUav9cu83i8Wav9cu83iyav9cu83iaav9cu83iKav9cu83izav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbavaiaqaDcsGfRbbgscl4gP9RcsGcdtfydbaxcefgOaPEhDavaias9RcsGcdtfydbaOaPTgzfgOascsGgPEhsaPThPdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiazfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaPfhiaOaPfhxxekaxcbalRbbgsEgHaDc;:eSgDfhOascsGhAdndnascl4gCmbaOcefhzxekaOhzavaiaC9RcsGcdtfydbhOkdndnaAmbazcefhxxekazhxavaias9RcsGcdtfydbhzkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhHascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaHhDxekaDcefhDkasce4cbasceG9R7amfgmhHkdndnaCcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhOaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkaOhsxekascefhskaPce4cbaPceG9R7amfgmhOkdndnaAcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhzaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkazhlxekalcefhlkaPce4cbaPceG9R7amfgmhzkdndnadcd9hmbabarcetfgDaH87ebaDclfaz87ebaDcdfaO87ebxekabarcdtfgDaHBdbaDcwfazBdbaDclfaOBdbkavc;abfaocitfgDaOBdbaDaHBdlavaicdtfaHBdbavc;abfaocefcsGcitfgDazBdbaDaOBdlavaicefgicsGcdtfaOBdbavc;abfaocdfcsGcitfgDaHBdbaDazBdlavaiaCTaCcsSVfgicsGcdtfazBdbaiaATaAcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnalaecvf9pmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk:4ioiue99dud99dud99dnaeTmbcbhiabhlindndnal8Uebgv:YgoJ:ji:1Salcof8UebgrciVgw:Y:vgDNJbbbZJbbb:;avcu9kEMgq:lJbbb9p9DTmbaq:Ohkxekcjjjj94hkkalclf8Uebhvalcdf8UebhxalarcefciGcetfak87ebdndnax:YgqaDNJbbbZJbbb:;axcu9kEMgm:lJbbb9p9DTmbam:Ohxxekcjjjj94hxkabaiarciGgkfcd7cetfax87ebdndnav:YgmaDNJbbbZJbbb:;avcu9kEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkalarcufciGcetfav87ebdndnawaw2:ZgPaPMaoaoN:taqaqN:tamamN:tgoJbbbbaoJbbbb9GE:raDNJbbbZMgD:lJbbb9p9DTmbaD:Ohrxekcjjjj94hrkalakcetfar87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk:Tvirud99eudndnadcl9hmbaeTmeindndnabRbbgiabcefgl8Sbbgvabcdfgo8Sbbgrf9R:YJbbuJabcifgwRbbgdce4adVgDcd4aDVgDcl4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax86bbdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao86bbdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai86bbdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad86bbabclfhbaecufgembxdkkaeTmbindndnab8Vebgiabcdfgl8Uebgvabclfgo8Uebgrf9R:YJbFu9habcofgw8Vebgdce4adVgDcd4aDVgDcl4aDVgDcw4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax87ebdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao87ebdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai87ebdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad87ebabcwfhbaecufgembkkk9teiucbcbyd:K:G:cjbgeabcifc98GfgbBd:K:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkk83dbcj:Gdk8Kbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbc:K:Gdkl8W:qbb"),i=WebAssembly.instantiate(e,{}).then(function(a){(c=a.instance).exports.__wasm_call_ctors()});function d(a){for(var c=new Uint8Array(a.length),e=0;e<a.length;++e){var i=a.charCodeAt(e);c[e]=i>96?i-97:i>64?i-39:i+4}var d=0;for(e=0;e<a.length;++e)c[d++]=c[e]<60?b[c[e]]:64*(c[e]-60)+c[++e];return c.buffer.slice(0,d)}function p(a,b,c,e,i,d,p){var g=a.exports.sbrk,f=e+3&-4,h=g(f*i),l=g(d.length),o=new Uint8Array(a.exports.memory.buffer);o.set(d,l);var s=b(h,e,i,l,d.length);if(0==s&&p&&p(h,f,i),c.set(o.subarray(h,h+e*i)),g(h-g(0)),0!=s)throw new Error("Malformed buffer data: "+s)}var g={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp",COLOR:"meshopt_decodeFilterColor"},f={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},h=[],l=0;function o(a){var b={object:new Worker(a),pending:0,requests:{}};return b.object.onmessage=function(a){var c=a.data;b.pending-=c.count,b.requests[c.id][c.action](c.value),delete b.requests[c.id]},b}function s(a){var b=a.data;self.ready.then(function(a){if(!b.id)return self.close();try{var c=new Uint8Array(b.count*b.size);p(a,a.exports[b.mode],c,b.count,b.size,b.source,a.exports[b.filter]),self.postMessage({id:b.id,count:b.count,action:"resolve",value:c},[c.buffer])}catch(e){self.postMessage({id:b.id,count:b.count,action:"reject",value:e})}})}return{ready:i,supported:!0,useWorkers:function(a){!function(a){for(var b="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(e)+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+s.name+";"+p.toString()+s.toString(),c=new Blob([b],{type:"text/javascript"}),i=URL.createObjectURL(c),d=h.length;d<a;++d)h[d]=o(i);for(d=a;d<h.length;++d)h[d].object.postMessage({});h.length=a,URL.revokeObjectURL(i)}(a)},decodeVertexBuffer:function(a,b,e,i,d){p(c,c.exports.meshopt_decodeVertexBuffer,a,b,e,i,c.exports[g[d]])},decodeIndexBuffer:function(a,b,e,i){p(c,c.exports.meshopt_decodeIndexBuffer,a,b,e,i)},decodeIndexSequence:function(a,b,e,i){p(c,c.exports.meshopt_decodeIndexSequence,a,b,e,i)},decodeGltfBuffer:function(a,b,e,i,d,h){p(c,c.exports[f[d]],a,b,e,i,c.exports[g[h]])},decodeGltfBufferAsync:function(a,b,e,d,o){return h.length>0?function(a,b,c,e,i){for(var d=h[0],p=1;p<h.length;++p)h[p].pending<d.pending&&(d=h[p]);return new Promise(function(p,g){var f=new Uint8Array(c),h=++l;d.pending+=a,d.requests[h]={resolve:p,reject:g},d.object.postMessage({id:h,count:a,size:b,source:f,mode:e,filter:i},[f.buffer])})}(a,b,e,f[d],g[o]):i.then(function(){var i=new Uint8Array(a*b);return p(c,c.exports[f[d]],i,a,b,e,c.exports[g[o]]),i})}}}();export{a as MeshoptDecoder};
1
+ /*! Web-kit v1.2.0-develop.14 | (c) 2026 MapVX */
2
+ !function(){try{var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},b=(new a.Error).stack;b&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[b]="bcdb5c64-1056-451e-b4b8-974a60384d24",a._sentryDebugIdIdentifier="sentry-dbid-bcdb5c64-1056-451e-b4b8-974a60384d24")}catch(a){}}();var a=function(){var a=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),b=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if("object"!=typeof WebAssembly)return{supported:!1};var c,e=WebAssembly.validate(a)?d("b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuixkbbebeeddddilve9Weeeviebeoweuecj:Gdkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WbwY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbDl79IV9Rbqq:W9Dklbzik94evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaeai86b:q:W:cjbaecitab8Piw83i:q:G:cjbaecefgecjd9hmbkk:JBl8Aud97dur978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaialfgxar9RhodnadTgmmbavaoad;8qbbkaicefhPcj;abad9Uc;WFbGcjdadca0EhsdndndnadTmbaoadfhzcbhHinaeaH9nmdaxaP9RaD6miabaHad2fhOaPaDfhAasaeaH9RaHasfae6EgCcsfgocl4cifcd4hXavcj;cbfaoc9WGgQcetfhLavcj;cbfaQci2fhKavcj;cbfaQfhYcbh8Aaoc;ab6hEincbh3dnawTmbaPa8Acd4fRbbh3kcbh5avcj;cbfh8Eindndndndna3a5cet4ciGgoc9:fPdebdkaxaA9RaQ6mwdnaQTmbavcj;cbfa5aQ2faAaQ;8qbbkaAaCfhAxdkaQTmeavcj;cbfa5aQ2fcbaQ;8kbxekaxaA9RaX6moaoclVcbawEhraAaXfhocbhidnaEmbaxao9Rc;Gb6mbcbhlina8EalfhidndndndndndnaAalco4fRbbgqciGarfPDbedibledibkaipxbbbbbbbbbbbbbbbbpklbxlkaiaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaoclffagRb:q:W:cjbfhoxikaiaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaocwffagRb:q:W:cjbfhoxdkaiaopbbbpklbaoczfhoxekaiaopbbdaoRbbghcitpbi:q:G:cjbahRb:q:W:cjbghpsaoRbeggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbahaocdffagRb:q:W:cjbfhokdndndndndndnaqcd4ciGarfPDbedibledibkaiczfpxbbbbbbbbbbbbbbbbpklbxlkaiczfaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaoclffagRb:q:W:cjbfhoxikaiczfaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaocwffagRb:q:W:cjbfhoxdkaiczfaopbbbpklbaoczfhoxekaiczfaopbbdaoRbbghcitpbi:q:G:cjbahRb:q:W:cjbghpsaoRbeggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbahaocdffagRb:q:W:cjbfhokdndndndndndnaqcl4ciGarfPDbedibledibkaicafpxbbbbbbbbbbbbbbbbpklbxlkaicafaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaoclffagRb:q:W:cjbfhoxikaicafaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaocwffagRb:q:W:cjbfhoxdkaicafaopbbbpklbaoczfhoxekaicafaopbbdaoRbbghcitpbi:q:G:cjbahRb:q:W:cjbghpsaoRbeggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbahaocdffagRb:q:W:cjbfhokdndndndndndnaqco4arfPDbedibledibkaic8Wfpxbbbbbbbbbbbbbbbbpklbxlkaic8Wfaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Ngicitpbi:q:G:cjbaiRb:q:W:cjbgipsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbaiaoclffaqRb:q:W:cjbfhoxikaic8Wfaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Ngicitpbi:q:G:cjbaiRb:q:W:cjbgipsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbaiaocwffaqRb:q:W:cjbfhoxdkaic8Wfaopbbbpklbaoczfhoxekaic8WfaopbbdaoRbbgicitpbi:q:G:cjbaiRb:q:W:cjbgipsaoRbegqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbaiaocdffaqRb:q:W:cjbfhokalc;abfhialcjefaQ0meaihlaxao9Rc;Fb0mbkkdnaiaQ9pmbaici4hlinaxao9RcK6mwa8EaifhqdndndndndndnaAaico4fRbbalcoG4ciGarfPDbedibledibkaqpxbbbbbbbbbbbbbbbbpkbbxlkaqaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spkbbahaoclffagRb:q:W:cjbfhoxikaqaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spkbbahaocwffagRb:q:W:cjbfhoxdkaqaopbbbpkbbaoczfhoxekaqaopbbdaoRbbghcitpbi:q:G:cjbahRb:q:W:cjbghpsaoRbeggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpkbbahaocdffagRb:q:W:cjbfhokalcdfhlaiczfgiaQ6mbkkaohAaoTmoka8EaQfh8Ea5cefg5cl9hmbkdndndndnawTmbaza8Acd4fRbbglciGPlbedwbkaQTmdavcjdfa8Afhlava8Afpbdbh8Jcbhoinalavcj;cbfaofpblbg8KaYaofpblbg8LpmbzeHdOiAlCvXoQrLg8MaLaofpblbg8NaKaofpblbgypmbzeHdOiAlCvXoQrLg8PpmbezHdiOAlvCXorQLg8Fcep9Ta8Fpxeeeeeeeeeeeeeeeegap9op9Hp9rg8Fa8Jp9Ug8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp9Ug8Jp9Abbbaladfgla8Ja8Ma8PpmwDKYqk8AExm35Ps8E8Fg8Fcep9Ta8Faap9op9Hp9rg8Fp9Ug8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp9Ug8Jp9Abbbaladfgla8Ja8Ka8LpmwKDYq8AkEx3m5P8Es8Fg8Ka8NaypmwKDYq8AkEx3m5P8Es8Fg8LpmbezHdiOAlvCXorQLg8Fcep9Ta8Faap9op9Hp9rg8Fp9Ug8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp9Ug8Jp9Abbbaladfgla8Ja8Ka8LpmwDKYqk8AExm35Ps8E8Fg8Fcep9Ta8Faap9op9Hp9rg8Fp9Ugap9Abbbaladfglaaa8Fa8Fpmlvorlvorlvorlvorp9Ugap9Abbbaladfglaaa8Fa8FpmwDqkwDqkwDqkwDqkp9Ugap9Abbbaladfglaaa8Fa8FpmxmPsxmPsxmPsxmPsp9Ug8Jp9AbbbaladfhlaoczfgoaQ6mbxikkaQTmeavcjdfa8Afhlava8Afpbdbh8Jcbhoinalavcj;cbfaofpblbg8KaYaofpblbg8LpmbzeHdOiAlCvXoQrLg8MaLaofpblbg8NaKaofpblbgypmbzeHdOiAlCvXoQrLg8PpmbezHdiOAlvCXorQLg8Fcep:nea8Fpxebebebebebebebebgap9op:bep9rg8Fa8Jp:oeg8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp:oeg8Jp9Abbbaladfgla8Ja8Ma8PpmwDKYqk8AExm35Ps8E8Fg8Fcep:nea8Faap9op:bep9rg8Fp:oeg8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp:oeg8Jp9Abbbaladfgla8Ja8Ka8LpmwKDYq8AkEx3m5P8Es8Fg8Ka8NaypmwKDYq8AkEx3m5P8Es8Fg8LpmbezHdiOAlvCXorQLg8Fcep:nea8Faap9op:bep9rg8Fp:oeg8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp:oeg8Jp9Abbbaladfgla8Ja8Ka8LpmwDKYqk8AExm35Ps8E8Fg8Fcep:nea8Faap9op:bep9rg8Fp:oegap9Abbbaladfglaaa8Fa8Fpmlvorlvorlvorlvorp:oegap9Abbbaladfglaaa8Fa8FpmwDqkwDqkwDqkwDqkp:oegap9Abbbaladfglaaa8Fa8FpmxmPsxmPsxmPsxmPsp:oeg8Jp9AbbbaladfhlaoczfgoaQ6mbxdkkaQTmbcbhocbalcl4gl9Rc8FGhiavcjdfa8Afhrava8Afpbdbhainaravcj;cbfaofpblbg8JaYaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaLaofpblbg8MaKaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Faip:Rea8Falp:Tep9qg8Faap9rgap9Abbbaradfgraaa8Fa8Fpmlvorlvorlvorlvorp9rgap9Abbbaradfgraaa8Fa8FpmwDqkwDqkwDqkwDqkp9rgap9Abbbaradfgraaa8Fa8FpmxmPsxmPsxmPsxmPsp9rgap9Abbbaradfgraaa8LaypmwDKYqk8AExm35Ps8E8Fg8Faip:Rea8Falp:Tep9qg8Fp9rgap9Abbbaradfgraaa8Fa8Fpmlvorlvorlvorlvorp9rgap9Abbbaradfgraaa8Fa8FpmwDqkwDqkwDqkwDqkp9rgap9Abbbaradfgraaa8Fa8FpmxmPsxmPsxmPsxmPsp9rgap9Abbbaradfgraaa8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Faip:Rea8Falp:Tep9qg8Fp9rgap9Abbbaradfgraaa8Fa8Fpmlvorlvorlvorlvorp9rgap9Abbbaradfgraaa8Fa8FpmwDqkwDqkwDqkwDqkp9rgap9Abbbaradfgraaa8Fa8FpmxmPsxmPsxmPsxmPsp9rgap9Abbbaradfgraaa8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Faip:Rea8Falp:Tep9qg8Fp9rgap9Abbbaradfgraaa8Fa8Fpmlvorlvorlvorlvorp9rgap9Abbbaradfgraaa8Fa8FpmwDqkwDqkwDqkwDqkp9rgap9Abbbaradfgraaa8Fa8FpmxmPsxmPsxmPsxmPsp9rgap9AbbbaradfhraoczfgoaQ6mbkka8Aclfg8Aad6mbkdnaCad2goTmbaOavcjdfao;8qbbkdnammbavavcjdfaCcufad2fad;8qbbkaCaHfhHc9:hoaAhPaAmbxlkkaeTmbaDalfhrcbhocuhlinaralaD9RglfaD6mdasaeao9Raoasfae6Eaofgoae6mbkaial9RhPkcbc99axaP9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaokwbz:bjjjbkNsezu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnalaeci9UgrcHf6mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbav9cu83iUav9cu83i8Wav9cu83iyav9cu83iaav9cu83iKav9cu83izav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbavaiaqaDcsGfRbbgscl4gP9RcsGcdtfydbaxcefgOaPEhDavaias9RcsGcdtfydbaOaPTgzfgOascsGgPEhsaPThPdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiazfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaPfhiaOaPfhxxekaxcbalRbbgsEgHaDc;:eSgDfhOascsGhAdndnascl4gCmbaOcefhzxekaOhzavaiaC9RcsGcdtfydbhOkdndnaAmbazcefhxxekazhxavaias9RcsGcdtfydbhzkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhHascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaHhDxekaDcefhDkasce4cbasceG9R7amfgmhHkdndnaCcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhOaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkaOhsxekascefhskaPce4cbaPceG9R7amfgmhOkdndnaAcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhzaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkazhlxekalcefhlkaPce4cbaPceG9R7amfgmhzkdndnadcd9hmbabarcetfgDaH87ebaDclfaz87ebaDcdfaO87ebxekabarcdtfgDaHBdbaDcwfazBdbaDclfaOBdbkavc;abfaocitfgDaOBdbaDaHBdlavaicdtfaHBdbavc;abfaocefcsGcitfgDazBdbaDaOBdlavaicefgicsGcdtfaOBdbavc;abfaocdfcsGcitfgDaHBdbaDazBdlavaiaCTaCcsSVfgicsGcdtfazBdbaiaATaAcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnalaecvf9pmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk;Toio97eue97aec98Ghedndnadcl9hmbaeTmecbhdinababpbbbgicKp:RecKp:Sep;6eglaicwp:RecKp:Sep;6ealp;Geaiczp:RecKp:Sep;6egvp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egralpxbbbjbbbjbbbjbbbjgwp9op9rp;Keglpxbb;:9cbb;:9cbb;:9cbb;:9calalp;Meaoaop;Meavaravawp9op9rp;Keglalp;Mep;Kep;Kep;Jep;Negvp;Mepxbbn0bbn0bbn0bbn0grp;KepxFbbbFbbbFbbbFbbbp9oaipxbbbFbbbFbbbFbbbFp9op9qalavp;Mearp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaoavp;Mearp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbabczfhbadclfgdae6mbxdkkaeTmbcbhdinabczfgDaDpbbbgipxbbbbbbFFbbbbbbFFgwp9oabpbbbgoaipmbediwDqkzHOAKY8AEgvczp:Reczp:Sep;6eglaoaipmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eavczp:Sep;6egvp;Gealp;Gep;Kep;Legipxbbbbbbbbbbbbbbbbp:2egralpxbbbjbbbjbbbjbbbjgqp9op9rp;Keglpxb;:FSb;:FSb;:FSb;:FSalalp;Meaiaip;Meavaravaqp9op9rp;Keglalp;Mep;Kep;Kep;Jep;Negvp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbp9oaiavp;Mearp;Keczp:Rep9qgialavp;Mearp;KepxFFbbFFbbFFbbFFbbp9oglpmwDKYqk8AExm35Ps8E8Fp9qpkbbabaoawp9oaialpmbezHdiOAlvCXorQLp9qpkbbabcafhbadclfgdae6mbkkk;2ileue97euo97dnaec98GgiTmbcbheinabcKfpx:ji:1S:ji:1S:ji:1S:ji:1SabpbbbglabczfgvpbbbgopmlvorxmPsCXQL358E8Fgrczp:Segwpxibbbibbbibbbibbbp9qp;6egDp;NegqaDaDp;MegDaDp;KealaopmbediwDqkzHOAKY8AEgDczp:Reczp:Sep;6eglalp;MeaDczp:Sep;6egoaop;Mearczp:Reczp:Sep;6egrarp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jep;Mepxbbn0bbn0bbn0bbn0gDp;KepxFFbbFFbbFFbbFFbbgkp9oaqaop;MeaDp;Keczp:Rep9qgoaqalp;MeaDp;Keakp9oaqarp;MeaDp;Keczp:Rep9qgDpmwDKYqk8AExm35Ps8E8Fglp5eawclp:RegqpEi:T:j83ibavalp5baqpEd:T:j83ibabcwfaoaDpmbezHdiOAlvCXorQLgDp5eaqpEe:T:j83ibabaDp5baqpEb:T:j83ibabcafhbaeclfgeai6mbkkkuee97dnadcd4ae2c98GgeTmbcbhdinababpbbbgicwp:Recwp:Sep;6eaicep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbabczfhbadclfgdae6mbkkk:Sodw97euaec98Ghedndnadcl9hmbaeTmecbhdinabpxbbuJbbuJbbuJbbuJabpbbbgicKp:TeglaicYp:Tep9qgvcdp:Teavp9qgvclp:Teavp9qgop;6ep;Negvaicwp:RecKp:SegraipxFbbbFbbbFbbbFbbbgwp9ogDp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oavaDarp:Xeaiczp:RecKp:Segip:Uep;6ep;Meaqp;Keawp9op9qavaDaraip:Uep:Xep;6ep;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qavaoalcep:Rep9oalpxebbbebbbebbbebbbp9op9qp;6ep;Meaqp;KecKp:Rep9qpkbbabczfhbadclfgdae6mbxdkkaeTmbcbhdinabczfgkpxbFu9hbFu9hbFu9hbFu9habpbbbglakpbbbgrpmlvorxmPsCXQL358E8Fgvczp:TegqavcHp:Tep9qgicdp:Teaip9qgiclp:Teaip9qgicwp:Teaip9qgop;6ep;NegialarpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbglp9ograDczp:Segwp:Ueavczp:Reczp:SegDp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gvp;Kealp9oaiarawaDp:Uep:Xep;6ep;Meavp;Keczp:Rep9qgwaiaoaqcep:Rep9oaqpxebbbebbbebbbebbbp9op9qp;6ep;Meavp;Keczp:ReaiaDarp:Uep;6ep;Meavp;Kealp9op9qgipmwDKYqk8AExm35Ps8E8FpkbbabawaipmbezHdiOAlvCXorQLpkbbabcafhbadclfgdae6mbkkk9teiucbcbydj:G:cjbgeabcifc98GfgbBdj:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkxebcj:Gdklz:zbb"):d("b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuixkbeeeddddillviebeoweuecj:Gdkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WboY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbrl79IV9Rbwq:VZkdbk:XYi5ud9:du8Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxcj;abad9Uc;WFbGcjdadca0EhmaialfgPar9Rgoadfhsavaoadz:jjjjbgzceVhHcbhOdndninaeaO9nmeaPax9RaD6mdamaeaO9RaOamfgoae6EgAcsfglc9WGhCabaOad2fhXaAcethQaxaDfhiaOaeaoaeao6E9RhLalcl4cifcd4hKazcj;cbfaAfhYcbh8AazcjdfhEaHh3incbh5dnawTmbaxa8Acd4fRbbh5kcbh8Eazcj;cbfhqinaih8Fdndndndna5a8Ecet4ciGgoc9:fPdebdkaPa8F9RaA6mrazcj;cbfa8EaA2fa8FaAz:jjjjb8Aa8FaAfhixdkazcj;cbfa8EaA2fcbaAz:kjjjb8Aa8FhixekaPa8F9RaK6mva8FaKfhidnaCTmbaPai9RcK6mbaocdtc:q:G:cjbfcj:G:cjbawEhaczhrcbhlinargoc9Wfghaqfhrdndndndndndnaaa8Fahco4fRbbalcoG4ciGcdtfydbPDbedvivvvlvkar9cb83bwar9cb83bbxlkarcbaiRbdai8Xbb9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbaqaofgrcGfcbaicdfa8J9c8N1:NfghRbbag9cjjjjjw:dg8J9qE86bbarcVfcbaha8J9c8M1:NfghRbbag9cjjjjjl:dg8J9qE86bbarc7fcbaha8J9c8L1:NfghRbbag9cjjjjjd:dg8J9qE86bbarctfcbaha8J9c8K1:NfghRbbag9cjjjjje:dg8J9qE86bbarc91fcbaha8J9c8J1:NfghRbbag9cjjjj;ab:dg8J9qE86bbarc4fcbaha8J9cg1:NfghRbbag9cjjjja:dg8J9qE86bbarc93fcbaha8J9ch1:NfghRbbag9cjjjjz:dgg9qE86bbarc94fcbahag9ca1:NfghRbbai8Xbe9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbarc95fcbaha8J9c8N1:NfgiRbbag9cjjjjjw:dg8J9qE86bbarc96fcbaia8J9c8M1:NfgiRbbag9cjjjjjl:dg8J9qE86bbarc97fcbaia8J9c8L1:NfgiRbbag9cjjjjjd:dg8J9qE86bbarc98fcbaia8J9c8K1:NfgiRbbag9cjjjjje:dg8J9qE86bbarc99fcbaia8J9c8J1:NfgiRbbag9cjjjj;ab:dg8J9qE86bbarc9:fcbaia8J9cg1:NfgiRbbag9cjjjja:dg8J9qE86bbarcufcbaia8J9ch1:NfgiRbbag9cjjjjz:dgg9qE86bbaiag9ca1:NfhixikaraiRblaiRbbghco4g8Ka8KciSg8KE86bbaqaofgrcGfaiclfa8Kfg8KRbbahcl4ciGg8La8LciSg8LE86bbarcVfa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc7fa8Ka8Lfg8KRbbahciGghahciSghE86bbarctfa8Kahfg8KRbbaiRbeghco4g8La8LciSg8LE86bbarc91fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc4fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc93fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc94fa8Kahfg8KRbbaiRbdghco4g8La8LciSg8LE86bbarc95fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc96fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc97fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc98fa8KahfghRbbaiRbigico4g8Ka8KciSg8KE86bbarc99faha8KfghRbbaicl4ciGg8Ka8KciSg8KE86bbarc9:faha8KfghRbbaicd4ciGg8Ka8KciSg8KE86bbarcufaha8KfgrRbbaiciGgiaiciSgiE86bbaraifhixdkaraiRbwaiRbbghcl4g8Ka8KcsSg8KE86bbaqaofgrcGfaicwfa8Kfg8KRbbahcsGghahcsSghE86bbarcVfa8KahfghRbbaiRbeg8Kcl4g8La8LcsSg8LE86bbarc7faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarctfaha8KfghRbbaiRbdg8Kcl4g8La8LcsSg8LE86bbarc91faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc4faha8KfghRbbaiRbig8Kcl4g8La8LcsSg8LE86bbarc93faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc94faha8KfghRbbaiRblg8Kcl4g8La8LcsSg8LE86bbarc95faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc96faha8KfghRbbaiRbvg8Kcl4g8La8LcsSg8LE86bbarc97faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc98faha8KfghRbbaiRbog8Kcl4g8La8LcsSg8LE86bbarc99faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc9:faha8KfghRbbaiRbrgicl4g8Ka8KcsSg8KE86bbarcufaha8KfgrRbbaicsGgiaicsSgiE86bbaraifhixekarai8Pbw83bwarai8Pbb83bbaiczfhikdnaoaC9pmbalcdfhlaoczfhraPai9RcL0mekkaoaC6moaimexokaCmva8FTmvkaqaAfhqa8Ecefg8Ecl9hmbkdndndndnawTmbasa8Acd4fRbbgociGPlbedrbkaATmdaza8Afh8Fazcj;cbfhhcbh8EaEhaina8FRbbhraahocbhlinaoahalfRbbgqce4cbaqceG9R7arfgr86bbaoadfhoaAalcefgl9hmbkaacefhaa8Fcefh8FahaAfhha8Ecefg8Ecl9hmbxikkaATmeaza8Afhaazcj;cbfhhcbhoceh8EaYh8FinaEaofhlaa8Vbbhrcbhoinala8FaofRbbcwtahaofRbbgqVc;:FiGce4cbaqceG9R7arfgr87bbaladfhlaLaocefgofmbka8FaQfh8FcdhoaacdfhaahaQfhha8EceGhlcbh8EalmbxdkkaATmbaocl4h8Eaza8AfRbbhqcwhoa3hlinalRbbaotaqVhqalcefhlaocwfgoca9hmbkcbhhaEh8FaYhainazcj;cbfahfRbbhrcwhoaahlinalRbbaotarVhralaAfhlaocwfgoca9hmbkara8E94aq7hqcbhoa8Fhlinalaqao486bbalcefhlaocwfgoca9hmbka8Fadfh8FaacefhaahcefghaA9hmbkkaEclfhEa3clfh3a8Aclfg8Aad6mbkaXazcjdfaAad2z:jjjjb8AazazcjdfaAcufad2fadz:jjjjb8AaAaOfhOaihxaimbkc9:hoxdkcbc99aPax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaok:ysezu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnalaeci9UgrcHf6mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:kjjjb8Aav9cu83iUav9cu83i8Wav9cu83iyav9cu83iaav9cu83iKav9cu83izav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbavaiaqaDcsGfRbbgscl4gP9RcsGcdtfydbaxcefgOaPEhDavaias9RcsGcdtfydbaOaPTgzfgOascsGgPEhsaPThPdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiazfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaPfhiaOaPfhxxekaxcbalRbbgsEgHaDc;:eSgDfhOascsGhAdndnascl4gCmbaOcefhzxekaOhzavaiaC9RcsGcdtfydbhOkdndnaAmbazcefhxxekazhxavaias9RcsGcdtfydbhzkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhHascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaHhDxekaDcefhDkasce4cbasceG9R7amfgmhHkdndnaCcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhOaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkaOhsxekascefhskaPce4cbaPceG9R7amfgmhOkdndnaAcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhzaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkazhlxekalcefhlkaPce4cbaPceG9R7amfgmhzkdndnadcd9hmbabarcetfgDaH87ebaDclfaz87ebaDcdfaO87ebxekabarcdtfgDaHBdbaDcwfazBdbaDclfaOBdbkavc;abfaocitfgDaOBdbaDaHBdlavaicdtfaHBdbavc;abfaocefcsGcitfgDazBdbaDaOBdlavaicefgicsGcdtfaOBdbavc;abfaocdfcsGcitfgDaHBdbaDazBdlavaiaCTaCcsSVfgicsGcdtfazBdbaiaATaAcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnalaecvf9pmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk:4ioiue99dud99dud99dnaeTmbcbhiabhlindndnal8Uebgv:YgoJ:ji:1Salcof8UebgrciVgw:Y:vgDNJbbbZJbbb:;avcu9kEMgq:lJbbb9p9DTmbaq:Ohkxekcjjjj94hkkalclf8Uebhvalcdf8UebhxalarcefciGcetfak87ebdndnax:YgqaDNJbbbZJbbb:;axcu9kEMgm:lJbbb9p9DTmbam:Ohxxekcjjjj94hxkabaiarciGgkfcd7cetfax87ebdndnav:YgmaDNJbbbZJbbb:;avcu9kEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkalarcufciGcetfav87ebdndnawaw2:ZgPaPMaoaoN:taqaqN:tamamN:tgoJbbbbaoJbbbb9GE:raDNJbbbZMgD:lJbbb9p9DTmbaD:Ohrxekcjjjj94hrkalakcetfar87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk:Tvirud99eudndnadcl9hmbaeTmeindndnabRbbgiabcefgl8Sbbgvabcdfgo8Sbbgrf9R:YJbbuJabcifgwRbbgdce4adVgDcd4aDVgDcl4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax86bbdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao86bbdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai86bbdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad86bbabclfhbaecufgembxdkkaeTmbindndnab8Vebgiabcdfgl8Uebgvabclfgo8Uebgrf9R:YJbFu9habcofgw8Vebgdce4adVgDcd4aDVgDcl4aDVgDcw4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax87ebdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao87ebdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai87ebdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad87ebabcwfhbaecufgembkkk9teiucbcbyd:K:G:cjbgeabcifc98GfgbBd:K:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkk83dbcj:Gdk8Kbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbc:K:Gdkl8W:qbb"),i=WebAssembly.instantiate(e,{}).then(function(a){(c=a.instance).exports.__wasm_call_ctors()});function d(a){for(var c=new Uint8Array(a.length),e=0;e<a.length;++e){var i=a.charCodeAt(e);c[e]=i>96?i-97:i>64?i-39:i+4}var d=0;for(e=0;e<a.length;++e)c[d++]=c[e]<60?b[c[e]]:64*(c[e]-60)+c[++e];return c.buffer.slice(0,d)}function p(a,b,c,e,i,d,p){var g=a.exports.sbrk,f=e+3&-4,h=g(f*i),l=g(d.length),o=new Uint8Array(a.exports.memory.buffer);o.set(d,l);var s=b(h,e,i,l,d.length);if(0==s&&p&&p(h,f,i),c.set(o.subarray(h,h+e*i)),g(h-g(0)),0!=s)throw new Error("Malformed buffer data: "+s)}var g={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp",COLOR:"meshopt_decodeFilterColor"},f={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},h=[],l=0;function o(a){var b={object:new Worker(a),pending:0,requests:{}};return b.object.onmessage=function(a){var c=a.data;b.pending-=c.count,b.requests[c.id][c.action](c.value),delete b.requests[c.id]},b}function s(a){var b=a.data;self.ready.then(function(a){if(!b.id)return self.close();try{var c=new Uint8Array(b.count*b.size);p(a,a.exports[b.mode],c,b.count,b.size,b.source,a.exports[b.filter]),self.postMessage({id:b.id,count:b.count,action:"resolve",value:c},[c.buffer])}catch(e){self.postMessage({id:b.id,count:b.count,action:"reject",value:e})}})}return{ready:i,supported:!0,useWorkers:function(a){!function(a){for(var b="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(e)+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+s.name+";"+p.toString()+s.toString(),c=new Blob([b],{type:"text/javascript"}),i=URL.createObjectURL(c),d=h.length;d<a;++d)h[d]=o(i);for(d=a;d<h.length;++d)h[d].object.postMessage({});h.length=a,URL.revokeObjectURL(i)}(a)},decodeVertexBuffer:function(a,b,e,i,d){p(c,c.exports.meshopt_decodeVertexBuffer,a,b,e,i,c.exports[g[d]])},decodeIndexBuffer:function(a,b,e,i){p(c,c.exports.meshopt_decodeIndexBuffer,a,b,e,i)},decodeIndexSequence:function(a,b,e,i){p(c,c.exports.meshopt_decodeIndexSequence,a,b,e,i)},decodeGltfBuffer:function(a,b,e,i,d,h){p(c,c.exports[f[d]],a,b,e,i,c.exports[g[h]])},decodeGltfBufferAsync:function(a,b,e,d,o){return h.length>0?function(a,b,c,e,i){for(var d=h[0],p=1;p<h.length;++p)h[p].pending<d.pending&&(d=h[p]);return new Promise(function(p,g){var f=new Uint8Array(c),h=++l;d.pending+=a,d.requests[h]={resolve:p,reject:g},d.object.postMessage({id:h,count:a,size:b,source:f,mode:e,filter:i},[f.buffer])})}(a,b,e,f[d],g[o]):i.then(function(){var i=new Uint8Array(a*b);return p(c,c.exports[f[d]],i,a,b,e,c.exports[g[o]]),i})}}}();export{a as MeshoptDecoder};
@@ -1,2 +1,2 @@
1
- /*! Web-kit v1.2.0-develop.12 | (c) 2026 MapVX */
2
- !function(){try{var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},C=(new e.Error).stack;C&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[C]="3eac041f-2eeb-4359-8f41-e043307e3c54",e._sentryDebugIdIdentifier="sentry-dbid-3eac041f-2eeb-4359-8f41-e043307e3c54")}catch(e){}}();var e='<svg width="21" height="20" viewBox="0 0 21 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg">\n<path d="M6.36016 17.7535C6.43073 18.1345 6.36016 18.4258 6.17199 18.6051C5.98381 18.7843 5.6545 18.8292 5.27816 18.7395L0.691401 17.4622C-0.0848194 17.2605 -0.22595 16.6555 0.362095 16.1401L1.60875 15.042C1.58523 15.0196 1.58523 14.9972 1.56171 14.9748C-0.978649 10.8964 -0.0848196 5.80955 3.39641 2.73953C3.91389 2.26894 4.50194 1.86558 5.13702 1.48462C6.71299 0.588264 8.43008 0.140085 10.1472 0.117676V1.59667C8.71234 1.64149 7.25399 2.02244 5.93677 2.76193C5.39576 3.07566 4.90181 3.4342 4.45489 3.81516C1.53819 6.39219 0.761966 10.6051 2.76132 14.0112L4.0315 12.8908C4.61954 12.3754 5.23111 12.5547 5.39576 13.2941L6.36016 17.7535ZM15.6278 6.70591C15.7924 7.44541 16.404 7.62468 16.992 7.10927L18.2622 5.98883C20.2616 9.39499 19.4853 13.6079 16.5922 16.1849C16.1452 16.5883 15.6513 16.9244 15.1103 17.2381C13.7931 18 12.3347 18.3586 10.8999 18.4034V19.8824C12.617 19.8376 14.3341 19.3894 15.91 18.5154C16.5451 18.1569 17.1332 17.7311 17.6506 17.2605C21.1083 14.1905 21.9786 9.10367 19.4383 5.04765C19.4148 5.02524 19.4148 5.00283 19.3913 4.98042L20.6379 3.88238C21.226 3.36698 21.0848 2.76193 20.3086 2.56025L15.7218 1.30535C15.3455 1.19331 15.0162 1.26053 14.828 1.4398C14.6398 1.61908 14.5458 1.91039 14.6398 2.29135L15.6278 6.70591Z" fill="currentColor"/>\n</svg>\n';export{e as default};
1
+ /*! Web-kit v1.2.0-develop.14 | (c) 2026 MapVX */
2
+ !function(){try{var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},C=(new e.Error).stack;C&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[C]="1cf14f9f-f2f7-4097-8710-4faed2766ecf",e._sentryDebugIdIdentifier="sentry-dbid-1cf14f9f-f2f7-4097-8710-4faed2766ecf")}catch(e){}}();var e='<svg width="21" height="20" viewBox="0 0 21 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg">\n<path d="M6.36016 17.7535C6.43073 18.1345 6.36016 18.4258 6.17199 18.6051C5.98381 18.7843 5.6545 18.8292 5.27816 18.7395L0.691401 17.4622C-0.0848194 17.2605 -0.22595 16.6555 0.362095 16.1401L1.60875 15.042C1.58523 15.0196 1.58523 14.9972 1.56171 14.9748C-0.978649 10.8964 -0.0848196 5.80955 3.39641 2.73953C3.91389 2.26894 4.50194 1.86558 5.13702 1.48462C6.71299 0.588264 8.43008 0.140085 10.1472 0.117676V1.59667C8.71234 1.64149 7.25399 2.02244 5.93677 2.76193C5.39576 3.07566 4.90181 3.4342 4.45489 3.81516C1.53819 6.39219 0.761966 10.6051 2.76132 14.0112L4.0315 12.8908C4.61954 12.3754 5.23111 12.5547 5.39576 13.2941L6.36016 17.7535ZM15.6278 6.70591C15.7924 7.44541 16.404 7.62468 16.992 7.10927L18.2622 5.98883C20.2616 9.39499 19.4853 13.6079 16.5922 16.1849C16.1452 16.5883 15.6513 16.9244 15.1103 17.2381C13.7931 18 12.3347 18.3586 10.8999 18.4034V19.8824C12.617 19.8376 14.3341 19.3894 15.91 18.5154C16.5451 18.1569 17.1332 17.7311 17.6506 17.2605C21.1083 14.1905 21.9786 9.10367 19.4383 5.04765C19.4148 5.02524 19.4148 5.00283 19.3913 4.98042L20.6379 3.88238C21.226 3.36698 21.0848 2.76193 20.3086 2.56025L15.7218 1.30535C15.3455 1.19331 15.0162 1.26053 14.828 1.4398C14.6398 1.61908 14.5458 1.91039 14.6398 2.29135L15.6278 6.70591Z" fill="currentColor"/>\n</svg>\n';export{e as default};
@@ -1,2 +1,2 @@
1
- /*! Web-kit v1.2.0-develop.12 | (c) 2026 MapVX */
2
- !function(){try{var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"1.2.0-develop.12"};var r=(new e.Error).stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="dde391c2-25dd-47cd-9d4c-88b32dde87f5",e._sentryDebugIdIdentifier="sentry-dbid-dde391c2-25dd-47cd-9d4c-88b32dde87f5")}catch(e){}}();var e=Object.create,r=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,l=(e,r)=>()=>(r||(e((r={exports:{}}).exports,r,r.exports),e=null),r.exports),u=(e,t)=>{let n={};for(var o in e)r(n,o,{get:e[o],enumerable:!0});return t||r(n,Symbol.toStringTag,{value:"Module"}),n},d=(l,u,d)=>(d=null!=l?e(o(l)):{},((e,o,l,u)=>{if(o&&"object"==typeof o||"function"==typeof o)for(var d,a=n(o),f=0,s=a.length;f<s;f++)d=a[f],i.call(e,d)||d===l||r(e,d,{get:(e=>o[e]).bind(null,d),enumerable:!(u=t(o,d))||u.enumerable});return e})(!u&&l&&l.__esModule&&i.call(l,"default")?d:r(d,"default",{value:l,enumerable:!0}),l)),a=/* @__PURE__ */(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,r)=>("undefined"!=typeof require?require:e)[r]}):e)(function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});export{d as i,u as n,a as r,l as t};
1
+ /*! Web-kit v1.2.0-develop.14 | (c) 2026 MapVX */
2
+ !function(){try{var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"1.2.0-develop.14"};var r=(new e.Error).stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="2cd0b08d-383a-4434-83ed-cbe68b671bed",e._sentryDebugIdIdentifier="sentry-dbid-2cd0b08d-383a-4434-83ed-cbe68b671bed")}catch(e){}}();var e=Object.create,r=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,l=(e,r)=>()=>(r||(e((r={exports:{}}).exports,r,r.exports),e=null),r.exports),u=(e,t)=>{let n={};for(var o in e)r(n,o,{get:e[o],enumerable:!0});return t||r(n,Symbol.toStringTag,{value:"Module"}),n},d=(l,u,d)=>(d=null!=l?e(o(l)):{},((e,o,l,u)=>{if(o&&"object"==typeof o||"function"==typeof o)for(var d,a=n(o),f=0,s=a.length;f<s;f++)d=a[f],i.call(e,d)||d===l||r(e,d,{get:(e=>o[e]).bind(null,d),enumerable:!(u=t(o,d))||u.enumerable});return e})(!u&&l&&l.__esModule&&i.call(l,"default")?d:r(d,"default",{value:l,enumerable:!0}),l)),a=/* @__PURE__ */(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,r)=>("undefined"!=typeof require?require:e)[r]}):e)(function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});export{d as i,u as n,a as r,l as t};