@navaramap/three 0.0.2 → 0.0.4

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 (45) hide show
  1. package/README.md +7 -7
  2. package/dist/assets/{fontWorker-8oWvyvwL.js → fontWorker-wz61edjR.js} +2 -2
  3. package/dist/assets/{fontWorker-8oWvyvwL.js.map → fontWorker-wz61edjR.js.map} +1 -1
  4. package/dist/assets/{index-D9G7kIEj.js → index-ywHSGImj.js} +3 -3
  5. package/dist/assets/{index-D9G7kIEj.js.map → index-ywHSGImj.js.map} +1 -1
  6. package/dist/assets/{navara_wasm_font_worker_bg-CkZP9l2i.wasm → navara_wasm_font_worker_bg-Du9nb2Pn.wasm} +0 -0
  7. package/dist/assets/{navara_wasm_worker_bg-Q8zrkLCR.wasm → navara_wasm_worker_bg-Xadu67fw.wasm} +0 -0
  8. package/dist/index.d.ts +135 -4
  9. package/dist/index.js +4309 -4288
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.umd.cjs +223 -210
  12. package/dist/index.umd.cjs.map +1 -1
  13. package/package.json +12 -12
  14. package/src/ShadowMapViewers.ts +1 -1
  15. package/src/atmosphere.ts +43 -1
  16. package/src/declutter/DeclutterManager.ts +1 -1
  17. package/src/event/feature.ts +43 -13
  18. package/src/event/features/model.ts +1 -1
  19. package/src/event/features/polygon.ts +2 -1
  20. package/src/event/index.ts +1 -1
  21. package/src/index.iife.ts +3 -3
  22. package/src/index.ts +3 -3
  23. package/src/input.ts +48 -15
  24. package/src/layers/effect/README.md +1 -1
  25. package/src/material/enhancer/instancedSprite/instancedSpriteBaseEnhancer/mutates.test.ts +3 -2
  26. package/src/material/enhancer/instancedSprite/instancedSpriteBaseEnhancer/mutates.ts +2 -0
  27. package/src/material/enhancer/instancedSprite/instancedSpriteBaseEnhancer/types.ts +2 -0
  28. package/src/material/enhancer/polygon/polygonBaseEnhancer/mutates.ts +2 -0
  29. package/src/material/enhancer/polygon/polygonBaseEnhancer/shader.ts +5 -1
  30. package/src/material/enhancer/polygon/polygonBaseEnhancer/types.ts +2 -0
  31. package/src/material/enhancer/polyline/polylineBaseEnhancer/mutates.ts +2 -0
  32. package/src/material/enhancer/polyline/polylineBaseEnhancer/types.ts +2 -0
  33. package/src/material/enhancer/sdfText/sdfTextBaseEnhancer/mutates.ts +2 -0
  34. package/src/material/enhancer/sdfText/sdfTextBaseEnhancer/types.ts +2 -0
  35. package/src/material/overrideMaterialsForMRT.ts +7 -2
  36. package/src/mesh/batchedSdfText.ts +234 -70
  37. package/src/mesh/instanced.ts +1 -1
  38. package/src/mesh/polygon.ts +11 -4
  39. package/src/mesh/polyline.ts +10 -2
  40. package/src/mesh/rtcRteHelper.ts +1 -1
  41. package/src/mesh/sdfText.ts +7 -2
  42. package/src/mesh/sprite/instancedSprite.ts +1 -1
  43. package/src/solar.test.ts +33 -0
  44. package/src/solar.ts +31 -0
  45. package/src/utils/screen.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fontWorker-8oWvyvwL.js","names":[],"sources":["../../../wasm/navara_font_worker/navara_wasm_font_worker.js","../../../navara_font/src/fontWorker.ts"],"sourcesContent":["/* @ts-self-types=\"./navara_wasm_font_worker.d.ts\" */\n\nexport class Aabb {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AabbFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_aabb_free(ptr, 0);\n }\n /**\n * @param {Vec3} center\n * @param {Vec3} extent\n */\n constructor(center, extent) {\n _assertClass(center, Vec3);\n var ptr0 = center.__destroy_into_raw();\n _assertClass(extent, Vec3);\n var ptr1 = extent.__destroy_into_raw();\n const ret = wasm.aabb_new(ptr0, ptr1);\n this.__wbg_ptr = ret;\n AabbFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {Vec3}\n */\n get center() {\n const ret = wasm.__wbg_get_aabb_center(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @returns {Vec3}\n */\n get extent() {\n const ret = wasm.__wbg_get_aabb_extent(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @param {Vec3} arg0\n */\n set center(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_aabb_center(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {Vec3} arg0\n */\n set extent(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_aabb_extent(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) Aabb.prototype[Symbol.dispose] = Aabb.prototype.free;\n\nexport class BatchPropResult {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n BatchPropResultFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_batchpropresult_free(ptr, 0);\n }\n /**\n * @returns {string | undefined}\n */\n get layerId() {\n const ret = wasm.__wbg_get_batchpropresult_layerId(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * @returns {any}\n */\n get properties() {\n const ret = wasm.__wbg_get_batchpropresult_properties(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {string | null} [arg0]\n */\n set layerId(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_batchpropresult_layerId(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {any} arg0\n */\n set properties(arg0) {\n wasm.__wbg_set_batchpropresult_properties(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) BatchPropResult.prototype[Symbol.dispose] = BatchPropResult.prototype.free;\n\nexport class BillboardMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n BillboardMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_billboardmaterial_free(ptr, 0);\n }\n /**\n * @returns {number | undefined}\n */\n get alphaTest() {\n const ret = wasm.__wbg_get_billboardmaterial_alphaTest(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * anchor point of the sprite, range is (-0.5, -0.5) to (0.5, 0.5).\n * Default is (0.0, 0.0) which means the center of the sprite.\n * @returns {Vec2 | undefined}\n */\n get center() {\n const ret = wasm.__wbg_get_billboardmaterial_center(this.__wbg_ptr);\n return ret === 0 ? undefined : Vec2.__wrap(ret);\n }\n /**\n * @returns {boolean | undefined}\n */\n get clampToGround() {\n const ret = wasm.__wbg_get_billboardmaterial_clampToGround(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get color() {\n const ret = wasm.__wbg_get_billboardmaterial_color(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Placement priority for decluttering; higher wins. Only meaningful when\n * `declutter` is enabled. Defaults to `0.0`.\n * @returns {number | undefined}\n */\n get declutterPriority() {\n const ret = wasm.__wbg_get_billboardmaterial_declutterPriority(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Participate in screen-space decluttering: when labels/sprites overlap\n * on screen, lower-priority ones are hidden. Defaults to `true`; set to\n * `false` to draw every label unconditionally.\n * @returns {boolean | undefined}\n */\n get declutter() {\n const ret = wasm.__wbg_get_billboardmaterial_declutter(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get depthTest() {\n const ret = wasm.__wbg_get_billboardmaterial_depthTest(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @returns {string[] | undefined}\n */\n get effectIds() {\n const ret = wasm.__wbg_get_billboardmaterial_effectIds(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @returns {number | undefined}\n */\n get emissiveColor() {\n const ret = wasm.__wbg_get_billboardmaterial_emissiveColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @returns {number | undefined}\n */\n get emissiveIntensity() {\n const ret = wasm.__wbg_get_billboardmaterial_emissiveIntensity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get height() {\n const ret = wasm.__wbg_get_billboardmaterial_height(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Avoid overlapping with the globe surface.\n * @returns {boolean | undefined}\n */\n get offsetDepth() {\n const ret = wasm.__wbg_get_billboardmaterial_offsetDepth(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get opacity() {\n const ret = wasm.__wbg_get_billboardmaterial_opacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_billboardmaterial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Whether the size is specified in meters. If false, the size is in pixels. Default is true.\n * @returns {boolean | undefined}\n */\n get sizeInMeters() {\n const ret = wasm.__wbg_get_billboardmaterial_sizeInMeters(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * size in pixels/meters (units are determined by `sizeInMeters`).\n * @returns {number | undefined}\n */\n get size() {\n const ret = wasm.__wbg_get_billboardmaterial_size(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get transparent() {\n const ret = wasm.__wbg_get_billboardmaterial_transparent(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {string | undefined}\n */\n get url() {\n const ret = wasm.__wbg_get_billboardmaterial_url(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * @param {number | null} [arg0]\n */\n set alphaTest(arg0) {\n wasm.__wbg_set_billboardmaterial_alphaTest(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * anchor point of the sprite, range is (-0.5, -0.5) to (0.5, 0.5).\n * Default is (0.0, 0.0) which means the center of the sprite.\n * @param {Vec2 | null} [arg0]\n */\n set center(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, Vec2);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_billboardmaterial_center(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set clampToGround(arg0) {\n wasm.__wbg_set_billboardmaterial_clampToGround(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set color(arg0) {\n wasm.__wbg_set_billboardmaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Placement priority for decluttering; higher wins. Only meaningful when\n * `declutter` is enabled. Defaults to `0.0`.\n * @param {number | null} [arg0]\n */\n set declutterPriority(arg0) {\n wasm.__wbg_set_billboardmaterial_declutterPriority(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Participate in screen-space decluttering: when labels/sprites overlap\n * on screen, lower-priority ones are hidden. Defaults to `true`; set to\n * `false` to draw every label unconditionally.\n * @param {boolean | null} [arg0]\n */\n set declutter(arg0) {\n wasm.__wbg_set_billboardmaterial_declutter(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set depthTest(arg0) {\n wasm.__wbg_set_billboardmaterial_depthTest(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @param {string[] | null} [arg0]\n */\n set effectIds(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_billboardmaterial_effectIds(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @param {number | null} [arg0]\n */\n set emissiveColor(arg0) {\n wasm.__wbg_set_billboardmaterial_emissiveColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @param {number | null} [arg0]\n */\n set emissiveIntensity(arg0) {\n wasm.__wbg_set_billboardmaterial_emissiveIntensity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set height(arg0) {\n wasm.__wbg_set_billboardmaterial_height(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Avoid overlapping with the globe surface.\n * @param {boolean | null} [arg0]\n */\n set offsetDepth(arg0) {\n wasm.__wbg_set_billboardmaterial_offsetDepth(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set opacity(arg0) {\n wasm.__wbg_set_billboardmaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_billboardmaterial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Whether the size is specified in meters. If false, the size is in pixels. Default is true.\n * @param {boolean | null} [arg0]\n */\n set sizeInMeters(arg0) {\n wasm.__wbg_set_billboardmaterial_sizeInMeters(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * size in pixels/meters (units are determined by `sizeInMeters`).\n * @param {number | null} [arg0]\n */\n set size(arg0) {\n wasm.__wbg_set_billboardmaterial_size(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set transparent(arg0) {\n wasm.__wbg_set_billboardmaterial_transparent(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {string | null} [arg0]\n */\n set url(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_billboardmaterial_url(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) BillboardMaterial.prototype[Symbol.dispose] = BillboardMaterial.prototype.free;\n\nexport class BoundingSphere {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n BoundingSphereFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_boundingsphere_free(ptr, 0);\n }\n /**\n * @param {number} center_x\n * @param {number} center_y\n * @param {number} center_z\n * @param {number} radius\n */\n constructor(center_x, center_y, center_z, radius) {\n const ret = wasm.boundingsphere_new(center_x, center_y, center_z, radius);\n this.__wbg_ptr = ret;\n BoundingSphereFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {number}\n */\n get center_x() {\n const ret = wasm.__wbg_get_boundingsphere_center_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get center_y() {\n const ret = wasm.__wbg_get_boundingsphere_center_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get center_z() {\n const ret = wasm.__wbg_get_boundingsphere_center_z(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get radius() {\n const ret = wasm.__wbg_get_boundingsphere_radius(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set center_x(arg0) {\n wasm.__wbg_set_boundingsphere_center_x(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set center_y(arg0) {\n wasm.__wbg_set_boundingsphere_center_y(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set center_z(arg0) {\n wasm.__wbg_set_boundingsphere_center_z(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set radius(arg0) {\n wasm.__wbg_set_boundingsphere_radius(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) BoundingSphere.prototype[Symbol.dispose] = BoundingSphere.prototype.free;\n\n/**\n * Coordinate reference system\n * @enum {0 | 1}\n */\nexport const CRS = Object.freeze({\n /**\n * EPSG:4326\n */\n Geographic: 0, \"0\": \"Geographic\",\n /**\n * EPSG:4978\n */\n Geocentric: 1, \"1\": \"Geocentric\",\n});\n\nexport class CachedMeshHandle {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CachedMeshHandleFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_cachedmeshhandle_free(ptr, 0);\n }\n /**\n * @param {number} vertices\n * @param {number} indices\n * @param {number} uvs\n * @param {number | null} [heights]\n */\n constructor(vertices, indices, uvs, heights) {\n const ret = wasm.cachedmeshhandle_new(vertices, indices, uvs, isLikeNone(heights) ? Number.MAX_SAFE_INTEGER : (heights) >> 0);\n this.__wbg_ptr = ret;\n CachedMeshHandleFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {number | undefined}\n */\n get heights() {\n const ret = wasm.__wbg_get_cachedmeshhandle_heights(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number}\n */\n get indices() {\n const ret = wasm.__wbg_get_cachedmeshhandle_indices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n get normals() {\n const ret = wasm.__wbg_get_cachedmeshhandle_normals(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number}\n */\n get uvs() {\n const ret = wasm.__wbg_get_cachedmeshhandle_uvs(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get vertices() {\n const ret = wasm.__wbg_get_cachedmeshhandle_vertices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n get watermask() {\n const ret = wasm.__wbg_get_cachedmeshhandle_watermask(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @param {number | null} [arg0]\n */\n set heights(arg0) {\n wasm.__wbg_set_cachedmeshhandle_heights(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >> 0);\n }\n /**\n * @param {number} arg0\n */\n set indices(arg0) {\n wasm.__wbg_set_cachedmeshhandle_indices(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set normals(arg0) {\n wasm.__wbg_set_cachedmeshhandle_normals(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >> 0);\n }\n /**\n * @param {number} arg0\n */\n set uvs(arg0) {\n wasm.__wbg_set_cachedmeshhandle_uvs(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set vertices(arg0) {\n wasm.__wbg_set_cachedmeshhandle_vertices(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set watermask(arg0) {\n wasm.__wbg_set_cachedmeshhandle_watermask(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >> 0);\n }\n}\nif (Symbol.dispose) CachedMeshHandle.prototype[Symbol.dispose] = CachedMeshHandle.prototype.free;\n\n/**\n * An event for updating camera controller settings at runtime.\n *\n * This event allows partial updates to the [`CameraController`](navara_camera::CameraController)\n * component. Only fields set to `Some` will be applied; `None` fields are ignored.\n */\nexport class CameraControlUpdateEvent {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CameraControlUpdateEventFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_cameracontrolupdateevent_free(ptr, 0);\n }\n constructor() {\n const ret = wasm.cameracontrolupdateevent_new();\n this.__wbg_ptr = ret;\n CameraControlUpdateEventFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Whether to automatically adjust near/far clipping planes based on camera distance\n * from the Earth surface. When enabled, the camera uses three zones:\n * - Near ground: near = 1.0, far = 1e6\n * - Mid altitude: near = 100.0, far = 1e8\n * - Far/Space: near = 1000.0, far = 1e9\n *\n * Default: `true`\n * @returns {boolean | undefined}\n */\n get autoAdjustNearFar() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_autoAdjustNearFar(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Whether mouse drag and touch swipe rotation (spin) are enabled.\n *\n * Default: `true`\n * @returns {boolean | undefined}\n */\n get enableSpin() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_enableSpin(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Whether tilt interactions (Ctrl+left drag, right-click drag, double-swipe, or rotate gestures) are enabled.\n *\n * Default: `true`\n * @returns {boolean | undefined}\n */\n get enableTilt() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_enableTilt(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Whether scroll wheel and pinch/spread touch zoom are enabled.\n *\n * Default: `true`\n * @returns {boolean | undefined}\n */\n get enableZoom() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_enableZoom(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * The maximum distance (in meters) the camera can zoom out from the Earth surface.\n *\n * Default: `WGS84_B_64 * 10.0` (~63,567,523 meters)\n * @returns {number | undefined}\n */\n get maximumZoomDistance() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_maximumZoomDistance(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * The minimum distance (in meters) the camera can zoom in to the Earth surface.\n *\n * Default: `WGS84_B_64` (Earth's semi-minor axis, ~6,356,752 meters)\n * @returns {number | undefined}\n */\n get minimumZoomDistance() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_minimumZoomDistance(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * Duration (in milliseconds) for spin inertia animation after releasing mouse drag.\n *\n * Default: `500.0`\n * @returns {number | undefined}\n */\n get spinDuration() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_spinDuration(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Multiplier for mouse drag rotation speed.\n *\n * Default: `2.0`\n * @returns {number | undefined}\n */\n get spinSpeed() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_spinSpeed(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * Duration (in milliseconds) for translation inertia animation.\n *\n * Default: `500.0`\n * @returns {number | undefined}\n */\n get translateDuration() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_translateDuration(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Duration (in milliseconds) for zoom inertia animation after scroll wheel input.\n *\n * Default: `100.0`\n * @returns {number | undefined}\n */\n get zoomDuration() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_zoomDuration(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Multiplier for scroll wheel zoom speed.\n *\n * Default: `0.6`\n * @returns {number | undefined}\n */\n get zoomSpeed() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_zoomSpeed(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * Whether to automatically adjust near/far clipping planes based on camera distance\n * from the Earth surface. When enabled, the camera uses three zones:\n * - Near ground: near = 1.0, far = 1e6\n * - Mid altitude: near = 100.0, far = 1e8\n * - Far/Space: near = 1000.0, far = 1e9\n *\n * Default: `true`\n * @param {boolean | null} [arg0]\n */\n set autoAdjustNearFar(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_autoAdjustNearFar(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Whether mouse drag and touch swipe rotation (spin) are enabled.\n *\n * Default: `true`\n * @param {boolean | null} [arg0]\n */\n set enableSpin(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_enableSpin(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Whether tilt interactions (Ctrl+left drag, right-click drag, double-swipe, or rotate gestures) are enabled.\n *\n * Default: `true`\n * @param {boolean | null} [arg0]\n */\n set enableTilt(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_enableTilt(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Whether scroll wheel and pinch/spread touch zoom are enabled.\n *\n * Default: `true`\n * @param {boolean | null} [arg0]\n */\n set enableZoom(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_enableZoom(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * The maximum distance (in meters) the camera can zoom out from the Earth surface.\n *\n * Default: `WGS84_B_64 * 10.0` (~63,567,523 meters)\n * @param {number | null} [arg0]\n */\n set maximumZoomDistance(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_maximumZoomDistance(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n }\n /**\n * The minimum distance (in meters) the camera can zoom in to the Earth surface.\n *\n * Default: `WGS84_B_64` (Earth's semi-minor axis, ~6,356,752 meters)\n * @param {number | null} [arg0]\n */\n set minimumZoomDistance(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_minimumZoomDistance(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n }\n /**\n * Duration (in milliseconds) for spin inertia animation after releasing mouse drag.\n *\n * Default: `500.0`\n * @param {number | null} [arg0]\n */\n set spinDuration(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_spinDuration(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Multiplier for mouse drag rotation speed.\n *\n * Default: `2.0`\n * @param {number | null} [arg0]\n */\n set spinSpeed(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_spinSpeed(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n }\n /**\n * Duration (in milliseconds) for translation inertia animation.\n *\n * Default: `500.0`\n * @param {number | null} [arg0]\n */\n set translateDuration(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_translateDuration(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Duration (in milliseconds) for zoom inertia animation after scroll wheel input.\n *\n * Default: `100.0`\n * @param {number | null} [arg0]\n */\n set zoomDuration(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_zoomDuration(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Multiplier for scroll wheel zoom speed.\n *\n * Default: `0.6`\n * @param {number | null} [arg0]\n */\n set zoomSpeed(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_zoomSpeed(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n }\n}\nif (Symbol.dispose) CameraControlUpdateEvent.prototype[Symbol.dispose] = CameraControlUpdateEvent.prototype.free;\n\n/**\n * @enum {0 | 1 | 2 | 3 | 4 | 5}\n */\nexport const CameraDirection = Object.freeze({\n Forward: 0, \"0\": \"Forward\",\n Backward: 1, \"1\": \"Backward\",\n Left: 2, \"2\": \"Left\",\n Right: 3, \"3\": \"Right\",\n Up: 4, \"4\": \"Up\",\n Down: 5, \"5\": \"Down\",\n});\n\nexport class CameraFrustum {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CameraFrustumFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_camerafrustum_free(ptr, 0);\n }\n /**\n * @param {number} near\n * @param {number} far\n * @param {number} fov\n * @param {number} aspect_ratio\n */\n constructor(near, far, fov, aspect_ratio) {\n const ret = wasm.camerafrustum_new(near, far, fov, aspect_ratio);\n this.__wbg_ptr = ret;\n CameraFrustumFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {number}\n */\n get aspect_ratio() {\n const ret = wasm.__wbg_get_camerafrustum_aspect_ratio(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get far() {\n const ret = wasm.__wbg_get_camerafrustum_far(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get fov() {\n const ret = wasm.__wbg_get_camerafrustum_fov(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get near() {\n const ret = wasm.__wbg_get_camerafrustum_near(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set aspect_ratio(arg0) {\n wasm.__wbg_set_camerafrustum_aspect_ratio(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set far(arg0) {\n wasm.__wbg_set_camerafrustum_far(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set fov(arg0) {\n wasm.__wbg_set_camerafrustum_fov(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set near(arg0) {\n wasm.__wbg_set_camerafrustum_near(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) CameraFrustum.prototype[Symbol.dispose] = CameraFrustum.prototype.free;\n\nexport class CameraOrientation {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CameraOrientationFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_cameraorientation_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get heading() {\n const ret = wasm.__wbg_get_cameraorientation_heading(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get pitch() {\n const ret = wasm.__wbg_get_cameraorientation_pitch(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get roll() {\n const ret = wasm.__wbg_get_cameraorientation_roll(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set heading(arg0) {\n wasm.__wbg_set_cameraorientation_heading(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set pitch(arg0) {\n wasm.__wbg_set_cameraorientation_pitch(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set roll(arg0) {\n wasm.__wbg_set_cameraorientation_roll(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) CameraOrientation.prototype[Symbol.dispose] = CameraOrientation.prototype.free;\n\nexport class CameraStatus {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CameraStatusFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_camerastatus_free(ptr, 0);\n }\n /**\n * @returns {any[]}\n */\n get status() {\n const ret = wasm.__wbg_get_camerastatus_status(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @param {any[]} arg0\n */\n set status(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_camerastatus_status(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) CameraStatus.prototype[Symbol.dispose] = CameraStatus.prototype.free;\n\n/**\n * @enum {0 | 1 | 2 | 3 | 4 | 5}\n */\nexport const CameraStatusType = Object.freeze({\n Change: 0, \"0\": \"Change\",\n LookAt: 1, \"1\": \"LookAt\",\n Rotate: 2, \"2\": \"Rotate\",\n MoveStart: 3, \"3\": \"MoveStart\",\n Moving: 4, \"4\": \"Moving\",\n MoveEnd: 5, \"5\": \"MoveEnd\",\n});\n\nexport class CompiledExpression {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CompiledExpressionFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_compiledexpression_free(ptr, 0);\n }\n /**\n * Evaluate expression with given context\n *\n * # Arguments\n * * `properties_json` - Feature properties as JSON object\n * * `zoom` - Current zoom level\n * * `geometry_type` - Optional geometry type string (e.g., \"Point\", \"Polygon\")\n *\n * # Returns\n * Evaluated value as JsValue. Supported types:\n * - Null, Bool, Number, String (primitives)\n * - Color: `{r, g, b, a}` object\n * - Array, Object: nested structures\n * - NumberArray: returned as a JS `number[]`\n *\n * Unsupported types return `null` with a console warning.\n * @param {any} properties_json\n * @param {number} zoom\n * @param {string | null} [geometry_type]\n * @returns {any}\n */\n evaluate(properties_json, zoom, geometry_type) {\n var ptr0 = isLikeNone(geometry_type) ? 0 : passStringToWasm0(geometry_type, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.compiledexpression_evaluate(this.__wbg_ptr, properties_json, zoom, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n }\n /**\n * Extract all feature property names accessed by this expression.\n * Returns a JavaScript array of property name strings.\n * This allows filtering properties before evaluation to reduce serialization overhead.\n * @returns {Array<any>}\n */\n getRequiredProperties() {\n const ret = wasm.compiledexpression_getRequiredProperties(this.__wbg_ptr);\n return ret;\n }\n /**\n * Compile a MapLibre expression from JSON with optional expected type\n *\n * # Arguments\n * * `expr_json` - Expression array (e.g., [\"get\", \"name\"])\n * * `expected_type` - Optional expected type string: \"color\", \"number\", \"boolean\", \"string\", \"array\"\n *\n * Type checking ensures expressions return the correct type for their property,\n * matching JsStyleEngine's behavior with createExpression(expr, spec).\n * @param {any} expr_json\n * @param {string | null} [expected_type]\n */\n constructor(expr_json, expected_type) {\n var ptr0 = isLikeNone(expected_type) ? 0 : passStringToWasm0(expected_type, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.compiledexpression_new(expr_json, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n this.__wbg_ptr = ret[0];\n CompiledExpressionFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) CompiledExpression.prototype[Symbol.dispose] = CompiledExpression.prototype.free;\n\nexport class CompiledFilter {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CompiledFilterFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_compiledfilter_free(ptr, 0);\n }\n /**\n * Compile a MapLibre filter from JSON\n * filter_json: Filter expression (e.g., [\"==\", [\"get\", \"type\"], \"park\"])\n * @param {any} filter_json\n */\n constructor(filter_json) {\n const ret = wasm.compiledfilter_new(filter_json);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n this.__wbg_ptr = ret[0];\n CompiledFilterFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Test if feature matches filter\n *\n * # Arguments\n * * `properties_json` - Feature properties as JSON object\n * * `zoom` - Current zoom level\n * * `geometry_type` - Optional geometry type string (e.g., \"Point\", \"Polygon\")\n * @param {any} properties_json\n * @param {number} zoom\n * @param {string | null} [geometry_type]\n * @returns {boolean}\n */\n test(properties_json, zoom, geometry_type) {\n var ptr0 = isLikeNone(geometry_type) ? 0 : passStringToWasm0(geometry_type, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.compiledfilter_test(this.__wbg_ptr, properties_json, zoom, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] !== 0;\n }\n}\nif (Symbol.dispose) CompiledFilter.prototype[Symbol.dispose] = CompiledFilter.prototype.free;\n\nexport class ConstructedPolygonGeometry {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ConstructedPolygonGeometryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_constructedpolygongeometry_free(ptr, 0);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n batch_id() {\n const ret = wasm.constructedpolygongeometry_batch_id(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_id_size() {\n const ret = wasm.constructedpolygongeometry_batch_id_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n batch_index() {\n const ret = wasm.constructedpolygongeometry_batch_index(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_index_size() {\n const ret = wasm.constructedpolygongeometry_batch_index_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array}\n */\n indices() {\n const ret = wasm.constructedpolygongeometry_indices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n normal() {\n const ret = wasm.constructedpolygongeometry_normal(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n normal_size() {\n const ret = wasm.constructedpolygongeometry_normal_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {ConstructedPolygonOutlineGeometry | undefined}\n */\n outline() {\n const ret = wasm.constructedpolygongeometry_outline(this.__wbg_ptr);\n return ret === 0 ? undefined : ConstructedPolygonOutlineGeometry.__wrap(ret);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position() {\n const ret = wasm.constructedpolygongeometry_position(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_3d_high() {\n const ret = wasm.constructedpolygongeometry_position_3d_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_3d_high_size() {\n const ret = wasm.constructedpolygongeometry_position_3d_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_3d_low() {\n const ret = wasm.constructedpolygongeometry_position_3d_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_3d_low_size() {\n const ret = wasm.constructedpolygongeometry_position_3d_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_size() {\n const ret = wasm.constructedpolygongeometry_position_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n scale_normal_and_cap() {\n const ret = wasm.constructedpolygongeometry_scale_normal_and_cap(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n scale_normal_and_cap_size() {\n const ret = wasm.constructedpolygongeometry_scale_normal_and_cap_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {ExtentRadianF32 | undefined}\n */\n get extent() {\n const ret = wasm.__wbg_get_constructedpolygongeometry_extent(this.__wbg_ptr);\n return ret === 0 ? undefined : ExtentRadianF32.__wrap(ret);\n }\n /**\n * RTC (Relative-To-Center) translation vector\n * Contains the tile center in world-space ECEF coordinates\n * Used to position the mesh while keeping vertex positions in local space\n * @returns {Vec3 | undefined}\n */\n get rtc_translation() {\n const ret = wasm.__wbg_get_constructedpolygongeometry_rtc_translation(this.__wbg_ptr);\n return ret === 0 ? undefined : Vec3.__wrap(ret);\n }\n /**\n * @param {ExtentRadianF32 | null} [arg0]\n */\n set extent(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, ExtentRadianF32);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_constructedpolygongeometry_extent(this.__wbg_ptr, ptr0);\n }\n /**\n * RTC (Relative-To-Center) translation vector\n * Contains the tile center in world-space ECEF coordinates\n * Used to position the mesh while keeping vertex positions in local space\n * @param {Vec3 | null} [arg0]\n */\n set rtc_translation(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, Vec3);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_constructedpolygongeometry_rtc_translation(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) ConstructedPolygonGeometry.prototype[Symbol.dispose] = ConstructedPolygonGeometry.prototype.free;\n\nexport class ConstructedPolygonOutlineGeometry {\n static __wrap(ptr) {\n const obj = Object.create(ConstructedPolygonOutlineGeometry.prototype);\n obj.__wbg_ptr = ptr;\n ConstructedPolygonOutlineGeometryFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ConstructedPolygonOutlineGeometryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_constructedpolygonoutlinegeometry_free(ptr, 0);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n batch_index() {\n const ret = wasm.constructedpolygonoutlinegeometry_batch_index(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_index_size() {\n const ret = wasm.constructedpolygonoutlinegeometry_batch_index_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array}\n */\n position() {\n const ret = wasm.constructedpolygonoutlinegeometry_position(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n position_size() {\n const ret = wasm.constructedpolygonoutlinegeometry_position_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n scale_normal_and_cap() {\n const ret = wasm.constructedpolygonoutlinegeometry_scale_normal_and_cap(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n scale_normal_and_cap_size() {\n const ret = wasm.constructedpolygonoutlinegeometry_scale_normal_and_cap_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n skip_indices() {\n const ret = wasm.constructedpolygonoutlinegeometry_skip_indices(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) ConstructedPolygonOutlineGeometry.prototype[Symbol.dispose] = ConstructedPolygonOutlineGeometry.prototype.free;\n\nexport class ConstructedPolylineGeometry {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ConstructedPolylineGeometryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_constructedpolylinegeometry_free(ptr, 0);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n batch_id() {\n const ret = wasm.constructedpolylinegeometry_batch_id(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_id_size() {\n const ret = wasm.constructedpolylinegeometry_batch_id_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n batch_index() {\n const ret = wasm.constructedpolylinegeometry_batch_index(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_index_size() {\n const ret = wasm.constructedpolylinegeometry_batch_index_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n end_high() {\n const ret = wasm.constructedpolylinegeometry_end_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n end_high_size() {\n const ret = wasm.constructedpolylinegeometry_end_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n end_low() {\n const ret = wasm.constructedpolylinegeometry_end_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n end_low_size() {\n const ret = wasm.constructedpolylinegeometry_end_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n end_normal_and_texture_coordinate_normalization_x() {\n const ret = wasm.constructedpolylinegeometry_end_normal_and_texture_coordinate_normalization_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n end_normal_and_texture_coordinate_normalization_x_size() {\n const ret = wasm.constructedpolylinegeometry_end_normal_and_texture_coordinate_normalization_x_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {ExtentRadianF32 | undefined}\n */\n get extent() {\n const ret = wasm.constructedpolylinegeometry_extent(this.__wbg_ptr);\n return ret === 0 ? undefined : ExtentRadianF32.__wrap(ret);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n forward_offset() {\n const ret = wasm.constructedpolylinegeometry_forward_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n forward_offset_size() {\n const ret = wasm.constructedpolylinegeometry_forward_offset_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array}\n */\n indices() {\n const ret = wasm.constructedpolylinegeometry_indices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n position() {\n const ret = wasm.constructedpolylinegeometry_position(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_high() {\n const ret = wasm.constructedpolylinegeometry_position_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_high_size() {\n const ret = wasm.constructedpolylinegeometry_position_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_low() {\n const ret = wasm.constructedpolylinegeometry_position_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_low_size() {\n const ret = wasm.constructedpolylinegeometry_position_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number}\n */\n position_size() {\n const ret = wasm.constructedpolylinegeometry_position_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n right_normal_and_texture_coordinate_normalization_y() {\n const ret = wasm.constructedpolylinegeometry_right_normal_and_texture_coordinate_normalization_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n right_normal_and_texture_coordinate_normalization_y_size() {\n const ret = wasm.constructedpolylinegeometry_right_normal_and_texture_coordinate_normalization_y_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start() {\n const ret = wasm.constructedpolylinegeometry_start(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start_high() {\n const ret = wasm.constructedpolylinegeometry_start_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_high_size() {\n const ret = wasm.constructedpolylinegeometry_start_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start_low() {\n const ret = wasm.constructedpolylinegeometry_start_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_low_size() {\n const ret = wasm.constructedpolylinegeometry_start_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start_normals() {\n const ret = wasm.constructedpolylinegeometry_start_normals(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_normals_size() {\n const ret = wasm.constructedpolylinegeometry_start_normals_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_size() {\n const ret = wasm.constructedpolylinegeometry_start_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n}\nif (Symbol.dispose) ConstructedPolylineGeometry.prototype[Symbol.dispose] = ConstructedPolylineGeometry.prototype.free;\n\nexport class ElevationDecoder {\n static __wrap(ptr) {\n const obj = Object.create(ElevationDecoder.prototype);\n obj.__wbg_ptr = ptr;\n ElevationDecoderFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ElevationDecoderFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_elevationdecoder_free(ptr, 0);\n }\n /**\n * @returns {ElevationDecoder}\n */\n static japanGSI() {\n const ret = wasm.elevationdecoder_japanGSI();\n return ElevationDecoder.__wrap(ret);\n }\n /**\n * @returns {ElevationDecoder}\n */\n static mapbox() {\n const ret = wasm.elevationdecoder_mapbox();\n return ElevationDecoder.__wrap(ret);\n }\n /**\n * @param {number} r_scaler\n * @param {number} g_scaler\n * @param {number} b_scaler\n * @param {number} offset\n * @param {number} max_offset\n * @param {number} min_offset\n * @param {number} boundary\n * @param {number} epsilon\n */\n constructor(r_scaler, g_scaler, b_scaler, offset, max_offset, min_offset, boundary, epsilon) {\n const ret = wasm.elevationdecoder_new(r_scaler, g_scaler, b_scaler, offset, max_offset, min_offset, boundary, epsilon);\n this.__wbg_ptr = ret;\n ElevationDecoderFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {ElevationDecoder}\n */\n static terrarium() {\n const ret = wasm.elevationdecoder_terrarium();\n return ElevationDecoder.__wrap(ret);\n }\n /**\n * @returns {number}\n */\n get b_scaler() {\n const ret = wasm.__wbg_get_elevationdecoder_b_scaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get boundary() {\n const ret = wasm.__wbg_get_elevationdecoder_boundary(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get epsilon() {\n const ret = wasm.__wbg_get_elevationdecoder_epsilon(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get g_scaler() {\n const ret = wasm.__wbg_get_elevationdecoder_g_scaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get max_offset() {\n const ret = wasm.__wbg_get_elevationdecoder_max_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get min_offset() {\n const ret = wasm.__wbg_get_elevationdecoder_min_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get offset() {\n const ret = wasm.__wbg_get_elevationdecoder_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get r_scaler() {\n const ret = wasm.__wbg_get_elevationdecoder_r_scaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set b_scaler(arg0) {\n wasm.__wbg_set_elevationdecoder_b_scaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set boundary(arg0) {\n wasm.__wbg_set_elevationdecoder_boundary(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set epsilon(arg0) {\n wasm.__wbg_set_elevationdecoder_epsilon(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set g_scaler(arg0) {\n wasm.__wbg_set_elevationdecoder_g_scaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set max_offset(arg0) {\n wasm.__wbg_set_elevationdecoder_max_offset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set min_offset(arg0) {\n wasm.__wbg_set_elevationdecoder_min_offset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set offset(arg0) {\n wasm.__wbg_set_elevationdecoder_offset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set r_scaler(arg0) {\n wasm.__wbg_set_elevationdecoder_r_scaler(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) ElevationDecoder.prototype[Symbol.dispose] = ElevationDecoder.prototype.free;\n\n/**\n * Elevation-heatmap render options for a `raster` layer. The elevation decoder\n * is taken from the referenced `raster-dem` source, not from here.\n */\nexport class ElevationHeatmapMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ElevationHeatmapMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_elevationheatmapmaterial_free(ptr, 0);\n }\n /**\n * @returns {number | undefined}\n */\n get logBoundary() {\n const ret = wasm.__wbg_get_elevationheatmapmaterial_logBoundary(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * @returns {boolean | undefined}\n */\n get logarithmic() {\n const ret = wasm.__wbg_get_elevationheatmapmaterial_logarithmic(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get maxHeight() {\n const ret = wasm.__wbg_get_elevationheatmapmaterial_maxHeight(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * @returns {number | undefined}\n */\n get minHeight() {\n const ret = wasm.__wbg_get_elevationheatmapmaterial_minHeight(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * @param {number | null} [arg0]\n */\n set logBoundary(arg0) {\n wasm.__wbg_set_elevationheatmapmaterial_logBoundary(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set logarithmic(arg0) {\n wasm.__wbg_set_elevationheatmapmaterial_logarithmic(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set maxHeight(arg0) {\n wasm.__wbg_set_elevationheatmapmaterial_maxHeight(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set minHeight(arg0) {\n wasm.__wbg_set_elevationheatmapmaterial_minHeight(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n }\n}\nif (Symbol.dispose) ElevationHeatmapMaterial.prototype[Symbol.dispose] = ElevationHeatmapMaterial.prototype.free;\n\nexport class EllipsoidGeodesic {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n EllipsoidGeodesicFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_ellipsoidgeodesic_free(ptr, 0);\n }\n /**\n * @param {number} distance\n * @returns {LLE}\n */\n interpolateDistance(distance) {\n const ret = wasm.ellipsoidgeodesic_interpolateDistance(this.__wbg_ptr, distance);\n return LLE.__wrap(ret);\n }\n /**\n * @param {number | null} [granularity]\n * @returns {LLE[]}\n */\n interpolateGeodeticPoints(granularity) {\n const ret = wasm.ellipsoidgeodesic_interpolateGeodeticPoints(this.__wbg_ptr, !isLikeNone(granularity), isLikeNone(granularity) ? 0 : granularity);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @param {LLE} start\n * @param {LLE} end\n */\n constructor(start, end) {\n _assertClass(start, LLE);\n var ptr0 = start.__destroy_into_raw();\n _assertClass(end, LLE);\n var ptr1 = end.__destroy_into_raw();\n const ret = wasm.ellipsoidgeodesic_new(ptr0, ptr1);\n this.__wbg_ptr = ret;\n EllipsoidGeodesicFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {number}\n */\n get distance() {\n const ret = wasm.__wbg_get_ellipsoidgeodesic_distance(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get end_heading() {\n const ret = wasm.__wbg_get_ellipsoidgeodesic_end_heading(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {LLE}\n */\n get end() {\n const ret = wasm.__wbg_get_ellipsoidgeodesic_end(this.__wbg_ptr);\n return LLE.__wrap(ret);\n }\n /**\n * @returns {number}\n */\n get start_heading() {\n const ret = wasm.__wbg_get_ellipsoidgeodesic_start_heading(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {LLE}\n */\n get start() {\n const ret = wasm.__wbg_get_ellipsoidgeodesic_start(this.__wbg_ptr);\n return LLE.__wrap(ret);\n }\n /**\n * @param {number} arg0\n */\n set distance(arg0) {\n wasm.__wbg_set_ellipsoidgeodesic_distance(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set end_heading(arg0) {\n wasm.__wbg_set_ellipsoidgeodesic_end_heading(this.__wbg_ptr, arg0);\n }\n /**\n * @param {LLE} arg0\n */\n set end(arg0) {\n _assertClass(arg0, LLE);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_ellipsoidgeodesic_end(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {number} arg0\n */\n set start_heading(arg0) {\n wasm.__wbg_set_ellipsoidgeodesic_start_heading(this.__wbg_ptr, arg0);\n }\n /**\n * @param {LLE} arg0\n */\n set start(arg0) {\n _assertClass(arg0, LLE);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_ellipsoidgeodesic_start(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) EllipsoidGeodesic.prototype[Symbol.dispose] = EllipsoidGeodesic.prototype.free;\n\nexport class EncodedVec3 {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n EncodedVec3Finalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_encodedvec3_free(ptr, 0);\n }\n /**\n * @param {Vec3} high\n * @param {Vec3} low\n */\n constructor(high, low) {\n _assertClass(high, Vec3);\n var ptr0 = high.__destroy_into_raw();\n _assertClass(low, Vec3);\n var ptr1 = low.__destroy_into_raw();\n const ret = wasm.encodedvec3_new(ptr0, ptr1);\n this.__wbg_ptr = ret;\n EncodedVec3Finalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {Vec3}\n */\n get high() {\n const ret = wasm.__wbg_get_encodedvec3_high(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @returns {Vec3}\n */\n get low() {\n const ret = wasm.__wbg_get_encodedvec3_low(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @param {Vec3} arg0\n */\n set high(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_encodedvec3_high(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {Vec3} arg0\n */\n set low(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_encodedvec3_low(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) EncodedVec3.prototype[Symbol.dispose] = EncodedVec3.prototype.free;\n\nexport class ExtentRadianF32 {\n static __wrap(ptr) {\n const obj = Object.create(ExtentRadianF32.prototype);\n obj.__wbg_ptr = ptr;\n ExtentRadianF32Finalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ExtentRadianF32Finalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_extentradianf32_free(ptr, 0);\n }\n /**\n * @param {number} west\n * @param {number} south\n * @param {number} east\n * @param {number} north\n */\n constructor(west, south, east, north) {\n const ret = wasm.extentradianf32_new(west, south, east, north);\n this.__wbg_ptr = ret;\n ExtentRadianF32Finalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {number}\n */\n get east() {\n const ret = wasm.__wbg_get_extentradianf32_east(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get north() {\n const ret = wasm.__wbg_get_extentradianf32_north(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get south() {\n const ret = wasm.__wbg_get_extentradianf32_south(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get west() {\n const ret = wasm.__wbg_get_extentradianf32_west(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set east(arg0) {\n wasm.__wbg_set_extentradianf32_east(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set north(arg0) {\n wasm.__wbg_set_extentradianf32_north(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set south(arg0) {\n wasm.__wbg_set_extentradianf32_south(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set west(arg0) {\n wasm.__wbg_set_extentradianf32_west(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) ExtentRadianF32.prototype[Symbol.dispose] = ExtentRadianF32.prototype.free;\n\nexport class FloatAttribute {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FloatAttributeFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_floatattribute_free(ptr, 0);\n }\n /**\n * @param {Float32Array} data\n * @param {number} size\n */\n constructor(data, size) {\n const ptr0 = passArrayF32ToWasm0(data, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.floatattribute_new(ptr0, len0, size);\n this.__wbg_ptr = ret;\n FloatAttributeFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {Float32Array}\n */\n transferData() {\n const ret = wasm.floatattribute_transferData(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get size() {\n const ret = wasm.__wbg_get_floatattribute_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set size(arg0) {\n wasm.__wbg_set_floatattribute_size(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) FloatAttribute.prototype[Symbol.dispose] = FloatAttribute.prototype.free;\n\n/**\n * Atlas bytes returned to TypeScript. `channels`: 1 → R8 (SDF),\n * 4 → RGBA8 (MSDF or color).\n */\nexport class FontAtlas {\n static __wrap(ptr) {\n const obj = Object.create(FontAtlas.prototype);\n obj.__wbg_ptr = ptr;\n FontAtlasFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FontAtlasFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_fontatlas_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get channels() {\n const ret = wasm.__wbg_get_fontatlas_channels(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {Uint8Array}\n */\n get data() {\n const ret = wasm.__wbg_get_fontatlas_data(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get height() {\n const ret = wasm.__wbg_get_fontatlas_height(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get width() {\n const ret = wasm.__wbg_get_fontatlas_width(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set channels(arg0) {\n wasm.__wbg_set_fontatlas_channels(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set data(arg0) {\n wasm.__wbg_set_fontatlas_data(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set height(arg0) {\n wasm.__wbg_set_fontatlas_height(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set width(arg0) {\n wasm.__wbg_set_fontatlas_width(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) FontAtlas.prototype[Symbol.dispose] = FontAtlas.prototype.free;\n\n/**\n * Loaded fonts plus their atlases.\n *\n * `atlases` and `color_atlases` use the same keys (family name or URL), so a\n * family mixing text and emoji gets one of each.\n */\nexport class FontCache {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FontCacheFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_fontcache_free(ptr, 0);\n }\n /**\n * @param {string} url\n * @returns {string | undefined}\n */\n getAtlasKey(url) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.fontcache_getAtlasKey(this.__wbg_ptr, ptr0, len0);\n let v2;\n if (ret[0] !== 0) {\n v2 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v2;\n }\n /**\n * RGBA color atlas bytes by atlas key or font URL. `None` if no COLRv1\n * face has been loaded under this key.\n * @param {string} key\n * @returns {FontAtlas | undefined}\n */\n getColorAtlas(key) {\n const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.fontcache_getColorAtlas(this.__wbg_ptr, ptr0, len0);\n return ret === 0 ? undefined : FontAtlas.__wrap(ret);\n }\n /**\n * SDF atlas bytes by atlas key or font URL.\n * @param {string} key\n * @returns {FontAtlas | undefined}\n */\n getFontAtlas(key) {\n const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.fontcache_getFontAtlas(this.__wbg_ptr, ptr0, len0);\n return ret === 0 ? undefined : FontAtlas.__wrap(ret);\n }\n /**\n * @param {string} url\n * @returns {boolean}\n */\n isFontLoaded(url) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.fontcache_isFontLoaded(this.__wbg_ptr, ptr0, len0);\n return ret !== 0;\n }\n /**\n * Load font bytes into the cache.\n *\n * `atlas_key`: shared atlas identifier (e.g. family name). Omit to get a\n * per-URL atlas.\n * `mode`: `\"msdf\"` → MTSDF; anything else (including `None`) → SDF.\n * Selected by the TS `highQuality` boolean knob (`true` → `\"msdf\"`).\n *\n * Returns the font's cmap coverage as flattened `[from, to, ...]`\n * codepoint ranges (see [`cache::cmap_ranges`]) so the TS FontManager\n * can correct a face's declared unicode ranges once per file, or `None`\n * when the font failed to load.\n * @param {string} url\n * @param {number} byte_length\n * @param {Function} f\n * @param {string | null} [atlas_key]\n * @param {string | null} [mode]\n * @returns {Uint32Array | undefined}\n */\n loadFont(url, byte_length, f, atlas_key, mode) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(atlas_key) ? 0 : passStringToWasm0(atlas_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n var ptr2 = isLikeNone(mode) ? 0 : passStringToWasm0(mode, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len2 = WASM_VECTOR_LEN;\n const ret = wasm.fontcache_loadFont(this.__wbg_ptr, ptr0, len0, byte_length, f, ptr1, len1, ptr2, len2);\n let v4;\n if (ret[0] !== 0) {\n v4 = getArrayU32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v4;\n }\n /**\n * Snapshot of the cache's modeled resident bytes for diagnostics.\n * @returns {FontCacheStats}\n */\n memoryStats() {\n const ret = wasm.fontcache_memoryStats(this.__wbg_ptr);\n return FontCacheStats.__wrap(ret);\n }\n constructor() {\n const ret = wasm.fontcache_new();\n this.__wbg_ptr = ret;\n FontCacheFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Drop one visible-label reference from each glyph under `atlas_key`.\n * Called when a label hides or is disposed; once a glyph's count hits zero\n * it becomes eligible for eviction when the atlas next needs space.\n * @param {string} atlas_key\n * @param {BigUint64Array} keys\n */\n releaseGlyphs(atlas_key, keys) {\n const ptr0 = passStringToWasm0(atlas_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray64ToWasm0(keys, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n wasm.fontcache_releaseGlyphs(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n }\n /**\n * Add one visible-label reference to each glyph (composite keys) under\n * `atlas_key`. Called when a label using these glyphs becomes visible, so\n * the glyphs are pinned against eviction while on screen.\n * @param {string} atlas_key\n * @param {BigUint64Array} keys\n */\n retainGlyphs(atlas_key, keys) {\n const ptr0 = passStringToWasm0(atlas_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray64ToWasm0(keys, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n wasm.fontcache_retainGlyphs(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n }\n /**\n * Sets the cache's memory budget in bytes (font data + atlas pixels).\n * The budget caps further atlas growth — the WASM heap never shrinks —\n * so over-budget glyph bursts degrade to missing glyphs instead of\n * growing the atlas. `undefined` removes the budget.\n * @param {number | null} [bytes]\n */\n setBudget(bytes) {\n wasm.fontcache_setBudget(this.__wbg_ptr, !isLikeNone(bytes), isLikeNone(bytes) ? 0 : bytes);\n }\n /**\n * Shape `text` and ensure every glyph is in the appropriate atlas (SDF\n * for monochrome fonts, RGBA for COLRv1 fonts).\n * @param {string} url\n * @param {string} text\n * @returns {ShapeTextResult | undefined}\n */\n shapeText(url, text) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.fontcache_shapeText(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n return ret === 0 ? undefined : ShapeTextResult.__wrap(ret);\n }\n /**\n * @param {string} url\n * @returns {boolean}\n */\n unloadFont(url) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.fontcache_unloadFont(this.__wbg_ptr, ptr0, len0);\n return ret !== 0;\n }\n}\nif (Symbol.dispose) FontCache.prototype[Symbol.dispose] = FontCache.prototype.free;\n\n/**\n * Modeled memory usage of the font cache. Byte counts are `f64` because JS\n * has no u64; `budget_bytes == 0` means no budget is set.\n */\nexport class FontCacheStats {\n static __wrap(ptr) {\n const obj = Object.create(FontCacheStats.prototype);\n obj.__wbg_ptr = ptr;\n FontCacheStatsFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FontCacheStatsFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_fontcachestats_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get atlasBytes() {\n const ret = wasm.__wbg_get_fontcachestats_atlasBytes(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get atlasCount() {\n const ret = wasm.__wbg_get_fontcachestats_atlasCount(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get budgetBytes() {\n const ret = wasm.__wbg_get_fontcachestats_budgetBytes(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get colorAtlasBytes() {\n const ret = wasm.__wbg_get_fontcachestats_colorAtlasBytes(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get fontBytes() {\n const ret = wasm.__wbg_get_fontcachestats_fontBytes(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get fontCount() {\n const ret = wasm.__wbg_get_fontcachestats_fontCount(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get glyphCount() {\n const ret = wasm.__wbg_get_fontcachestats_glyphCount(this.__wbg_ptr);\n return ret >>> 0;\n }\n}\nif (Symbol.dispose) FontCacheStats.prototype[Symbol.dispose] = FontCacheStats.prototype.free;\n\nexport class Geometry {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n GeometryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_geometry_free(ptr, 0);\n }\n /**\n * @returns {boolean}\n */\n hasNormals() {\n const ret = wasm.geometry_hasNormals(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {boolean}\n */\n hasSkirt() {\n const ret = wasm.geometry_hasSkirt(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {Float32Array} vertices\n * @param {Uint32Array} indices\n * @param {Float32Array} uvs\n */\n constructor(vertices, indices, uvs) {\n const ptr0 = passArrayF32ToWasm0(vertices, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(indices, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArrayF32ToWasm0(uvs, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ret = wasm.geometry_new(ptr0, len0, ptr1, len1, ptr2, len2);\n this.__wbg_ptr = ret;\n GeometryFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {Uint32Array}\n */\n transferIndices() {\n const ret = wasm.geometry_transferIndices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferNormals() {\n const ret = wasm.geometry_transferNormals(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n transferSkirtIndices() {\n const ret = wasm.geometry_transferSkirtIndices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferSkirtNormals() {\n const ret = wasm.geometry_transferSkirtNormals(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferSkirtUvs() {\n const ret = wasm.geometry_transferSkirtUvs(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferSkirtVertices() {\n const ret = wasm.geometry_transferSkirtVertices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n transferUvs() {\n const ret = wasm.geometry_transferUvs(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n transferVertices() {\n const ret = wasm.geometry_transferVertices(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) Geometry.prototype[Symbol.dispose] = Geometry.prototype.free;\n\n/**\n * WASM wrapper for Globe resource.\n *\n * This provides a JavaScript-friendly interface for accessing and modifying\n * globe configuration properties.\n */\nexport class Globe {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n GlobeFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_globe_free(ptr, 0);\n }\n /**\n * Base color for the globe surface (RGB as u32).\n * @returns {number}\n */\n get color() {\n const ret = wasm.__wbg_get_globe_color(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Color map lookup table for elevation heatmap rendering.\n * Flattened RGB array: [r0,g0,b0, r1,g1,b1, ...].\n * @returns {Float32Array}\n */\n get elevationColormap() {\n const ret = wasm.__wbg_get_globe_elevationColormap(this.__wbg_ptr);\n var v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Whether to hide underground geometry. Disabling this value might cause unexpected behavior when using effect.\n * @returns {boolean}\n */\n get hideUnderground() {\n const ret = wasm.__wbg_get_globe_hideUnderground(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Whether the globe tiles with the Geographic scheme (quantized-mesh\n * terrain) rather than the default WebMercator. Engine-set output — the\n * web renderer selects its raster drape pipeline (baked vs direct) from\n * it at tile-mesh creation; ignored on input (the scheme is dictated by\n * the terrain source, not configurable).\n * @returns {boolean}\n */\n get isGeographicTiling() {\n const ret = wasm.__wbg_get_globe_isGeographicTiling(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Screen-space error threshold for level of detail (LOD) calculations. Initialization only.\n * @returns {number}\n */\n get maxSse() {\n const ret = wasm.__wbg_get_globe_maxSse(this.__wbg_ptr);\n return ret;\n }\n /**\n * Global opacity for materials (0.0 to 1.0).\n * @returns {number}\n */\n get opacity() {\n const ret = wasm.__wbg_get_globe_opacity(this.__wbg_ptr);\n return ret;\n }\n /**\n * Number of segments for mesh tessellation. Initialization only.\n * @returns {number}\n */\n get segments() {\n const ret = wasm.__wbg_get_globe_segments(this.__wbg_ptr);\n return ret;\n }\n /**\n * Whether materials should be transparent.\n * Note that blending works only for resource layer.\n * @returns {boolean}\n */\n get transparent() {\n const ret = wasm.__wbg_get_globe_transparent(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Whether to use normals. Initialization only.\n * @returns {boolean}\n */\n get useNormal() {\n const ret = wasm.__wbg_get_globe_useNormal(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Whether to render materials in wireframe mode.\n * @returns {boolean}\n */\n get wireframe() {\n const ret = wasm.__wbg_get_globe_wireframe(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {number} max_sse\n * @param {number} segments\n * @param {number} color\n * @param {boolean} hide_underground\n * @param {boolean} use_normal\n * @param {boolean} transparent\n * @param {number} opacity\n * @param {boolean} wireframe\n * @param {Float32Array} elevation_colormap\n */\n constructor(max_sse, segments, color, hide_underground, use_normal, transparent, opacity, wireframe, elevation_colormap) {\n const ptr0 = passArrayF32ToWasm0(elevation_colormap, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.globe_new(max_sse, segments, color, hide_underground, use_normal, transparent, opacity, wireframe, ptr0, len0);\n this.__wbg_ptr = ret;\n GlobeFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Base color for the globe surface (RGB as u32).\n * @param {number} arg0\n */\n set color(arg0) {\n wasm.__wbg_set_globe_color(this.__wbg_ptr, arg0);\n }\n /**\n * Color map lookup table for elevation heatmap rendering.\n * Flattened RGB array: [r0,g0,b0, r1,g1,b1, ...].\n * @param {Float32Array} arg0\n */\n set elevationColormap(arg0) {\n const ptr0 = passArrayF32ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_globe_elevationColormap(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Whether to hide underground geometry. Disabling this value might cause unexpected behavior when using effect.\n * @param {boolean} arg0\n */\n set hideUnderground(arg0) {\n wasm.__wbg_set_globe_hideUnderground(this.__wbg_ptr, arg0);\n }\n /**\n * Whether the globe tiles with the Geographic scheme (quantized-mesh\n * terrain) rather than the default WebMercator. Engine-set output — the\n * web renderer selects its raster drape pipeline (baked vs direct) from\n * it at tile-mesh creation; ignored on input (the scheme is dictated by\n * the terrain source, not configurable).\n * @param {boolean} arg0\n */\n set isGeographicTiling(arg0) {\n wasm.__wbg_set_globe_isGeographicTiling(this.__wbg_ptr, arg0);\n }\n /**\n * Screen-space error threshold for level of detail (LOD) calculations. Initialization only.\n * @param {number} arg0\n */\n set maxSse(arg0) {\n wasm.__wbg_set_globe_maxSse(this.__wbg_ptr, arg0);\n }\n /**\n * Global opacity for materials (0.0 to 1.0).\n * @param {number} arg0\n */\n set opacity(arg0) {\n wasm.__wbg_set_globe_opacity(this.__wbg_ptr, arg0);\n }\n /**\n * Number of segments for mesh tessellation. Initialization only.\n * @param {number} arg0\n */\n set segments(arg0) {\n wasm.__wbg_set_globe_segments(this.__wbg_ptr, arg0);\n }\n /**\n * Whether materials should be transparent.\n * Note that blending works only for resource layer.\n * @param {boolean} arg0\n */\n set transparent(arg0) {\n wasm.__wbg_set_globe_transparent(this.__wbg_ptr, arg0);\n }\n /**\n * Whether to use normals. Initialization only.\n * @param {boolean} arg0\n */\n set useNormal(arg0) {\n wasm.__wbg_set_globe_useNormal(this.__wbg_ptr, arg0);\n }\n /**\n * Whether to render materials in wireframe mode.\n * @param {boolean} arg0\n */\n set wireframe(arg0) {\n wasm.__wbg_set_globe_wireframe(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) Globe.prototype[Symbol.dispose] = Globe.prototype.free;\n\n/**\n * Hillshade render options for a `raster` layer. The elevation decoder is taken\n * from the referenced `raster-dem` source, not from here.\n */\nexport class HillshadeMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n HillshadeMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_hillshadematerial_free(ptr, 0);\n }\n /**\n * Exaggeration factor for hillshade effect (default: 1.0)\n * @returns {number | undefined}\n */\n get exaggeration() {\n const ret = wasm.__wbg_get_hillshadematerial_exaggeration(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Exaggeration factor for hillshade effect (default: 1.0)\n * @param {number | null} [arg0]\n */\n set exaggeration(arg0) {\n wasm.__wbg_set_hillshadematerial_exaggeration(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n}\nif (Symbol.dispose) HillshadeMaterial.prototype[Symbol.dispose] = HillshadeMaterial.prototype.free;\n\nexport class LLE {\n static __wrap(ptr) {\n const obj = Object.create(LLE.prototype);\n obj.__wbg_ptr = ptr;\n LLEFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n LLEFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_lle_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get height() {\n const ret = wasm.__wbg_get_lle_height(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get lat() {\n const ret = wasm.__wbg_get_lle_lat(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get lng() {\n const ret = wasm.__wbg_get_lle_lng(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} lat\n * @param {number} lng\n * @param {number} height\n */\n constructor(lat, lng, height) {\n const ret = wasm.lle_new(lat, lng, height);\n this.__wbg_ptr = ret;\n LLEFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {number} arg0\n */\n set height(arg0) {\n wasm.__wbg_set_lle_height(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set lat(arg0) {\n wasm.__wbg_set_lle_lat(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set lng(arg0) {\n wasm.__wbg_set_lle_lng(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) LLE.prototype[Symbol.dispose] = LLE.prototype.free;\n\nexport class ModelInternalMaterial {\n static __wrap(ptr) {\n const obj = Object.create(ModelInternalMaterial.prototype);\n obj.__wbg_ptr = ptr;\n ModelInternalMaterialFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ModelInternalMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_modelinternalmaterial_free(ptr, 0);\n }\n /**\n * @returns {boolean}\n */\n get dracoCompressed() {\n const ret = wasm.__wbg_get_modelinternalmaterial_dracoCompressed(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {Vec3}\n */\n get pointCloudGeodeticNormal() {\n const ret = wasm.__wbg_get_modelinternalmaterial_pointCloudGeodeticNormal(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @returns {boolean}\n */\n get pointCloud() {\n const ret = wasm.__wbg_get_modelinternalmaterial_pointCloud(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set dracoCompressed(arg0) {\n wasm.__wbg_set_modelinternalmaterial_dracoCompressed(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Vec3} arg0\n */\n set pointCloudGeodeticNormal(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_modelinternalmaterial_pointCloudGeodeticNormal(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {boolean} arg0\n */\n set pointCloud(arg0) {\n wasm.__wbg_set_modelinternalmaterial_pointCloud(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) ModelInternalMaterial.prototype[Symbol.dispose] = ModelInternalMaterial.prototype.free;\n\nexport class ModelMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ModelMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_modelmaterial_free(ptr, 0);\n }\n /**\n * @returns {ModelInternalMaterial | undefined}\n */\n get __internal__() {\n const ret = wasm.__wbg_get_modelmaterial___internal__(this.__wbg_ptr);\n return ret === 0 ? undefined : ModelInternalMaterial.__wrap(ret);\n }\n /**\n * @returns {string | undefined}\n */\n get animationActiveClip() {\n const ret = wasm.__wbg_get_modelmaterial_animationActiveClip(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * @returns {number | undefined}\n */\n get animationSpeed() {\n const ret = wasm.__wbg_get_modelmaterial_animationSpeed(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get applyWaterNormal() {\n const ret = wasm.__wbg_get_modelmaterial_applyWaterNormal(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get castShadow() {\n const ret = wasm.__wbg_get_modelmaterial_castShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get clampToGround() {\n const ret = wasm.__wbg_get_modelmaterial_clampToGround(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get color() {\n const ret = wasm.__wbg_get_modelmaterial_color(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Crease angle (in radians) used when `normals` is true. Defaults to 30°\n * (PI/6) when omitted.\n * @returns {number | undefined}\n */\n get creaseNormalAngle() {\n const ret = wasm.__wbg_get_modelmaterial_creaseNormalAngle(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Enable writing to depth buffer\n * @returns {boolean | undefined}\n */\n get depthWrite() {\n const ret = wasm.__wbg_get_modelmaterial_depthWrite(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @returns {string[] | undefined}\n */\n get effectIds() {\n const ret = wasm.__wbg_get_modelmaterial_effectIds(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @returns {number | undefined}\n */\n get emissiveColor() {\n const ret = wasm.__wbg_get_modelmaterial_emissiveColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @returns {number | undefined}\n */\n get emissiveIntensity() {\n const ret = wasm.__wbg_get_modelmaterial_emissiveIntensity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get height() {\n const ret = wasm.__wbg_get_modelmaterial_height(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get ior() {\n const ret = wasm.__wbg_get_modelmaterial_ior(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get maxSse() {\n const ret = wasm.__wbg_get_modelmaterial_maxSse(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get metalness() {\n const ret = wasm.__wbg_get_modelmaterial_metalness(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * When true, recompute vertex normals using a creased-normals algorithm\n * after the model loads. Useful for tiled glTF assets that ship without\n * normals or with low-quality normals.\n * @returns {boolean | undefined}\n */\n get normals() {\n const ret = wasm.__wbg_get_modelmaterial_normals(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Opacity value\n * @returns {number | undefined}\n */\n get opacity() {\n const ret = wasm.__wbg_get_modelmaterial_opacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get pointSize() {\n const ret = wasm.__wbg_get_modelmaterial_pointSize(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get receiveShadow() {\n const ret = wasm.__wbg_get_modelmaterial_receiveShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Reflectivity for post-process or env map.\n * @returns {number | undefined}\n */\n get reflectivity() {\n const ret = wasm.__wbg_get_modelmaterial_reflectivity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Reflectivity for post-process.\n * @returns {number | undefined}\n */\n get roughness() {\n const ret = wasm.__wbg_get_modelmaterial_roughness(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get shininess() {\n const ret = wasm.__wbg_get_modelmaterial_shininess(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get shouldRotateInDefault() {\n const ret = wasm.__wbg_get_modelmaterial_shouldRotateInDefault(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get showBoundingBox() {\n const ret = wasm.__wbg_get_modelmaterial_showBoundingBox(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_modelmaterial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get size() {\n const ret = wasm.__wbg_get_modelmaterial_size(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get specularStrength() {\n const ret = wasm.__wbg_get_modelmaterial_specularStrength(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Enabling this value allows using `shininess` and `specular_strength`.\n * @returns {boolean | undefined}\n */\n get specular() {\n const ret = wasm.__wbg_get_modelmaterial_specular(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Enable transparency and alpha blending\n * @returns {boolean | undefined}\n */\n get transparent() {\n const ret = wasm.__wbg_get_modelmaterial_transparent(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {string | undefined}\n */\n get url() {\n const ret = wasm.__wbg_get_modelmaterial_url(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * Scale water normal. Decreasing this value will make the water surface rough.\n * @returns {number | undefined}\n */\n get waterScaleNormal() {\n const ret = wasm.__wbg_get_modelmaterial_waterScaleNormal(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Water wave speed.\n * @returns {number | undefined}\n */\n get waterSpeed() {\n const ret = wasm.__wbg_get_modelmaterial_waterSpeed(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Apply a water material on the polygon. It might slow down the loading of the mesh.\n * @returns {boolean | undefined}\n */\n get water() {\n const ret = wasm.__wbg_get_modelmaterial_water(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @param {ModelInternalMaterial | null} [arg0]\n */\n set __internal__(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, ModelInternalMaterial);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_modelmaterial___internal__(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {string | null} [arg0]\n */\n set animationActiveClip(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_modelmaterial_animationActiveClip(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set animationSpeed(arg0) {\n wasm.__wbg_set_modelmaterial_animationSpeed(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set applyWaterNormal(arg0) {\n wasm.__wbg_set_modelmaterial_applyWaterNormal(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set castShadow(arg0) {\n wasm.__wbg_set_modelmaterial_castShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set clampToGround(arg0) {\n wasm.__wbg_set_modelmaterial_clampToGround(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set color(arg0) {\n wasm.__wbg_set_modelmaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Crease angle (in radians) used when `normals` is true. Defaults to 30°\n * (PI/6) when omitted.\n * @param {number | null} [arg0]\n */\n set creaseNormalAngle(arg0) {\n wasm.__wbg_set_modelmaterial_creaseNormalAngle(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Enable writing to depth buffer\n * @param {boolean | null} [arg0]\n */\n set depthWrite(arg0) {\n wasm.__wbg_set_modelmaterial_depthWrite(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @param {string[] | null} [arg0]\n */\n set effectIds(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_modelmaterial_effectIds(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @param {number | null} [arg0]\n */\n set emissiveColor(arg0) {\n wasm.__wbg_set_modelmaterial_emissiveColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @param {number | null} [arg0]\n */\n set emissiveIntensity(arg0) {\n wasm.__wbg_set_modelmaterial_emissiveIntensity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set height(arg0) {\n wasm.__wbg_set_modelmaterial_height(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set ior(arg0) {\n wasm.__wbg_set_modelmaterial_ior(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set maxSse(arg0) {\n wasm.__wbg_set_modelmaterial_maxSse(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set metalness(arg0) {\n wasm.__wbg_set_modelmaterial_metalness(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * When true, recompute vertex normals using a creased-normals algorithm\n * after the model loads. Useful for tiled glTF assets that ship without\n * normals or with low-quality normals.\n * @param {boolean | null} [arg0]\n */\n set normals(arg0) {\n wasm.__wbg_set_modelmaterial_normals(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Opacity value\n * @param {number | null} [arg0]\n */\n set opacity(arg0) {\n wasm.__wbg_set_modelmaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set pointSize(arg0) {\n wasm.__wbg_set_modelmaterial_pointSize(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set receiveShadow(arg0) {\n wasm.__wbg_set_modelmaterial_receiveShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Reflectivity for post-process or env map.\n * @param {number | null} [arg0]\n */\n set reflectivity(arg0) {\n wasm.__wbg_set_modelmaterial_reflectivity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Reflectivity for post-process.\n * @param {number | null} [arg0]\n */\n set roughness(arg0) {\n wasm.__wbg_set_modelmaterial_roughness(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set shininess(arg0) {\n wasm.__wbg_set_modelmaterial_shininess(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set shouldRotateInDefault(arg0) {\n wasm.__wbg_set_modelmaterial_shouldRotateInDefault(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set showBoundingBox(arg0) {\n wasm.__wbg_set_modelmaterial_showBoundingBox(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_modelmaterial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set size(arg0) {\n wasm.__wbg_set_modelmaterial_size(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set specularStrength(arg0) {\n wasm.__wbg_set_modelmaterial_specularStrength(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Enabling this value allows using `shininess` and `specular_strength`.\n * @param {boolean | null} [arg0]\n */\n set specular(arg0) {\n wasm.__wbg_set_modelmaterial_specular(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Enable transparency and alpha blending\n * @param {boolean | null} [arg0]\n */\n set transparent(arg0) {\n wasm.__wbg_set_modelmaterial_transparent(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {string | null} [arg0]\n */\n set url(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_modelmaterial_url(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Scale water normal. Decreasing this value will make the water surface rough.\n * @param {number | null} [arg0]\n */\n set waterScaleNormal(arg0) {\n wasm.__wbg_set_modelmaterial_waterScaleNormal(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Water wave speed.\n * @param {number | null} [arg0]\n */\n set waterSpeed(arg0) {\n wasm.__wbg_set_modelmaterial_waterSpeed(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Apply a water material on the polygon. It might slow down the loading of the mesh.\n * @param {boolean | null} [arg0]\n */\n set water(arg0) {\n wasm.__wbg_set_modelmaterial_water(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n}\nif (Symbol.dispose) ModelMaterial.prototype[Symbol.dispose] = ModelMaterial.prototype.free;\n\nexport class NearFar {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NearFarFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_nearfar_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get far() {\n const ret = wasm.__wbg_get_nearfar_far(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get near() {\n const ret = wasm.__wbg_get_nearfar_near(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set far(arg0) {\n wasm.__wbg_set_nearfar_far(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set near(arg0) {\n wasm.__wbg_set_nearfar_near(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) NearFar.prototype[Symbol.dispose] = NearFar.prototype.free;\n\nexport class OverscaledTileHandle {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n OverscaledTileHandleFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_overscaledtilehandle_free(ptr, 0);\n }\n /**\n * @returns {bigint}\n */\n get handle() {\n const ret = wasm.__wbg_get_overscaledtilehandle_handle(this.__wbg_ptr);\n return BigInt.asUintN(64, ret);\n }\n /**\n * @param {bigint} arg0\n */\n set handle(arg0) {\n wasm.__wbg_set_overscaledtilehandle_handle(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) OverscaledTileHandle.prototype[Symbol.dispose] = OverscaledTileHandle.prototype.free;\n\nexport class Plane {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PlaneFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_plane_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get distance() {\n const ret = wasm.__wbg_get_plane_distance(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Vec3}\n */\n get normal() {\n const ret = wasm.__wbg_get_plane_normal(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @param {number} arg0\n */\n set distance(arg0) {\n wasm.__wbg_set_plane_distance(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Vec3} arg0\n */\n set normal(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_plane_normal(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) Plane.prototype[Symbol.dispose] = Plane.prototype.free;\n\nexport class PointMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PointMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_pointmaterial_free(ptr, 0);\n }\n /**\n * anchor point of the sprite, range is (-0.5, -0.5) to (0.5, 0.5).\n * Default is (0.0, 0.0) which means the center of the sprite.\n * @returns {Vec2 | undefined}\n */\n get center() {\n const ret = wasm.__wbg_get_pointmaterial_center(this.__wbg_ptr);\n return ret === 0 ? undefined : Vec2.__wrap(ret);\n }\n /**\n * @returns {boolean | undefined}\n */\n get clampToGround() {\n const ret = wasm.__wbg_get_pointmaterial_clampToGround(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get color() {\n const ret = wasm.__wbg_get_pointmaterial_color(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Placement priority for decluttering; higher wins. Only meaningful when\n * `declutter` is enabled. Defaults to `0.0`.\n * @returns {number | undefined}\n */\n get declutterPriority() {\n const ret = wasm.__wbg_get_pointmaterial_declutterPriority(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Participate in screen-space decluttering: when labels/sprites overlap\n * on screen, lower-priority ones are hidden. Defaults to `true`; set to\n * `false` to draw every label unconditionally.\n * @returns {boolean | undefined}\n */\n get declutter() {\n const ret = wasm.__wbg_get_pointmaterial_declutter(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get depthTest() {\n const ret = wasm.__wbg_get_pointmaterial_depthTest(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @returns {string[] | undefined}\n */\n get effectIds() {\n const ret = wasm.__wbg_get_pointmaterial_effectIds(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @returns {number | undefined}\n */\n get emissiveColor() {\n const ret = wasm.__wbg_get_pointmaterial_emissiveColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @returns {number | undefined}\n */\n get emissiveIntensity() {\n const ret = wasm.__wbg_get_pointmaterial_emissiveIntensity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get height() {\n const ret = wasm.__wbg_get_pointmaterial_height(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Avoid overlapping with the globe surface.\n * @returns {boolean | undefined}\n */\n get offsetDepth() {\n const ret = wasm.__wbg_get_pointmaterial_offsetDepth(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get opacity() {\n const ret = wasm.__wbg_get_pointmaterial_opacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_pointmaterial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Whether the size is specified in meters. If false, the size is in pixels. Default is true.\n * @returns {boolean | undefined}\n */\n get sizeInMeters() {\n const ret = wasm.__wbg_get_pointmaterial_sizeInMeters(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * size in pixels/meters (units are determined by `sizeInMeters`).\n * @returns {number | undefined}\n */\n get size() {\n const ret = wasm.__wbg_get_pointmaterial_size(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get transparent() {\n const ret = wasm.__wbg_get_pointmaterial_transparent(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * anchor point of the sprite, range is (-0.5, -0.5) to (0.5, 0.5).\n * Default is (0.0, 0.0) which means the center of the sprite.\n * @param {Vec2 | null} [arg0]\n */\n set center(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, Vec2);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_pointmaterial_center(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set clampToGround(arg0) {\n wasm.__wbg_set_pointmaterial_clampToGround(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set color(arg0) {\n wasm.__wbg_set_pointmaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Placement priority for decluttering; higher wins. Only meaningful when\n * `declutter` is enabled. Defaults to `0.0`.\n * @param {number | null} [arg0]\n */\n set declutterPriority(arg0) {\n wasm.__wbg_set_pointmaterial_declutterPriority(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Participate in screen-space decluttering: when labels/sprites overlap\n * on screen, lower-priority ones are hidden. Defaults to `true`; set to\n * `false` to draw every label unconditionally.\n * @param {boolean | null} [arg0]\n */\n set declutter(arg0) {\n wasm.__wbg_set_pointmaterial_declutter(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set depthTest(arg0) {\n wasm.__wbg_set_pointmaterial_depthTest(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @param {string[] | null} [arg0]\n */\n set effectIds(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_pointmaterial_effectIds(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @param {number | null} [arg0]\n */\n set emissiveColor(arg0) {\n wasm.__wbg_set_pointmaterial_emissiveColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @param {number | null} [arg0]\n */\n set emissiveIntensity(arg0) {\n wasm.__wbg_set_pointmaterial_emissiveIntensity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set height(arg0) {\n wasm.__wbg_set_pointmaterial_height(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Avoid overlapping with the globe surface.\n * @param {boolean | null} [arg0]\n */\n set offsetDepth(arg0) {\n wasm.__wbg_set_pointmaterial_offsetDepth(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set opacity(arg0) {\n wasm.__wbg_set_pointmaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_pointmaterial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Whether the size is specified in meters. If false, the size is in pixels. Default is true.\n * @param {boolean | null} [arg0]\n */\n set sizeInMeters(arg0) {\n wasm.__wbg_set_pointmaterial_sizeInMeters(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * size in pixels/meters (units are determined by `sizeInMeters`).\n * @param {number | null} [arg0]\n */\n set size(arg0) {\n wasm.__wbg_set_pointmaterial_size(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set transparent(arg0) {\n wasm.__wbg_set_pointmaterial_transparent(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n}\nif (Symbol.dispose) PointMaterial.prototype[Symbol.dispose] = PointMaterial.prototype.free;\n\nexport class PolygonGeometry {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolygonGeometryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polygongeometry_free(ptr, 0);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n batch_id() {\n const ret = wasm.polygongeometry_batch_id(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_id_size() {\n const ret = wasm.polygongeometry_batch_id_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n batch_index() {\n const ret = wasm.polygongeometry_batch_index(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_index_size() {\n const ret = wasm.polygongeometry_batch_index_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array}\n */\n indices() {\n const ret = wasm.polygongeometry_indices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n normal() {\n const ret = wasm.polygongeometry_normal(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n normal_size() {\n const ret = wasm.polygongeometry_normal_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position() {\n const ret = wasm.polygongeometry_position(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_3d_high() {\n const ret = wasm.polygongeometry_position_3d_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_3d_high_size() {\n const ret = wasm.polygongeometry_position_3d_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_3d_low() {\n const ret = wasm.polygongeometry_position_3d_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_3d_low_size() {\n const ret = wasm.polygongeometry_position_3d_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_size() {\n const ret = wasm.polygongeometry_position_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n scale_normal_and_cap() {\n const ret = wasm.polygongeometry_scale_normal_and_cap(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n scale_normal_and_cap_size() {\n const ret = wasm.polygongeometry_scale_normal_and_cap_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n}\nif (Symbol.dispose) PolygonGeometry.prototype[Symbol.dispose] = PolygonGeometry.prototype.free;\n\nexport class PolygonGeometryAttributes {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolygonGeometryAttributesFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polygongeometryattributes_free(ptr, 0);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_batch_id() {\n const ret = wasm.polygongeometryattributes_transfer_batch_id(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_batch_id_size() {\n const ret = wasm.polygongeometryattributes_transfer_batch_id_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n transfer_batch_index() {\n const ret = wasm.polygongeometryattributes_transfer_batch_index(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_batch_index_size() {\n const ret = wasm.polygongeometryattributes_transfer_batch_index_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_normal() {\n const ret = wasm.polygongeometryattributes_transfer_normal(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_normal_size() {\n const ret = wasm.polygongeometryattributes_transfer_normal_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_position() {\n const ret = wasm.polygongeometryattributes_transfer_position(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_position_3d_high() {\n const ret = wasm.polygongeometryattributes_transfer_position_3d_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_position_3d_high_size() {\n const ret = wasm.polygongeometryattributes_transfer_position_3d_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_position_3d_low() {\n const ret = wasm.polygongeometryattributes_transfer_position_3d_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_position_3d_low_size() {\n const ret = wasm.polygongeometryattributes_transfer_position_3d_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_position_size() {\n const ret = wasm.polygongeometryattributes_transfer_position_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_scale_normal_and_cap() {\n const ret = wasm.polygongeometryattributes_transfer_scale_normal_and_cap(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_scale_normal_and_cap_size() {\n const ret = wasm.polygongeometryattributes_transfer_scale_normal_and_cap_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n}\nif (Symbol.dispose) PolygonGeometryAttributes.prototype[Symbol.dispose] = PolygonGeometryAttributes.prototype.free;\n\nexport class PolygonInternalMaterial {\n static __wrap(ptr) {\n const obj = Object.create(PolygonInternalMaterial.prototype);\n obj.__wbg_ptr = ptr;\n PolygonInternalMaterialFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolygonInternalMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polygoninternalmaterial_free(ptr, 0);\n }\n /**\n * @returns {Float64Array}\n */\n get minMaxHeights() {\n const ret = wasm.__wbg_get_polygoninternalmaterial_minMaxHeights(this.__wbg_ptr);\n var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);\n return v1;\n }\n /**\n * @param {Float64Array} arg0\n */\n set minMaxHeights(arg0) {\n const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_polygoninternalmaterial_minMaxHeights(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) PolygonInternalMaterial.prototype[Symbol.dispose] = PolygonInternalMaterial.prototype.free;\n\nexport class PolygonMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolygonMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polygonmaterial_free(ptr, 0);\n }\n /**\n * @returns {PolygonInternalMaterial | undefined}\n */\n get __internal__() {\n const ret = wasm.__wbg_get_polygonmaterial___internal__(this.__wbg_ptr);\n return ret === 0 ? undefined : PolygonInternalMaterial.__wrap(ret);\n }\n /**\n * @returns {boolean | undefined}\n */\n get applyWaterNormal() {\n const ret = wasm.__wbg_get_polygonmaterial_applyWaterNormal(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get castShadow() {\n const ret = wasm.__wbg_get_polygonmaterial_castShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get clampToGround() {\n const ret = wasm.__wbg_get_polygonmaterial_clampToGround(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get color() {\n const ret = wasm.__wbg_get_polygonmaterial_color(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @returns {string[] | undefined}\n */\n get effectIds() {\n const ret = wasm.__wbg_get_polygonmaterial_effectIds(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @returns {number | undefined}\n */\n get emissiveColor() {\n const ret = wasm.__wbg_get_polygonmaterial_emissiveColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @returns {number | undefined}\n */\n get emissiveIntensity() {\n const ret = wasm.__wbg_get_polygonmaterial_emissiveIntensity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get extrudedHeight() {\n const ret = wasm.__wbg_get_polygonmaterial_extrudedHeight(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get height() {\n const ret = wasm.__wbg_get_polygonmaterial_height(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get ior() {\n const ret = wasm.__wbg_get_polygonmaterial_ior(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Need to enable `transparent`.\n * @returns {number | undefined}\n */\n get opacity() {\n const ret = wasm.__wbg_get_polygonmaterial_opacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @returns {number | undefined}\n */\n get outlineColor() {\n const ret = wasm.__wbg_get_polygonmaterial_outlineColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @returns {boolean | undefined}\n */\n get outlineShow() {\n const ret = wasm.__wbg_get_polygonmaterial_outlineShow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @returns {number | undefined}\n */\n get outlineWidth() {\n const ret = wasm.__wbg_get_polygonmaterial_outlineWidth(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Whether to compute outline geometry. Only effective at initial load time.\n * When not set, inferred from `outlineShow`.\n * @returns {boolean | undefined}\n */\n get outline() {\n const ret = wasm.__wbg_get_polygonmaterial_outline(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Whether or not the height is obtained from the data. If false, the height is constant.\n * @returns {boolean | undefined}\n */\n get perPositionHeight() {\n const ret = wasm.__wbg_get_polygonmaterial_perPositionHeight(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get receiveShadow() {\n const ret = wasm.__wbg_get_polygonmaterial_receiveShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Reflectivity for post-process or env map.\n * @returns {number | undefined}\n */\n get reflectivity() {\n const ret = wasm.__wbg_get_polygonmaterial_reflectivity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Reflectivity for post-process.\n * @returns {number | undefined}\n */\n get roughness() {\n const ret = wasm.__wbg_get_polygonmaterial_roughness(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get shininess() {\n const ret = wasm.__wbg_get_polygonmaterial_shininess(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_polygonmaterial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get specularStrength() {\n const ret = wasm.__wbg_get_polygonmaterial_specularStrength(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Enabling this value allows using `shininess` and `specular_strength`.\n * @returns {boolean | undefined}\n */\n get specular() {\n const ret = wasm.__wbg_get_polygonmaterial_specular(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @returns {boolean | undefined}\n */\n get surfaceShow() {\n const ret = wasm.__wbg_get_polygonmaterial_surfaceShow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Splits the polygon into XYZ vector tiles for rendering, even when the\n * data source is not an MVT layer. This can improve performance for large\n * polygons.\n *\n * Enabling `clamp_to_ground` implicitly forces `tiled` to `true`.\n * Outline rendering is not supported when `tiled` is enabled.\n * @returns {boolean | undefined}\n */\n get tiled() {\n const ret = wasm.__wbg_get_polygonmaterial_tiled(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Enable `opacity`. It might cause unexpected behavior when you use an effect.\n * @returns {boolean | undefined}\n */\n get transparent() {\n const ret = wasm.__wbg_get_polygonmaterial_transparent(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Scale water normal. Decreasing this value will make the water surface rough.\n * @returns {number | undefined}\n */\n get waterScaleNormal() {\n const ret = wasm.__wbg_get_polygonmaterial_waterScaleNormal(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Water wave speed.\n * @returns {number | undefined}\n */\n get waterSpeed() {\n const ret = wasm.__wbg_get_polygonmaterial_waterSpeed(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Apply a water material on the polygon. It might slow down the loading of the mesh.\n * @returns {boolean | undefined}\n */\n get water() {\n const ret = wasm.__wbg_get_polygonmaterial_water(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get wireframe() {\n const ret = wasm.__wbg_get_polygonmaterial_wireframe(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @param {boolean | null} [show]\n * @param {boolean | null} [cast_shadow]\n * @param {boolean | null} [receive_shadow]\n * @param {number | null} [color]\n * @param {boolean | null} [clamp_to_ground]\n * @param {boolean | null} [tiled]\n * @param {number | null} [height]\n * @param {number | null} [extruded_height]\n * @param {boolean | null} [wireframe]\n * @param {boolean | null} [outline]\n * @param {boolean | null} [per_position_height]\n * @param {PolygonInternalMaterial | null} [__internal__]\n */\n constructor(show, cast_shadow, receive_shadow, color, clamp_to_ground, tiled, height, extruded_height, wireframe, outline, per_position_height, __internal__) {\n let ptr0 = 0;\n if (!isLikeNone(__internal__)) {\n _assertClass(__internal__, PolygonInternalMaterial);\n ptr0 = __internal__.__destroy_into_raw();\n }\n const ret = wasm.polygonmaterial_new(isLikeNone(show) ? 0xFFFFFF : show ? 1 : 0, isLikeNone(cast_shadow) ? 0xFFFFFF : cast_shadow ? 1 : 0, isLikeNone(receive_shadow) ? 0xFFFFFF : receive_shadow ? 1 : 0, isLikeNone(color) ? Number.MAX_SAFE_INTEGER : (color) >>> 0, isLikeNone(clamp_to_ground) ? 0xFFFFFF : clamp_to_ground ? 1 : 0, isLikeNone(tiled) ? 0xFFFFFF : tiled ? 1 : 0, isLikeNone(height) ? Number.MAX_SAFE_INTEGER : Math.fround(height), isLikeNone(extruded_height) ? Number.MAX_SAFE_INTEGER : Math.fround(extruded_height), isLikeNone(wireframe) ? 0xFFFFFF : wireframe ? 1 : 0, isLikeNone(outline) ? 0xFFFFFF : outline ? 1 : 0, isLikeNone(per_position_height) ? 0xFFFFFF : per_position_height ? 1 : 0, ptr0);\n this.__wbg_ptr = ret;\n PolygonMaterialFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {PolygonInternalMaterial | null} [arg0]\n */\n set __internal__(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, PolygonInternalMaterial);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_polygonmaterial___internal__(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set applyWaterNormal(arg0) {\n wasm.__wbg_set_polygonmaterial_applyWaterNormal(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set castShadow(arg0) {\n wasm.__wbg_set_polygonmaterial_castShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set clampToGround(arg0) {\n wasm.__wbg_set_polygonmaterial_clampToGround(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set color(arg0) {\n wasm.__wbg_set_polygonmaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @param {string[] | null} [arg0]\n */\n set effectIds(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_polygonmaterial_effectIds(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @param {number | null} [arg0]\n */\n set emissiveColor(arg0) {\n wasm.__wbg_set_polygonmaterial_emissiveColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @param {number | null} [arg0]\n */\n set emissiveIntensity(arg0) {\n wasm.__wbg_set_polygonmaterial_emissiveIntensity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set extrudedHeight(arg0) {\n wasm.__wbg_set_polygonmaterial_extrudedHeight(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set height(arg0) {\n wasm.__wbg_set_polygonmaterial_height(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set ior(arg0) {\n wasm.__wbg_set_polygonmaterial_ior(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Need to enable `transparent`.\n * @param {number | null} [arg0]\n */\n set opacity(arg0) {\n wasm.__wbg_set_polygonmaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @param {number | null} [arg0]\n */\n set outlineColor(arg0) {\n wasm.__wbg_set_polygonmaterial_outlineColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @param {boolean | null} [arg0]\n */\n set outlineShow(arg0) {\n wasm.__wbg_set_polygonmaterial_outlineShow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @param {number | null} [arg0]\n */\n set outlineWidth(arg0) {\n wasm.__wbg_set_polygonmaterial_outlineWidth(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Whether to compute outline geometry. Only effective at initial load time.\n * When not set, inferred from `outlineShow`.\n * @param {boolean | null} [arg0]\n */\n set outline(arg0) {\n wasm.__wbg_set_polygonmaterial_outline(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Whether or not the height is obtained from the data. If false, the height is constant.\n * @param {boolean | null} [arg0]\n */\n set perPositionHeight(arg0) {\n wasm.__wbg_set_polygonmaterial_perPositionHeight(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set receiveShadow(arg0) {\n wasm.__wbg_set_polygonmaterial_receiveShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Reflectivity for post-process or env map.\n * @param {number | null} [arg0]\n */\n set reflectivity(arg0) {\n wasm.__wbg_set_polygonmaterial_reflectivity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Reflectivity for post-process.\n * @param {number | null} [arg0]\n */\n set roughness(arg0) {\n wasm.__wbg_set_polygonmaterial_roughness(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set shininess(arg0) {\n wasm.__wbg_set_polygonmaterial_shininess(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_polygonmaterial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set specularStrength(arg0) {\n wasm.__wbg_set_polygonmaterial_specularStrength(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Enabling this value allows using `shininess` and `specular_strength`.\n * @param {boolean | null} [arg0]\n */\n set specular(arg0) {\n wasm.__wbg_set_polygonmaterial_specular(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @param {boolean | null} [arg0]\n */\n set surfaceShow(arg0) {\n wasm.__wbg_set_polygonmaterial_surfaceShow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Splits the polygon into XYZ vector tiles for rendering, even when the\n * data source is not an MVT layer. This can improve performance for large\n * polygons.\n *\n * Enabling `clamp_to_ground` implicitly forces `tiled` to `true`.\n * Outline rendering is not supported when `tiled` is enabled.\n * @param {boolean | null} [arg0]\n */\n set tiled(arg0) {\n wasm.__wbg_set_polygonmaterial_tiled(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Enable `opacity`. It might cause unexpected behavior when you use an effect.\n * @param {boolean | null} [arg0]\n */\n set transparent(arg0) {\n wasm.__wbg_set_polygonmaterial_transparent(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Scale water normal. Decreasing this value will make the water surface rough.\n * @param {number | null} [arg0]\n */\n set waterScaleNormal(arg0) {\n wasm.__wbg_set_polygonmaterial_waterScaleNormal(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Water wave speed.\n * @param {number | null} [arg0]\n */\n set waterSpeed(arg0) {\n wasm.__wbg_set_polygonmaterial_waterSpeed(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Apply a water material on the polygon. It might slow down the loading of the mesh.\n * @param {boolean | null} [arg0]\n */\n set water(arg0) {\n wasm.__wbg_set_polygonmaterial_water(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set wireframe(arg0) {\n wasm.__wbg_set_polygonmaterial_wireframe(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n}\nif (Symbol.dispose) PolygonMaterial.prototype[Symbol.dispose] = PolygonMaterial.prototype.free;\n\nexport class PolylineGeometry {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolylineGeometryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polylinegeometry_free(ptr, 0);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n batch_id() {\n const ret = wasm.polylinegeometry_batch_id(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_id_size() {\n const ret = wasm.polylinegeometry_batch_id_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n batch_index() {\n const ret = wasm.polylinegeometry_batch_index(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_index_size() {\n const ret = wasm.polylinegeometry_batch_index_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n end_high() {\n const ret = wasm.polylinegeometry_end_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n end_high_size() {\n const ret = wasm.polylinegeometry_end_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n end_low() {\n const ret = wasm.polylinegeometry_end_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n end_low_size() {\n const ret = wasm.polylinegeometry_end_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n end_normal_and_texture_coordinate_normalization_x() {\n const ret = wasm.polylinegeometry_end_normal_and_texture_coordinate_normalization_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n end_normal_and_texture_coordinate_normalization_x_size() {\n const ret = wasm.polylinegeometry_end_normal_and_texture_coordinate_normalization_x_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n forward_offset() {\n const ret = wasm.polylinegeometry_forward_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n forward_offset_size() {\n const ret = wasm.polylinegeometry_forward_offset_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array}\n */\n indices() {\n const ret = wasm.polylinegeometry_indices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n position() {\n const ret = wasm.polylinegeometry_position(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_high() {\n const ret = wasm.polylinegeometry_position_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_high_size() {\n const ret = wasm.polylinegeometry_position_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_low() {\n const ret = wasm.polylinegeometry_position_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_low_size() {\n const ret = wasm.polylinegeometry_position_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number}\n */\n position_size() {\n const ret = wasm.polylinegeometry_position_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n right_normal_and_texture_coordinate_normalization_y() {\n const ret = wasm.polylinegeometry_right_normal_and_texture_coordinate_normalization_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n right_normal_and_texture_coordinate_normalization_y_size() {\n const ret = wasm.polylinegeometry_right_normal_and_texture_coordinate_normalization_y_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start() {\n const ret = wasm.polylinegeometry_start(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start_high() {\n const ret = wasm.polylinegeometry_start_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_high_size() {\n const ret = wasm.polylinegeometry_start_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start_low() {\n const ret = wasm.polylinegeometry_start_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_low_size() {\n const ret = wasm.polylinegeometry_start_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start_normals() {\n const ret = wasm.polylinegeometry_start_normals(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_normals_size() {\n const ret = wasm.polylinegeometry_start_normals_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_size() {\n const ret = wasm.polylinegeometry_start_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n}\nif (Symbol.dispose) PolylineGeometry.prototype[Symbol.dispose] = PolylineGeometry.prototype.free;\n\nexport class PolylineGeometryAttributes {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolylineGeometryAttributesFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polylinegeometryattributes_free(ptr, 0);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_batch_id() {\n const ret = wasm.polylinegeometryattributes_transfer_batch_id(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_batch_id_size() {\n const ret = wasm.polylinegeometryattributes_transfer_batch_id_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n transfer_batch_index() {\n const ret = wasm.polylinegeometryattributes_transfer_batch_index(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_batch_index_size() {\n const ret = wasm.polylinegeometryattributes_transfer_batch_index_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_end_high() {\n const ret = wasm.polylinegeometryattributes_transfer_end_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_end_high_size() {\n const ret = wasm.polylinegeometryattributes_transfer_end_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_end_low() {\n const ret = wasm.polylinegeometryattributes_transfer_end_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_end_low_size() {\n const ret = wasm.polylinegeometryattributes_transfer_end_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_end_normal_and_texture_coordinate_normalization_x() {\n const ret = wasm.polylinegeometryattributes_transfer_end_normal_and_texture_coordinate_normalization_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_end_normal_and_texture_coordinate_normalization_x_size() {\n const ret = wasm.polylinegeometryattributes_transfer_end_normal_and_texture_coordinate_normalization_x_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_forward_offset() {\n const ret = wasm.polylinegeometryattributes_transfer_forward_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_forward_offset_size() {\n const ret = wasm.polylinegeometryattributes_transfer_forward_offset_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array}\n */\n transfer_position() {\n const ret = wasm.polylinegeometryattributes_transfer_position(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_position_high() {\n const ret = wasm.polylinegeometryattributes_transfer_position_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_position_high_size() {\n const ret = wasm.polylinegeometryattributes_transfer_position_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_position_low() {\n const ret = wasm.polylinegeometryattributes_transfer_position_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_position_low_size() {\n const ret = wasm.polylinegeometryattributes_transfer_position_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number}\n */\n transfer_position_size() {\n const ret = wasm.polylinegeometryattributes_transfer_position_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n transfer_right_normal_and_texture_coordinate_normalization_y() {\n const ret = wasm.polylinegeometryattributes_transfer_right_normal_and_texture_coordinate_normalization_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n transfer_right_normal_and_texture_coordinate_normalization_y_size() {\n const ret = wasm.polylinegeometryattributes_transfer_right_normal_and_texture_coordinate_normalization_y_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_start() {\n const ret = wasm.polylinegeometryattributes_transfer_start(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_start_high() {\n const ret = wasm.polylinegeometryattributes_transfer_start_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_start_high_size() {\n const ret = wasm.polylinegeometryattributes_transfer_start_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_start_low() {\n const ret = wasm.polylinegeometryattributes_transfer_start_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_start_low_size() {\n const ret = wasm.polylinegeometryattributes_transfer_start_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_start_normals() {\n const ret = wasm.polylinegeometryattributes_transfer_start_normals(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_start_normals_size() {\n const ret = wasm.polylinegeometryattributes_transfer_start_normals_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_start_size() {\n const ret = wasm.polylinegeometryattributes_transfer_start_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n}\nif (Symbol.dispose) PolylineGeometryAttributes.prototype[Symbol.dispose] = PolylineGeometryAttributes.prototype.free;\n\nexport class PolylineInternalMaterial {\n static __wrap(ptr) {\n const obj = Object.create(PolylineInternalMaterial.prototype);\n obj.__wbg_ptr = ptr;\n PolylineInternalMaterialFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolylineInternalMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polylineinternalmaterial_free(ptr, 0);\n }\n /**\n * @returns {Float64Array}\n */\n get minMaxHeights() {\n const ret = wasm.__wbg_get_polylineinternalmaterial_minMaxHeights(this.__wbg_ptr);\n var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);\n return v1;\n }\n /**\n * @param {Float64Array} arg0\n */\n set minMaxHeights(arg0) {\n const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_polylineinternalmaterial_minMaxHeights(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) PolylineInternalMaterial.prototype[Symbol.dispose] = PolylineInternalMaterial.prototype.free;\n\nexport class PolylineMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolylineMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polylinematerial_free(ptr, 0);\n }\n /**\n * @returns {PolylineInternalMaterial | undefined}\n */\n get __internal__() {\n const ret = wasm.__wbg_get_polylinematerial___internal__(this.__wbg_ptr);\n return ret === 0 ? undefined : PolylineInternalMaterial.__wrap(ret);\n }\n /**\n * @returns {boolean | undefined}\n */\n get castShadow() {\n const ret = wasm.__wbg_get_polylinematerial_castShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get clampToGround() {\n const ret = wasm.__wbg_get_polylinematerial_clampToGround(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get color() {\n const ret = wasm.__wbg_get_polylinematerial_color(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Enable writing to depth buffer\n * @returns {boolean | undefined}\n */\n get depthWrite() {\n const ret = wasm.__wbg_get_polylinematerial_depthWrite(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @returns {string[] | undefined}\n */\n get effectIds() {\n const ret = wasm.__wbg_get_polylinematerial_effectIds(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @returns {number | undefined}\n */\n get emissiveColor() {\n const ret = wasm.__wbg_get_polylinematerial_emissiveColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @returns {number | undefined}\n */\n get emissiveIntensity() {\n const ret = wasm.__wbg_get_polylinematerial_emissiveIntensity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get height() {\n const ret = wasm.__wbg_get_polylinematerial_height(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Maximum line width in pixels, clamping the rendered width regardless of zoom level.\n * Smaller values are cheaper to render as they reduce fragment shader overdraw.\n * @returns {number | undefined}\n */\n get maxWidth() {\n const ret = wasm.__wbg_get_polylinematerial_maxWidth(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Opacity value\n * @returns {number | undefined}\n */\n get opacity() {\n const ret = wasm.__wbg_get_polylinematerial_opacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get receiveShadow() {\n const ret = wasm.__wbg_get_polylinematerial_receiveShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_polylinematerial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Splits the polyline into XYZ vector tiles for rendering, even when the\n * data source is not an MVT layer. This can improve performance for large\n * polylines.\n *\n * Enabling `clamp_to_ground` implicitly forces `tiled` to `true`.\n * @returns {boolean | undefined}\n */\n get tiled() {\n const ret = wasm.__wbg_get_polylinematerial_tiled(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Enable transparency and alpha blending\n * @returns {boolean | undefined}\n */\n get transparent() {\n const ret = wasm.__wbg_get_polylinematerial_transparent(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get width() {\n const ret = wasm.__wbg_get_polylinematerial_width(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @param {boolean | null} [show]\n * @param {boolean | null} [cast_shadow]\n * @param {boolean | null} [receive_shadow]\n * @param {number | null} [color]\n * @param {boolean | null} [clamp_to_ground]\n * @param {boolean | null} [tiled]\n * @param {number | null} [height]\n * @param {number | null} [width]\n * @param {number | null} [max_width]\n * @param {PolylineInternalMaterial | null} [__internal__]\n */\n constructor(show, cast_shadow, receive_shadow, color, clamp_to_ground, tiled, height, width, max_width, __internal__) {\n let ptr0 = 0;\n if (!isLikeNone(__internal__)) {\n _assertClass(__internal__, PolylineInternalMaterial);\n ptr0 = __internal__.__destroy_into_raw();\n }\n const ret = wasm.polylinematerial_new(isLikeNone(show) ? 0xFFFFFF : show ? 1 : 0, isLikeNone(cast_shadow) ? 0xFFFFFF : cast_shadow ? 1 : 0, isLikeNone(receive_shadow) ? 0xFFFFFF : receive_shadow ? 1 : 0, isLikeNone(color) ? Number.MAX_SAFE_INTEGER : (color) >>> 0, isLikeNone(clamp_to_ground) ? 0xFFFFFF : clamp_to_ground ? 1 : 0, isLikeNone(tiled) ? 0xFFFFFF : tiled ? 1 : 0, isLikeNone(height) ? Number.MAX_SAFE_INTEGER : Math.fround(height), isLikeNone(width) ? Number.MAX_SAFE_INTEGER : Math.fround(width), isLikeNone(max_width) ? Number.MAX_SAFE_INTEGER : Math.fround(max_width), ptr0);\n this.__wbg_ptr = ret;\n PolylineMaterialFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {PolylineInternalMaterial | null} [arg0]\n */\n set __internal__(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, PolylineInternalMaterial);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_polylinematerial___internal__(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set castShadow(arg0) {\n wasm.__wbg_set_polylinematerial_castShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set clampToGround(arg0) {\n wasm.__wbg_set_polylinematerial_clampToGround(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set color(arg0) {\n wasm.__wbg_set_polylinematerial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Enable writing to depth buffer\n * @param {boolean | null} [arg0]\n */\n set depthWrite(arg0) {\n wasm.__wbg_set_polylinematerial_depthWrite(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @param {string[] | null} [arg0]\n */\n set effectIds(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_polylinematerial_effectIds(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @param {number | null} [arg0]\n */\n set emissiveColor(arg0) {\n wasm.__wbg_set_polylinematerial_emissiveColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @param {number | null} [arg0]\n */\n set emissiveIntensity(arg0) {\n wasm.__wbg_set_polylinematerial_emissiveIntensity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set height(arg0) {\n wasm.__wbg_set_polylinematerial_height(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Maximum line width in pixels, clamping the rendered width regardless of zoom level.\n * Smaller values are cheaper to render as they reduce fragment shader overdraw.\n * @param {number | null} [arg0]\n */\n set maxWidth(arg0) {\n wasm.__wbg_set_polylinematerial_maxWidth(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Opacity value\n * @param {number | null} [arg0]\n */\n set opacity(arg0) {\n wasm.__wbg_set_polylinematerial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set receiveShadow(arg0) {\n wasm.__wbg_set_polylinematerial_receiveShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_polylinematerial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Splits the polyline into XYZ vector tiles for rendering, even when the\n * data source is not an MVT layer. This can improve performance for large\n * polylines.\n *\n * Enabling `clamp_to_ground` implicitly forces `tiled` to `true`.\n * @param {boolean | null} [arg0]\n */\n set tiled(arg0) {\n wasm.__wbg_set_polylinematerial_tiled(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Enable transparency and alpha blending\n * @param {boolean | null} [arg0]\n */\n set transparent(arg0) {\n wasm.__wbg_set_polylinematerial_transparent(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set width(arg0) {\n wasm.__wbg_set_polylinematerial_width(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n}\nif (Symbol.dispose) PolylineMaterial.prototype[Symbol.dispose] = PolylineMaterial.prototype.free;\n\n/**\n * Render-only appearance for a `raster` layer's imagery. All fetch/tiling\n * config lives on the referenced `Source`; only display fields are carried\n * here. Parallel to [`HillshadeMaterial`] / [`ElevationHeatmapMaterial`].\n */\nexport class RasterMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n RasterMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_rastermaterial_free(ptr, 0);\n }\n /**\n * @returns {number | undefined}\n */\n get color() {\n const ret = wasm.__wbg_get_rastermaterial_color(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get opacity() {\n const ret = wasm.__wbg_get_rastermaterial_opacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get showBoundingBox() {\n const ret = wasm.__wbg_get_rastermaterial_showBoundingBox(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_rastermaterial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @param {number | null} [arg0]\n */\n set color(arg0) {\n wasm.__wbg_set_rastermaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set opacity(arg0) {\n wasm.__wbg_set_rastermaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set showBoundingBox(arg0) {\n wasm.__wbg_set_rastermaterial_showBoundingBox(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_rastermaterial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n}\nif (Symbol.dispose) RasterMaterial.prototype[Symbol.dispose] = RasterMaterial.prototype.free;\n\nexport class RasterTileInternalMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n RasterTileInternalMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_rastertileinternalmaterial_free(ptr, 0);\n }\n /**\n * @returns {boolean | undefined}\n */\n get castShadow() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_castShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {Uint32Array}\n */\n get colors() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_colors(this.__wbg_ptr);\n var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @returns {number}\n */\n get elevationBScaler() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationBScaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationBoundary() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationBoundary(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationEpsilon() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationEpsilon(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationGScaler() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationGScaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationMaxHeight() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMaxHeight(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationMaxOffset() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMaxOffset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationMinHeight() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMinHeight(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationMinOffset() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMinOffset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationOffset() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationOffset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationRScaler() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationRScaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeBScaler() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeBScaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeBoundary() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeBoundary(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeEpsilon() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeEpsilon(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeExaggeration() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeExaggeration(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeGScaler() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeGScaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeMaxOffset() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeMaxOffset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeMinOffset() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeMinOffset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeOffset() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeOffset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeRScaler() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeRScaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint8Array}\n */\n get isElevationHeatmaps() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_isElevationHeatmaps(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {Uint8Array}\n */\n get isHillshades() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_isHillshades(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {Uint8Array}\n */\n get layerReproject() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_layerReproject(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {number}\n */\n get logBoundary() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_logBoundary(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {boolean}\n */\n get logarithmic() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_logarithmic(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {Float32Array}\n */\n get opacities() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_opacities(this.__wbg_ptr);\n var v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @returns {boolean | undefined}\n */\n get receiveShadow() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_receiveShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get showBoundingBox() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_showBoundingBox(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {Uint8Array}\n */\n get shows() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_shows(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {Float32Array}\n */\n get terrainLatRange() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_terrainLatRange(this.__wbg_ptr);\n var v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @returns {any[]}\n */\n layerUvTransforms() {\n const ret = wasm.rastertileinternalmaterial_layerUvTransforms(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @returns {any[] | undefined}\n */\n texture_fragments() {\n const ret = wasm.rastertileinternalmaterial_texture_fragments(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set castShadow(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_castShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {Uint32Array} arg0\n */\n set colors(arg0) {\n const ptr0 = passArray32ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_rastertileinternalmaterial_colors(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number} arg0\n */\n set elevationBScaler(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationBScaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationBoundary(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationBoundary(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationEpsilon(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationEpsilon(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationGScaler(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationGScaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationMaxHeight(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationMaxHeight(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationMaxOffset(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationMaxOffset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationMinHeight(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationMinHeight(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationMinOffset(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationMinOffset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationOffset(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationOffset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationRScaler(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationRScaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeBScaler(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeBScaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeBoundary(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeBoundary(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeEpsilon(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeEpsilon(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeExaggeration(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeExaggeration(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeGScaler(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeGScaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeMaxOffset(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeMaxOffset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeMinOffset(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeMinOffset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeOffset(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeOffset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeRScaler(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeRScaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set isElevationHeatmaps(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_rastertileinternalmaterial_isElevationHeatmaps(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set isHillshades(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_rastertileinternalmaterial_isHillshades(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set layerReproject(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_rastertileinternalmaterial_layerReproject(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number} arg0\n */\n set logBoundary(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_logBoundary(this.__wbg_ptr, arg0);\n }\n /**\n * @param {boolean} arg0\n */\n set logarithmic(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_logarithmic(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Float32Array} arg0\n */\n set opacities(arg0) {\n const ptr0 = passArrayF32ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_rastertileinternalmaterial_opacities(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set receiveShadow(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_receiveShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set showBoundingBox(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_showBoundingBox(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set shows(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_rastertileinternalmaterial_shows(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {Float32Array} arg0\n */\n set terrainLatRange(arg0) {\n const ptr0 = passArrayF32ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_rastertileinternalmaterial_terrainLatRange(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) RasterTileInternalMaterial.prototype[Symbol.dispose] = RasterTileInternalMaterial.prototype.free;\n\nexport class Ray {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n RayFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_ray_free(ptr, 0);\n }\n /**\n * @returns {Vec3}\n */\n get direction() {\n const ret = wasm.__wbg_get_ray_direction(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @returns {Vec3}\n */\n get origin() {\n const ret = wasm.__wbg_get_ray_origin(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @param {number} t\n * @returns {Vec3}\n */\n getPoint(t) {\n const ret = wasm.ray_getPoint(this.__wbg_ptr, t);\n return Vec3.__wrap(ret);\n }\n /**\n * @param {Vec3} origin\n * @param {Vec3} direction\n */\n constructor(origin, direction) {\n _assertClass(origin, Vec3);\n var ptr0 = origin.__destroy_into_raw();\n _assertClass(direction, Vec3);\n var ptr1 = direction.__destroy_into_raw();\n const ret = wasm.ray_new(ptr0, ptr1);\n this.__wbg_ptr = ret;\n RayFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {Vec3} arg0\n */\n set direction(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_ray_direction(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {Vec3} arg0\n */\n set origin(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_ray_origin(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) Ray.prototype[Symbol.dispose] = Ray.prototype.free;\n\nexport class ReturnedConstructedTerrainMesh {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ReturnedConstructedTerrainMeshFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_returnedconstructedterrainmesh_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get max_height() {\n const ret = wasm.__wbg_get_returnedconstructedterrainmesh_max_height(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get min_height() {\n const ret = wasm.__wbg_get_returnedconstructedterrainmesh_min_height(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Vec3 | undefined}\n */\n get rtc_translation() {\n const ret = wasm.__wbg_get_returnedconstructedterrainmesh_rtc_translation(this.__wbg_ptr);\n return ret === 0 ? undefined : Vec3.__wrap(ret);\n }\n /**\n * @returns {boolean}\n */\n hasNormals() {\n const ret = wasm.returnedconstructedterrainmesh_hasNormals(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {boolean}\n */\n hasSkirt() {\n const ret = wasm.returnedconstructedterrainmesh_hasSkirt(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {boolean}\n */\n hasWatermask() {\n const ret = wasm.returnedconstructedterrainmesh_hasWatermask(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {Geometry} geometry\n * @param {number} max_height\n * @param {number} min_height\n * @param {Float32Array} heights\n * @param {Vec3 | null} [rtc_translation]\n */\n constructor(geometry, max_height, min_height, heights, rtc_translation) {\n _assertClass(geometry, Geometry);\n var ptr0 = geometry.__destroy_into_raw();\n const ptr1 = passArrayF32ToWasm0(heights, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n let ptr2 = 0;\n if (!isLikeNone(rtc_translation)) {\n _assertClass(rtc_translation, Vec3);\n ptr2 = rtc_translation.__destroy_into_raw();\n }\n const ret = wasm.returnedconstructedterrainmesh_new(ptr0, max_height, min_height, ptr1, len1, ptr2);\n this.__wbg_ptr = ret;\n ReturnedConstructedTerrainMeshFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {Float32Array}\n */\n transferHeights() {\n const ret = wasm.returnedconstructedterrainmesh_transferHeights(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferIndices() {\n const ret = wasm.returnedconstructedterrainmesh_transferIndices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferNormals() {\n const ret = wasm.returnedconstructedterrainmesh_transferNormals(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n transferSkirtIndices() {\n const ret = wasm.returnedconstructedterrainmesh_transferSkirtIndices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferSkirtNormals() {\n const ret = wasm.returnedconstructedterrainmesh_transferSkirtNormals(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferSkirtUvs() {\n const ret = wasm.returnedconstructedterrainmesh_transferSkirtUvs(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferSkirtVertices() {\n const ret = wasm.returnedconstructedterrainmesh_transferSkirtVertices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n transferUvs() {\n const ret = wasm.returnedconstructedterrainmesh_transferUvs(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n transferVertices() {\n const ret = wasm.returnedconstructedterrainmesh_transferVertices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint8Array | undefined}\n */\n transferWatermask() {\n const ret = wasm.returnedconstructedterrainmesh_transferWatermask(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set max_height(arg0) {\n wasm.__wbg_set_returnedconstructedterrainmesh_max_height(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set min_height(arg0) {\n wasm.__wbg_set_returnedconstructedterrainmesh_min_height(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Vec3 | null} [arg0]\n */\n set rtc_translation(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, Vec3);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_returnedconstructedterrainmesh_rtc_translation(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) ReturnedConstructedTerrainMesh.prototype[Symbol.dispose] = ReturnedConstructedTerrainMesh.prototype.free;\n\nexport class ShapeTextResult {\n static __wrap(ptr) {\n const obj = Object.create(ShapeTextResult.prototype);\n obj.__wbg_ptr = ptr;\n ShapeTextResultFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ShapeTextResultFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_shapetextresult_free(ptr, 0);\n }\n /**\n * Vertical line metrics in font units, for multi-line layout.\n * @returns {number}\n */\n get ascender() {\n const ret = wasm.__wbg_get_shapetextresult_ascender(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {boolean}\n */\n get atlas_changed() {\n const ret = wasm.__wbg_get_shapetextresult_atlas_changed(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {number}\n */\n get descender() {\n const ret = wasm.__wbg_get_shapetextresult_descender(this.__wbg_ptr);\n return ret;\n }\n /**\n * True if any glyph was evicted to make room while packing this text. The\n * reused rects mean cached TS metrics for this atlas may be stale, so TS\n * bumps the atlas generation to force a re-shape on next use.\n * @returns {boolean}\n */\n get evicted() {\n const ret = wasm.__wbg_get_shapetextresult_evicted(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {number}\n */\n get font_index() {\n const ret = wasm.__wbg_get_shapetextresult_font_index(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {WasmShapedGlyph[]}\n */\n get glyphs() {\n const ret = wasm.__wbg_get_shapetextresult_glyphs(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * True when this font is COLRv1 — glyphs were packed into the color atlas.\n * @returns {boolean}\n */\n get is_color() {\n const ret = wasm.__wbg_get_shapetextresult_is_color(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {number}\n */\n get line_gap() {\n const ret = wasm.__wbg_get_shapetextresult_line_gap(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {WasmGlyphMetrics[]}\n */\n get metrics() {\n const ret = wasm.__wbg_get_shapetextresult_metrics(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @returns {number}\n */\n get units_per_em() {\n const ret = wasm.__wbg_get_shapetextresult_units_per_em(this.__wbg_ptr);\n return ret;\n }\n /**\n * Vertical line metrics in font units, for multi-line layout.\n * @param {number} arg0\n */\n set ascender(arg0) {\n wasm.__wbg_set_shapetextresult_ascender(this.__wbg_ptr, arg0);\n }\n /**\n * @param {boolean} arg0\n */\n set atlas_changed(arg0) {\n wasm.__wbg_set_shapetextresult_atlas_changed(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set descender(arg0) {\n wasm.__wbg_set_shapetextresult_descender(this.__wbg_ptr, arg0);\n }\n /**\n * True if any glyph was evicted to make room while packing this text. The\n * reused rects mean cached TS metrics for this atlas may be stale, so TS\n * bumps the atlas generation to force a re-shape on next use.\n * @param {boolean} arg0\n */\n set evicted(arg0) {\n wasm.__wbg_set_shapetextresult_evicted(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set font_index(arg0) {\n wasm.__wbg_set_shapetextresult_font_index(this.__wbg_ptr, arg0);\n }\n /**\n * @param {WasmShapedGlyph[]} arg0\n */\n set glyphs(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_shapetextresult_glyphs(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * True when this font is COLRv1 — glyphs were packed into the color atlas.\n * @param {boolean} arg0\n */\n set is_color(arg0) {\n wasm.__wbg_set_shapetextresult_is_color(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set line_gap(arg0) {\n wasm.__wbg_set_shapetextresult_line_gap(this.__wbg_ptr, arg0);\n }\n /**\n * @param {WasmGlyphMetrics[]} arg0\n */\n set metrics(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_shapetextresult_metrics(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number} arg0\n */\n set units_per_em(arg0) {\n wasm.__wbg_set_shapetextresult_units_per_em(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) ShapeTextResult.prototype[Symbol.dispose] = ShapeTextResult.prototype.free;\n\n/**\n * Render-only appearance for a `terrain` layer's mesh, regardless of the\n * referenced source's data format (raster-dem, quantized-mesh, or the\n * source-less ellipsoid). All fetch/geometry config lives on the referenced\n * `Source`; the data format itself is carried by `TerrainDataType`.\n */\nexport class TerrainMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TerrainMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_terrainmaterial_free(ptr, 0);\n }\n /**\n * @returns {boolean | undefined}\n */\n get castShadow() {\n const ret = wasm.__wbg_get_terrainmaterial_castShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get receiveShadow() {\n const ret = wasm.__wbg_get_terrainmaterial_receiveShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get showBoundingBox() {\n const ret = wasm.__wbg_get_terrainmaterial_showBoundingBox(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_terrainmaterial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Multiplier for the automatically calculated skirt height.\n * A value of 1.0 uses the default calculated height.\n * @returns {number | undefined}\n */\n get skirtExaggeration() {\n const ret = wasm.__wbg_get_terrainmaterial_skirtExaggeration(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Whether to render skirts along tile boundaries to hide gaps.\n * You should disable `skirt` if you want to visualize an underground model.\n * @returns {boolean | undefined}\n */\n get skirt() {\n const ret = wasm.__wbg_get_terrainmaterial_skirt(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set castShadow(arg0) {\n wasm.__wbg_set_terrainmaterial_castShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set receiveShadow(arg0) {\n wasm.__wbg_set_terrainmaterial_receiveShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set showBoundingBox(arg0) {\n wasm.__wbg_set_terrainmaterial_showBoundingBox(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_terrainmaterial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Multiplier for the automatically calculated skirt height.\n * A value of 1.0 uses the default calculated height.\n * @param {number | null} [arg0]\n */\n set skirtExaggeration(arg0) {\n wasm.__wbg_set_terrainmaterial_skirtExaggeration(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Whether to render skirts along tile boundaries to hide gaps.\n * You should disable `skirt` if you want to visualize an underground model.\n * @param {boolean | null} [arg0]\n */\n set skirt(arg0) {\n wasm.__wbg_set_terrainmaterial_skirt(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n}\nif (Symbol.dispose) TerrainMaterial.prototype[Symbol.dispose] = TerrainMaterial.prototype.free;\n\nexport class TextMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TextMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_textmaterial_free(ptr, 0);\n }\n /**\n * @returns {number | undefined}\n */\n get backgroundColor() {\n const ret = wasm.__wbg_get_textmaterial_backgroundColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get borderColor() {\n const ret = wasm.__wbg_get_textmaterial_borderColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get borderWidth() {\n const ret = wasm.__wbg_get_textmaterial_borderWidth(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {Vec2 | undefined}\n */\n get center() {\n const ret = wasm.__wbg_get_textmaterial_center(this.__wbg_ptr);\n return ret === 0 ? undefined : Vec2.__wrap(ret);\n }\n /**\n * @returns {boolean | undefined}\n */\n get clampToGround() {\n const ret = wasm.__wbg_get_textmaterial_clampToGround(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get color() {\n const ret = wasm.__wbg_get_textmaterial_color(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Placement priority for decluttering; higher wins. Only meaningful when\n * `declutter` is enabled. Defaults to `0.0`.\n * @returns {number | undefined}\n */\n get declutterPriority() {\n const ret = wasm.__wbg_get_textmaterial_declutterPriority(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Participate in screen-space decluttering: when labels/sprites overlap\n * on screen, lower-priority ones are hidden. Defaults to `true`; set to\n * `false` to draw every label unconditionally.\n * @returns {boolean | undefined}\n */\n get declutter() {\n const ret = wasm.__wbg_get_textmaterial_declutter(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get depthTest() {\n const ret = wasm.__wbg_get_textmaterial_depthTest(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Specifies either the URL of a single font file or the `family` name of a font family\n * previously registered with `view.addFontFamily()`. Supported file formats are ttf, otf,\n * woff, and woff2.\n *\n * When a family name is used, only the face files whose unicode ranges cover the characters\n * in `text` are fetched, so large scripts (CJK, etc.) can be split into multiple faces and\n * loaded on demand. For each codepoint, the first face (in `faces` order) whose\n * `unicodeRanges` contain the codepoint is used; codepoints not covered by any face fall\n * back to the first face, which may therefore be downloaded even for characters outside its\n * declared ranges.\n *\n * Defaults to `None`: no font is loaded, and the text layer will not render until a font\n * is specified.\n * @returns {string | undefined}\n */\n get font() {\n const ret = wasm.__wbg_get_textmaterial_font(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * @returns {number | undefined}\n */\n get height() {\n const ret = wasm.__wbg_get_textmaterial_height(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Enable high-quality glyph rendering. When `true`, text uses an MTSDF\n * atlas (sharper corners at large sizes, dramatically slower\n * rasterization). When `false` or omitted, the default single-channel SDF\n * atlas is used (fast). Mirrors `navara_material::TextMaterial::high_quality`\n * on the Rust side.\n * @returns {boolean | undefined}\n */\n get highQuality() {\n const ret = wasm.__wbg_get_textmaterial_highQuality(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Language code for text shaping (e.g., \"en\", \"ja\", \"ar\"). Used for proper text rendering.\n * @returns {string | undefined}\n */\n get lang() {\n const ret = wasm.__wbg_get_textmaterial_lang(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * Line height as a multiplier of the font's natural line height\n * (ascender − descender + line gap). Defaults to `1.0`.\n * @returns {number | undefined}\n */\n get lineHeight() {\n const ret = wasm.__wbg_get_textmaterial_lineHeight(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Maximum line width in ems (multiples of `size`) before text wraps at\n * word boundaries. `0.0` (the default) disables wrapping; explicit `\\n`\n * characters in `text` always break lines.\n * @returns {number | undefined}\n */\n get maxWidth() {\n const ret = wasm.__wbg_get_textmaterial_maxWidth(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Avoid overlapping with the globe surface.\n * @returns {boolean | undefined}\n */\n get offsetDepth() {\n const ret = wasm.__wbg_get_textmaterial_offsetDepth(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Opacity of the text\n * @returns {number | undefined}\n */\n get opacity() {\n const ret = wasm.__wbg_get_textmaterial_opacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Outline blur radius in CSS pixels. Defaults to `0.0`.\n * @returns {number | undefined}\n */\n get outlineColor() {\n const ret = wasm.__wbg_get_textmaterial_outlineColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Pixel offset `[x, y]` in CSS pixels. Defaults to `(0.0, 0.0)`.\n * @returns {number | undefined}\n */\n get outlineOpacity() {\n const ret = wasm.__wbg_get_textmaterial_outlineOpacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Outline thickness measured in CSS pixels. Defaults to `0.0`.\n * @returns {number | undefined}\n */\n get outlineWidth() {\n const ret = wasm.__wbg_get_textmaterial_outlineWidth(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_textmaterial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Whether the size is specified in meters. If false, the size is in pixels. Default is true.\n * @returns {boolean | undefined}\n */\n get sizeInMeters() {\n const ret = wasm.__wbg_get_textmaterial_sizeInMeters(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * size in pixels/meters (units are determined by `sizeInMeters`).\n * @returns {number | undefined}\n */\n get size() {\n const ret = wasm.__wbg_get_textmaterial_size(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Horizontal alignment of lines within a multi-line block:\n * `\"left\"`, `\"center\"` (default), or `\"right\"`.\n * @returns {string | undefined}\n */\n get textAlign() {\n const ret = wasm.__wbg_get_textmaterial_textAlign(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * @returns {string | undefined}\n */\n get text() {\n const ret = wasm.__wbg_get_textmaterial_text(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * Enable transparency and alpha blending\n * @returns {boolean | undefined}\n */\n get transparent() {\n const ret = wasm.__wbg_get_textmaterial_transparent(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @param {number | null} [arg0]\n */\n set backgroundColor(arg0) {\n wasm.__wbg_set_textmaterial_backgroundColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set borderColor(arg0) {\n wasm.__wbg_set_textmaterial_borderColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set borderWidth(arg0) {\n wasm.__wbg_set_textmaterial_borderWidth(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {Vec2 | null} [arg0]\n */\n set center(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, Vec2);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_textmaterial_center(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set clampToGround(arg0) {\n wasm.__wbg_set_textmaterial_clampToGround(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set color(arg0) {\n wasm.__wbg_set_textmaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Placement priority for decluttering; higher wins. Only meaningful when\n * `declutter` is enabled. Defaults to `0.0`.\n * @param {number | null} [arg0]\n */\n set declutterPriority(arg0) {\n wasm.__wbg_set_textmaterial_declutterPriority(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Participate in screen-space decluttering: when labels/sprites overlap\n * on screen, lower-priority ones are hidden. Defaults to `true`; set to\n * `false` to draw every label unconditionally.\n * @param {boolean | null} [arg0]\n */\n set declutter(arg0) {\n wasm.__wbg_set_textmaterial_declutter(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set depthTest(arg0) {\n wasm.__wbg_set_textmaterial_depthTest(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Specifies either the URL of a single font file or the `family` name of a font family\n * previously registered with `view.addFontFamily()`. Supported file formats are ttf, otf,\n * woff, and woff2.\n *\n * When a family name is used, only the face files whose unicode ranges cover the characters\n * in `text` are fetched, so large scripts (CJK, etc.) can be split into multiple faces and\n * loaded on demand. For each codepoint, the first face (in `faces` order) whose\n * `unicodeRanges` contain the codepoint is used; codepoints not covered by any face fall\n * back to the first face, which may therefore be downloaded even for characters outside its\n * declared ranges.\n *\n * Defaults to `None`: no font is loaded, and the text layer will not render until a font\n * is specified.\n * @param {string | null} [arg0]\n */\n set font(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_textmaterial_font(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set height(arg0) {\n wasm.__wbg_set_textmaterial_height(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Enable high-quality glyph rendering. When `true`, text uses an MTSDF\n * atlas (sharper corners at large sizes, dramatically slower\n * rasterization). When `false` or omitted, the default single-channel SDF\n * atlas is used (fast). Mirrors `navara_material::TextMaterial::high_quality`\n * on the Rust side.\n * @param {boolean | null} [arg0]\n */\n set highQuality(arg0) {\n wasm.__wbg_set_textmaterial_highQuality(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Language code for text shaping (e.g., \"en\", \"ja\", \"ar\"). Used for proper text rendering.\n * @param {string | null} [arg0]\n */\n set lang(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_textmaterial_lang(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Line height as a multiplier of the font's natural line height\n * (ascender − descender + line gap). Defaults to `1.0`.\n * @param {number | null} [arg0]\n */\n set lineHeight(arg0) {\n wasm.__wbg_set_textmaterial_lineHeight(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Maximum line width in ems (multiples of `size`) before text wraps at\n * word boundaries. `0.0` (the default) disables wrapping; explicit `\\n`\n * characters in `text` always break lines.\n * @param {number | null} [arg0]\n */\n set maxWidth(arg0) {\n wasm.__wbg_set_textmaterial_maxWidth(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Avoid overlapping with the globe surface.\n * @param {boolean | null} [arg0]\n */\n set offsetDepth(arg0) {\n wasm.__wbg_set_textmaterial_offsetDepth(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Opacity of the text\n * @param {number | null} [arg0]\n */\n set opacity(arg0) {\n wasm.__wbg_set_textmaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Outline blur radius in CSS pixels. Defaults to `0.0`.\n * @param {number | null} [arg0]\n */\n set outlineColor(arg0) {\n wasm.__wbg_set_textmaterial_outlineColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Pixel offset `[x, y]` in CSS pixels. Defaults to `(0.0, 0.0)`.\n * @param {number | null} [arg0]\n */\n set outlineOpacity(arg0) {\n wasm.__wbg_set_textmaterial_outlineOpacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Outline thickness measured in CSS pixels. Defaults to `0.0`.\n * @param {number | null} [arg0]\n */\n set outlineWidth(arg0) {\n wasm.__wbg_set_textmaterial_outlineWidth(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_textmaterial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Whether the size is specified in meters. If false, the size is in pixels. Default is true.\n * @param {boolean | null} [arg0]\n */\n set sizeInMeters(arg0) {\n wasm.__wbg_set_textmaterial_sizeInMeters(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * size in pixels/meters (units are determined by `sizeInMeters`).\n * @param {number | null} [arg0]\n */\n set size(arg0) {\n wasm.__wbg_set_textmaterial_size(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Horizontal alignment of lines within a multi-line block:\n * `\"left\"`, `\"center\"` (default), or `\"right\"`.\n * @param {string | null} [arg0]\n */\n set textAlign(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_textmaterial_textAlign(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {string | null} [arg0]\n */\n set text(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_textmaterial_text(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Enable transparency and alpha blending\n * @param {boolean | null} [arg0]\n */\n set transparent(arg0) {\n wasm.__wbg_set_textmaterial_transparent(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n}\nif (Symbol.dispose) TextMaterial.prototype[Symbol.dispose] = TextMaterial.prototype.free;\n\nexport class TextureFragment {\n static __wrap(ptr) {\n const obj = Object.create(TextureFragment.prototype);\n obj.__wbg_ptr = ptr;\n TextureFragmentFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TextureFragmentFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_texturefragment_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get gen() {\n const ret = wasm.__wbg_get_texturefragment_gen(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get ind() {\n const ret = wasm.__wbg_get_texturefragment_ind(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set gen(arg0) {\n wasm.__wbg_set_texturefragment_gen(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set ind(arg0) {\n wasm.__wbg_set_texturefragment_ind(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) TextureFragment.prototype[Symbol.dispose] = TextureFragment.prototype.free;\n\nexport class TileUvTransform {\n static __wrap(ptr) {\n const obj = Object.create(TileUvTransform.prototype);\n obj.__wbg_ptr = ptr;\n TileUvTransformFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TileUvTransformFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_tileuvtransform_free(ptr, 0);\n }\n /**\n * @returns {Vec2}\n */\n get offset() {\n const ret = wasm.__wbg_get_tileuvtransform_offset(this.__wbg_ptr);\n return Vec2.__wrap(ret);\n }\n /**\n * @returns {Vec2}\n */\n get scale() {\n const ret = wasm.__wbg_get_tileuvtransform_scale(this.__wbg_ptr);\n return Vec2.__wrap(ret);\n }\n /**\n * @param {Vec2} arg0\n */\n set offset(arg0) {\n _assertClass(arg0, Vec2);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_tileuvtransform_offset(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {Vec2} arg0\n */\n set scale(arg0) {\n _assertClass(arg0, Vec2);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_tileuvtransform_scale(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) TileUvTransform.prototype[Symbol.dispose] = TileUvTransform.prototype.free;\n\nexport class TileXYZ {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TileXYZFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_tilexyz_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get x() {\n const ret = wasm.__wbg_get_tilexyz_x(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get y() {\n const ret = wasm.__wbg_get_tilexyz_y(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get z() {\n const ret = wasm.__wbg_get_tilexyz_z(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set x(arg0) {\n wasm.__wbg_set_tilexyz_x(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set y(arg0) {\n wasm.__wbg_set_tilexyz_y(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set z(arg0) {\n wasm.__wbg_set_tilexyz_z(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} x\n * @param {number} y\n * @param {number} z\n */\n constructor(x, y, z) {\n const ret = wasm.tilexyz_new(x, y, z);\n this.__wbg_ptr = ret;\n TileXYZFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) TileXYZ.prototype[Symbol.dispose] = TileXYZ.prototype.free;\n\nexport class TransferableHierarchy {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransferableHierarchyFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transferablehierarchy_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get expected_winding_order() {\n const ret = wasm.__wbg_get_transferablehierarchy_expected_winding_order(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set expected_winding_order(arg0) {\n wasm.__wbg_set_transferablehierarchy_expected_winding_order(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) TransferableHierarchy.prototype[Symbol.dispose] = TransferableHierarchy.prototype.free;\n\n/**\n * To transfer the hierarchy efficiently, the holes are managed as one-dimensional array.\n */\nexport class TransferableHoles {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransferableHolesFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transferableholes_free(ptr, 0);\n }\n}\nif (Symbol.dispose) TransferableHoles.prototype[Symbol.dispose] = TransferableHoles.prototype.free;\n\n/**\n * A whole tile's parsed MVT groups transferred out of the parse worker.\n *\n * The bulk geometry of every (layer, kind) group is packed into four\n * contiguous per-type streams (see `navara_parser::mvt::pack_parsed_mvt_groups`\n * for the segment order), so the postMessage transfer list carries exactly\n * four buffers per tile regardless of the group count. The tile meta\n * (`ParsedMvtTileMeta`: per-group headers plus per-layer property tables,\n * pre-serialized by the worker) rides along as a structured clone and lets\n * the main thread slice the streams back apart.\n */\nexport class TransferableParsedMvtResult {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransferableParsedMvtResultFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transferableparsedmvtresult_free(ptr, 0);\n }\n /**\n * @returns {Float32Array}\n */\n f32_stream() {\n const ret = wasm.transferableparsedmvtresult_f32_stream(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float64Array}\n */\n f64_stream() {\n const ret = wasm.transferableparsedmvtresult_f64_stream(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {any}\n */\n meta() {\n const ret = wasm.transferableparsedmvtresult_meta(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n u32_stream() {\n const ret = wasm.transferableparsedmvtresult_u32_stream(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint8Array}\n */\n u8_stream() {\n const ret = wasm.transferableparsedmvtresult_u8_stream(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) TransferableParsedMvtResult.prototype[Symbol.dispose] = TransferableParsedMvtResult.prototype.free;\n\n/**\n * To transfer the batched feature efficiently, the all feature's properties are managed as one-dimensional array.\n */\nexport class TransferablePolygonBatchedFeature {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransferablePolygonBatchedFeatureFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transferablepolygonbatchedfeature_free(ptr, 0);\n }\n /**\n * @returns {CRS}\n */\n get crs() {\n const ret = wasm.__wbg_get_transferablepolygonbatchedfeature_crs(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get length() {\n const ret = wasm.__wbg_get_transferablepolygonbatchedfeature_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {CRS} arg0\n */\n set crs(arg0) {\n wasm.__wbg_set_transferablepolygonbatchedfeature_crs(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set length(arg0) {\n wasm.__wbg_set_transferablepolygonbatchedfeature_length(this.__wbg_ptr, arg0);\n }\n /**\n * @param {CRS} crs\n * @param {number} length\n */\n constructor(crs, length) {\n const ret = wasm.transferablepolygonbatchedfeature_constructor(crs, length);\n this.__wbg_ptr = ret;\n TransferablePolygonBatchedFeatureFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setBatchIds(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setBatchIds(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setBatchIndices(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setBatchIndices(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setExpectedWindingOrders(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setExpectedWindingOrders(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setHoles(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setHoles(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setHolesBoundaries(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setHolesBoundaries(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setHolesSizes(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setHolesSizes(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setHolesTotalSizes(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setHolesTotalSizes(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setOuterRing(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setOuterRing(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setOuterRingSizes(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setOuterRingSizes(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @returns {Uint32Array}\n */\n transferBatchIds() {\n const ret = wasm.transferablepolygonbatchedfeature_transferBatchIds(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferBatchIndices() {\n const ret = wasm.transferablepolygonbatchedfeature_transferBatchIndices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint8Array}\n */\n transferExpectedWindingOrders() {\n const ret = wasm.transferablepolygonbatchedfeature_transferExpectedWindingOrders(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float64Array}\n */\n transferHoles() {\n const ret = wasm.transferablepolygonbatchedfeature_transferHoles(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferHolesBoundaries() {\n const ret = wasm.transferablepolygonbatchedfeature_transferHolesBoundaries(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferHolesSizes() {\n const ret = wasm.transferablepolygonbatchedfeature_transferHolesSizes(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferHolesTotalSizes() {\n const ret = wasm.transferablepolygonbatchedfeature_transferHolesTotalSizes(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float64Array}\n */\n transferOuterRing() {\n const ret = wasm.transferablepolygonbatchedfeature_transferOuterRing(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferOuterRingSizes() {\n const ret = wasm.transferablepolygonbatchedfeature_transferOuterRingSizes(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) TransferablePolygonBatchedFeature.prototype[Symbol.dispose] = TransferablePolygonBatchedFeature.prototype.free;\n\n/**\n * To transfer the batched feature efficiently, the all feature's properties are managed as one-dimensional array.\n */\nexport class TransferablePolylineBatchedFeature {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransferablePolylineBatchedFeatureFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transferablepolylinebatchedfeature_free(ptr, 0);\n }\n /**\n * @returns {CRS}\n */\n get crs() {\n const ret = wasm.__wbg_get_transferablepolylinebatchedfeature_crs(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get length() {\n const ret = wasm.__wbg_get_transferablepolylinebatchedfeature_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {CRS} arg0\n */\n set crs(arg0) {\n wasm.__wbg_set_transferablepolylinebatchedfeature_crs(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set length(arg0) {\n wasm.__wbg_set_transferablepolylinebatchedfeature_length(this.__wbg_ptr, arg0);\n }\n /**\n * @param {CRS} crs\n * @param {number} length\n */\n constructor(crs, length) {\n const ret = wasm.transferablepolylinebatchedfeature_constructor(crs, length);\n this.__wbg_ptr = ret;\n TransferablePolylineBatchedFeatureFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setBatchIds(byte_length, f) {\n wasm.transferablepolylinebatchedfeature_setBatchIds(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setBatchIndices(byte_length, f) {\n wasm.transferablepolylinebatchedfeature_setBatchIndices(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setPoints(byte_length, f) {\n wasm.transferablepolylinebatchedfeature_setPoints(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setPointsSizes(byte_length, f) {\n wasm.transferablepolylinebatchedfeature_setPointsSizes(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @returns {Uint32Array}\n */\n transferBatchIds() {\n const ret = wasm.transferablepolylinebatchedfeature_transferBatchIds(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferBatchIndices() {\n const ret = wasm.transferablepolylinebatchedfeature_transferBatchIndices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float64Array}\n */\n transferPoints() {\n const ret = wasm.transferablepolylinebatchedfeature_transferPoints(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferPointsSizes() {\n const ret = wasm.transferablepolylinebatchedfeature_transferPointsSizes(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) TransferablePolylineBatchedFeature.prototype[Symbol.dispose] = TransferablePolylineBatchedFeature.prototype.free;\n\nexport class Transform {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransformFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transform_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get qw() {\n const ret = wasm.__wbg_get_transform_qw(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get qx() {\n const ret = wasm.__wbg_get_transform_qx(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get qy() {\n const ret = wasm.__wbg_get_transform_qy(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get qz() {\n const ret = wasm.__wbg_get_transform_qz(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get sx() {\n const ret = wasm.__wbg_get_transform_sx(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get sy() {\n const ret = wasm.__wbg_get_transform_sy(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get sz() {\n const ret = wasm.__wbg_get_transform_sz(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get tx() {\n const ret = wasm.__wbg_get_transform_tx(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get ty() {\n const ret = wasm.__wbg_get_transform_ty(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get tz() {\n const ret = wasm.__wbg_get_transform_tz(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set qw(arg0) {\n wasm.__wbg_set_transform_qw(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set qx(arg0) {\n wasm.__wbg_set_transform_qx(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set qy(arg0) {\n wasm.__wbg_set_transform_qy(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set qz(arg0) {\n wasm.__wbg_set_transform_qz(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set sx(arg0) {\n wasm.__wbg_set_transform_sx(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set sy(arg0) {\n wasm.__wbg_set_transform_sy(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set sz(arg0) {\n wasm.__wbg_set_transform_sz(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set tx(arg0) {\n wasm.__wbg_set_transform_tx(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set ty(arg0) {\n wasm.__wbg_set_transform_ty(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set tz(arg0) {\n wasm.__wbg_set_transform_tz(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} tx\n * @param {number} ty\n * @param {number} tz\n * @param {number} qx\n * @param {number} qy\n * @param {number} qz\n * @param {number} qw\n * @param {number} sx\n * @param {number} sy\n * @param {number} sz\n */\n constructor(tx, ty, tz, qx, qy, qz, qw, sx, sy, sz) {\n const ret = wasm.transform_new(tx, ty, tz, qx, qy, qz, qw, sx, sy, sz);\n this.__wbg_ptr = ret;\n TransformFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) Transform.prototype[Symbol.dispose] = Transform.prototype.free;\n\nexport class UintAttribute {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n UintAttributeFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_uintattribute_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get size() {\n const ret = wasm.__wbg_get_uintattribute_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set size(arg0) {\n wasm.__wbg_set_uintattribute_size(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Uint32Array} data\n * @param {number} size\n */\n constructor(data, size) {\n const ptr0 = passArray32ToWasm0(data, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.uintattribute_new(ptr0, len0, size);\n this.__wbg_ptr = ret;\n UintAttributeFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {Uint32Array}\n */\n transferData() {\n const ret = wasm.uintattribute_transferData(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) UintAttribute.prototype[Symbol.dispose] = UintAttribute.prototype.free;\n\nexport class UpsamplableTerrainGeometry {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n UpsamplableTerrainGeometryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_upsamplableterraingeometry_free(ptr, 0);\n }\n /**\n * @param {Float32Array} uvs\n * @param {Uint32Array} indices\n * @param {Float32Array} heights\n * @param {Float32Array | null} [normals]\n * @param {Uint8Array | null} [watermask]\n */\n constructor(uvs, indices, heights, normals, watermask) {\n const ptr0 = passArrayF32ToWasm0(uvs, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(indices, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArrayF32ToWasm0(heights, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n var ptr3 = isLikeNone(normals) ? 0 : passArrayF32ToWasm0(normals, wasm.__wbindgen_malloc);\n var len3 = WASM_VECTOR_LEN;\n var ptr4 = isLikeNone(watermask) ? 0 : passArray8ToWasm0(watermask, wasm.__wbindgen_malloc);\n var len4 = WASM_VECTOR_LEN;\n const ret = wasm.upsamplableterraingeometry_new(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4);\n this.__wbg_ptr = ret;\n UpsamplableTerrainGeometryFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) UpsamplableTerrainGeometry.prototype[Symbol.dispose] = UpsamplableTerrainGeometry.prototype.free;\n\nexport class Vec2 {\n static __wrap(ptr) {\n const obj = Object.create(Vec2.prototype);\n obj.__wbg_ptr = ptr;\n Vec2Finalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n Vec2Finalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_vec2_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get x() {\n const ret = wasm.__wbg_get_vec2_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get y() {\n const ret = wasm.__wbg_get_vec2_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set x(arg0) {\n wasm.__wbg_set_vec2_x(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set y(arg0) {\n wasm.__wbg_set_vec2_y(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} x\n * @param {number} y\n */\n constructor(x, y) {\n const ret = wasm.vec2_new(x, y);\n this.__wbg_ptr = ret;\n Vec2Finalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) Vec2.prototype[Symbol.dispose] = Vec2.prototype.free;\n\nexport class Vec3 {\n static __wrap(ptr) {\n const obj = Object.create(Vec3.prototype);\n obj.__wbg_ptr = ptr;\n Vec3Finalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n Vec3Finalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_vec3_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get x() {\n const ret = wasm.__wbg_get_vec3_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get y() {\n const ret = wasm.__wbg_get_vec3_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get z() {\n const ret = wasm.__wbg_get_vec3_z(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set x(arg0) {\n wasm.__wbg_set_vec3_x(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set y(arg0) {\n wasm.__wbg_set_vec3_y(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set z(arg0) {\n wasm.__wbg_set_vec3_z(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} x\n * @param {number} y\n * @param {number} z\n */\n constructor(x, y, z) {\n const ret = wasm.vec3_new(x, y, z);\n this.__wbg_ptr = ret;\n Vec3Finalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) Vec3.prototype[Symbol.dispose] = Vec3.prototype.free;\n\nexport class WasmGlyphMetrics {\n static __wrap(ptr) {\n const obj = Object.create(WasmGlyphMetrics.prototype);\n obj.__wbg_ptr = ptr;\n WasmGlyphMetricsFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof WasmGlyphMetrics)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WasmGlyphMetricsFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmglyphmetrics_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get atlas_h() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_atlas_h(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get atlas_w() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_atlas_w(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get atlas_x() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_atlas_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get atlas_y() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_atlas_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get bearing_x() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_bearing_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get bearing_y() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_bearing_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get font_index() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_font_index(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get glyph_id() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_glyph_id(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * True when the glyph lives in the COLRv1 RGBA atlas rather than the SDF.\n * @returns {boolean}\n */\n get is_color() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_is_color(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {number} arg0\n */\n set atlas_h(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_atlas_h(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set atlas_w(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_atlas_w(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set atlas_x(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_atlas_x(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set atlas_y(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_atlas_y(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set bearing_x(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_bearing_x(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set bearing_y(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_bearing_y(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set font_index(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_font_index(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set glyph_id(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_glyph_id(this.__wbg_ptr, arg0);\n }\n /**\n * True when the glyph lives in the COLRv1 RGBA atlas rather than the SDF.\n * @param {boolean} arg0\n */\n set is_color(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_is_color(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) WasmGlyphMetrics.prototype[Symbol.dispose] = WasmGlyphMetrics.prototype.free;\n\nexport class WasmShapedGlyph {\n static __wrap(ptr) {\n const obj = Object.create(WasmShapedGlyph.prototype);\n obj.__wbg_ptr = ptr;\n WasmShapedGlyphFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof WasmShapedGlyph)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WasmShapedGlyphFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmshapedglyph_free(ptr, 0);\n }\n /**\n * One of the `shaping::CHAR_CLASS_*` constants (line-break info).\n * @returns {number}\n */\n get char_class() {\n const ret = wasm.__wbg_get_wasmshapedglyph_char_class(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get font_index() {\n const ret = wasm.__wbg_get_wasmshapedglyph_font_index(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get glyph_id() {\n const ret = wasm.__wbg_get_wasmshapedglyph_glyph_id(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get x_advance() {\n const ret = wasm.__wbg_get_wasmshapedglyph_x_advance(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get x_offset() {\n const ret = wasm.__wbg_get_wasmshapedglyph_x_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get y_advance() {\n const ret = wasm.__wbg_get_wasmshapedglyph_y_advance(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get y_offset() {\n const ret = wasm.__wbg_get_wasmshapedglyph_y_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * One of the `shaping::CHAR_CLASS_*` constants (line-break info).\n * @param {number} arg0\n */\n set char_class(arg0) {\n wasm.__wbg_set_wasmshapedglyph_char_class(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set font_index(arg0) {\n wasm.__wbg_set_wasmshapedglyph_font_index(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set glyph_id(arg0) {\n wasm.__wbg_set_wasmshapedglyph_glyph_id(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set x_advance(arg0) {\n wasm.__wbg_set_wasmshapedglyph_x_advance(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set x_offset(arg0) {\n wasm.__wbg_set_wasmshapedglyph_x_offset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set y_advance(arg0) {\n wasm.__wbg_set_wasmshapedglyph_y_advance(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set y_offset(arg0) {\n wasm.__wbg_set_wasmshapedglyph_y_offset(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) WasmShapedGlyph.prototype[Symbol.dispose] = WasmShapedGlyph.prototype.free;\n\nexport class WindingOrder {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WindingOrderFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_windingorder_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get 0() {\n const ret = wasm.__wbg_get_windingorder_0(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set 0(arg0) {\n wasm.__wbg_set_windingorder_0(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) WindingOrder.prototype[Symbol.dispose] = WindingOrder.prototype.free;\n\nexport class Window {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WindowFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_window_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get height() {\n const ret = wasm.__wbg_get_window_height(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get pixelRatio() {\n const ret = wasm.__wbg_get_window_pixelRatio(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get width() {\n const ret = wasm.__wbg_get_window_width(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set height(arg0) {\n wasm.__wbg_set_window_height(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set pixelRatio(arg0) {\n wasm.__wbg_set_window_pixelRatio(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set width(arg0) {\n wasm.__wbg_set_window_width(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} width\n * @param {number} height\n * @param {number} pixel_ratio\n */\n constructor(width, height, pixel_ratio) {\n const ret = wasm.window_new(width, height, pixel_ratio);\n this.__wbg_ptr = ret;\n WindowFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) Window.prototype[Symbol.dispose] = Window.prototype.free;\n\n/**\n * Pack `(font_index, glyph_id)` into a u64. Exported so TS uses the same\n * layout as Rust.\n * @param {number} font_index\n * @param {number} glyph_id\n * @returns {bigint}\n */\nexport function composite_key(font_index, glyph_id) {\n const ret = wasm.composite_key(font_index, glyph_id);\n return BigInt.asUintN(64, ret);\n}\n\nexport function start() {\n wasm.start();\n}\nfunction __wbg_get_imports() {\n const import0 = {\n __proto__: null,\n __wbg_Error_92b29b0548f8b746: function(arg0, arg1) {\n const ret = Error(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_String_8564e559799eccda: function(arg0, arg1) {\n const ret = String(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_bigint_get_as_i64_d968e41184ae354f: function(arg0, arg1) {\n const v = arg1;\n const ret = typeof(v) === 'bigint' ? v : undefined;\n getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n },\n __wbg___wbindgen_boolean_get_fa956cfa2d1bd751: function(arg0) {\n const v = arg0;\n const ret = typeof(v) === 'boolean' ? v : undefined;\n return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n },\n __wbg___wbindgen_debug_string_c25d447a39f5578f: function(arg0, arg1) {\n const ret = debugString(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_in_aca499c5de7ff5e5: function(arg0, arg1) {\n const ret = arg0 in arg1;\n return ret;\n },\n __wbg___wbindgen_is_bigint_2f76dc55065b4273: function(arg0) {\n const ret = typeof(arg0) === 'bigint';\n return ret;\n },\n __wbg___wbindgen_is_function_1ff95bcc5517c252: function(arg0) {\n const ret = typeof(arg0) === 'function';\n return ret;\n },\n __wbg___wbindgen_is_object_a27215656b807791: function(arg0) {\n const val = arg0;\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n },\n __wbg___wbindgen_jsval_eq_e659fcf7b0e32763: function(arg0, arg1) {\n const ret = arg0 === arg1;\n return ret;\n },\n __wbg___wbindgen_jsval_loose_eq_db4c3b15f63fc170: function(arg0, arg1) {\n const ret = arg0 == arg1;\n return ret;\n },\n __wbg___wbindgen_memory_de265df8aadd6273: function() {\n const ret = wasm.memory;\n return ret;\n },\n __wbg___wbindgen_number_get_394265ed1e1b84ee: function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'number' ? obj : undefined;\n getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n },\n __wbg___wbindgen_string_get_b0ca35b86a603356: function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_throw_344f42d3211c4765: function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n },\n __wbg_buffer_0f212447ac64c53b: function(arg0) {\n const ret = arg0.buffer;\n return ret;\n },\n __wbg_call_8a2dd23819f8a60a: function() { return handleError(function (arg0, arg1) {\n const ret = arg0.call(arg1);\n return ret;\n }, arguments); },\n __wbg_call_a6e5c5dce5018821: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.call(arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_done_89b2b13e91a60321: function(arg0) {\n const ret = arg0.done;\n return ret;\n },\n __wbg_entries_015dc610cd81ede0: function(arg0) {\n const ret = Object.entries(arg0);\n return ret;\n },\n __wbg_get_507a50627bffa49b: function(arg0, arg1) {\n const ret = arg0[arg1 >>> 0];\n return ret;\n },\n __wbg_get_c7eb1f358a7654df: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(arg0, arg1);\n return ret;\n }, arguments); },\n __wbg_get_unchecked_6e0ad6d2a41b06f6: function(arg0, arg1) {\n const ret = arg0[arg1 >>> 0];\n return ret;\n },\n __wbg_instanceof_ArrayBuffer_4480b9e0068a8adb: function(arg0) {\n let result;\n try {\n result = arg0 instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Map_e5b5e3db98422fcc: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Map;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Uint8Array_309b927aaf7a3fc7: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Uint8Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_isArray_0677c962b281d01a: function(arg0) {\n const ret = Array.isArray(arg0);\n return ret;\n },\n __wbg_isSafeInteger_04f36e4056f1b851: function(arg0) {\n const ret = Number.isSafeInteger(arg0);\n return ret;\n },\n __wbg_iterator_6f722e4a93058b71: function() {\n const ret = Symbol.iterator;\n return ret;\n },\n __wbg_length_0133fa10e3234c57: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_1f0964f4a5e2c6d8: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_370319915dc99107: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_381d540857ec99e8: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_98f10d1e2f4ea968: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_lle_new: function(arg0) {\n const ret = LLE.__wrap(arg0);\n return ret;\n },\n __wbg_new_32b398fb48b6d94a: function() {\n const ret = new Array();\n return ret;\n },\n __wbg_new_80efd62ef570c5de: function(arg0) {\n const ret = new Float64Array(arg0);\n return ret;\n },\n __wbg_new_92a08b12c30e98e8: function(arg0) {\n const ret = new Float32Array(arg0);\n return ret;\n },\n __wbg_new_cd45aabdf6073e84: function(arg0) {\n const ret = new Uint8Array(arg0);\n return ret;\n },\n __wbg_new_da52cf8fe3429cb2: function() {\n const ret = new Object();\n return ret;\n },\n __wbg_new_dfd44b7151fab657: function(arg0) {\n const ret = new Uint32Array(arg0);\n return ret;\n },\n __wbg_new_with_byte_offset_and_length_54c7724ee3ec7d82: function(arg0, arg1, arg2) {\n const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0);\n return ret;\n },\n __wbg_new_with_byte_offset_and_length_5784416b97d45088: function(arg0, arg1, arg2) {\n const ret = new Float64Array(arg0, arg1 >>> 0, arg2 >>> 0);\n return ret;\n },\n __wbg_new_with_byte_offset_and_length_c6e1a1aae380b2ff: function(arg0, arg1, arg2) {\n const ret = new Uint32Array(arg0, arg1 >>> 0, arg2 >>> 0);\n return ret;\n },\n __wbg_next_6dbf2c0ac8cde20f: function(arg0) {\n const ret = arg0.next;\n return ret;\n },\n __wbg_next_71f2aa1cb3d1e37e: function() { return handleError(function (arg0) {\n const ret = arg0.next();\n return ret;\n }, arguments); },\n __wbg_prototypesetcall_4770620bbe4688a0: function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);\n },\n __wbg_push_d2ae3af0c1217ae6: function(arg0, arg1) {\n const ret = arg0.push(arg1);\n return ret;\n },\n __wbg_set_1e016b6a1b5f7cb3: function(arg0, arg1, arg2) {\n arg0.set(getArrayF32FromWasm0(arg1, arg2));\n },\n __wbg_set_29967298e530d279: function(arg0, arg1, arg2) {\n arg0.set(getArrayF64FromWasm0(arg1, arg2));\n },\n __wbg_set_4d7dd76f3dae2926: function(arg0, arg1, arg2) {\n arg0.set(getArrayU8FromWasm0(arg1, arg2));\n },\n __wbg_set_8535240470bf2500: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = Reflect.set(arg0, arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_set_b5e6b338281ca6ff: function(arg0, arg1, arg2) {\n arg0.set(getArrayU32FromWasm0(arg1, arg2));\n },\n __wbg_texturefragment_new: function(arg0) {\n const ret = TextureFragment.__wrap(arg0);\n return ret;\n },\n __wbg_tileuvtransform_new: function(arg0) {\n const ret = TileUvTransform.__wrap(arg0);\n return ret;\n },\n __wbg_value_a5d5488a9589444a: function(arg0) {\n const ret = arg0.value;\n return ret;\n },\n __wbg_wasmglyphmetrics_new: function(arg0) {\n const ret = WasmGlyphMetrics.__wrap(arg0);\n return ret;\n },\n __wbg_wasmglyphmetrics_unwrap: function(arg0) {\n const ret = WasmGlyphMetrics.__unwrap(arg0);\n return ret;\n },\n __wbg_wasmshapedglyph_new: function(arg0) {\n const ret = WasmShapedGlyph.__wrap(arg0);\n return ret;\n },\n __wbg_wasmshapedglyph_unwrap: function(arg0) {\n const ret = WasmShapedGlyph.__unwrap(arg0);\n return ret;\n },\n __wbindgen_cast_0000000000000001: function(arg0) {\n // Cast intrinsic for `F64 -> Externref`.\n const ret = arg0;\n return ret;\n },\n __wbindgen_cast_0000000000000002: function(arg0) {\n // Cast intrinsic for `I64 -> Externref`.\n const ret = arg0;\n return ret;\n },\n __wbindgen_cast_0000000000000003: function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_cast_0000000000000004: function(arg0) {\n // Cast intrinsic for `U64 -> Externref`.\n const ret = BigInt.asUintN(64, arg0);\n return ret;\n },\n __wbindgen_init_externref_table: function() {\n const table = wasm.__wbindgen_externrefs;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n },\n };\n return {\n __proto__: null,\n \"./navara_wasm_font_worker_bg.js\": import0,\n };\n}\n\nconst AabbFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_aabb_free(ptr, 1));\nconst BatchPropResultFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_batchpropresult_free(ptr, 1));\nconst BillboardMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_billboardmaterial_free(ptr, 1));\nconst BoundingSphereFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_boundingsphere_free(ptr, 1));\nconst CachedMeshHandleFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_cachedmeshhandle_free(ptr, 1));\nconst CameraControlUpdateEventFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_cameracontrolupdateevent_free(ptr, 1));\nconst CameraFrustumFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_camerafrustum_free(ptr, 1));\nconst CameraOrientationFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_cameraorientation_free(ptr, 1));\nconst CameraStatusFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_camerastatus_free(ptr, 1));\nconst CompiledExpressionFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_compiledexpression_free(ptr, 1));\nconst CompiledFilterFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_compiledfilter_free(ptr, 1));\nconst ConstructedPolygonGeometryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_constructedpolygongeometry_free(ptr, 1));\nconst ConstructedPolygonOutlineGeometryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_constructedpolygonoutlinegeometry_free(ptr, 1));\nconst ConstructedPolylineGeometryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_constructedpolylinegeometry_free(ptr, 1));\nconst ElevationDecoderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_elevationdecoder_free(ptr, 1));\nconst ElevationHeatmapMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_elevationheatmapmaterial_free(ptr, 1));\nconst EllipsoidGeodesicFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_ellipsoidgeodesic_free(ptr, 1));\nconst EncodedVec3Finalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_encodedvec3_free(ptr, 1));\nconst ExtentRadianF32Finalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_extentradianf32_free(ptr, 1));\nconst FloatAttributeFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_floatattribute_free(ptr, 1));\nconst FontAtlasFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_fontatlas_free(ptr, 1));\nconst FontCacheFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_fontcache_free(ptr, 1));\nconst FontCacheStatsFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_fontcachestats_free(ptr, 1));\nconst GeometryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_geometry_free(ptr, 1));\nconst GlobeFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_globe_free(ptr, 1));\nconst HillshadeMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_hillshadematerial_free(ptr, 1));\nconst LLEFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_lle_free(ptr, 1));\nconst ModelInternalMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_modelinternalmaterial_free(ptr, 1));\nconst ModelMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_modelmaterial_free(ptr, 1));\nconst NearFarFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_nearfar_free(ptr, 1));\nconst OverscaledTileHandleFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_overscaledtilehandle_free(ptr, 1));\nconst PlaneFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_plane_free(ptr, 1));\nconst PointMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_pointmaterial_free(ptr, 1));\nconst PolygonGeometryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polygongeometry_free(ptr, 1));\nconst PolygonGeometryAttributesFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polygongeometryattributes_free(ptr, 1));\nconst PolygonInternalMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polygoninternalmaterial_free(ptr, 1));\nconst PolygonMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polygonmaterial_free(ptr, 1));\nconst PolylineGeometryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polylinegeometry_free(ptr, 1));\nconst PolylineGeometryAttributesFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polylinegeometryattributes_free(ptr, 1));\nconst PolylineInternalMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polylineinternalmaterial_free(ptr, 1));\nconst PolylineMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polylinematerial_free(ptr, 1));\nconst RasterMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_rastermaterial_free(ptr, 1));\nconst RasterTileInternalMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_rastertileinternalmaterial_free(ptr, 1));\nconst RayFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_ray_free(ptr, 1));\nconst ReturnedConstructedTerrainMeshFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_returnedconstructedterrainmesh_free(ptr, 1));\nconst ShapeTextResultFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_shapetextresult_free(ptr, 1));\nconst TerrainMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_terrainmaterial_free(ptr, 1));\nconst TextMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_textmaterial_free(ptr, 1));\nconst TextureFragmentFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_texturefragment_free(ptr, 1));\nconst TileUvTransformFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_tileuvtransform_free(ptr, 1));\nconst TileXYZFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_tilexyz_free(ptr, 1));\nconst TransferableHierarchyFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transferablehierarchy_free(ptr, 1));\nconst TransferableHolesFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transferableholes_free(ptr, 1));\nconst TransferableParsedMvtResultFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transferableparsedmvtresult_free(ptr, 1));\nconst TransferablePolygonBatchedFeatureFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transferablepolygonbatchedfeature_free(ptr, 1));\nconst TransferablePolylineBatchedFeatureFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transferablepolylinebatchedfeature_free(ptr, 1));\nconst TransformFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transform_free(ptr, 1));\nconst UintAttributeFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_uintattribute_free(ptr, 1));\nconst UpsamplableTerrainGeometryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_upsamplableterraingeometry_free(ptr, 1));\nconst Vec2Finalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_vec2_free(ptr, 1));\nconst Vec3Finalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_vec3_free(ptr, 1));\nconst WasmGlyphMetricsFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_wasmglyphmetrics_free(ptr, 1));\nconst WasmShapedGlyphFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_wasmshapedglyph_free(ptr, 1));\nconst WindingOrderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_windingorder_free(ptr, 1));\nconst WindowFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_window_free(ptr, 1));\n\nfunction addToExternrefTable0(obj) {\n const idx = wasm.__externref_table_alloc();\n wasm.__wbindgen_externrefs.set(idx, obj);\n return idx;\n}\n\nfunction _assertClass(instance, klass) {\n if (!(instance instanceof klass)) {\n throw new Error(`expected instance of ${klass.name}`);\n }\n}\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nfunction getArrayF32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\n\nfunction getArrayF64FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getFloat64ArrayMemory0().subarray(ptr / 8, ptr / 8 + len);\n}\n\nfunction getArrayJsValueFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n const mem = getDataViewMemory0();\n const result = [];\n for (let i = ptr; i < ptr + 4 * len; i += 4) {\n result.push(wasm.__wbindgen_externrefs.get(mem.getUint32(i, true)));\n }\n wasm.__externref_drop_slice(ptr, len);\n return result;\n}\n\nfunction getArrayU32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nlet cachedBigUint64ArrayMemory0 = null;\nfunction getBigUint64ArrayMemory0() {\n if (cachedBigUint64ArrayMemory0 === null || cachedBigUint64ArrayMemory0.byteLength === 0) {\n cachedBigUint64ArrayMemory0 = new BigUint64Array(wasm.memory.buffer);\n }\n return cachedBigUint64ArrayMemory0;\n}\n\nlet cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nlet cachedFloat32ArrayMemory0 = null;\nfunction getFloat32ArrayMemory0() {\n if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) {\n cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer);\n }\n return cachedFloat32ArrayMemory0;\n}\n\nlet cachedFloat64ArrayMemory0 = null;\nfunction getFloat64ArrayMemory0() {\n if (cachedFloat64ArrayMemory0 === null || cachedFloat64ArrayMemory0.byteLength === 0) {\n cachedFloat64ArrayMemory0 = new Float64Array(wasm.memory.buffer);\n }\n return cachedFloat64ArrayMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return decodeText(ptr >>> 0, len);\n}\n\nlet cachedUint32ArrayMemory0 = null;\nfunction getUint32ArrayMemory0() {\n if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {\n cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);\n }\n return cachedUint32ArrayMemory0;\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n const idx = addToExternrefTable0(e);\n wasm.__wbindgen_exn_store(idx);\n }\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction passArray32ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 4, 4) >>> 0;\n getUint32ArrayMemory0().set(arg, ptr / 4);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArray64ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 8, 8) >>> 0;\n getBigUint64ArrayMemory0().set(arg, ptr / 8);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArrayF32ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 4, 4) >>> 0;\n getFloat32ArrayMemory0().set(arg, ptr / 4);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArrayF64ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 8, 8) >>> 0;\n getFloat64ArrayMemory0().set(arg, ptr / 8);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArrayJsValueToWasm0(array, malloc) {\n const ptr = malloc(array.length * 4, 4) >>> 0;\n for (let i = 0; i < array.length; i++) {\n const add = addToExternrefTable0(array[i]);\n getDataViewMemory0().setUint32(ptr + 4 * i, add, true);\n }\n WASM_VECTOR_LEN = array.length;\n return ptr;\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nfunction takeFromExternrefTable0(idx) {\n const value = wasm.__wbindgen_externrefs.get(idx);\n wasm.__externref_table_dealloc(idx);\n return value;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n numBytesDecoded += len;\n if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n numBytesDecoded = len;\n }\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n };\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nlet wasmModule, wasmInstance, wasm;\nfunction __wbg_finalize_init(instance, module) {\n wasmInstance = instance;\n wasm = instance.exports;\n wasmModule = module;\n cachedBigUint64ArrayMemory0 = null;\n cachedDataViewMemory0 = null;\n cachedFloat32ArrayMemory0 = null;\n cachedFloat64ArrayMemory0 = null;\n cachedUint32ArrayMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n wasm.__wbindgen_start();\n return wasm;\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n } catch (e) {\n const validResponse = module.ok && expectedResponseType(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else { throw e; }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n } else {\n return instance;\n }\n }\n\n function expectedResponseType(type) {\n switch (type) {\n case 'basic': case 'cors': case 'default': return true;\n }\n return false;\n }\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (module !== undefined) {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n const instance = new WebAssembly.Instance(module, imports);\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (module_or_path !== undefined) {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (module_or_path === undefined) {\n module_or_path = new URL('navara_wasm_font_worker_bg.wasm?no-inline', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync, __wbg_init as default };\n","/// <reference lib=\"webworker\" />\n\nimport init, {\n type FontAtlas,\n FontCache,\n composite_key,\n type ShapeTextResult as WasmShapeTextResult,\n type WasmShapedGlyph,\n type WasmGlyphMetrics,\n} from \"@navaramap/engine-font-worker\";\n\nlet fontCache: FontCache;\n/** WASM linear memory, kept from init() for heap-size reporting. */\nlet wasmMemory: WebAssembly.Memory | undefined;\n\nasync function ensureWasm(): Promise<void> {\n if (!fontCache) {\n const output = await init();\n wasmMemory = output.memory;\n fontCache = new FontCache();\n }\n}\n\nfunction convertGlyphs(glyphs: WasmShapedGlyph[]) {\n return glyphs.map((g) => {\n const out = {\n glyphId: g.glyph_id,\n fontIndex: g.font_index,\n compositeKey: composite_key(g.font_index, g.glyph_id),\n xAdvance: g.x_advance,\n yAdvance: g.y_advance,\n xOffset: g.x_offset,\n yOffset: g.y_offset,\n charClass: g.char_class,\n };\n g.free();\n return out;\n });\n}\n\nfunction convertMetrics(metrics: WasmGlyphMetrics[]) {\n return metrics.map((m) => {\n const out = {\n glyphId: m.glyph_id,\n fontIndex: m.font_index,\n compositeKey: composite_key(m.font_index, m.glyph_id),\n atlasX: m.atlas_x,\n atlasY: m.atlas_y,\n atlasW: m.atlas_w,\n atlasH: m.atlas_h,\n bearingX: m.bearing_x,\n bearingY: m.bearing_y,\n isColor: m.is_color,\n };\n m.free();\n return out;\n });\n}\n\nfunction convertShapeResult(sr: WasmShapeTextResult | undefined) {\n if (!sr) return null;\n const result = {\n glyphs: convertGlyphs(sr.glyphs),\n metrics: convertMetrics(sr.metrics),\n unitsPerEm: sr.units_per_em,\n ascender: sr.ascender,\n descender: sr.descender,\n lineGap: sr.line_gap,\n };\n sr.free();\n return result;\n}\n\n/** Take a transferable snapshot of `atlas` and free the WASM-owned object. */\nfunction snapshot(atlas: FontAtlas | undefined) {\n if (!atlas) return null;\n const out = {\n data: atlas.data.buffer,\n width: atlas.width,\n height: atlas.height,\n channels: atlas.channels,\n };\n atlas.free();\n return out;\n}\n\ntype FontWorkerMessageType =\n | \"init\"\n | \"loadFont\"\n | \"unloadFont\"\n | \"prepareTextBatch\"\n | \"retainGlyphs\"\n | \"releaseGlyphs\"\n | \"getMemoryStats\";\n\nconst ctx = self as unknown as DedicatedWorkerGlobalScope;\n\nctx.onmessage = async (e: MessageEvent) => {\n const msg = e.data;\n const id: number = msg.id;\n const msgType: FontWorkerMessageType = msg.type;\n\n try {\n await ensureWasm();\n\n switch (msgType) {\n case \"init\": {\n // Used to await worker readiness; optionally delivers the memory\n // budget (font data + atlas pixels; caps further atlas growth).\n const fontBudgetBytes = (\n msg.payload as { fontBudgetBytes?: number } | undefined\n )?.fontBudgetBytes;\n fontCache.setBudget(fontBudgetBytes);\n ctx.postMessage({ id, type: \"result\", payload: null });\n break;\n }\n\n case \"getMemoryStats\": {\n const stats = fontCache.memoryStats();\n const payload = {\n heapBytes: wasmMemory?.buffer.byteLength ?? 0,\n fontCount: stats.fontCount,\n atlasCount: stats.atlasCount,\n glyphCount: stats.glyphCount,\n fontBytes: stats.fontBytes,\n atlasBytes: stats.atlasBytes,\n colorAtlasBytes: stats.colorAtlasBytes,\n budgetBytes: stats.budgetBytes === 0 ? undefined : stats.budgetBytes,\n };\n stats.free();\n ctx.postMessage({ id, type: \"result\", payload });\n break;\n }\n\n case \"loadFont\": {\n const { url, data, atlasKey, highQuality } = msg.payload as {\n url: string;\n data: ArrayBuffer;\n atlasKey?: string;\n highQuality: boolean;\n };\n const bytes = new Uint8Array(data);\n // Map TS quality → WASM mode string. `false` is treated as the SDF\n // path by the Rust side (see `wasm_load_font`).\n const mode = highQuality ? \"msdf\" : \"sdf\";\n // On success the worker returns the font's cmap coverage as\n // flattened [from, to, ...] ranges so the FontManager can correct a\n // face's declared unicode ranges once per file.\n const wasmRanges =\n fontCache.loadFont(\n url,\n bytes.length,\n (buf: Uint8Array) => {\n buf.set(bytes);\n },\n atlasKey,\n mode,\n ) ?? null;\n // Copy before transferring: if the returned array is a view into\n // WASM memory, transferring its buffer would detach the whole heap.\n const cmapRanges = wasmRanges ? new Uint32Array(wasmRanges) : null;\n ctx.postMessage(\n {\n id,\n type: \"result\",\n payload: { ok: cmapRanges !== null, cmapRanges },\n },\n cmapRanges ? [cmapRanges.buffer] : [],\n );\n break;\n }\n\n case \"unloadFont\": {\n const { url } = msg.payload as { url: string };\n const ok = fontCache.unloadFont(url);\n ctx.postMessage({ id, type: \"result\", payload: { ok } });\n break;\n }\n\n case \"prepareTextBatch\": {\n const { fontUrl, texts } = msg.payload as {\n fontUrl: string;\n texts: string[];\n };\n\n let sdfAtlasChanged = false;\n let colorAtlasChanged = false;\n let evicted = false;\n const results = texts.map((text) => {\n const sr = fontCache.shapeText(fontUrl, text);\n if (sr?.atlas_changed) {\n if (sr.is_color) colorAtlasChanged = true;\n else sdfAtlasChanged = true;\n }\n // Read `evicted` before convertShapeResult frees the WASM result.\n if (sr?.evicted) evicted = true;\n return { text, shapeResult: convertShapeResult(sr) };\n });\n\n // Snapshot atlases by atlas key (family name or URL) so shared atlases\n // are returned correctly for font-family faces.\n const atlasKey = fontCache.getAtlasKey(fontUrl) ?? fontUrl;\n const atlas = sdfAtlasChanged\n ? snapshot(fontCache.getFontAtlas(atlasKey))\n : null;\n const colorAtlas = colorAtlasChanged\n ? snapshot(fontCache.getColorAtlas(atlasKey))\n : null;\n\n const transfers: Transferable[] = [];\n if (atlas) transfers.push(atlas.data);\n if (colorAtlas) transfers.push(colorAtlas.data);\n ctx.postMessage(\n {\n id,\n type: \"result\",\n payload: { results, atlas, colorAtlas, atlasKey, evicted },\n },\n transfers,\n );\n break;\n }\n\n case \"retainGlyphs\":\n case \"releaseGlyphs\": {\n const { atlasKey, keys } = msg.payload as {\n atlasKey: string;\n keys: BigUint64Array;\n };\n if (msgType === \"retainGlyphs\") {\n fontCache.retainGlyphs(atlasKey, keys);\n } else {\n fontCache.releaseGlyphs(atlasKey, keys);\n }\n ctx.postMessage({ id, type: \"result\", payload: null });\n break;\n }\n\n default: {\n ctx.postMessage({\n id,\n type: \"error\",\n payload: { message: `Unknown message type: ${msgType}` },\n });\n break;\n }\n }\n } catch (err) {\n ctx.postMessage({\n id,\n type: \"error\",\n payload: { message: String(err) },\n });\n }\n};\n"],"mappings":"YAEA,IAAa,EAAb,KAAkB,CACd,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAiB,WAAW,IAAI,EACzB,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,gBAAgB,EAAK,CAAC,CAC/B,CAKA,YAAY,EAAQ,EAAQ,CACxB,EAAa,EAAQ,CAAI,EACzB,IAAI,EAAO,EAAO,mBAAmB,EACrC,EAAa,EAAQ,CAAI,EACzB,IAAI,EAAO,EAAO,mBAAmB,EACrC,IAAM,EAAM,EAAK,SAAS,EAAM,CAAI,EAGpC,MAFA,MAAK,UAAY,EACjB,GAAiB,SAAS,KAAM,KAAK,UAAW,IAAI,EAC7C,IACX,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,sBAAsB,KAAK,SAAS,EACrD,OAAO,EAAK,OAAO,CAAG,CAC1B,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,sBAAsB,KAAK,SAAS,EACrD,OAAO,EAAK,OAAO,CAAG,CAC1B,CAIA,IAAI,OAAO,EAAM,CACb,EAAa,EAAM,CAAI,EACvB,IAAI,EAAO,EAAK,mBAAmB,EACnC,EAAK,sBAAsB,KAAK,UAAW,CAAI,CACnD,CAIA,IAAI,OAAO,EAAM,CACb,EAAa,EAAM,CAAI,EACvB,IAAI,EAAO,EAAK,mBAAmB,EACnC,EAAK,sBAAsB,KAAK,UAAW,CAAI,CACnD,CACJ,EACI,OAAO,UAAS,EAAK,UAAU,OAAO,SAAW,EAAK,UAAU,MAEpE,IAAa,EAAb,KAA6B,CACzB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA4B,WAAW,IAAI,EACpC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,2BAA2B,EAAK,CAAC,CAC1C,CAIA,IAAI,SAAU,CACV,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EAC7D,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAmB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAC9C,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAIA,IAAI,YAAa,CAEb,OADY,EAAK,qCAAqC,KAAK,SACpD,CACX,CAIA,IAAI,QAAQ,EAAM,CACd,IAAI,EAAO,EAAW,CAAI,EAAI,EAAI,EAAkB,EAAM,EAAK,kBAAmB,EAAK,kBAAkB,EACrG,EAAO,EACX,EAAK,kCAAkC,KAAK,UAAW,EAAM,CAAI,CACrE,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,qCAAqC,KAAK,UAAW,CAAI,CAClE,CACJ,EACI,OAAO,UAAS,EAAgB,UAAU,OAAO,SAAW,EAAgB,UAAU,MAE1F,IAAa,EAAb,KAA+B,CAC3B,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA8B,WAAW,IAAI,EACtC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,6BAA6B,EAAK,CAAC,CAC5C,CAIA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAMA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,IAAQ,EAAI,IAAA,GAAY,EAAK,OAAO,CAAG,CAClD,CAIA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,0CAA0C,KAAK,SAAS,EACzE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAMA,IAAI,mBAAoB,CACpB,IAAM,EAAM,EAAK,8CAA8C,KAAK,SAAS,EAC7E,OAAO,YAAkC,IAAA,GAAY,CACzD,CAOA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACjE,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAyB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EACpD,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAKA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,0CAA0C,KAAK,SAAS,EACzE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,mBAAoB,CACpB,IAAM,EAAM,EAAK,8CAA8C,KAAK,SAAS,EAC7E,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,wCAAwC,KAAK,SAAS,EACvE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,SAAU,CACV,IAAM,EAAM,EAAK,oCAAoC,KAAK,SAAS,EACnE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAChE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,yCAAyC,KAAK,SAAS,EACxE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAChE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,wCAAwC,KAAK,SAAS,EACvE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,KAAM,CACN,IAAM,EAAM,EAAK,gCAAgC,KAAK,SAAS,EAC3D,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAmB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAC9C,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,sCAAsC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC7H,CAMA,IAAI,OAAO,EAAM,CACb,IAAI,EAAO,EACN,EAAW,CAAI,IAChB,EAAa,EAAM,CAAI,EACvB,EAAO,EAAK,mBAAmB,GAEnC,EAAK,mCAAmC,KAAK,UAAW,CAAI,CAChE,CAIA,IAAI,cAAc,EAAM,CACpB,EAAK,0CAA0C,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC7G,CAIA,IAAI,MAAM,EAAM,CACZ,EAAK,kCAAkC,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CACpH,CAMA,IAAI,kBAAkB,EAAM,CACxB,EAAK,8CAA8C,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACrI,CAOA,IAAI,UAAU,EAAM,CAChB,EAAK,sCAAsC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACzG,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,sCAAsC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACzG,CAKA,IAAI,UAAU,EAAM,CAChB,IAAI,EAAO,EAAW,CAAI,EAAI,EAAI,EAAwB,EAAM,EAAK,iBAAiB,EAClF,EAAO,EACX,EAAK,sCAAsC,KAAK,UAAW,EAAM,CAAI,CACzE,CAKA,IAAI,cAAc,EAAM,CACpB,EAAK,0CAA0C,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CAC5H,CAKA,IAAI,kBAAkB,EAAM,CACxB,EAAK,8CAA8C,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACrI,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,mCAAmC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC1H,CAKA,IAAI,YAAY,EAAM,CAClB,EAAK,wCAAwC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC3G,CAIA,IAAI,QAAQ,EAAM,CACd,EAAK,oCAAoC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC3H,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,iCAAiC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACpG,CAKA,IAAI,aAAa,EAAM,CACnB,EAAK,yCAAyC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC5G,CAKA,IAAI,KAAK,EAAM,CACX,EAAK,iCAAiC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACxH,CAIA,IAAI,YAAY,EAAM,CAClB,EAAK,wCAAwC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC3G,CAIA,IAAI,IAAI,EAAM,CACV,IAAI,EAAO,EAAW,CAAI,EAAI,EAAI,EAAkB,EAAM,EAAK,kBAAmB,EAAK,kBAAkB,EACrG,EAAO,EACX,EAAK,gCAAgC,KAAK,UAAW,EAAM,CAAI,CACnE,CACJ,EACI,OAAO,UAAS,EAAkB,UAAU,OAAO,SAAW,EAAkB,UAAU,MAE9F,IAAa,EAAb,KAA4B,CACxB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA2B,WAAW,IAAI,EACnC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,0BAA0B,EAAK,CAAC,CACzC,CAOA,YAAY,EAAU,EAAU,EAAU,EAAQ,CAC9C,IAAM,EAAM,EAAK,mBAAmB,EAAU,EAAU,EAAU,CAAM,EAGxE,MAFA,MAAK,UAAY,EACjB,GAA2B,SAAS,KAAM,KAAK,UAAW,IAAI,EACvD,IACX,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,kCAAkC,KAAK,SACjD,CACX,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,kCAAkC,KAAK,SACjD,CACX,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,kCAAkC,KAAK,SACjD,CACX,CAIA,IAAI,QAAS,CAET,OADY,EAAK,gCAAgC,KAAK,SAC/C,CACX,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,kCAAkC,KAAK,UAAW,CAAI,CAC/D,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,kCAAkC,KAAK,UAAW,CAAI,CAC/D,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,kCAAkC,KAAK,UAAW,CAAI,CAC/D,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,gCAAgC,KAAK,UAAW,CAAI,CAC7D,CACJ,EACI,OAAO,UAAS,EAAe,UAAU,OAAO,SAAW,EAAe,UAAU,MAMrE,OAAO,OAAO,CAI7B,WAAY,EAAG,EAAK,aAIpB,WAAY,EAAG,EAAK,YACxB,CAAC,EAED,IAAa,EAAb,KAA8B,CAC1B,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA6B,WAAW,IAAI,EACrC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,4BAA4B,EAAK,CAAC,CAC3C,CAOA,YAAY,EAAU,EAAS,EAAK,EAAS,CACzC,IAAM,EAAM,EAAK,qBAAqB,EAAU,EAAS,EAAK,EAAW,CAAO,UAA+B,GAAY,CAAC,EAG5H,MAFA,MAAK,UAAY,EACjB,GAA6B,SAAS,KAAM,KAAK,UAAW,IAAI,EACzD,IACX,CAIA,IAAI,SAAU,CACV,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,SAAU,CAEV,OADY,EAAK,mCAAmC,KAAK,SAClD,CACX,CAIA,IAAI,SAAU,CACV,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,KAAM,CAEN,OADY,EAAK,+BAA+B,KAAK,SAC9C,CACX,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,oCAAoC,KAAK,SACnD,CACX,CAIA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,qCAAqC,KAAK,SAAS,EACpE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,QAAQ,EAAM,CACd,EAAK,mCAAmC,KAAK,UAAW,EAAW,CAAI,UAA+B,GAAS,CAAC,CACpH,CAIA,IAAI,QAAQ,EAAM,CACd,EAAK,mCAAmC,KAAK,UAAW,CAAI,CAChE,CAIA,IAAI,QAAQ,EAAM,CACd,EAAK,mCAAmC,KAAK,UAAW,EAAW,CAAI,UAA+B,GAAS,CAAC,CACpH,CAIA,IAAI,IAAI,EAAM,CACV,EAAK,+BAA+B,KAAK,UAAW,CAAI,CAC5D,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,oCAAoC,KAAK,UAAW,CAAI,CACjE,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,qCAAqC,KAAK,UAAW,EAAW,CAAI,UAA+B,GAAS,CAAC,CACtH,CACJ,EACI,OAAO,UAAS,EAAiB,UAAU,OAAO,SAAW,EAAiB,UAAU,MAQ5F,IAAa,EAAb,KAAsC,CAClC,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAqC,WAAW,IAAI,EAC7C,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,oCAAoC,EAAK,CAAC,CACnD,CACA,aAAc,CACV,IAAM,EAAM,EAAK,6BAA6B,EAG9C,MAFA,MAAK,UAAY,EACjB,GAAqC,SAAS,KAAM,KAAK,UAAW,IAAI,EACjE,IACX,CAWA,IAAI,mBAAoB,CACpB,IAAM,EAAM,EAAK,qDAAqD,KAAK,SAAS,EACpF,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAOA,IAAI,YAAa,CACb,IAAM,EAAM,EAAK,8CAA8C,KAAK,SAAS,EAC7E,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAOA,IAAI,YAAa,CACb,IAAM,EAAM,EAAK,8CAA8C,KAAK,SAAS,EAC7E,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAOA,IAAI,YAAa,CACb,IAAM,EAAM,EAAK,8CAA8C,KAAK,SAAS,EAC7E,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAOA,IAAI,qBAAsB,CACtB,IAAM,EAAM,EAAK,uDAAuD,KAAK,SAAS,EACtF,OAAO,EAAI,KAAO,EAAI,IAAA,GAAY,EAAI,EAC1C,CAOA,IAAI,qBAAsB,CACtB,IAAM,EAAM,EAAK,uDAAuD,KAAK,SAAS,EACtF,OAAO,EAAI,KAAO,EAAI,IAAA,GAAY,EAAI,EAC1C,CAOA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,gDAAgD,KAAK,SAAS,EAC/E,OAAO,YAAkC,IAAA,GAAY,CACzD,CAOA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,6CAA6C,KAAK,SAAS,EAC5E,OAAO,EAAI,KAAO,EAAI,IAAA,GAAY,EAAI,EAC1C,CAOA,IAAI,mBAAoB,CACpB,IAAM,EAAM,EAAK,qDAAqD,KAAK,SAAS,EACpF,OAAO,YAAkC,IAAA,GAAY,CACzD,CAOA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,gDAAgD,KAAK,SAAS,EAC/E,OAAO,YAAkC,IAAA,GAAY,CACzD,CAOA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,6CAA6C,KAAK,SAAS,EAC5E,OAAO,EAAI,KAAO,EAAI,IAAA,GAAY,EAAI,EAC1C,CAWA,IAAI,kBAAkB,EAAM,CACxB,EAAK,qDAAqD,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACxH,CAOA,IAAI,WAAW,EAAM,CACjB,EAAK,8CAA8C,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACjH,CAOA,IAAI,WAAW,EAAM,CACjB,EAAK,8CAA8C,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACjH,CAOA,IAAI,WAAW,EAAM,CACjB,EAAK,8CAA8C,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACjH,CAOA,IAAI,oBAAoB,EAAM,CAC1B,EAAK,uDAAuD,KAAK,UAAW,CAAC,EAAW,CAAI,EAAG,EAAW,CAAI,EAAI,EAAI,CAAI,CAC9H,CAOA,IAAI,oBAAoB,EAAM,CAC1B,EAAK,uDAAuD,KAAK,UAAW,CAAC,EAAW,CAAI,EAAG,EAAW,CAAI,EAAI,EAAI,CAAI,CAC9H,CAOA,IAAI,aAAa,EAAM,CACnB,EAAK,gDAAgD,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACvI,CAOA,IAAI,UAAU,EAAM,CAChB,EAAK,6CAA6C,KAAK,UAAW,CAAC,EAAW,CAAI,EAAG,EAAW,CAAI,EAAI,EAAI,CAAI,CACpH,CAOA,IAAI,kBAAkB,EAAM,CACxB,EAAK,qDAAqD,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC5I,CAOA,IAAI,aAAa,EAAM,CACnB,EAAK,gDAAgD,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACvI,CAOA,IAAI,UAAU,EAAM,CAChB,EAAK,6CAA6C,KAAK,UAAW,CAAC,EAAW,CAAI,EAAG,EAAW,CAAI,EAAI,EAAI,CAAI,CACpH,CACJ,EACI,OAAO,UAAS,EAAyB,UAAU,OAAO,SAAW,EAAyB,UAAU,MAK7E,OAAO,OAAO,CACzC,QAAS,EAAG,EAAK,UACjB,SAAU,EAAG,EAAK,WAClB,KAAM,EAAG,EAAK,OACd,MAAO,EAAG,EAAK,QACf,GAAI,EAAG,EAAK,KACZ,KAAM,EAAG,EAAK,MAClB,CAAC,EAED,IAAa,EAAb,KAA2B,CACvB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA0B,WAAW,IAAI,EAClC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,yBAAyB,EAAK,CAAC,CACxC,CAOA,YAAY,EAAM,EAAK,EAAK,EAAc,CACtC,IAAM,EAAM,EAAK,kBAAkB,EAAM,EAAK,EAAK,CAAY,EAG/D,MAFA,MAAK,UAAY,EACjB,GAA0B,SAAS,KAAM,KAAK,UAAW,IAAI,EACtD,IACX,CAIA,IAAI,cAAe,CAEf,OADY,EAAK,qCAAqC,KAAK,SACpD,CACX,CAIA,IAAI,KAAM,CAEN,OADY,EAAK,4BAA4B,KAAK,SAC3C,CACX,CAIA,IAAI,KAAM,CAEN,OADY,EAAK,4BAA4B,KAAK,SAC3C,CACX,CAIA,IAAI,MAAO,CAEP,OADY,EAAK,6BAA6B,KAAK,SAC5C,CACX,CAIA,IAAI,aAAa,EAAM,CACnB,EAAK,qCAAqC,KAAK,UAAW,CAAI,CAClE,CAIA,IAAI,IAAI,EAAM,CACV,EAAK,4BAA4B,KAAK,UAAW,CAAI,CACzD,CAIA,IAAI,IAAI,EAAM,CACV,EAAK,4BAA4B,KAAK,UAAW,CAAI,CACzD,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,6BAA6B,KAAK,UAAW,CAAI,CAC1D,CACJ,EACI,OAAO,UAAS,EAAc,UAAU,OAAO,SAAW,EAAc,UAAU,MAEtF,IAAa,EAAb,KAA+B,CAC3B,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA8B,WAAW,IAAI,EACtC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,6BAA6B,EAAK,CAAC,CAC5C,CAIA,IAAI,SAAU,CAEV,OADY,EAAK,oCAAoC,KAAK,SACnD,CACX,CAIA,IAAI,OAAQ,CAER,OADY,EAAK,kCAAkC,KAAK,SACjD,CACX,CAIA,IAAI,MAAO,CAEP,OADY,EAAK,iCAAiC,KAAK,SAChD,CACX,CAIA,IAAI,QAAQ,EAAM,CACd,EAAK,oCAAoC,KAAK,UAAW,CAAI,CACjE,CAIA,IAAI,MAAM,EAAM,CACZ,EAAK,kCAAkC,KAAK,UAAW,CAAI,CAC/D,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,iCAAiC,KAAK,UAAW,CAAI,CAC9D,CACJ,EACI,OAAO,UAAS,EAAkB,UAAU,OAAO,SAAW,EAAkB,UAAU,MAE9F,IAAa,EAAb,KAA0B,CACtB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAyB,WAAW,IAAI,EACjC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,wBAAwB,EAAK,CAAC,CACvC,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,8BAA8B,KAAK,SAAS,EAC7D,IAAI,EAAK,EAAyB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAExD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAIA,IAAI,OAAO,EAAM,CACb,IAAM,EAAO,EAAwB,EAAM,EAAK,iBAAiB,EAC3D,EAAO,EACb,EAAK,8BAA8B,KAAK,UAAW,EAAM,CAAI,CACjE,CACJ,EACI,OAAO,UAAS,EAAa,UAAU,OAAO,SAAW,EAAa,UAAU,MAKpD,OAAO,OAAO,CAC1C,OAAQ,EAAG,EAAK,SAChB,OAAQ,EAAG,EAAK,SAChB,OAAQ,EAAG,EAAK,SAChB,UAAW,EAAG,EAAK,YACnB,OAAQ,EAAG,EAAK,SAChB,QAAS,EAAG,EAAK,SACrB,CAAC,EAED,IAAa,EAAb,KAAgC,CAC5B,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA+B,WAAW,IAAI,EACvC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,8BAA8B,EAAK,CAAC,CAC7C,CAsBA,SAAS,EAAiB,EAAM,EAAe,CAC3C,IAAI,EAAO,EAAW,CAAa,EAAI,EAAI,EAAkB,EAAe,EAAK,kBAAmB,EAAK,kBAAkB,EACvH,EAAO,EACX,IAAM,EAAM,EAAK,4BAA4B,KAAK,UAAW,EAAiB,EAAM,EAAM,CAAI,EAC9F,GAAI,EAAI,GACJ,MAAM,EAAwB,EAAI,EAAE,EAExC,OAAO,EAAwB,EAAI,EAAE,CACzC,CAOA,uBAAwB,CAEpB,OADY,EAAK,yCAAyC,KAAK,SACxD,CACX,CAaA,YAAY,EAAW,EAAe,CAClC,IAAI,EAAO,EAAW,CAAa,EAAI,EAAI,EAAkB,EAAe,EAAK,kBAAmB,EAAK,kBAAkB,EACvH,EAAO,EACX,IAAM,EAAM,EAAK,uBAAuB,EAAW,EAAM,CAAI,EAC7D,GAAI,EAAI,GACJ,MAAM,EAAwB,EAAI,EAAE,EAIxC,MAFA,MAAK,UAAY,EAAI,GACrB,GAA+B,SAAS,KAAM,KAAK,UAAW,IAAI,EAC3D,IACX,CACJ,EACI,OAAO,UAAS,EAAmB,UAAU,OAAO,SAAW,EAAmB,UAAU,MAEhG,IAAa,EAAb,KAA4B,CACxB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA2B,WAAW,IAAI,EACnC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,0BAA0B,EAAK,CAAC,CACzC,CAMA,YAAY,EAAa,CACrB,IAAM,EAAM,EAAK,mBAAmB,CAAW,EAC/C,GAAI,EAAI,GACJ,MAAM,EAAwB,EAAI,EAAE,EAIxC,MAFA,MAAK,UAAY,EAAI,GACrB,GAA2B,SAAS,KAAM,KAAK,UAAW,IAAI,EACvD,IACX,CAaA,KAAK,EAAiB,EAAM,EAAe,CACvC,IAAI,EAAO,EAAW,CAAa,EAAI,EAAI,EAAkB,EAAe,EAAK,kBAAmB,EAAK,kBAAkB,EACvH,EAAO,EACX,IAAM,EAAM,EAAK,oBAAoB,KAAK,UAAW,EAAiB,EAAM,EAAM,CAAI,EACtF,GAAI,EAAI,GACJ,MAAM,EAAwB,EAAI,EAAE,EAExC,OAAO,EAAI,KAAO,CACtB,CACJ,EACI,OAAO,UAAS,EAAe,UAAU,OAAO,SAAW,EAAe,UAAU,MAExF,IAAa,EAAb,KAAwC,CACpC,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAuC,WAAW,IAAI,EAC/C,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,sCAAsC,EAAK,CAAC,CACrD,CAIA,UAAW,CAEP,OADY,EAAK,oCAAoC,KAAK,SACnD,CACX,CAIA,eAAgB,CACZ,IAAM,EAAM,EAAK,yCAAyC,KAAK,SAAS,EACxE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,aAAc,CAEV,OADY,EAAK,uCAAuC,KAAK,SACtD,CACX,CAIA,kBAAmB,CACf,IAAM,EAAM,EAAK,4CAA4C,KAAK,SAAS,EAC3E,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,SAAU,CAEN,OADY,EAAK,mCAAmC,KAAK,SAClD,CACX,CAIA,QAAS,CAEL,OADY,EAAK,kCAAkC,KAAK,SACjD,CACX,CAIA,aAAc,CACV,IAAM,EAAM,EAAK,uCAAuC,KAAK,SAAS,EACtE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,SAAU,CACN,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,IAAQ,EAAI,IAAA,GAAY,EAAkC,OAAO,CAAG,CAC/E,CAIA,UAAW,CAEP,OADY,EAAK,oCAAoC,KAAK,SACnD,CACX,CAIA,kBAAmB,CAEf,OADY,EAAK,4CAA4C,KAAK,SAC3D,CACX,CAIA,uBAAwB,CACpB,IAAM,EAAM,EAAK,iDAAiD,KAAK,SAAS,EAChF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,iBAAkB,CAEd,OADY,EAAK,2CAA2C,KAAK,SAC1D,CACX,CAIA,sBAAuB,CACnB,IAAM,EAAM,EAAK,gDAAgD,KAAK,SAAS,EAC/E,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,eAAgB,CACZ,IAAM,EAAM,EAAK,yCAAyC,KAAK,SAAS,EACxE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,sBAAuB,CAEnB,OADY,EAAK,gDAAgD,KAAK,SAC/D,CACX,CAIA,2BAA4B,CACxB,IAAM,EAAM,EAAK,qDAAqD,KAAK,SAAS,EACpF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,4CAA4C,KAAK,SAAS,EAC3E,OAAO,IAAQ,EAAI,IAAA,GAAY,EAAgB,OAAO,CAAG,CAC7D,CAOA,IAAI,iBAAkB,CAClB,IAAM,EAAM,EAAK,qDAAqD,KAAK,SAAS,EACpF,OAAO,IAAQ,EAAI,IAAA,GAAY,EAAK,OAAO,CAAG,CAClD,CAIA,IAAI,OAAO,EAAM,CACb,IAAI,EAAO,EACN,EAAW,CAAI,IAChB,EAAa,EAAM,CAAe,EAClC,EAAO,EAAK,mBAAmB,GAEnC,EAAK,4CAA4C,KAAK,UAAW,CAAI,CACzE,CAOA,IAAI,gBAAgB,EAAM,CACtB,IAAI,EAAO,EACN,EAAW,CAAI,IAChB,EAAa,EAAM,CAAI,EACvB,EAAO,EAAK,mBAAmB,GAEnC,EAAK,qDAAqD,KAAK,UAAW,CAAI,CAClF,CACJ,EACI,OAAO,UAAS,EAA2B,UAAU,OAAO,SAAW,EAA2B,UAAU,MAEhH,IAAa,EAAb,MAAa,CAAkC,CAC3C,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAkC,SAAS,EAGrE,MAFA,GAAI,UAAY,EAChB,GAA8C,SAAS,EAAK,EAAI,UAAW,CAAG,EACvE,CACX,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA8C,WAAW,IAAI,EACtD,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,6CAA6C,EAAK,CAAC,CAC5D,CAIA,aAAc,CAEV,OADY,EAAK,8CAA8C,KAAK,SAC7D,CACX,CAIA,kBAAmB,CACf,IAAM,EAAM,EAAK,mDAAmD,KAAK,SAAS,EAClF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,UAAW,CAEP,OADY,EAAK,2CAA2C,KAAK,SAC1D,CACX,CAIA,eAAgB,CAEZ,OADY,EAAK,gDAAgD,KAAK,SAC/D,CACX,CAIA,sBAAuB,CAEnB,OADY,EAAK,uDAAuD,KAAK,SACtE,CACX,CAIA,2BAA4B,CAExB,OADY,EAAK,4DAA4D,KAAK,SAC3E,CACX,CAIA,cAAe,CAEX,OADY,EAAK,+CAA+C,KAAK,SAC9D,CACX,CACJ,EACI,OAAO,UAAS,EAAkC,UAAU,OAAO,SAAW,EAAkC,UAAU,MAE9H,IAAa,EAAb,KAAyC,CACrC,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAwC,WAAW,IAAI,EAChD,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,uCAAuC,EAAK,CAAC,CACtD,CAIA,UAAW,CAEP,OADY,EAAK,qCAAqC,KAAK,SACpD,CACX,CAIA,eAAgB,CACZ,IAAM,EAAM,EAAK,0CAA0C,KAAK,SAAS,EACzE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,aAAc,CAEV,OADY,EAAK,wCAAwC,KAAK,SACvD,CACX,CAIA,kBAAmB,CACf,IAAM,EAAM,EAAK,6CAA6C,KAAK,SAAS,EAC5E,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,UAAW,CAEP,OADY,EAAK,qCAAqC,KAAK,SACpD,CACX,CAIA,eAAgB,CACZ,IAAM,EAAM,EAAK,0CAA0C,KAAK,SAAS,EACzE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,SAAU,CAEN,OADY,EAAK,oCAAoC,KAAK,SACnD,CACX,CAIA,cAAe,CACX,IAAM,EAAM,EAAK,yCAAyC,KAAK,SAAS,EACxE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,mDAAoD,CAEhD,OADY,EAAK,8EAA8E,KAAK,SAC7F,CACX,CAIA,wDAAyD,CACrD,IAAM,EAAM,EAAK,mFAAmF,KAAK,SAAS,EAClH,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,IAAQ,EAAI,IAAA,GAAY,EAAgB,OAAO,CAAG,CAC7D,CAIA,gBAAiB,CAEb,OADY,EAAK,2CAA2C,KAAK,SAC1D,CACX,CAIA,qBAAsB,CAClB,IAAM,EAAM,EAAK,gDAAgD,KAAK,SAAS,EAC/E,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,SAAU,CAEN,OADY,EAAK,oCAAoC,KAAK,SACnD,CACX,CAIA,UAAW,CAEP,OADY,EAAK,qCAAqC,KAAK,SACpD,CACX,CAIA,eAAgB,CAEZ,OADY,EAAK,0CAA0C,KAAK,SACzD,CACX,CAIA,oBAAqB,CACjB,IAAM,EAAM,EAAK,+CAA+C,KAAK,SAAS,EAC9E,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,cAAe,CAEX,OADY,EAAK,yCAAyC,KAAK,SACxD,CACX,CAIA,mBAAoB,CAChB,IAAM,EAAM,EAAK,8CAA8C,KAAK,SAAS,EAC7E,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,eAAgB,CAEZ,OADY,EAAK,0CAA0C,KAAK,SACzD,CACX,CAIA,qDAAsD,CAElD,OADY,EAAK,gFAAgF,KAAK,SAC/F,CACX,CAIA,0DAA2D,CAEvD,OADY,EAAK,qFAAqF,KAAK,SACpG,CACX,CAIA,OAAQ,CAEJ,OADY,EAAK,kCAAkC,KAAK,SACjD,CACX,CAIA,YAAa,CAET,OADY,EAAK,uCAAuC,KAAK,SACtD,CACX,CAIA,iBAAkB,CACd,IAAM,EAAM,EAAK,4CAA4C,KAAK,SAAS,EAC3E,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,WAAY,CAER,OADY,EAAK,sCAAsC,KAAK,SACrD,CACX,CAIA,gBAAiB,CACb,IAAM,EAAM,EAAK,2CAA2C,KAAK,SAAS,EAC1E,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,eAAgB,CAEZ,OADY,EAAK,0CAA0C,KAAK,SACzD,CACX,CAIA,oBAAqB,CACjB,IAAM,EAAM,EAAK,+CAA+C,KAAK,SAAS,EAC9E,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,YAAa,CACT,IAAM,EAAM,EAAK,uCAAuC,KAAK,SAAS,EACtE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CACJ,EACI,OAAO,UAAS,EAA4B,UAAU,OAAO,SAAW,EAA4B,UAAU,MAElH,IAAa,EAAb,MAAa,CAAiB,CAC1B,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAiB,SAAS,EAGpD,MAFA,GAAI,UAAY,EAChB,GAA6B,SAAS,EAAK,EAAI,UAAW,CAAG,EACtD,CACX,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA6B,WAAW,IAAI,EACrC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,4BAA4B,EAAK,CAAC,CAC3C,CAIA,OAAO,UAAW,CACd,IAAM,EAAM,EAAK,0BAA0B,EAC3C,OAAO,EAAiB,OAAO,CAAG,CACtC,CAIA,OAAO,QAAS,CACZ,IAAM,EAAM,EAAK,wBAAwB,EACzC,OAAO,EAAiB,OAAO,CAAG,CACtC,CAWA,YAAY,EAAU,EAAU,EAAU,EAAQ,EAAY,EAAY,EAAU,EAAS,CACzF,IAAM,EAAM,EAAK,qBAAqB,EAAU,EAAU,EAAU,EAAQ,EAAY,EAAY,EAAU,CAAO,EAGrH,MAFA,MAAK,UAAY,EACjB,GAA6B,SAAS,KAAM,KAAK,UAAW,IAAI,EACzD,IACX,CAIA,OAAO,WAAY,CACf,IAAM,EAAM,EAAK,2BAA2B,EAC5C,OAAO,EAAiB,OAAO,CAAG,CACtC,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,oCAAoC,KAAK,SACnD,CACX,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,oCAAoC,KAAK,SACnD,CACX,CAIA,IAAI,SAAU,CAEV,OADY,EAAK,mCAAmC,KAAK,SAClD,CACX,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,oCAAoC,KAAK,SACnD,CACX,CAIA,IAAI,YAAa,CAEb,OADY,EAAK,sCAAsC,KAAK,SACrD,CACX,CAIA,IAAI,YAAa,CAEb,OADY,EAAK,sCAAsC,KAAK,SACrD,CACX,CAIA,IAAI,QAAS,CAET,OADY,EAAK,kCAAkC,KAAK,SACjD,CACX,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,oCAAoC,KAAK,SACnD,CACX,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,oCAAoC,KAAK,UAAW,CAAI,CACjE,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,oCAAoC,KAAK,UAAW,CAAI,CACjE,CAIA,IAAI,QAAQ,EAAM,CACd,EAAK,mCAAmC,KAAK,UAAW,CAAI,CAChE,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,oCAAoC,KAAK,UAAW,CAAI,CACjE,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,sCAAsC,KAAK,UAAW,CAAI,CACnE,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,sCAAsC,KAAK,UAAW,CAAI,CACnE,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,kCAAkC,KAAK,UAAW,CAAI,CAC/D,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,oCAAoC,KAAK,UAAW,CAAI,CACjE,CACJ,EACI,OAAO,UAAS,EAAiB,UAAU,OAAO,SAAW,EAAiB,UAAU,MAM5F,IAAa,EAAb,KAAsC,CAClC,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAqC,WAAW,IAAI,EAC7C,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,oCAAoC,EAAK,CAAC,CACnD,CAIA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,+CAA+C,KAAK,SAAS,EAC9E,OAAO,EAAI,KAAO,EAAI,IAAA,GAAY,EAAI,EAC1C,CAIA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,+CAA+C,KAAK,SAAS,EAC9E,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,6CAA6C,KAAK,SAAS,EAC5E,OAAO,EAAI,KAAO,EAAI,IAAA,GAAY,EAAI,EAC1C,CAIA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,6CAA6C,KAAK,SAAS,EAC5E,OAAO,EAAI,KAAO,EAAI,IAAA,GAAY,EAAI,EAC1C,CAIA,IAAI,YAAY,EAAM,CAClB,EAAK,+CAA+C,KAAK,UAAW,CAAC,EAAW,CAAI,EAAG,EAAW,CAAI,EAAI,EAAI,CAAI,CACtH,CAIA,IAAI,YAAY,EAAM,CAClB,EAAK,+CAA+C,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAClH,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,6CAA6C,KAAK,UAAW,CAAC,EAAW,CAAI,EAAG,EAAW,CAAI,EAAI,EAAI,CAAI,CACpH,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,6CAA6C,KAAK,UAAW,CAAC,EAAW,CAAI,EAAG,EAAW,CAAI,EAAI,EAAI,CAAI,CACpH,CACJ,EACI,OAAO,UAAS,EAAyB,UAAU,OAAO,SAAW,EAAyB,UAAU,MAE5G,IAAa,GAAb,KAA+B,CAC3B,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA8B,WAAW,IAAI,EACtC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,6BAA6B,EAAK,CAAC,CAC5C,CAKA,oBAAoB,EAAU,CAC1B,IAAM,EAAM,EAAK,sCAAsC,KAAK,UAAW,CAAQ,EAC/E,OAAO,EAAI,OAAO,CAAG,CACzB,CAKA,0BAA0B,EAAa,CACnC,IAAM,EAAM,EAAK,4CAA4C,KAAK,UAAW,CAAC,EAAW,CAAW,EAAG,EAAW,CAAW,EAAI,EAAI,CAAW,EAChJ,IAAI,EAAK,EAAyB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAExD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAKA,YAAY,EAAO,EAAK,CACpB,EAAa,EAAO,CAAG,EACvB,IAAI,EAAO,EAAM,mBAAmB,EACpC,EAAa,EAAK,CAAG,EACrB,IAAI,EAAO,EAAI,mBAAmB,EAClC,IAAM,EAAM,EAAK,sBAAsB,EAAM,CAAI,EAGjD,MAFA,MAAK,UAAY,EACjB,GAA8B,SAAS,KAAM,KAAK,UAAW,IAAI,EAC1D,IACX,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,qCAAqC,KAAK,SACpD,CACX,CAIA,IAAI,aAAc,CAEd,OADY,EAAK,wCAAwC,KAAK,SACvD,CACX,CAIA,IAAI,KAAM,CACN,IAAM,EAAM,EAAK,gCAAgC,KAAK,SAAS,EAC/D,OAAO,EAAI,OAAO,CAAG,CACzB,CAIA,IAAI,eAAgB,CAEhB,OADY,EAAK,0CAA0C,KAAK,SACzD,CACX,CAIA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,OAAO,EAAI,OAAO,CAAG,CACzB,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,qCAAqC,KAAK,UAAW,CAAI,CAClE,CAIA,IAAI,YAAY,EAAM,CAClB,EAAK,wCAAwC,KAAK,UAAW,CAAI,CACrE,CAIA,IAAI,IAAI,EAAM,CACV,EAAa,EAAM,CAAG,EACtB,IAAI,EAAO,EAAK,mBAAmB,EACnC,EAAK,gCAAgC,KAAK,UAAW,CAAI,CAC7D,CAIA,IAAI,cAAc,EAAM,CACpB,EAAK,0CAA0C,KAAK,UAAW,CAAI,CACvE,CAIA,IAAI,MAAM,EAAM,CACZ,EAAa,EAAM,CAAG,EACtB,IAAI,EAAO,EAAK,mBAAmB,EACnC,EAAK,kCAAkC,KAAK,UAAW,CAAI,CAC/D,CACJ,EACI,OAAO,UAAS,GAAkB,UAAU,OAAO,SAAW,GAAkB,UAAU,MAE9F,IAAa,GAAb,KAAyB,CACrB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAwB,WAAW,IAAI,EAChC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,uBAAuB,EAAK,CAAC,CACtC,CAKA,YAAY,EAAM,EAAK,CACnB,EAAa,EAAM,CAAI,EACvB,IAAI,EAAO,EAAK,mBAAmB,EACnC,EAAa,EAAK,CAAI,EACtB,IAAI,EAAO,EAAI,mBAAmB,EAClC,IAAM,EAAM,EAAK,gBAAgB,EAAM,CAAI,EAG3C,MAFA,MAAK,UAAY,EACjB,GAAwB,SAAS,KAAM,KAAK,UAAW,IAAI,EACpD,IACX,CAIA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,2BAA2B,KAAK,SAAS,EAC1D,OAAO,EAAK,OAAO,CAAG,CAC1B,CAIA,IAAI,KAAM,CACN,IAAM,EAAM,EAAK,0BAA0B,KAAK,SAAS,EACzD,OAAO,EAAK,OAAO,CAAG,CAC1B,CAIA,IAAI,KAAK,EAAM,CACX,EAAa,EAAM,CAAI,EACvB,IAAI,EAAO,EAAK,mBAAmB,EACnC,EAAK,2BAA2B,KAAK,UAAW,CAAI,CACxD,CAIA,IAAI,IAAI,EAAM,CACV,EAAa,EAAM,CAAI,EACvB,IAAI,EAAO,EAAK,mBAAmB,EACnC,EAAK,0BAA0B,KAAK,UAAW,CAAI,CACvD,CACJ,EACI,OAAO,UAAS,GAAY,UAAU,OAAO,SAAW,GAAY,UAAU,MAElF,IAAa,EAAb,MAAa,CAAgB,CACzB,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAgB,SAAS,EAGnD,MAFA,GAAI,UAAY,EAChB,GAA4B,SAAS,EAAK,EAAI,UAAW,CAAG,EACrD,CACX,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA4B,WAAW,IAAI,EACpC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,2BAA2B,EAAK,CAAC,CAC1C,CAOA,YAAY,EAAM,EAAO,EAAM,EAAO,CAClC,IAAM,EAAM,EAAK,oBAAoB,EAAM,EAAO,EAAM,CAAK,EAG7D,MAFA,MAAK,UAAY,EACjB,GAA4B,SAAS,KAAM,KAAK,UAAW,IAAI,EACxD,IACX,CAIA,IAAI,MAAO,CAEP,OADY,EAAK,+BAA+B,KAAK,SAC9C,CACX,CAIA,IAAI,OAAQ,CAER,OADY,EAAK,gCAAgC,KAAK,SAC/C,CACX,CAIA,IAAI,OAAQ,CAER,OADY,EAAK,gCAAgC,KAAK,SAC/C,CACX,CAIA,IAAI,MAAO,CAEP,OADY,EAAK,+BAA+B,KAAK,SAC9C,CACX,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,+BAA+B,KAAK,UAAW,CAAI,CAC5D,CAIA,IAAI,MAAM,EAAM,CACZ,EAAK,gCAAgC,KAAK,UAAW,CAAI,CAC7D,CAIA,IAAI,MAAM,EAAM,CACZ,EAAK,gCAAgC,KAAK,UAAW,CAAI,CAC7D,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,+BAA+B,KAAK,UAAW,CAAI,CAC5D,CACJ,EACI,OAAO,UAAS,EAAgB,UAAU,OAAO,SAAW,EAAgB,UAAU,MAE1F,IAAa,GAAb,KAA4B,CACxB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA2B,WAAW,IAAI,EACnC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,0BAA0B,EAAK,CAAC,CACzC,CAKA,YAAY,EAAM,EAAM,CACpB,IAAM,EAAO,EAAoB,EAAM,EAAK,iBAAiB,EACvD,EAAO,EACP,EAAM,EAAK,mBAAmB,EAAM,EAAM,CAAI,EAGpD,MAFA,MAAK,UAAY,EACjB,GAA2B,SAAS,KAAM,KAAK,UAAW,IAAI,EACvD,IACX,CAIA,cAAe,CAEX,OADY,EAAK,4BAA4B,KAAK,SAC3C,CACX,CAIA,IAAI,MAAO,CAEP,OADY,EAAK,8BAA8B,KAAK,SAC7C,CACX,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,8BAA8B,KAAK,UAAW,CAAI,CAC3D,CACJ,EACI,OAAO,UAAS,GAAe,UAAU,OAAO,SAAW,GAAe,UAAU,MAMxF,IAAa,EAAb,MAAa,CAAU,CACnB,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAU,SAAS,EAG7C,MAFA,GAAI,UAAY,EAChB,GAAsB,SAAS,EAAK,EAAI,UAAW,CAAG,EAC/C,CACX,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAsB,WAAW,IAAI,EAC9B,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,qBAAqB,EAAK,CAAC,CACpC,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,6BAA6B,KAAK,SAC5C,IAAQ,CACnB,CAIA,IAAI,MAAO,CAEP,OADY,EAAK,yBAAyB,KAAK,SACxC,CACX,CAIA,IAAI,QAAS,CAET,OADY,EAAK,2BAA2B,KAAK,SAC1C,IAAQ,CACnB,CAIA,IAAI,OAAQ,CAER,OADY,EAAK,0BAA0B,KAAK,SACzC,IAAQ,CACnB,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,6BAA6B,KAAK,UAAW,CAAI,CAC1D,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,yBAAyB,KAAK,UAAW,CAAI,CACtD,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,2BAA2B,KAAK,UAAW,CAAI,CACxD,CAIA,IAAI,MAAM,EAAM,CACZ,EAAK,0BAA0B,KAAK,UAAW,CAAI,CACvD,CACJ,EACI,OAAO,UAAS,EAAU,UAAU,OAAO,SAAW,EAAU,UAAU,MAQ9E,IAAa,GAAb,KAAuB,CACnB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAsB,WAAW,IAAI,EAC9B,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,qBAAqB,EAAK,CAAC,CACpC,CAKA,YAAY,EAAK,CACb,IAAM,EAAO,EAAkB,EAAK,EAAK,kBAAmB,EAAK,kBAAkB,EAC7E,EAAO,EACP,EAAM,EAAK,sBAAsB,KAAK,UAAW,EAAM,CAAI,EAC7D,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAmB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAC9C,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAOA,cAAc,EAAK,CACf,IAAM,EAAO,EAAkB,EAAK,EAAK,kBAAmB,EAAK,kBAAkB,EAC7E,EAAO,EACP,EAAM,EAAK,wBAAwB,KAAK,UAAW,EAAM,CAAI,EACnE,OAAO,IAAQ,EAAI,IAAA,GAAY,EAAU,OAAO,CAAG,CACvD,CAMA,aAAa,EAAK,CACd,IAAM,EAAO,EAAkB,EAAK,EAAK,kBAAmB,EAAK,kBAAkB,EAC7E,EAAO,EACP,EAAM,EAAK,uBAAuB,KAAK,UAAW,EAAM,CAAI,EAClE,OAAO,IAAQ,EAAI,IAAA,GAAY,EAAU,OAAO,CAAG,CACvD,CAKA,aAAa,EAAK,CACd,IAAM,EAAO,EAAkB,EAAK,EAAK,kBAAmB,EAAK,kBAAkB,EAC7E,EAAO,EAEb,OADY,EAAK,uBAAuB,KAAK,UAAW,EAAM,CACvD,IAAQ,CACnB,CAoBA,SAAS,EAAK,EAAa,EAAG,EAAW,EAAM,CAC3C,IAAM,EAAO,EAAkB,EAAK,EAAK,kBAAmB,EAAK,kBAAkB,EAC7E,EAAO,EACb,IAAI,EAAO,EAAW,CAAS,EAAI,EAAI,EAAkB,EAAW,EAAK,kBAAmB,EAAK,kBAAkB,EAC/G,EAAO,EACP,EAAO,EAAW,CAAI,EAAI,EAAI,EAAkB,EAAM,EAAK,kBAAmB,EAAK,kBAAkB,EACrG,EAAO,EACX,IAAM,EAAM,EAAK,mBAAmB,KAAK,UAAW,EAAM,EAAM,EAAa,EAAG,EAAM,EAAM,EAAM,CAAI,EAClG,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,GAAqB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAChD,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAKA,aAAc,CACV,IAAM,EAAM,EAAK,sBAAsB,KAAK,SAAS,EACrD,OAAO,GAAe,OAAO,CAAG,CACpC,CACA,aAAc,CACV,IAAM,EAAM,EAAK,cAAc,EAG/B,MAFA,MAAK,UAAY,EACjB,GAAsB,SAAS,KAAM,KAAK,UAAW,IAAI,EAClD,IACX,CAQA,cAAc,EAAW,EAAM,CAC3B,IAAM,EAAO,EAAkB,EAAW,EAAK,kBAAmB,EAAK,kBAAkB,EACnF,EAAO,EACP,EAAO,GAAmB,EAAM,EAAK,iBAAiB,EACtD,EAAO,EACb,EAAK,wBAAwB,KAAK,UAAW,EAAM,EAAM,EAAM,CAAI,CACvE,CAQA,aAAa,EAAW,EAAM,CAC1B,IAAM,EAAO,EAAkB,EAAW,EAAK,kBAAmB,EAAK,kBAAkB,EACnF,EAAO,EACP,EAAO,GAAmB,EAAM,EAAK,iBAAiB,EACtD,EAAO,EACb,EAAK,uBAAuB,KAAK,UAAW,EAAM,EAAM,EAAM,CAAI,CACtE,CAQA,UAAU,EAAO,CACb,EAAK,oBAAoB,KAAK,UAAW,CAAC,EAAW,CAAK,EAAG,EAAW,CAAK,EAAI,EAAI,CAAK,CAC9F,CAQA,UAAU,EAAK,EAAM,CACjB,IAAM,EAAO,EAAkB,EAAK,EAAK,kBAAmB,EAAK,kBAAkB,EAC7E,EAAO,EACP,EAAO,EAAkB,EAAM,EAAK,kBAAmB,EAAK,kBAAkB,EAC9E,EAAO,EACP,EAAM,EAAK,oBAAoB,KAAK,UAAW,EAAM,EAAM,EAAM,CAAI,EAC3E,OAAO,IAAQ,EAAI,IAAA,GAAY,GAAgB,OAAO,CAAG,CAC7D,CAKA,WAAW,EAAK,CACZ,IAAM,EAAO,EAAkB,EAAK,EAAK,kBAAmB,EAAK,kBAAkB,EAC7E,EAAO,EAEb,OADY,EAAK,qBAAqB,KAAK,UAAW,EAAM,CACrD,IAAQ,CACnB,CACJ,EACI,OAAO,UAAS,GAAU,UAAU,OAAO,SAAW,GAAU,UAAU,MAM9E,IAAa,GAAb,MAAa,CAAe,CACxB,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAe,SAAS,EAGlD,MAFA,GAAI,UAAY,EAChB,GAA2B,SAAS,EAAK,EAAI,UAAW,CAAG,EACpD,CACX,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA2B,WAAW,IAAI,EACnC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,0BAA0B,EAAK,CAAC,CACzC,CAIA,IAAI,YAAa,CAEb,OADY,EAAK,oCAAoC,KAAK,SACnD,CACX,CAIA,IAAI,YAAa,CAEb,OADY,EAAK,oCAAoC,KAAK,SACnD,IAAQ,CACnB,CAIA,IAAI,aAAc,CAEd,OADY,EAAK,qCAAqC,KAAK,SACpD,CACX,CAIA,IAAI,iBAAkB,CAElB,OADY,EAAK,yCAAyC,KAAK,SACxD,CACX,CAIA,IAAI,WAAY,CAEZ,OADY,EAAK,mCAAmC,KAAK,SAClD,CACX,CAIA,IAAI,WAAY,CAEZ,OADY,EAAK,mCAAmC,KAAK,SAClD,IAAQ,CACnB,CAIA,IAAI,YAAa,CAEb,OADY,EAAK,oCAAoC,KAAK,SACnD,IAAQ,CACnB,CACJ,EACI,OAAO,UAAS,GAAe,UAAU,OAAO,SAAW,GAAe,UAAU,MAExF,IAAa,EAAb,KAAsB,CAClB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAqB,WAAW,IAAI,EAC7B,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,oBAAoB,EAAK,CAAC,CACnC,CAIA,YAAa,CAET,OADY,EAAK,oBAAoB,KAAK,SACnC,IAAQ,CACnB,CAIA,UAAW,CAEP,OADY,EAAK,kBAAkB,KAAK,SACjC,IAAQ,CACnB,CAMA,YAAY,EAAU,EAAS,EAAK,CAChC,IAAM,EAAO,EAAoB,EAAU,EAAK,iBAAiB,EAC3D,EAAO,EACP,EAAO,EAAmB,EAAS,EAAK,iBAAiB,EACzD,EAAO,EACP,EAAO,EAAoB,EAAK,EAAK,iBAAiB,EACtD,EAAO,EACP,EAAM,EAAK,aAAa,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,EAGhE,MAFA,MAAK,UAAY,EACjB,GAAqB,SAAS,KAAM,KAAK,UAAW,IAAI,EACjD,IACX,CAIA,iBAAkB,CAEd,OADY,EAAK,yBAAyB,KAAK,SACxC,CACX,CAIA,iBAAkB,CAEd,OADY,EAAK,yBAAyB,KAAK,SACxC,CACX,CAIA,sBAAuB,CAEnB,OADY,EAAK,8BAA8B,KAAK,SAC7C,CACX,CAIA,sBAAuB,CAEnB,OADY,EAAK,8BAA8B,KAAK,SAC7C,CACX,CAIA,kBAAmB,CAEf,OADY,EAAK,0BAA0B,KAAK,SACzC,CACX,CAIA,uBAAwB,CAEpB,OADY,EAAK,+BAA+B,KAAK,SAC9C,CACX,CAIA,aAAc,CAEV,OADY,EAAK,qBAAqB,KAAK,SACpC,CACX,CAIA,kBAAmB,CAEf,OADY,EAAK,0BAA0B,KAAK,SACzC,CACX,CACJ,EACI,OAAO,UAAS,EAAS,UAAU,OAAO,SAAW,EAAS,UAAU,MAQ5E,IAAa,GAAb,KAAmB,CACf,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAkB,WAAW,IAAI,EAC1B,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,iBAAiB,EAAK,CAAC,CAChC,CAKA,IAAI,OAAQ,CAER,OADY,EAAK,sBAAsB,KAAK,SACrC,IAAQ,CACnB,CAMA,IAAI,mBAAoB,CACpB,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,IAAI,EAAK,EAAqB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAEpD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAKA,IAAI,iBAAkB,CAElB,OADY,EAAK,gCAAgC,KAAK,SAC/C,IAAQ,CACnB,CASA,IAAI,oBAAqB,CAErB,OADY,EAAK,mCAAmC,KAAK,SAClD,IAAQ,CACnB,CAKA,IAAI,QAAS,CAET,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAKA,IAAI,SAAU,CAEV,OADY,EAAK,wBAAwB,KAAK,SACvC,CACX,CAKA,IAAI,UAAW,CAEX,OADY,EAAK,yBAAyB,KAAK,SACxC,CACX,CAMA,IAAI,aAAc,CAEd,OADY,EAAK,4BAA4B,KAAK,SAC3C,IAAQ,CACnB,CAKA,IAAI,WAAY,CAEZ,OADY,EAAK,0BAA0B,KAAK,SACzC,IAAQ,CACnB,CAKA,IAAI,WAAY,CAEZ,OADY,EAAK,0BAA0B,KAAK,SACzC,IAAQ,CACnB,CAYA,YAAY,EAAS,EAAU,EAAO,EAAkB,EAAY,EAAa,EAAS,EAAW,EAAoB,CACrH,IAAM,EAAO,EAAoB,EAAoB,EAAK,iBAAiB,EACrE,EAAO,EACP,EAAM,EAAK,UAAU,EAAS,EAAU,EAAO,EAAkB,EAAY,EAAa,EAAS,EAAW,EAAM,CAAI,EAG9H,MAFA,MAAK,UAAY,EACjB,GAAkB,SAAS,KAAM,KAAK,UAAW,IAAI,EAC9C,IACX,CAKA,IAAI,MAAM,EAAM,CACZ,EAAK,sBAAsB,KAAK,UAAW,CAAI,CACnD,CAMA,IAAI,kBAAkB,EAAM,CACxB,IAAM,EAAO,EAAoB,EAAM,EAAK,iBAAiB,EACvD,EAAO,EACb,EAAK,kCAAkC,KAAK,UAAW,EAAM,CAAI,CACrE,CAKA,IAAI,gBAAgB,EAAM,CACtB,EAAK,gCAAgC,KAAK,UAAW,CAAI,CAC7D,CASA,IAAI,mBAAmB,EAAM,CACzB,EAAK,mCAAmC,KAAK,UAAW,CAAI,CAChE,CAKA,IAAI,OAAO,EAAM,CACb,EAAK,uBAAuB,KAAK,UAAW,CAAI,CACpD,CAKA,IAAI,QAAQ,EAAM,CACd,EAAK,wBAAwB,KAAK,UAAW,CAAI,CACrD,CAKA,IAAI,SAAS,EAAM,CACf,EAAK,yBAAyB,KAAK,UAAW,CAAI,CACtD,CAMA,IAAI,YAAY,EAAM,CAClB,EAAK,4BAA4B,KAAK,UAAW,CAAI,CACzD,CAKA,IAAI,UAAU,EAAM,CAChB,EAAK,0BAA0B,KAAK,UAAW,CAAI,CACvD,CAKA,IAAI,UAAU,EAAM,CAChB,EAAK,0BAA0B,KAAK,UAAW,CAAI,CACvD,CACJ,EACI,OAAO,UAAS,GAAM,UAAU,OAAO,SAAW,GAAM,UAAU,MAMtE,IAAa,GAAb,KAA+B,CAC3B,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA8B,WAAW,IAAI,EACtC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,6BAA6B,EAAK,CAAC,CAC5C,CAKA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,yCAAyC,KAAK,SAAS,EACxE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,aAAa,EAAM,CACnB,EAAK,yCAAyC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAChI,CACJ,EACI,OAAO,UAAS,GAAkB,UAAU,OAAO,SAAW,GAAkB,UAAU,MAE9F,IAAa,EAAb,MAAa,CAAI,CACb,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAI,SAAS,EAGvC,MAFA,GAAI,UAAY,EAChB,GAAgB,SAAS,EAAK,EAAI,UAAW,CAAG,EACzC,CACX,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAgB,WAAW,IAAI,EACxB,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,eAAe,EAAK,CAAC,CAC9B,CAIA,IAAI,QAAS,CAET,OADY,EAAK,qBAAqB,KAAK,SACpC,CACX,CAIA,IAAI,KAAM,CAEN,OADY,EAAK,kBAAkB,KAAK,SACjC,CACX,CAIA,IAAI,KAAM,CAEN,OADY,EAAK,kBAAkB,KAAK,SACjC,CACX,CAMA,YAAY,EAAK,EAAK,EAAQ,CAC1B,IAAM,EAAM,EAAK,QAAQ,EAAK,EAAK,CAAM,EAGzC,MAFA,MAAK,UAAY,EACjB,GAAgB,SAAS,KAAM,KAAK,UAAW,IAAI,EAC5C,IACX,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,qBAAqB,KAAK,UAAW,CAAI,CAClD,CAIA,IAAI,IAAI,EAAM,CACV,EAAK,kBAAkB,KAAK,UAAW,CAAI,CAC/C,CAIA,IAAI,IAAI,EAAM,CACV,EAAK,kBAAkB,KAAK,UAAW,CAAI,CAC/C,CACJ,EACI,OAAO,UAAS,EAAI,UAAU,OAAO,SAAW,EAAI,UAAU,MAElE,IAAa,EAAb,MAAa,CAAsB,CAC/B,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAsB,SAAS,EAGzD,MAFA,GAAI,UAAY,EAChB,GAAkC,SAAS,EAAK,EAAI,UAAW,CAAG,EAC3D,CACX,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAkC,WAAW,IAAI,EAC1C,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,iCAAiC,EAAK,CAAC,CAChD,CAIA,IAAI,iBAAkB,CAElB,OADY,EAAK,gDAAgD,KAAK,SAC/D,IAAQ,CACnB,CAIA,IAAI,0BAA2B,CAC3B,IAAM,EAAM,EAAK,yDAAyD,KAAK,SAAS,EACxF,OAAO,EAAK,OAAO,CAAG,CAC1B,CAIA,IAAI,YAAa,CAEb,OADY,EAAK,2CAA2C,KAAK,SAC1D,IAAQ,CACnB,CAIA,IAAI,gBAAgB,EAAM,CACtB,EAAK,gDAAgD,KAAK,UAAW,CAAI,CAC7E,CAIA,IAAI,yBAAyB,EAAM,CAC/B,EAAa,EAAM,CAAI,EACvB,IAAI,EAAO,EAAK,mBAAmB,EACnC,EAAK,yDAAyD,KAAK,UAAW,CAAI,CACtF,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,2CAA2C,KAAK,UAAW,CAAI,CACxE,CACJ,EACI,OAAO,UAAS,EAAsB,UAAU,OAAO,SAAW,EAAsB,UAAU,MAEtG,IAAa,GAAb,KAA2B,CACvB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA0B,WAAW,IAAI,EAClC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,yBAAyB,EAAK,CAAC,CACxC,CAIA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,qCAAqC,KAAK,SAAS,EACpE,OAAO,IAAQ,EAAI,IAAA,GAAY,EAAsB,OAAO,CAAG,CACnE,CAIA,IAAI,qBAAsB,CACtB,IAAM,EAAM,EAAK,4CAA4C,KAAK,SAAS,EACvE,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAmB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAC9C,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAIA,IAAI,gBAAiB,CACjB,IAAM,EAAM,EAAK,uCAAuC,KAAK,SAAS,EACtE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,kBAAmB,CACnB,IAAM,EAAM,EAAK,yCAAyC,KAAK,SAAS,EACxE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,YAAa,CACb,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,8BAA8B,KAAK,SAAS,EAC7D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAMA,IAAI,mBAAoB,CACpB,IAAM,EAAM,EAAK,0CAA0C,KAAK,SAAS,EACzE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,YAAa,CACb,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EAC7D,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAyB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EACpD,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAKA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,mBAAoB,CACpB,IAAM,EAAM,EAAK,0CAA0C,KAAK,SAAS,EACzE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,+BAA+B,KAAK,SAAS,EAC9D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,KAAM,CACN,IAAM,EAAM,EAAK,4BAA4B,KAAK,SAAS,EAC3D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,+BAA+B,KAAK,SAAS,EAC9D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAOA,IAAI,SAAU,CACV,IAAM,EAAM,EAAK,gCAAgC,KAAK,SAAS,EAC/D,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,SAAU,CACV,IAAM,EAAM,EAAK,gCAAgC,KAAK,SAAS,EAC/D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,qCAAqC,KAAK,SAAS,EACpE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,uBAAwB,CACxB,IAAM,EAAM,EAAK,8CAA8C,KAAK,SAAS,EAC7E,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,iBAAkB,CAClB,IAAM,EAAM,EAAK,wCAAwC,KAAK,SAAS,EACvE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,6BAA6B,KAAK,SAAS,EAC5D,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,6BAA6B,KAAK,SAAS,EAC5D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,kBAAmB,CACnB,IAAM,EAAM,EAAK,yCAAyC,KAAK,SAAS,EACxE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,UAAW,CACX,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAChE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,oCAAoC,KAAK,SAAS,EACnE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,KAAM,CACN,IAAM,EAAM,EAAK,4BAA4B,KAAK,SAAS,EACvD,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAmB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAC9C,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAKA,IAAI,kBAAmB,CACnB,IAAM,EAAM,EAAK,yCAAyC,KAAK,SAAS,EACxE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,YAAa,CACb,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,8BAA8B,KAAK,SAAS,EAC7D,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,aAAa,EAAM,CACnB,IAAI,EAAO,EACN,EAAW,CAAI,IAChB,EAAa,EAAM,CAAqB,EACxC,EAAO,EAAK,mBAAmB,GAEnC,EAAK,qCAAqC,KAAK,UAAW,CAAI,CAClE,CAIA,IAAI,oBAAoB,EAAM,CAC1B,IAAI,EAAO,EAAW,CAAI,EAAI,EAAI,EAAkB,EAAM,EAAK,kBAAmB,EAAK,kBAAkB,EACrG,EAAO,EACX,EAAK,4CAA4C,KAAK,UAAW,EAAM,CAAI,CAC/E,CAIA,IAAI,eAAe,EAAM,CACrB,EAAK,uCAAuC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC9H,CAIA,IAAI,iBAAiB,EAAM,CACvB,EAAK,yCAAyC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC5G,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,mCAAmC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACtG,CAIA,IAAI,cAAc,EAAM,CACpB,EAAK,sCAAsC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACzG,CAIA,IAAI,MAAM,EAAM,CACZ,EAAK,8BAA8B,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CAChH,CAMA,IAAI,kBAAkB,EAAM,CACxB,EAAK,0CAA0C,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACjI,CAKA,IAAI,WAAW,EAAM,CACjB,EAAK,mCAAmC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACtG,CAKA,IAAI,UAAU,EAAM,CAChB,IAAI,EAAO,EAAW,CAAI,EAAI,EAAI,EAAwB,EAAM,EAAK,iBAAiB,EAClF,EAAO,EACX,EAAK,kCAAkC,KAAK,UAAW,EAAM,CAAI,CACrE,CAKA,IAAI,cAAc,EAAM,CACpB,EAAK,sCAAsC,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CACxH,CAKA,IAAI,kBAAkB,EAAM,CACxB,EAAK,0CAA0C,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACjI,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,+BAA+B,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACtH,CAIA,IAAI,IAAI,EAAM,CACV,EAAK,4BAA4B,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACnH,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,+BAA+B,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACtH,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,kCAAkC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACzH,CAOA,IAAI,QAAQ,EAAM,CACd,EAAK,gCAAgC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACnG,CAKA,IAAI,QAAQ,EAAM,CACd,EAAK,gCAAgC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACvH,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,kCAAkC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACzH,CAIA,IAAI,cAAc,EAAM,CACpB,EAAK,sCAAsC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACzG,CAKA,IAAI,aAAa,EAAM,CACnB,EAAK,qCAAqC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC5H,CAKA,IAAI,UAAU,EAAM,CAChB,EAAK,kCAAkC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACzH,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,kCAAkC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACzH,CAIA,IAAI,sBAAsB,EAAM,CAC5B,EAAK,8CAA8C,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACjH,CAIA,IAAI,gBAAgB,EAAM,CACtB,EAAK,wCAAwC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC3G,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,6BAA6B,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAChG,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,6BAA6B,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACpH,CAIA,IAAI,iBAAiB,EAAM,CACvB,EAAK,yCAAyC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAChI,CAKA,IAAI,SAAS,EAAM,CACf,EAAK,iCAAiC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACpG,CAKA,IAAI,YAAY,EAAM,CAClB,EAAK,oCAAoC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACvG,CAIA,IAAI,IAAI,EAAM,CACV,IAAI,EAAO,EAAW,CAAI,EAAI,EAAI,EAAkB,EAAM,EAAK,kBAAmB,EAAK,kBAAkB,EACrG,EAAO,EACX,EAAK,4BAA4B,KAAK,UAAW,EAAM,CAAI,CAC/D,CAKA,IAAI,iBAAiB,EAAM,CACvB,EAAK,yCAAyC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAChI,CAKA,IAAI,WAAW,EAAM,CACjB,EAAK,mCAAmC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC1H,CAKA,IAAI,MAAM,EAAM,CACZ,EAAK,8BAA8B,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACjG,CACJ,EACI,OAAO,UAAS,GAAc,UAAU,OAAO,SAAW,GAAc,UAAU,MAEtF,IAAa,GAAb,KAAqB,CACjB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAoB,WAAW,IAAI,EAC5B,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,mBAAmB,EAAK,CAAC,CAClC,CAIA,IAAI,KAAM,CAEN,OADY,EAAK,sBAAsB,KAAK,SACrC,CACX,CAIA,IAAI,MAAO,CAEP,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAIA,IAAI,IAAI,EAAM,CACV,EAAK,sBAAsB,KAAK,UAAW,CAAI,CACnD,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,uBAAuB,KAAK,UAAW,CAAI,CACpD,CACJ,EACI,OAAO,UAAS,GAAQ,UAAU,OAAO,SAAW,GAAQ,UAAU,MAE1E,IAAa,GAAb,KAAkC,CAC9B,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAiC,WAAW,IAAI,EACzC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,gCAAgC,EAAK,CAAC,CAC/C,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,OAAO,QAAQ,GAAI,CAAG,CACjC,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,sCAAsC,KAAK,UAAW,CAAI,CACnE,CACJ,EACI,OAAO,UAAS,GAAqB,UAAU,OAAO,SAAW,GAAqB,UAAU,MAEpG,IAAa,GAAb,KAAmB,CACf,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAkB,WAAW,IAAI,EAC1B,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,iBAAiB,EAAK,CAAC,CAChC,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,yBAAyB,KAAK,SACxC,CACX,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,uBAAuB,KAAK,SAAS,EACtD,OAAO,EAAK,OAAO,CAAG,CAC1B,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,yBAAyB,KAAK,UAAW,CAAI,CACtD,CAIA,IAAI,OAAO,EAAM,CACb,EAAa,EAAM,CAAI,EACvB,IAAI,EAAO,EAAK,mBAAmB,EACnC,EAAK,uBAAuB,KAAK,UAAW,CAAI,CACpD,CACJ,EACI,OAAO,UAAS,GAAM,UAAU,OAAO,SAAW,GAAM,UAAU,MAEtE,IAAa,GAAb,KAA2B,CACvB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA0B,WAAW,IAAI,EAClC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,yBAAyB,EAAK,CAAC,CACxC,CAMA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,+BAA+B,KAAK,SAAS,EAC9D,OAAO,IAAQ,EAAI,IAAA,GAAY,EAAK,OAAO,CAAG,CAClD,CAIA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,8BAA8B,KAAK,SAAS,EAC7D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAMA,IAAI,mBAAoB,CACpB,IAAM,EAAM,EAAK,0CAA0C,KAAK,SAAS,EACzE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAOA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EAC7D,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAyB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EACpD,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAKA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,mBAAoB,CACpB,IAAM,EAAM,EAAK,0CAA0C,KAAK,SAAS,EACzE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,+BAA+B,KAAK,SAAS,EAC9D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,oCAAoC,KAAK,SAAS,EACnE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,SAAU,CACV,IAAM,EAAM,EAAK,gCAAgC,KAAK,SAAS,EAC/D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,6BAA6B,KAAK,SAAS,EAC5D,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,qCAAqC,KAAK,SAAS,EACpE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,6BAA6B,KAAK,SAAS,EAC5D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,oCAAoC,KAAK,SAAS,EACnE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAMA,IAAI,OAAO,EAAM,CACb,IAAI,EAAO,EACN,EAAW,CAAI,IAChB,EAAa,EAAM,CAAI,EACvB,EAAO,EAAK,mBAAmB,GAEnC,EAAK,+BAA+B,KAAK,UAAW,CAAI,CAC5D,CAIA,IAAI,cAAc,EAAM,CACpB,EAAK,sCAAsC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACzG,CAIA,IAAI,MAAM,EAAM,CACZ,EAAK,8BAA8B,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CAChH,CAMA,IAAI,kBAAkB,EAAM,CACxB,EAAK,0CAA0C,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACjI,CAOA,IAAI,UAAU,EAAM,CAChB,EAAK,kCAAkC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACrG,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,kCAAkC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACrG,CAKA,IAAI,UAAU,EAAM,CAChB,IAAI,EAAO,EAAW,CAAI,EAAI,EAAI,EAAwB,EAAM,EAAK,iBAAiB,EAClF,EAAO,EACX,EAAK,kCAAkC,KAAK,UAAW,EAAM,CAAI,CACrE,CAKA,IAAI,cAAc,EAAM,CACpB,EAAK,sCAAsC,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CACxH,CAKA,IAAI,kBAAkB,EAAM,CACxB,EAAK,0CAA0C,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACjI,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,+BAA+B,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACtH,CAKA,IAAI,YAAY,EAAM,CAClB,EAAK,oCAAoC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACvG,CAIA,IAAI,QAAQ,EAAM,CACd,EAAK,gCAAgC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACvH,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,6BAA6B,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAChG,CAKA,IAAI,aAAa,EAAM,CACnB,EAAK,qCAAqC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACxG,CAKA,IAAI,KAAK,EAAM,CACX,EAAK,6BAA6B,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACpH,CAIA,IAAI,YAAY,EAAM,CAClB,EAAK,oCAAoC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACvG,CACJ,EACI,OAAO,UAAS,GAAc,UAAU,OAAO,SAAW,GAAc,UAAU,MAEtF,IAAa,GAAb,KAA6B,CACzB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA4B,WAAW,IAAI,EACpC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,2BAA2B,EAAK,CAAC,CAC1C,CAIA,UAAW,CAEP,OADY,EAAK,yBAAyB,KAAK,SACxC,CACX,CAIA,eAAgB,CACZ,IAAM,EAAM,EAAK,8BAA8B,KAAK,SAAS,EAC7D,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,aAAc,CAEV,OADY,EAAK,4BAA4B,KAAK,SAC3C,CACX,CAIA,kBAAmB,CACf,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAChE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,SAAU,CAEN,OADY,EAAK,wBAAwB,KAAK,SACvC,CACX,CAIA,QAAS,CAEL,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAIA,aAAc,CACV,IAAM,EAAM,EAAK,4BAA4B,KAAK,SAAS,EAC3D,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,UAAW,CAEP,OADY,EAAK,yBAAyB,KAAK,SACxC,CACX,CAIA,kBAAmB,CAEf,OADY,EAAK,iCAAiC,KAAK,SAChD,CACX,CAIA,uBAAwB,CACpB,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,iBAAkB,CAEd,OADY,EAAK,gCAAgC,KAAK,SAC/C,CACX,CAIA,sBAAuB,CACnB,IAAM,EAAM,EAAK,qCAAqC,KAAK,SAAS,EACpE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,eAAgB,CACZ,IAAM,EAAM,EAAK,8BAA8B,KAAK,SAAS,EAC7D,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,sBAAuB,CAEnB,OADY,EAAK,qCAAqC,KAAK,SACpD,CACX,CAIA,2BAA4B,CACxB,IAAM,EAAM,EAAK,0CAA0C,KAAK,SAAS,EACzE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CACJ,EACI,OAAO,UAAS,GAAgB,UAAU,OAAO,SAAW,GAAgB,UAAU,MAE1F,IAAa,GAAb,KAAuC,CACnC,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAsC,WAAW,IAAI,EAC9C,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,qCAAqC,EAAK,CAAC,CACpD,CAIA,mBAAoB,CAEhB,OADY,EAAK,4CAA4C,KAAK,SAC3D,CACX,CAIA,wBAAyB,CACrB,IAAM,EAAM,EAAK,iDAAiD,KAAK,SAAS,EAChF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,sBAAuB,CAEnB,OADY,EAAK,+CAA+C,KAAK,SAC9D,CACX,CAIA,2BAA4B,CACxB,IAAM,EAAM,EAAK,oDAAoD,KAAK,SAAS,EACnF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,iBAAkB,CAEd,OADY,EAAK,0CAA0C,KAAK,SACzD,CACX,CAIA,sBAAuB,CACnB,IAAM,EAAM,EAAK,+CAA+C,KAAK,SAAS,EAC9E,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,mBAAoB,CAEhB,OADY,EAAK,4CAA4C,KAAK,SAC3D,CACX,CAIA,2BAA4B,CAExB,OADY,EAAK,oDAAoD,KAAK,SACnE,CACX,CAIA,gCAAiC,CAC7B,IAAM,EAAM,EAAK,yDAAyD,KAAK,SAAS,EACxF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,0BAA2B,CAEvB,OADY,EAAK,mDAAmD,KAAK,SAClE,CACX,CAIA,+BAAgC,CAC5B,IAAM,EAAM,EAAK,wDAAwD,KAAK,SAAS,EACvF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,wBAAyB,CACrB,IAAM,EAAM,EAAK,iDAAiD,KAAK,SAAS,EAChF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,+BAAgC,CAE5B,OADY,EAAK,wDAAwD,KAAK,SACvE,CACX,CAIA,oCAAqC,CACjC,IAAM,EAAM,EAAK,6DAA6D,KAAK,SAAS,EAC5F,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CACJ,EACI,OAAO,UAAS,GAA0B,UAAU,OAAO,SAAW,GAA0B,UAAU,MAE9G,IAAa,EAAb,MAAa,CAAwB,CACjC,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAwB,SAAS,EAG3D,MAFA,GAAI,UAAY,EAChB,GAAoC,SAAS,EAAK,EAAI,UAAW,CAAG,EAC7D,CACX,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAoC,WAAW,IAAI,EAC5C,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,mCAAmC,EAAK,CAAC,CAClD,CAIA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,gDAAgD,KAAK,SAAS,EAC/E,IAAI,EAAK,GAAqB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAEpD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAIA,IAAI,cAAc,EAAM,CACpB,IAAM,EAAO,GAAoB,EAAM,EAAK,iBAAiB,EACvD,EAAO,EACb,EAAK,gDAAgD,KAAK,UAAW,EAAM,CAAI,CACnF,CACJ,EACI,OAAO,UAAS,EAAwB,UAAU,OAAO,SAAW,EAAwB,UAAU,MAE1G,IAAa,GAAb,KAA6B,CACzB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA4B,WAAW,IAAI,EACpC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,2BAA2B,EAAK,CAAC,CAC1C,CAIA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,uCAAuC,KAAK,SAAS,EACtE,OAAO,IAAQ,EAAI,IAAA,GAAY,EAAwB,OAAO,CAAG,CACrE,CAIA,IAAI,kBAAmB,CACnB,IAAM,EAAM,EAAK,2CAA2C,KAAK,SAAS,EAC1E,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,YAAa,CACb,IAAM,EAAM,EAAK,qCAAqC,KAAK,SAAS,EACpE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,wCAAwC,KAAK,SAAS,EACvE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,gCAAgC,KAAK,SAAS,EAC/D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,oCAAoC,KAAK,SAAS,EAC/D,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAyB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EACpD,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAKA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,wCAAwC,KAAK,SAAS,EACvE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,mBAAoB,CACpB,IAAM,EAAM,EAAK,4CAA4C,KAAK,SAAS,EAC3E,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,gBAAiB,CACjB,IAAM,EAAM,EAAK,yCAAyC,KAAK,SAAS,EACxE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAChE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,KAAM,CACN,IAAM,EAAM,EAAK,8BAA8B,KAAK,SAAS,EAC7D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,SAAU,CACV,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,uCAAuC,KAAK,SAAS,EACtE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,uCAAuC,KAAK,SAAS,EACtE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAMA,IAAI,SAAU,CACV,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,mBAAoB,CACpB,IAAM,EAAM,EAAK,4CAA4C,KAAK,SAAS,EAC3E,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,wCAAwC,KAAK,SAAS,EACvE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,uCAAuC,KAAK,SAAS,EACtE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,oCAAoC,KAAK,SAAS,EACnE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,oCAAoC,KAAK,SAAS,EACnE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,+BAA+B,KAAK,SAAS,EAC9D,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,kBAAmB,CACnB,IAAM,EAAM,EAAK,2CAA2C,KAAK,SAAS,EAC1E,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,UAAW,CACX,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAUA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,gCAAgC,KAAK,SAAS,EAC/D,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,kBAAmB,CACnB,IAAM,EAAM,EAAK,2CAA2C,KAAK,SAAS,EAC1E,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,YAAa,CACb,IAAM,EAAM,EAAK,qCAAqC,KAAK,SAAS,EACpE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,gCAAgC,KAAK,SAAS,EAC/D,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,oCAAoC,KAAK,SAAS,EACnE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAeA,YAAY,EAAM,EAAa,EAAgB,EAAO,EAAiB,EAAO,EAAQ,EAAiB,EAAW,EAAS,EAAqB,EAAc,CAC1J,IAAI,EAAO,EACN,EAAW,CAAY,IACxB,EAAa,EAAc,CAAuB,EAClD,EAAO,EAAa,mBAAmB,GAE3C,IAAM,EAAM,EAAK,oBAAoB,EAAW,CAAI,EAAI,SAAW,KAAc,EAAW,CAAW,EAAI,SAAW,KAAqB,EAAW,CAAc,EAAI,SAAW,KAAwB,EAAW,CAAK,UAA+B,IAAW,EAAG,EAAW,CAAe,EAAI,SAAW,KAAyB,EAAW,CAAK,EAAI,SAAW,KAAe,EAAW,CAAM,UAA8B,KAAK,OAAO,CAAM,EAAG,EAAW,CAAe,UAA8B,KAAK,OAAO,CAAe,EAAG,EAAW,CAAS,EAAI,SAAW,KAAmB,EAAW,CAAO,EAAI,SAAW,KAAiB,EAAW,CAAmB,EAAI,SAAW,KAA6B,CAAI,EAGxsB,MAFA,MAAK,UAAY,EACjB,GAA4B,SAAS,KAAM,KAAK,UAAW,IAAI,EACxD,IACX,CAIA,IAAI,aAAa,EAAM,CACnB,IAAI,EAAO,EACN,EAAW,CAAI,IAChB,EAAa,EAAM,CAAuB,EAC1C,EAAO,EAAK,mBAAmB,GAEnC,EAAK,uCAAuC,KAAK,UAAW,CAAI,CACpE,CAIA,IAAI,iBAAiB,EAAM,CACvB,EAAK,2CAA2C,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC9G,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,qCAAqC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACxG,CAIA,IAAI,cAAc,EAAM,CACpB,EAAK,wCAAwC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC3G,CAIA,IAAI,MAAM,EAAM,CACZ,EAAK,gCAAgC,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CAClH,CAKA,IAAI,UAAU,EAAM,CAChB,IAAI,EAAO,EAAW,CAAI,EAAI,EAAI,EAAwB,EAAM,EAAK,iBAAiB,EAClF,EAAO,EACX,EAAK,oCAAoC,KAAK,UAAW,EAAM,CAAI,CACvE,CAKA,IAAI,cAAc,EAAM,CACpB,EAAK,wCAAwC,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CAC1H,CAKA,IAAI,kBAAkB,EAAM,CACxB,EAAK,4CAA4C,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACnI,CAIA,IAAI,eAAe,EAAM,CACrB,EAAK,yCAAyC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAChI,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,iCAAiC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACxH,CAIA,IAAI,IAAI,EAAM,CACV,EAAK,8BAA8B,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACrH,CAKA,IAAI,QAAQ,EAAM,CACd,EAAK,kCAAkC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACzH,CAKA,IAAI,aAAa,EAAM,CACnB,EAAK,uCAAuC,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CACzH,CAKA,IAAI,YAAY,EAAM,CAClB,EAAK,sCAAsC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACzG,CAKA,IAAI,aAAa,EAAM,CACnB,EAAK,uCAAuC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC9H,CAMA,IAAI,QAAQ,EAAM,CACd,EAAK,kCAAkC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACrG,CAKA,IAAI,kBAAkB,EAAM,CACxB,EAAK,4CAA4C,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC/G,CAIA,IAAI,cAAc,EAAM,CACpB,EAAK,wCAAwC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC3G,CAKA,IAAI,aAAa,EAAM,CACnB,EAAK,uCAAuC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC9H,CAKA,IAAI,UAAU,EAAM,CAChB,EAAK,oCAAoC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC3H,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,oCAAoC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC3H,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,+BAA+B,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAClG,CAIA,IAAI,iBAAiB,EAAM,CACvB,EAAK,2CAA2C,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAClI,CAKA,IAAI,SAAS,EAAM,CACf,EAAK,mCAAmC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACtG,CAKA,IAAI,YAAY,EAAM,CAClB,EAAK,sCAAsC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACzG,CAUA,IAAI,MAAM,EAAM,CACZ,EAAK,gCAAgC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACnG,CAKA,IAAI,YAAY,EAAM,CAClB,EAAK,sCAAsC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACzG,CAKA,IAAI,iBAAiB,EAAM,CACvB,EAAK,2CAA2C,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAClI,CAKA,IAAI,WAAW,EAAM,CACjB,EAAK,qCAAqC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC5H,CAKA,IAAI,MAAM,EAAM,CACZ,EAAK,gCAAgC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACnG,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,oCAAoC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACvG,CACJ,EACI,OAAO,UAAS,GAAgB,UAAU,OAAO,SAAW,GAAgB,UAAU,MAE1F,IAAa,GAAb,KAA8B,CAC1B,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA6B,WAAW,IAAI,EACrC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,4BAA4B,EAAK,CAAC,CAC3C,CAIA,UAAW,CAEP,OADY,EAAK,0BAA0B,KAAK,SACzC,CACX,CAIA,eAAgB,CACZ,IAAM,EAAM,EAAK,+BAA+B,KAAK,SAAS,EAC9D,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,aAAc,CAEV,OADY,EAAK,6BAA6B,KAAK,SAC5C,CACX,CAIA,kBAAmB,CACf,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,UAAW,CAEP,OADY,EAAK,0BAA0B,KAAK,SACzC,CACX,CAIA,eAAgB,CACZ,IAAM,EAAM,EAAK,+BAA+B,KAAK,SAAS,EAC9D,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,SAAU,CAEN,OADY,EAAK,yBAAyB,KAAK,SACxC,CACX,CAIA,cAAe,CACX,IAAM,EAAM,EAAK,8BAA8B,KAAK,SAAS,EAC7D,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,mDAAoD,CAEhD,OADY,EAAK,mEAAmE,KAAK,SAClF,CACX,CAIA,wDAAyD,CACrD,IAAM,EAAM,EAAK,wEAAwE,KAAK,SAAS,EACvG,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,gBAAiB,CAEb,OADY,EAAK,gCAAgC,KAAK,SAC/C,CACX,CAIA,qBAAsB,CAClB,IAAM,EAAM,EAAK,qCAAqC,KAAK,SAAS,EACpE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,SAAU,CAEN,OADY,EAAK,yBAAyB,KAAK,SACxC,CACX,CAIA,UAAW,CAEP,OADY,EAAK,0BAA0B,KAAK,SACzC,CACX,CAIA,eAAgB,CAEZ,OADY,EAAK,+BAA+B,KAAK,SAC9C,CACX,CAIA,oBAAqB,CACjB,IAAM,EAAM,EAAK,oCAAoC,KAAK,SAAS,EACnE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,cAAe,CAEX,OADY,EAAK,8BAA8B,KAAK,SAC7C,CACX,CAIA,mBAAoB,CAChB,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,eAAgB,CAEZ,OADY,EAAK,+BAA+B,KAAK,SAC9C,CACX,CAIA,qDAAsD,CAElD,OADY,EAAK,qEAAqE,KAAK,SACpF,CACX,CAIA,0DAA2D,CAEvD,OADY,EAAK,0EAA0E,KAAK,SACzF,CACX,CAIA,OAAQ,CAEJ,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAIA,YAAa,CAET,OADY,EAAK,4BAA4B,KAAK,SAC3C,CACX,CAIA,iBAAkB,CACd,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAChE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,WAAY,CAER,OADY,EAAK,2BAA2B,KAAK,SAC1C,CACX,CAIA,gBAAiB,CACb,IAAM,EAAM,EAAK,gCAAgC,KAAK,SAAS,EAC/D,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,eAAgB,CAEZ,OADY,EAAK,+BAA+B,KAAK,SAC9C,CACX,CAIA,oBAAqB,CACjB,IAAM,EAAM,EAAK,oCAAoC,KAAK,SAAS,EACnE,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,YAAa,CACT,IAAM,EAAM,EAAK,4BAA4B,KAAK,SAAS,EAC3D,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CACJ,EACI,OAAO,UAAS,GAAiB,UAAU,OAAO,SAAW,GAAiB,UAAU,MAE5F,IAAa,GAAb,KAAwC,CACpC,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAuC,WAAW,IAAI,EAC/C,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,sCAAsC,EAAK,CAAC,CACrD,CAIA,mBAAoB,CAEhB,OADY,EAAK,6CAA6C,KAAK,SAC5D,CACX,CAIA,wBAAyB,CACrB,IAAM,EAAM,EAAK,kDAAkD,KAAK,SAAS,EACjF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,sBAAuB,CAEnB,OADY,EAAK,gDAAgD,KAAK,SAC/D,CACX,CAIA,2BAA4B,CACxB,IAAM,EAAM,EAAK,qDAAqD,KAAK,SAAS,EACpF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,mBAAoB,CAEhB,OADY,EAAK,6CAA6C,KAAK,SAC5D,CACX,CAIA,wBAAyB,CACrB,IAAM,EAAM,EAAK,kDAAkD,KAAK,SAAS,EACjF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,kBAAmB,CAEf,OADY,EAAK,4CAA4C,KAAK,SAC3D,CACX,CAIA,uBAAwB,CACpB,IAAM,EAAM,EAAK,iDAAiD,KAAK,SAAS,EAChF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,4DAA6D,CAEzD,OADY,EAAK,sFAAsF,KAAK,SACrG,CACX,CAIA,iEAAkE,CAC9D,IAAM,EAAM,EAAK,2FAA2F,KAAK,SAAS,EAC1H,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,yBAA0B,CAEtB,OADY,EAAK,mDAAmD,KAAK,SAClE,CACX,CAIA,8BAA+B,CAC3B,IAAM,EAAM,EAAK,wDAAwD,KAAK,SAAS,EACvF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,mBAAoB,CAEhB,OADY,EAAK,6CAA6C,KAAK,SAC5D,CACX,CAIA,wBAAyB,CAErB,OADY,EAAK,kDAAkD,KAAK,SACjE,CACX,CAIA,6BAA8B,CAC1B,IAAM,EAAM,EAAK,uDAAuD,KAAK,SAAS,EACtF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,uBAAwB,CAEpB,OADY,EAAK,iDAAiD,KAAK,SAChE,CACX,CAIA,4BAA6B,CACzB,IAAM,EAAM,EAAK,sDAAsD,KAAK,SAAS,EACrF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,wBAAyB,CAErB,OADY,EAAK,kDAAkD,KAAK,SACjE,CACX,CAIA,8DAA+D,CAE3D,OADY,EAAK,wFAAwF,KAAK,SACvG,CACX,CAIA,mEAAoE,CAEhE,OADY,EAAK,6FAA6F,KAAK,SAC5G,CACX,CAIA,gBAAiB,CAEb,OADY,EAAK,0CAA0C,KAAK,SACzD,CACX,CAIA,qBAAsB,CAElB,OADY,EAAK,+CAA+C,KAAK,SAC9D,CACX,CAIA,0BAA2B,CACvB,IAAM,EAAM,EAAK,oDAAoD,KAAK,SAAS,EACnF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,oBAAqB,CAEjB,OADY,EAAK,8CAA8C,KAAK,SAC7D,CACX,CAIA,yBAA0B,CACtB,IAAM,EAAM,EAAK,mDAAmD,KAAK,SAAS,EAClF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,wBAAyB,CAErB,OADY,EAAK,kDAAkD,KAAK,SACjE,CACX,CAIA,6BAA8B,CAC1B,IAAM,EAAM,EAAK,uDAAuD,KAAK,SAAS,EACtF,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CAIA,qBAAsB,CAClB,IAAM,EAAM,EAAK,+CAA+C,KAAK,SAAS,EAC9E,OAAO,IAAQ,SAAW,IAAA,GAAY,CAC1C,CACJ,EACI,OAAO,UAAS,GAA2B,UAAU,OAAO,SAAW,GAA2B,UAAU,MAEhH,IAAa,EAAb,MAAa,CAAyB,CAClC,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAyB,SAAS,EAG5D,MAFA,GAAI,UAAY,EAChB,GAAqC,SAAS,EAAK,EAAI,UAAW,CAAG,EAC9D,CACX,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAqC,WAAW,IAAI,EAC7C,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,oCAAoC,EAAK,CAAC,CACnD,CAIA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,iDAAiD,KAAK,SAAS,EAChF,IAAI,EAAK,GAAqB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAEpD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAIA,IAAI,cAAc,EAAM,CACpB,IAAM,EAAO,GAAoB,EAAM,EAAK,iBAAiB,EACvD,EAAO,EACb,EAAK,iDAAiD,KAAK,UAAW,EAAM,CAAI,CACpF,CACJ,EACI,OAAO,UAAS,EAAyB,UAAU,OAAO,SAAW,EAAyB,UAAU,MAE5G,IAAa,GAAb,KAA8B,CAC1B,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA6B,WAAW,IAAI,EACrC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,4BAA4B,EAAK,CAAC,CAC3C,CAIA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,wCAAwC,KAAK,SAAS,EACvE,OAAO,IAAQ,EAAI,IAAA,GAAY,EAAyB,OAAO,CAAG,CACtE,CAIA,IAAI,YAAa,CACb,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,yCAAyC,KAAK,SAAS,EACxE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAChE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,YAAa,CACb,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,qCAAqC,KAAK,SAAS,EAChE,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAyB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EACpD,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAKA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,yCAAyC,KAAK,SAAS,EACxE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,mBAAoB,CACpB,IAAM,EAAM,EAAK,6CAA6C,KAAK,SAAS,EAC5E,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAMA,IAAI,UAAW,CACX,IAAM,EAAM,EAAK,oCAAoC,KAAK,SAAS,EACnE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,SAAU,CACV,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,yCAAyC,KAAK,SAAS,EACxE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,gCAAgC,KAAK,SAAS,EAC/D,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CASA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAChE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,uCAAuC,KAAK,SAAS,EACtE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAChE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAaA,YAAY,EAAM,EAAa,EAAgB,EAAO,EAAiB,EAAO,EAAQ,EAAO,EAAW,EAAc,CAClH,IAAI,EAAO,EACN,EAAW,CAAY,IACxB,EAAa,EAAc,CAAwB,EACnD,EAAO,EAAa,mBAAmB,GAE3C,IAAM,EAAM,EAAK,qBAAqB,EAAW,CAAI,EAAI,SAAW,KAAc,EAAW,CAAW,EAAI,SAAW,KAAqB,EAAW,CAAc,EAAI,SAAW,KAAwB,EAAW,CAAK,UAA+B,IAAW,EAAG,EAAW,CAAe,EAAI,SAAW,KAAyB,EAAW,CAAK,EAAI,SAAW,KAAe,EAAW,CAAM,UAA8B,KAAK,OAAO,CAAM,EAAG,EAAW,CAAK,UAA8B,KAAK,OAAO,CAAK,EAAG,EAAW,CAAS,UAA8B,KAAK,OAAO,CAAS,EAAG,CAAI,EAG7kB,MAFA,MAAK,UAAY,EACjB,GAA6B,SAAS,KAAM,KAAK,UAAW,IAAI,EACzD,IACX,CAIA,IAAI,aAAa,EAAM,CACnB,IAAI,EAAO,EACN,EAAW,CAAI,IAChB,EAAa,EAAM,CAAwB,EAC3C,EAAO,EAAK,mBAAmB,GAEnC,EAAK,wCAAwC,KAAK,UAAW,CAAI,CACrE,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,sCAAsC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACzG,CAIA,IAAI,cAAc,EAAM,CACpB,EAAK,yCAAyC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC5G,CAIA,IAAI,MAAM,EAAM,CACZ,EAAK,iCAAiC,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CACnH,CAKA,IAAI,WAAW,EAAM,CACjB,EAAK,sCAAsC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACzG,CAKA,IAAI,UAAU,EAAM,CAChB,IAAI,EAAO,EAAW,CAAI,EAAI,EAAI,EAAwB,EAAM,EAAK,iBAAiB,EAClF,EAAO,EACX,EAAK,qCAAqC,KAAK,UAAW,EAAM,CAAI,CACxE,CAKA,IAAI,cAAc,EAAM,CACpB,EAAK,yCAAyC,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CAC3H,CAKA,IAAI,kBAAkB,EAAM,CACxB,EAAK,6CAA6C,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACpI,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,kCAAkC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACzH,CAMA,IAAI,SAAS,EAAM,CACf,EAAK,oCAAoC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC3H,CAKA,IAAI,QAAQ,EAAM,CACd,EAAK,mCAAmC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC1H,CAIA,IAAI,cAAc,EAAM,CACpB,EAAK,yCAAyC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC5G,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,gCAAgC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACnG,CASA,IAAI,MAAM,EAAM,CACZ,EAAK,iCAAiC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACpG,CAKA,IAAI,YAAY,EAAM,CAClB,EAAK,uCAAuC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC1G,CAIA,IAAI,MAAM,EAAM,CACZ,EAAK,iCAAiC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACxH,CACJ,EACI,OAAO,UAAS,GAAiB,UAAU,OAAO,SAAW,GAAiB,UAAU,MAO5F,IAAa,GAAb,KAA4B,CACxB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA2B,WAAW,IAAI,EACnC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,0BAA0B,EAAK,CAAC,CACzC,CAIA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,+BAA+B,KAAK,SAAS,EAC9D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,SAAU,CACV,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAChE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,iBAAkB,CAClB,IAAM,EAAM,EAAK,yCAAyC,KAAK,SAAS,EACxE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,8BAA8B,KAAK,SAAS,EAC7D,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,MAAM,EAAM,CACZ,EAAK,+BAA+B,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CACjH,CAIA,IAAI,QAAQ,EAAM,CACd,EAAK,iCAAiC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACxH,CAIA,IAAI,gBAAgB,EAAM,CACtB,EAAK,yCAAyC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC5G,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,8BAA8B,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACjG,CACJ,EACI,OAAO,UAAS,GAAe,UAAU,OAAO,SAAW,GAAe,UAAU,MAExF,IAAa,GAAb,KAAwC,CACpC,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAuC,WAAW,IAAI,EAC/C,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,sCAAsC,EAAK,CAAC,CACrD,CAIA,IAAI,YAAa,CACb,IAAM,EAAM,EAAK,gDAAgD,KAAK,SAAS,EAC/E,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,4CAA4C,KAAK,SAAS,EAC3E,IAAI,EAAK,GAAqB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAEpD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAIA,IAAI,kBAAmB,CAEnB,OADY,EAAK,sDAAsD,KAAK,SACrE,CACX,CAIA,IAAI,mBAAoB,CAEpB,OADY,EAAK,uDAAuD,KAAK,SACtE,CACX,CAIA,IAAI,kBAAmB,CAEnB,OADY,EAAK,sDAAsD,KAAK,SACrE,CACX,CAIA,IAAI,kBAAmB,CAEnB,OADY,EAAK,sDAAsD,KAAK,SACrE,CACX,CAIA,IAAI,oBAAqB,CAErB,OADY,EAAK,wDAAwD,KAAK,SACvE,CACX,CAIA,IAAI,oBAAqB,CAErB,OADY,EAAK,wDAAwD,KAAK,SACvE,CACX,CAIA,IAAI,oBAAqB,CAErB,OADY,EAAK,wDAAwD,KAAK,SACvE,CACX,CAIA,IAAI,oBAAqB,CAErB,OADY,EAAK,wDAAwD,KAAK,SACvE,CACX,CAIA,IAAI,iBAAkB,CAElB,OADY,EAAK,qDAAqD,KAAK,SACpE,CACX,CAIA,IAAI,kBAAmB,CAEnB,OADY,EAAK,sDAAsD,KAAK,SACrE,CACX,CAIA,IAAI,kBAAmB,CAEnB,OADY,EAAK,sDAAsD,KAAK,SACrE,CACX,CAIA,IAAI,mBAAoB,CAEpB,OADY,EAAK,uDAAuD,KAAK,SACtE,CACX,CAIA,IAAI,kBAAmB,CAEnB,OADY,EAAK,sDAAsD,KAAK,SACrE,CACX,CAIA,IAAI,uBAAwB,CAExB,OADY,EAAK,2DAA2D,KAAK,SAC1E,CACX,CAIA,IAAI,kBAAmB,CAEnB,OADY,EAAK,sDAAsD,KAAK,SACrE,CACX,CAIA,IAAI,oBAAqB,CAErB,OADY,EAAK,wDAAwD,KAAK,SACvE,CACX,CAIA,IAAI,oBAAqB,CAErB,OADY,EAAK,wDAAwD,KAAK,SACvE,CACX,CAIA,IAAI,iBAAkB,CAElB,OADY,EAAK,qDAAqD,KAAK,SACpE,CACX,CAIA,IAAI,kBAAmB,CAEnB,OADY,EAAK,sDAAsD,KAAK,SACrE,CACX,CAIA,IAAI,qBAAsB,CACtB,IAAM,EAAM,EAAK,yDAAyD,KAAK,SAAS,EACxF,IAAI,EAAK,EAAoB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAEnD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAIA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,kDAAkD,KAAK,SAAS,EACjF,IAAI,EAAK,EAAoB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAEnD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAIA,IAAI,gBAAiB,CACjB,IAAM,EAAM,EAAK,oDAAoD,KAAK,SAAS,EACnF,IAAI,EAAK,EAAoB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAEnD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAIA,IAAI,aAAc,CAEd,OADY,EAAK,iDAAiD,KAAK,SAChE,CACX,CAIA,IAAI,aAAc,CAEd,OADY,EAAK,iDAAiD,KAAK,SAChE,IAAQ,CACnB,CAIA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,+CAA+C,KAAK,SAAS,EAC9E,IAAI,EAAK,EAAqB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAEpD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAIA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,mDAAmD,KAAK,SAAS,EAClF,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,iBAAkB,CAClB,IAAM,EAAM,EAAK,qDAAqD,KAAK,SAAS,EACpF,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,2CAA2C,KAAK,SAAS,EAC1E,IAAI,EAAK,EAAoB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAEnD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAIA,IAAI,iBAAkB,CAClB,IAAM,EAAM,EAAK,qDAAqD,KAAK,SAAS,EACpF,IAAI,EAAK,EAAqB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAEpD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAIA,mBAAoB,CAChB,IAAM,EAAM,EAAK,6CAA6C,KAAK,SAAS,EAC5E,IAAI,EAAK,EAAyB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAExD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAIA,mBAAoB,CAChB,IAAM,EAAM,EAAK,6CAA6C,KAAK,SAAS,EACxE,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAyB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EACpD,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,gDAAgD,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACnH,CAIA,IAAI,OAAO,EAAM,CACb,IAAM,EAAO,EAAmB,EAAM,EAAK,iBAAiB,EACtD,EAAO,EACb,EAAK,4CAA4C,KAAK,UAAW,EAAM,CAAI,CAC/E,CAIA,IAAI,iBAAiB,EAAM,CACvB,EAAK,sDAAsD,KAAK,UAAW,CAAI,CACnF,CAIA,IAAI,kBAAkB,EAAM,CACxB,EAAK,uDAAuD,KAAK,UAAW,CAAI,CACpF,CAIA,IAAI,iBAAiB,EAAM,CACvB,EAAK,sDAAsD,KAAK,UAAW,CAAI,CACnF,CAIA,IAAI,iBAAiB,EAAM,CACvB,EAAK,sDAAsD,KAAK,UAAW,CAAI,CACnF,CAIA,IAAI,mBAAmB,EAAM,CACzB,EAAK,wDAAwD,KAAK,UAAW,CAAI,CACrF,CAIA,IAAI,mBAAmB,EAAM,CACzB,EAAK,wDAAwD,KAAK,UAAW,CAAI,CACrF,CAIA,IAAI,mBAAmB,EAAM,CACzB,EAAK,wDAAwD,KAAK,UAAW,CAAI,CACrF,CAIA,IAAI,mBAAmB,EAAM,CACzB,EAAK,wDAAwD,KAAK,UAAW,CAAI,CACrF,CAIA,IAAI,gBAAgB,EAAM,CACtB,EAAK,qDAAqD,KAAK,UAAW,CAAI,CAClF,CAIA,IAAI,iBAAiB,EAAM,CACvB,EAAK,sDAAsD,KAAK,UAAW,CAAI,CACnF,CAIA,IAAI,iBAAiB,EAAM,CACvB,EAAK,sDAAsD,KAAK,UAAW,CAAI,CACnF,CAIA,IAAI,kBAAkB,EAAM,CACxB,EAAK,uDAAuD,KAAK,UAAW,CAAI,CACpF,CAIA,IAAI,iBAAiB,EAAM,CACvB,EAAK,sDAAsD,KAAK,UAAW,CAAI,CACnF,CAIA,IAAI,sBAAsB,EAAM,CAC5B,EAAK,2DAA2D,KAAK,UAAW,CAAI,CACxF,CAIA,IAAI,iBAAiB,EAAM,CACvB,EAAK,sDAAsD,KAAK,UAAW,CAAI,CACnF,CAIA,IAAI,mBAAmB,EAAM,CACzB,EAAK,wDAAwD,KAAK,UAAW,CAAI,CACrF,CAIA,IAAI,mBAAmB,EAAM,CACzB,EAAK,wDAAwD,KAAK,UAAW,CAAI,CACrF,CAIA,IAAI,gBAAgB,EAAM,CACtB,EAAK,qDAAqD,KAAK,UAAW,CAAI,CAClF,CAIA,IAAI,iBAAiB,EAAM,CACvB,EAAK,sDAAsD,KAAK,UAAW,CAAI,CACnF,CAIA,IAAI,oBAAoB,EAAM,CAC1B,IAAM,EAAO,EAAkB,EAAM,EAAK,iBAAiB,EACrD,EAAO,EACb,EAAK,yDAAyD,KAAK,UAAW,EAAM,CAAI,CAC5F,CAIA,IAAI,aAAa,EAAM,CACnB,IAAM,EAAO,EAAkB,EAAM,EAAK,iBAAiB,EACrD,EAAO,EACb,EAAK,kDAAkD,KAAK,UAAW,EAAM,CAAI,CACrF,CAIA,IAAI,eAAe,EAAM,CACrB,IAAM,EAAO,EAAkB,EAAM,EAAK,iBAAiB,EACrD,EAAO,EACb,EAAK,oDAAoD,KAAK,UAAW,EAAM,CAAI,CACvF,CAIA,IAAI,YAAY,EAAM,CAClB,EAAK,iDAAiD,KAAK,UAAW,CAAI,CAC9E,CAIA,IAAI,YAAY,EAAM,CAClB,EAAK,iDAAiD,KAAK,UAAW,CAAI,CAC9E,CAIA,IAAI,UAAU,EAAM,CAChB,IAAM,EAAO,EAAoB,EAAM,EAAK,iBAAiB,EACvD,EAAO,EACb,EAAK,+CAA+C,KAAK,UAAW,EAAM,CAAI,CAClF,CAIA,IAAI,cAAc,EAAM,CACpB,EAAK,mDAAmD,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACtH,CAIA,IAAI,gBAAgB,EAAM,CACtB,EAAK,qDAAqD,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACxH,CAIA,IAAI,MAAM,EAAM,CACZ,IAAM,EAAO,EAAkB,EAAM,EAAK,iBAAiB,EACrD,EAAO,EACb,EAAK,2CAA2C,KAAK,UAAW,EAAM,CAAI,CAC9E,CAIA,IAAI,gBAAgB,EAAM,CACtB,IAAM,EAAO,EAAoB,EAAM,EAAK,iBAAiB,EACvD,EAAO,EACb,EAAK,qDAAqD,KAAK,UAAW,EAAM,CAAI,CACxF,CACJ,EACI,OAAO,UAAS,GAA2B,UAAU,OAAO,SAAW,GAA2B,UAAU,MAEhH,IAAa,GAAb,KAAiB,CACb,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAgB,WAAW,IAAI,EACxB,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,eAAe,EAAK,CAAC,CAC9B,CAIA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,wBAAwB,KAAK,SAAS,EACvD,OAAO,EAAK,OAAO,CAAG,CAC1B,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,qBAAqB,KAAK,SAAS,EACpD,OAAO,EAAK,OAAO,CAAG,CAC1B,CAKA,SAAS,EAAG,CACR,IAAM,EAAM,EAAK,aAAa,KAAK,UAAW,CAAC,EAC/C,OAAO,EAAK,OAAO,CAAG,CAC1B,CAKA,YAAY,EAAQ,EAAW,CAC3B,EAAa,EAAQ,CAAI,EACzB,IAAI,EAAO,EAAO,mBAAmB,EACrC,EAAa,EAAW,CAAI,EAC5B,IAAI,EAAO,EAAU,mBAAmB,EACxC,IAAM,EAAM,EAAK,QAAQ,EAAM,CAAI,EAGnC,MAFA,MAAK,UAAY,EACjB,GAAgB,SAAS,KAAM,KAAK,UAAW,IAAI,EAC5C,IACX,CAIA,IAAI,UAAU,EAAM,CAChB,EAAa,EAAM,CAAI,EACvB,IAAI,EAAO,EAAK,mBAAmB,EACnC,EAAK,wBAAwB,KAAK,UAAW,CAAI,CACrD,CAIA,IAAI,OAAO,EAAM,CACb,EAAa,EAAM,CAAI,EACvB,IAAI,EAAO,EAAK,mBAAmB,EACnC,EAAK,qBAAqB,KAAK,UAAW,CAAI,CAClD,CACJ,EACI,OAAO,UAAS,GAAI,UAAU,OAAO,SAAW,GAAI,UAAU,MAElE,IAAa,GAAb,KAA4C,CACxC,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA2C,WAAW,IAAI,EACnD,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,0CAA0C,EAAK,CAAC,CACzD,CAIA,IAAI,YAAa,CAEb,OADY,EAAK,oDAAoD,KAAK,SACnE,CACX,CAIA,IAAI,YAAa,CAEb,OADY,EAAK,oDAAoD,KAAK,SACnE,CACX,CAIA,IAAI,iBAAkB,CAClB,IAAM,EAAM,EAAK,yDAAyD,KAAK,SAAS,EACxF,OAAO,IAAQ,EAAI,IAAA,GAAY,EAAK,OAAO,CAAG,CAClD,CAIA,YAAa,CAET,OADY,EAAK,0CAA0C,KAAK,SACzD,IAAQ,CACnB,CAIA,UAAW,CAEP,OADY,EAAK,wCAAwC,KAAK,SACvD,IAAQ,CACnB,CAIA,cAAe,CAEX,OADY,EAAK,4CAA4C,KAAK,SAC3D,IAAQ,CACnB,CAQA,YAAY,EAAU,EAAY,EAAY,EAAS,EAAiB,CACpE,EAAa,EAAU,CAAQ,EAC/B,IAAI,EAAO,EAAS,mBAAmB,EACvC,IAAM,EAAO,EAAoB,EAAS,EAAK,iBAAiB,EAC1D,EAAO,EACT,EAAO,EACN,EAAW,CAAe,IAC3B,EAAa,EAAiB,CAAI,EAClC,EAAO,EAAgB,mBAAmB,GAE9C,IAAM,EAAM,EAAK,mCAAmC,EAAM,EAAY,EAAY,EAAM,EAAM,CAAI,EAGlG,MAFA,MAAK,UAAY,EACjB,GAA2C,SAAS,KAAM,KAAK,UAAW,IAAI,EACvE,IACX,CAIA,iBAAkB,CAEd,OADY,EAAK,+CAA+C,KAAK,SAC9D,CACX,CAIA,iBAAkB,CAEd,OADY,EAAK,+CAA+C,KAAK,SAC9D,CACX,CAIA,iBAAkB,CAEd,OADY,EAAK,+CAA+C,KAAK,SAC9D,CACX,CAIA,sBAAuB,CAEnB,OADY,EAAK,oDAAoD,KAAK,SACnE,CACX,CAIA,sBAAuB,CAEnB,OADY,EAAK,oDAAoD,KAAK,SACnE,CACX,CAIA,kBAAmB,CAEf,OADY,EAAK,gDAAgD,KAAK,SAC/D,CACX,CAIA,uBAAwB,CAEpB,OADY,EAAK,qDAAqD,KAAK,SACpE,CACX,CAIA,aAAc,CAEV,OADY,EAAK,2CAA2C,KAAK,SAC1D,CACX,CAIA,kBAAmB,CAEf,OADY,EAAK,gDAAgD,KAAK,SAC/D,CACX,CAIA,mBAAoB,CAEhB,OADY,EAAK,iDAAiD,KAAK,SAChE,CACX,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,oDAAoD,KAAK,UAAW,CAAI,CACjF,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,oDAAoD,KAAK,UAAW,CAAI,CACjF,CAIA,IAAI,gBAAgB,EAAM,CACtB,IAAI,EAAO,EACN,EAAW,CAAI,IAChB,EAAa,EAAM,CAAI,EACvB,EAAO,EAAK,mBAAmB,GAEnC,EAAK,yDAAyD,KAAK,UAAW,CAAI,CACtF,CACJ,EACI,OAAO,UAAS,GAA+B,UAAU,OAAO,SAAW,GAA+B,UAAU,MAExH,IAAa,GAAb,MAAa,CAAgB,CACzB,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAgB,SAAS,EAGnD,MAFA,GAAI,UAAY,EAChB,GAA4B,SAAS,EAAK,EAAI,UAAW,CAAG,EACrD,CACX,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA4B,WAAW,IAAI,EACpC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,2BAA2B,EAAK,CAAC,CAC1C,CAKA,IAAI,UAAW,CAEX,OADY,EAAK,mCAAmC,KAAK,SAClD,CACX,CAIA,IAAI,eAAgB,CAEhB,OADY,EAAK,wCAAwC,KAAK,SACvD,IAAQ,CACnB,CAIA,IAAI,WAAY,CAEZ,OADY,EAAK,oCAAoC,KAAK,SACnD,CACX,CAOA,IAAI,SAAU,CAEV,OADY,EAAK,kCAAkC,KAAK,SACjD,IAAQ,CACnB,CAIA,IAAI,YAAa,CAEb,OADY,EAAK,qCAAqC,KAAK,SACpD,IAAQ,CACnB,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAChE,IAAI,EAAK,EAAyB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAExD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAKA,IAAI,UAAW,CAEX,OADY,EAAK,mCAAmC,KAAK,SAClD,IAAQ,CACnB,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,mCAAmC,KAAK,SAClD,CACX,CAIA,IAAI,SAAU,CACV,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,IAAI,EAAK,EAAyB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAExD,OADA,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,EACnC,CACX,CAIA,IAAI,cAAe,CAEf,OADY,EAAK,uCAAuC,KAAK,SACtD,CACX,CAKA,IAAI,SAAS,EAAM,CACf,EAAK,mCAAmC,KAAK,UAAW,CAAI,CAChE,CAIA,IAAI,cAAc,EAAM,CACpB,EAAK,wCAAwC,KAAK,UAAW,CAAI,CACrE,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,oCAAoC,KAAK,UAAW,CAAI,CACjE,CAOA,IAAI,QAAQ,EAAM,CACd,EAAK,kCAAkC,KAAK,UAAW,CAAI,CAC/D,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,qCAAqC,KAAK,UAAW,CAAI,CAClE,CAIA,IAAI,OAAO,EAAM,CACb,IAAM,EAAO,EAAwB,EAAM,EAAK,iBAAiB,EAC3D,EAAO,EACb,EAAK,iCAAiC,KAAK,UAAW,EAAM,CAAI,CACpE,CAKA,IAAI,SAAS,EAAM,CACf,EAAK,mCAAmC,KAAK,UAAW,CAAI,CAChE,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,mCAAmC,KAAK,UAAW,CAAI,CAChE,CAIA,IAAI,QAAQ,EAAM,CACd,IAAM,EAAO,EAAwB,EAAM,EAAK,iBAAiB,EAC3D,EAAO,EACb,EAAK,kCAAkC,KAAK,UAAW,EAAM,CAAI,CACrE,CAIA,IAAI,aAAa,EAAM,CACnB,EAAK,uCAAuC,KAAK,UAAW,CAAI,CACpE,CACJ,EACI,OAAO,UAAS,GAAgB,UAAU,OAAO,SAAW,GAAgB,UAAU,MAQ1F,IAAa,GAAb,KAA6B,CACzB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA4B,WAAW,IAAI,EACpC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,2BAA2B,EAAK,CAAC,CAC1C,CAIA,IAAI,YAAa,CACb,IAAM,EAAM,EAAK,qCAAqC,KAAK,SAAS,EACpE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,wCAAwC,KAAK,SAAS,EACvE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,iBAAkB,CAClB,IAAM,EAAM,EAAK,0CAA0C,KAAK,SAAS,EACzE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,+BAA+B,KAAK,SAAS,EAC9D,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAMA,IAAI,mBAAoB,CACpB,IAAM,EAAM,EAAK,4CAA4C,KAAK,SAAS,EAC3E,OAAO,YAAkC,IAAA,GAAY,CACzD,CAMA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,gCAAgC,KAAK,SAAS,EAC/D,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,qCAAqC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACxG,CAIA,IAAI,cAAc,EAAM,CACpB,EAAK,wCAAwC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC3G,CAIA,IAAI,gBAAgB,EAAM,CACtB,EAAK,0CAA0C,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC7G,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,+BAA+B,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAClG,CAMA,IAAI,kBAAkB,EAAM,CACxB,EAAK,4CAA4C,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACnI,CAMA,IAAI,MAAM,EAAM,CACZ,EAAK,gCAAgC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACnG,CACJ,EACI,OAAO,UAAS,GAAgB,UAAU,OAAO,SAAW,GAAgB,UAAU,MAE1F,IAAa,GAAb,KAA0B,CACtB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAyB,WAAW,IAAI,EACjC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,wBAAwB,EAAK,CAAC,CACvC,CAIA,IAAI,iBAAkB,CAClB,IAAM,EAAM,EAAK,uCAAuC,KAAK,SAAS,EACtE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,8BAA8B,KAAK,SAAS,EAC7D,OAAO,IAAQ,EAAI,IAAA,GAAY,EAAK,OAAO,CAAG,CAClD,CAIA,IAAI,eAAgB,CAChB,IAAM,EAAM,EAAK,qCAAqC,KAAK,SAAS,EACpE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,6BAA6B,KAAK,SAAS,EAC5D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAMA,IAAI,mBAAoB,CACpB,IAAM,EAAM,EAAK,yCAAyC,KAAK,SAAS,EACxE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAOA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAChE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAChE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAiBA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,4BAA4B,KAAK,SAAS,EACvD,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAmB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAC9C,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,8BAA8B,KAAK,SAAS,EAC7D,OAAO,YAAkC,IAAA,GAAY,CACzD,CASA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,4BAA4B,KAAK,SAAS,EACvD,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAmB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAC9C,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAMA,IAAI,YAAa,CACb,IAAM,EAAM,EAAK,kCAAkC,KAAK,SAAS,EACjE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAOA,IAAI,UAAW,CACX,IAAM,EAAM,EAAK,gCAAgC,KAAK,SAAS,EAC/D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,SAAU,CACV,IAAM,EAAM,EAAK,+BAA+B,KAAK,SAAS,EAC9D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,oCAAoC,KAAK,SAAS,EACnE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,gBAAiB,CACjB,IAAM,EAAM,EAAK,sCAAsC,KAAK,SAAS,EACrE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAKA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,oCAAoC,KAAK,SAAS,EACnE,OAAO,YAAkC,IAAA,GAAY,CACzD,CAIA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,4BAA4B,KAAK,SAAS,EAC3D,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,cAAe,CACf,IAAM,EAAM,EAAK,oCAAoC,KAAK,SAAS,EACnE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAKA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,4BAA4B,KAAK,SAAS,EAC3D,OAAO,YAAkC,IAAA,GAAY,CACzD,CAMA,IAAI,WAAY,CACZ,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAC5D,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAmB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAC9C,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAIA,IAAI,MAAO,CACP,IAAM,EAAM,EAAK,4BAA4B,KAAK,SAAS,EACvD,EAKJ,OAJI,EAAI,KAAO,IACX,EAAK,EAAmB,EAAI,GAAI,EAAI,EAAE,CAAC,CAAC,MAAM,EAC9C,EAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,CAAC,GAEvC,CACX,CAKA,IAAI,aAAc,CACd,IAAM,EAAM,EAAK,mCAAmC,KAAK,SAAS,EAClE,OAAO,IAAQ,SAAW,IAAA,GAAY,IAAQ,CAClD,CAIA,IAAI,gBAAgB,EAAM,CACtB,EAAK,uCAAuC,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CACzH,CAIA,IAAI,YAAY,EAAM,CAClB,EAAK,mCAAmC,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CACrH,CAIA,IAAI,YAAY,EAAM,CAClB,EAAK,mCAAmC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC1H,CAIA,IAAI,OAAO,EAAM,CACb,IAAI,EAAO,EACN,EAAW,CAAI,IAChB,EAAa,EAAM,CAAI,EACvB,EAAO,EAAK,mBAAmB,GAEnC,EAAK,8BAA8B,KAAK,UAAW,CAAI,CAC3D,CAIA,IAAI,cAAc,EAAM,CACpB,EAAK,qCAAqC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACxG,CAIA,IAAI,MAAM,EAAM,CACZ,EAAK,6BAA6B,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CAC/G,CAMA,IAAI,kBAAkB,EAAM,CACxB,EAAK,yCAAyC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAChI,CAOA,IAAI,UAAU,EAAM,CAChB,EAAK,iCAAiC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACpG,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,iCAAiC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACpG,CAiBA,IAAI,KAAK,EAAM,CACX,IAAI,EAAO,EAAW,CAAI,EAAI,EAAI,EAAkB,EAAM,EAAK,kBAAmB,EAAK,kBAAkB,EACrG,EAAO,EACX,EAAK,4BAA4B,KAAK,UAAW,EAAM,CAAI,CAC/D,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,8BAA8B,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACrH,CASA,IAAI,YAAY,EAAM,CAClB,EAAK,mCAAmC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACtG,CAKA,IAAI,KAAK,EAAM,CACX,IAAI,EAAO,EAAW,CAAI,EAAI,EAAI,EAAkB,EAAM,EAAK,kBAAmB,EAAK,kBAAkB,EACrG,EAAO,EACX,EAAK,4BAA4B,KAAK,UAAW,EAAM,CAAI,CAC/D,CAMA,IAAI,WAAW,EAAM,CACjB,EAAK,kCAAkC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACzH,CAOA,IAAI,SAAS,EAAM,CACf,EAAK,gCAAgC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACvH,CAKA,IAAI,YAAY,EAAM,CAClB,EAAK,mCAAmC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACtG,CAKA,IAAI,QAAQ,EAAM,CACd,EAAK,+BAA+B,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACtH,CAKA,IAAI,aAAa,EAAM,CACnB,EAAK,oCAAoC,KAAK,UAAW,EAAW,CAAI,UAA+B,IAAU,CAAC,CACtH,CAKA,IAAI,eAAe,EAAM,CACrB,EAAK,sCAAsC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC7H,CAKA,IAAI,aAAa,EAAM,CACnB,EAAK,oCAAoC,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CAC3H,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,4BAA4B,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CAC/F,CAKA,IAAI,aAAa,EAAM,CACnB,EAAK,oCAAoC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACvG,CAKA,IAAI,KAAK,EAAM,CACX,EAAK,4BAA4B,KAAK,UAAW,EAAW,CAAI,UAA8B,KAAK,OAAO,CAAI,CAAC,CACnH,CAMA,IAAI,UAAU,EAAM,CAChB,IAAI,EAAO,EAAW,CAAI,EAAI,EAAI,EAAkB,EAAM,EAAK,kBAAmB,EAAK,kBAAkB,EACrG,EAAO,EACX,EAAK,iCAAiC,KAAK,UAAW,EAAM,CAAI,CACpE,CAIA,IAAI,KAAK,EAAM,CACX,IAAI,EAAO,EAAW,CAAI,EAAI,EAAI,EAAkB,EAAM,EAAK,kBAAmB,EAAK,kBAAkB,EACrG,EAAO,EACX,EAAK,4BAA4B,KAAK,UAAW,EAAM,CAAI,CAC/D,CAKA,IAAI,YAAY,EAAM,CAClB,EAAK,mCAAmC,KAAK,UAAW,EAAW,CAAI,EAAI,SAAW,IAAY,CACtG,CACJ,EACI,OAAO,UAAS,GAAa,UAAU,OAAO,SAAW,GAAa,UAAU,MAEpF,IAAa,GAAb,MAAa,CAAgB,CACzB,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAgB,SAAS,EAGnD,MAFA,GAAI,UAAY,EAChB,GAA4B,SAAS,EAAK,EAAI,UAAW,CAAG,EACrD,CACX,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA4B,WAAW,IAAI,EACpC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,2BAA2B,EAAK,CAAC,CAC1C,CAIA,IAAI,KAAM,CAEN,OADY,EAAK,8BAA8B,KAAK,SAC7C,IAAQ,CACnB,CAIA,IAAI,KAAM,CAEN,OADY,EAAK,8BAA8B,KAAK,SAC7C,IAAQ,CACnB,CAIA,IAAI,IAAI,EAAM,CACV,EAAK,8BAA8B,KAAK,UAAW,CAAI,CAC3D,CAIA,IAAI,IAAI,EAAM,CACV,EAAK,8BAA8B,KAAK,UAAW,CAAI,CAC3D,CACJ,EACI,OAAO,UAAS,GAAgB,UAAU,OAAO,SAAW,GAAgB,UAAU,MAE1F,IAAa,GAAb,MAAa,CAAgB,CACzB,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAgB,SAAS,EAGnD,MAFA,GAAI,UAAY,EAChB,GAA4B,SAAS,EAAK,EAAI,UAAW,CAAG,EACrD,CACX,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA4B,WAAW,IAAI,EACpC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,2BAA2B,EAAK,CAAC,CAC1C,CAIA,IAAI,QAAS,CACT,IAAM,EAAM,EAAK,iCAAiC,KAAK,SAAS,EAChE,OAAO,EAAK,OAAO,CAAG,CAC1B,CAIA,IAAI,OAAQ,CACR,IAAM,EAAM,EAAK,gCAAgC,KAAK,SAAS,EAC/D,OAAO,EAAK,OAAO,CAAG,CAC1B,CAIA,IAAI,OAAO,EAAM,CACb,EAAa,EAAM,CAAI,EACvB,IAAI,EAAO,EAAK,mBAAmB,EACnC,EAAK,iCAAiC,KAAK,UAAW,CAAI,CAC9D,CAIA,IAAI,MAAM,EAAM,CACZ,EAAa,EAAM,CAAI,EACvB,IAAI,EAAO,EAAK,mBAAmB,EACnC,EAAK,gCAAgC,KAAK,UAAW,CAAI,CAC7D,CACJ,EACI,OAAO,UAAS,GAAgB,UAAU,OAAO,SAAW,GAAgB,UAAU,MAE1F,IAAa,GAAb,KAAqB,CACjB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAoB,WAAW,IAAI,EAC5B,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,mBAAmB,EAAK,CAAC,CAClC,CAIA,IAAI,GAAI,CAEJ,OADY,EAAK,oBAAoB,KAAK,SACnC,IAAQ,CACnB,CAIA,IAAI,GAAI,CAEJ,OADY,EAAK,oBAAoB,KAAK,SACnC,IAAQ,CACnB,CAIA,IAAI,GAAI,CAEJ,OADY,EAAK,oBAAoB,KAAK,SACnC,IAAQ,CACnB,CAIA,IAAI,EAAE,EAAM,CACR,EAAK,oBAAoB,KAAK,UAAW,CAAI,CACjD,CAIA,IAAI,EAAE,EAAM,CACR,EAAK,oBAAoB,KAAK,UAAW,CAAI,CACjD,CAIA,IAAI,EAAE,EAAM,CACR,EAAK,oBAAoB,KAAK,UAAW,CAAI,CACjD,CAMA,YAAY,EAAG,EAAG,EAAG,CACjB,IAAM,EAAM,EAAK,YAAY,EAAG,EAAG,CAAC,EAGpC,MAFA,MAAK,UAAY,EACjB,GAAoB,SAAS,KAAM,KAAK,UAAW,IAAI,EAChD,IACX,CACJ,EACI,OAAO,UAAS,GAAQ,UAAU,OAAO,SAAW,GAAQ,UAAU,MAE1E,IAAa,GAAb,KAAmC,CAC/B,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAkC,WAAW,IAAI,EAC1C,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,iCAAiC,EAAK,CAAC,CAChD,CAIA,IAAI,wBAAyB,CAEzB,OADY,EAAK,uDAAuD,KAAK,SACtE,CACX,CAIA,IAAI,uBAAuB,EAAM,CAC7B,EAAK,uDAAuD,KAAK,UAAW,CAAI,CACpF,CACJ,EACI,OAAO,UAAS,GAAsB,UAAU,OAAO,SAAW,GAAsB,UAAU,MAKtG,IAAa,GAAb,KAA+B,CAC3B,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA8B,WAAW,IAAI,EACtC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,6BAA6B,EAAK,CAAC,CAC5C,CACJ,EACI,OAAO,UAAS,GAAkB,UAAU,OAAO,SAAW,GAAkB,UAAU,MAa9F,IAAa,GAAb,KAAyC,CACrC,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAwC,WAAW,IAAI,EAChD,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,uCAAuC,EAAK,CAAC,CACtD,CAIA,YAAa,CAET,OADY,EAAK,uCAAuC,KAAK,SACtD,CACX,CAIA,YAAa,CAET,OADY,EAAK,uCAAuC,KAAK,SACtD,CACX,CAIA,MAAO,CAEH,OADY,EAAK,iCAAiC,KAAK,SAChD,CACX,CAIA,YAAa,CAET,OADY,EAAK,uCAAuC,KAAK,SACtD,CACX,CAIA,WAAY,CAER,OADY,EAAK,sCAAsC,KAAK,SACrD,CACX,CACJ,EACI,OAAO,UAAS,GAA4B,UAAU,OAAO,SAAW,GAA4B,UAAU,MAKlH,IAAa,GAAb,KAA+C,CAC3C,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA8C,WAAW,IAAI,EACtD,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,6CAA6C,EAAK,CAAC,CAC5D,CAIA,IAAI,KAAM,CAEN,OADY,EAAK,gDAAgD,KAAK,SAC/D,CACX,CAIA,IAAI,QAAS,CAET,OADY,EAAK,mDAAmD,KAAK,SAClE,IAAQ,CACnB,CAIA,IAAI,IAAI,EAAM,CACV,EAAK,gDAAgD,KAAK,UAAW,CAAI,CAC7E,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,mDAAmD,KAAK,UAAW,CAAI,CAChF,CAKA,YAAY,EAAK,EAAQ,CACrB,IAAM,EAAM,EAAK,8CAA8C,EAAK,CAAM,EAG1E,MAFA,MAAK,UAAY,EACjB,GAA8C,SAAS,KAAM,KAAK,UAAW,IAAI,EAC1E,IACX,CAKA,YAAY,EAAa,EAAG,CACxB,EAAK,8CAA8C,KAAK,UAAW,EAAa,CAAC,CACrF,CAKA,gBAAgB,EAAa,EAAG,CAC5B,EAAK,kDAAkD,KAAK,UAAW,EAAa,CAAC,CACzF,CAKA,yBAAyB,EAAa,EAAG,CACrC,EAAK,2DAA2D,KAAK,UAAW,EAAa,CAAC,CAClG,CAKA,SAAS,EAAa,EAAG,CACrB,EAAK,2CAA2C,KAAK,UAAW,EAAa,CAAC,CAClF,CAKA,mBAAmB,EAAa,EAAG,CAC/B,EAAK,qDAAqD,KAAK,UAAW,EAAa,CAAC,CAC5F,CAKA,cAAc,EAAa,EAAG,CAC1B,EAAK,gDAAgD,KAAK,UAAW,EAAa,CAAC,CACvF,CAKA,mBAAmB,EAAa,EAAG,CAC/B,EAAK,qDAAqD,KAAK,UAAW,EAAa,CAAC,CAC5F,CAKA,aAAa,EAAa,EAAG,CACzB,EAAK,+CAA+C,KAAK,UAAW,EAAa,CAAC,CACtF,CAKA,kBAAkB,EAAa,EAAG,CAC9B,EAAK,oDAAoD,KAAK,UAAW,EAAa,CAAC,CAC3F,CAIA,kBAAmB,CAEf,OADY,EAAK,mDAAmD,KAAK,SAClE,CACX,CAIA,sBAAuB,CAEnB,OADY,EAAK,uDAAuD,KAAK,SACtE,CACX,CAIA,+BAAgC,CAE5B,OADY,EAAK,gEAAgE,KAAK,SAC/E,CACX,CAIA,eAAgB,CAEZ,OADY,EAAK,gDAAgD,KAAK,SAC/D,CACX,CAIA,yBAA0B,CAEtB,OADY,EAAK,0DAA0D,KAAK,SACzE,CACX,CAIA,oBAAqB,CAEjB,OADY,EAAK,qDAAqD,KAAK,SACpE,CACX,CAIA,yBAA0B,CAEtB,OADY,EAAK,0DAA0D,KAAK,SACzE,CACX,CAIA,mBAAoB,CAEhB,OADY,EAAK,oDAAoD,KAAK,SACnE,CACX,CAIA,wBAAyB,CAErB,OADY,EAAK,yDAAyD,KAAK,SACxE,CACX,CACJ,EACI,OAAO,UAAS,GAAkC,UAAU,OAAO,SAAW,GAAkC,UAAU,MAK9H,IAAa,GAAb,KAAgD,CAC5C,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA+C,WAAW,IAAI,EACvD,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,8CAA8C,EAAK,CAAC,CAC7D,CAIA,IAAI,KAAM,CAEN,OADY,EAAK,iDAAiD,KAAK,SAChE,CACX,CAIA,IAAI,QAAS,CAET,OADY,EAAK,oDAAoD,KAAK,SACnE,IAAQ,CACnB,CAIA,IAAI,IAAI,EAAM,CACV,EAAK,iDAAiD,KAAK,UAAW,CAAI,CAC9E,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,oDAAoD,KAAK,UAAW,CAAI,CACjF,CAKA,YAAY,EAAK,EAAQ,CACrB,IAAM,EAAM,EAAK,+CAA+C,EAAK,CAAM,EAG3E,MAFA,MAAK,UAAY,EACjB,GAA+C,SAAS,KAAM,KAAK,UAAW,IAAI,EAC3E,IACX,CAKA,YAAY,EAAa,EAAG,CACxB,EAAK,+CAA+C,KAAK,UAAW,EAAa,CAAC,CACtF,CAKA,gBAAgB,EAAa,EAAG,CAC5B,EAAK,mDAAmD,KAAK,UAAW,EAAa,CAAC,CAC1F,CAKA,UAAU,EAAa,EAAG,CACtB,EAAK,6CAA6C,KAAK,UAAW,EAAa,CAAC,CACpF,CAKA,eAAe,EAAa,EAAG,CAC3B,EAAK,kDAAkD,KAAK,UAAW,EAAa,CAAC,CACzF,CAIA,kBAAmB,CAEf,OADY,EAAK,oDAAoD,KAAK,SACnE,CACX,CAIA,sBAAuB,CAEnB,OADY,EAAK,wDAAwD,KAAK,SACvE,CACX,CAIA,gBAAiB,CAEb,OADY,EAAK,kDAAkD,KAAK,SACjE,CACX,CAIA,qBAAsB,CAElB,OADY,EAAK,uDAAuD,KAAK,SACtE,CACX,CACJ,EACI,OAAO,UAAS,GAAmC,UAAU,OAAO,SAAW,GAAmC,UAAU,MAEhI,IAAa,GAAb,KAAuB,CACnB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAsB,WAAW,IAAI,EAC9B,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,qBAAqB,EAAK,CAAC,CACpC,CAIA,IAAI,IAAK,CAEL,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAIA,IAAI,IAAK,CAEL,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAIA,IAAI,IAAK,CAEL,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAIA,IAAI,IAAK,CAEL,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAIA,IAAI,IAAK,CAEL,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAIA,IAAI,IAAK,CAEL,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAIA,IAAI,IAAK,CAEL,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAIA,IAAI,IAAK,CAEL,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAIA,IAAI,IAAK,CAEL,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAIA,IAAI,IAAK,CAEL,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAIA,IAAI,GAAG,EAAM,CACT,EAAK,uBAAuB,KAAK,UAAW,CAAI,CACpD,CAIA,IAAI,GAAG,EAAM,CACT,EAAK,uBAAuB,KAAK,UAAW,CAAI,CACpD,CAIA,IAAI,GAAG,EAAM,CACT,EAAK,uBAAuB,KAAK,UAAW,CAAI,CACpD,CAIA,IAAI,GAAG,EAAM,CACT,EAAK,uBAAuB,KAAK,UAAW,CAAI,CACpD,CAIA,IAAI,GAAG,EAAM,CACT,EAAK,uBAAuB,KAAK,UAAW,CAAI,CACpD,CAIA,IAAI,GAAG,EAAM,CACT,EAAK,uBAAuB,KAAK,UAAW,CAAI,CACpD,CAIA,IAAI,GAAG,EAAM,CACT,EAAK,uBAAuB,KAAK,UAAW,CAAI,CACpD,CAIA,IAAI,GAAG,EAAM,CACT,EAAK,uBAAuB,KAAK,UAAW,CAAI,CACpD,CAIA,IAAI,GAAG,EAAM,CACT,EAAK,uBAAuB,KAAK,UAAW,CAAI,CACpD,CAIA,IAAI,GAAG,EAAM,CACT,EAAK,uBAAuB,KAAK,UAAW,CAAI,CACpD,CAaA,YAAY,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,CAChD,IAAM,EAAM,EAAK,cAAc,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,CAAE,EAGrE,MAFA,MAAK,UAAY,EACjB,GAAsB,SAAS,KAAM,KAAK,UAAW,IAAI,EAClD,IACX,CACJ,EACI,OAAO,UAAS,GAAU,UAAU,OAAO,SAAW,GAAU,UAAU,MAE9E,IAAa,GAAb,KAA2B,CACvB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA0B,WAAW,IAAI,EAClC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,yBAAyB,EAAK,CAAC,CACxC,CAIA,IAAI,MAAO,CAEP,OADY,EAAK,6BAA6B,KAAK,SAC5C,CACX,CAIA,IAAI,KAAK,EAAM,CACX,EAAK,6BAA6B,KAAK,UAAW,CAAI,CAC1D,CAKA,YAAY,EAAM,EAAM,CACpB,IAAM,EAAO,EAAmB,EAAM,EAAK,iBAAiB,EACtD,EAAO,EACP,EAAM,EAAK,kBAAkB,EAAM,EAAM,CAAI,EAGnD,MAFA,MAAK,UAAY,EACjB,GAA0B,SAAS,KAAM,KAAK,UAAW,IAAI,EACtD,IACX,CAIA,cAAe,CAEX,OADY,EAAK,2BAA2B,KAAK,SAC1C,CACX,CACJ,EACI,OAAO,UAAS,GAAc,UAAU,OAAO,SAAW,GAAc,UAAU,MAEtF,IAAa,GAAb,KAAwC,CACpC,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAuC,WAAW,IAAI,EAC/C,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,sCAAsC,EAAK,CAAC,CACrD,CAQA,YAAY,EAAK,EAAS,EAAS,EAAS,EAAW,CACnD,IAAM,EAAO,EAAoB,EAAK,EAAK,iBAAiB,EACtD,EAAO,EACP,EAAO,EAAmB,EAAS,EAAK,iBAAiB,EACzD,EAAO,EACP,EAAO,EAAoB,EAAS,EAAK,iBAAiB,EAC1D,EAAO,EACb,IAAI,EAAO,EAAW,CAAO,EAAI,EAAI,EAAoB,EAAS,EAAK,iBAAiB,EACpF,EAAO,EACP,EAAO,EAAW,CAAS,EAAI,EAAI,EAAkB,EAAW,EAAK,iBAAiB,EACtF,EAAO,EACX,IAAM,EAAM,EAAK,+BAA+B,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,EAG1G,MAFA,MAAK,UAAY,EACjB,GAAuC,SAAS,KAAM,KAAK,UAAW,IAAI,EACnE,IACX,CACJ,EACI,OAAO,UAAS,GAA2B,UAAU,OAAO,SAAW,GAA2B,UAAU,MAEhH,IAAa,EAAb,MAAa,CAAK,CACd,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAK,SAAS,EAGxC,MAFA,GAAI,UAAY,EAChB,GAAiB,SAAS,EAAK,EAAI,UAAW,CAAG,EAC1C,CACX,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAiB,WAAW,IAAI,EACzB,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,gBAAgB,EAAK,CAAC,CAC/B,CAIA,IAAI,GAAI,CAEJ,OADY,EAAK,iBAAiB,KAAK,SAChC,CACX,CAIA,IAAI,GAAI,CAEJ,OADY,EAAK,iBAAiB,KAAK,SAChC,CACX,CAIA,IAAI,EAAE,EAAM,CACR,EAAK,iBAAiB,KAAK,UAAW,CAAI,CAC9C,CAIA,IAAI,EAAE,EAAM,CACR,EAAK,iBAAiB,KAAK,UAAW,CAAI,CAC9C,CAKA,YAAY,EAAG,EAAG,CACd,IAAM,EAAM,EAAK,SAAS,EAAG,CAAC,EAG9B,MAFA,MAAK,UAAY,EACjB,GAAiB,SAAS,KAAM,KAAK,UAAW,IAAI,EAC7C,IACX,CACJ,EACI,OAAO,UAAS,EAAK,UAAU,OAAO,SAAW,EAAK,UAAU,MAEpE,IAAa,EAAb,MAAa,CAAK,CACd,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAK,SAAS,EAGxC,MAFA,GAAI,UAAY,EAChB,GAAiB,SAAS,EAAK,EAAI,UAAW,CAAG,EAC1C,CACX,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAiB,WAAW,IAAI,EACzB,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,gBAAgB,EAAK,CAAC,CAC/B,CAIA,IAAI,GAAI,CAEJ,OADY,EAAK,iBAAiB,KAAK,SAChC,CACX,CAIA,IAAI,GAAI,CAEJ,OADY,EAAK,iBAAiB,KAAK,SAChC,CACX,CAIA,IAAI,GAAI,CAEJ,OADY,EAAK,iBAAiB,KAAK,SAChC,CACX,CAIA,IAAI,EAAE,EAAM,CACR,EAAK,iBAAiB,KAAK,UAAW,CAAI,CAC9C,CAIA,IAAI,EAAE,EAAM,CACR,EAAK,iBAAiB,KAAK,UAAW,CAAI,CAC9C,CAIA,IAAI,EAAE,EAAM,CACR,EAAK,iBAAiB,KAAK,UAAW,CAAI,CAC9C,CAMA,YAAY,EAAG,EAAG,EAAG,CACjB,IAAM,EAAM,EAAK,SAAS,EAAG,EAAG,CAAC,EAGjC,MAFA,MAAK,UAAY,EACjB,GAAiB,SAAS,KAAM,KAAK,UAAW,IAAI,EAC7C,IACX,CACJ,EACI,OAAO,UAAS,EAAK,UAAU,OAAO,SAAW,EAAK,UAAU,MAEpE,IAAa,EAAb,MAAa,CAAiB,CAC1B,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAiB,SAAS,EAGpD,MAFA,GAAI,UAAY,EAChB,GAA6B,SAAS,EAAK,EAAI,UAAW,CAAG,EACtD,CACX,CACA,OAAO,SAAS,EAAS,CAIrB,OAHM,aAAmB,EAGlB,EAAQ,mBAAmB,EAFvB,CAGf,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA6B,WAAW,IAAI,EACrC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,4BAA4B,EAAK,CAAC,CAC3C,CAIA,IAAI,SAAU,CAEV,OADY,EAAK,mCAAmC,KAAK,SAClD,IAAQ,CACnB,CAIA,IAAI,SAAU,CAEV,OADY,EAAK,mCAAmC,KAAK,SAClD,IAAQ,CACnB,CAIA,IAAI,SAAU,CAEV,OADY,EAAK,mCAAmC,KAAK,SAClD,CACX,CAIA,IAAI,SAAU,CAEV,OADY,EAAK,mCAAmC,KAAK,SAClD,CACX,CAIA,IAAI,WAAY,CAEZ,OADY,EAAK,qCAAqC,KAAK,SACpD,CACX,CAIA,IAAI,WAAY,CAEZ,OADY,EAAK,qCAAqC,KAAK,SACpD,CACX,CAIA,IAAI,YAAa,CAEb,OADY,EAAK,sCAAsC,KAAK,SACrD,IAAQ,CACnB,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,oCAAoC,KAAK,SACnD,IAAQ,CACnB,CAKA,IAAI,UAAW,CAEX,OADY,EAAK,oCAAoC,KAAK,SACnD,IAAQ,CACnB,CAIA,IAAI,QAAQ,EAAM,CACd,EAAK,mCAAmC,KAAK,UAAW,CAAI,CAChE,CAIA,IAAI,QAAQ,EAAM,CACd,EAAK,mCAAmC,KAAK,UAAW,CAAI,CAChE,CAIA,IAAI,QAAQ,EAAM,CACd,EAAK,mCAAmC,KAAK,UAAW,CAAI,CAChE,CAIA,IAAI,QAAQ,EAAM,CACd,EAAK,mCAAmC,KAAK,UAAW,CAAI,CAChE,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,qCAAqC,KAAK,UAAW,CAAI,CAClE,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,qCAAqC,KAAK,UAAW,CAAI,CAClE,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,sCAAsC,KAAK,UAAW,CAAI,CACnE,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,oCAAoC,KAAK,UAAW,CAAI,CACjE,CAKA,IAAI,SAAS,EAAM,CACf,EAAK,oCAAoC,KAAK,UAAW,CAAI,CACjE,CACJ,EACI,OAAO,UAAS,EAAiB,UAAU,OAAO,SAAW,EAAiB,UAAU,MAE5F,IAAa,EAAb,MAAa,CAAgB,CACzB,OAAO,OAAO,EAAK,CACf,IAAM,EAAM,OAAO,OAAO,EAAgB,SAAS,EAGnD,MAFA,GAAI,UAAY,EAChB,GAA4B,SAAS,EAAK,EAAI,UAAW,CAAG,EACrD,CACX,CACA,OAAO,SAAS,EAAS,CAIrB,OAHM,aAAmB,EAGlB,EAAQ,mBAAmB,EAFvB,CAGf,CACA,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAA4B,WAAW,IAAI,EACpC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,2BAA2B,EAAK,CAAC,CAC1C,CAKA,IAAI,YAAa,CAEb,OADY,EAAK,qCAAqC,KAAK,SACpD,CACX,CAIA,IAAI,YAAa,CAEb,OADY,EAAK,qCAAqC,KAAK,SACpD,IAAQ,CACnB,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,mCAAmC,KAAK,SAClD,IAAQ,CACnB,CAIA,IAAI,WAAY,CAEZ,OADY,EAAK,oCAAoC,KAAK,SACnD,CACX,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,mCAAmC,KAAK,SAClD,CACX,CAIA,IAAI,WAAY,CAEZ,OADY,EAAK,oCAAoC,KAAK,SACnD,CACX,CAIA,IAAI,UAAW,CAEX,OADY,EAAK,mCAAmC,KAAK,SAClD,CACX,CAKA,IAAI,WAAW,EAAM,CACjB,EAAK,qCAAqC,KAAK,UAAW,CAAI,CAClE,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,qCAAqC,KAAK,UAAW,CAAI,CAClE,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,mCAAmC,KAAK,UAAW,CAAI,CAChE,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,oCAAoC,KAAK,UAAW,CAAI,CACjE,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,mCAAmC,KAAK,UAAW,CAAI,CAChE,CAIA,IAAI,UAAU,EAAM,CAChB,EAAK,oCAAoC,KAAK,UAAW,CAAI,CACjE,CAIA,IAAI,SAAS,EAAM,CACf,EAAK,mCAAmC,KAAK,UAAW,CAAI,CAChE,CACJ,EACI,OAAO,UAAS,EAAgB,UAAU,OAAO,SAAW,EAAgB,UAAU,MAE1F,IAAa,GAAb,KAA0B,CACtB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAyB,WAAW,IAAI,EACjC,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,wBAAwB,EAAK,CAAC,CACvC,CAIA,GAAI,IAAI,CAEJ,OADY,EAAK,yBAAyB,KAAK,SACxC,CACX,CAIA,GAAI,GAAE,EAAM,CACR,EAAK,yBAAyB,KAAK,UAAW,CAAI,CACtD,CACJ,EACI,OAAO,UAAS,GAAa,UAAU,OAAO,SAAW,GAAa,UAAU,MAEpF,IAAa,GAAb,KAAoB,CAChB,oBAAqB,CACjB,IAAM,EAAM,KAAK,UAGjB,MAFA,MAAK,UAAY,EACjB,GAAmB,WAAW,IAAI,EAC3B,CACX,CACA,MAAO,CACH,IAAM,EAAM,KAAK,mBAAmB,EACpC,EAAK,kBAAkB,EAAK,CAAC,CACjC,CAIA,IAAI,QAAS,CAET,OADY,EAAK,wBAAwB,KAAK,SACvC,CACX,CAIA,IAAI,YAAa,CAEb,OADY,EAAK,4BAA4B,KAAK,SAC3C,CACX,CAIA,IAAI,OAAQ,CAER,OADY,EAAK,uBAAuB,KAAK,SACtC,CACX,CAIA,IAAI,OAAO,EAAM,CACb,EAAK,wBAAwB,KAAK,UAAW,CAAI,CACrD,CAIA,IAAI,WAAW,EAAM,CACjB,EAAK,4BAA4B,KAAK,UAAW,CAAI,CACzD,CAIA,IAAI,MAAM,EAAM,CACZ,EAAK,uBAAuB,KAAK,UAAW,CAAI,CACpD,CAMA,YAAY,EAAO,EAAQ,EAAa,CACpC,IAAM,EAAM,EAAK,WAAW,EAAO,EAAQ,CAAW,EAGtD,MAFA,MAAK,UAAY,EACjB,GAAmB,SAAS,KAAM,KAAK,UAAW,IAAI,EAC/C,IACX,CACJ,EACI,OAAO,UAAS,GAAO,UAAU,OAAO,SAAW,GAAO,UAAU,MASxE,SAAgB,GAAc,EAAY,EAAU,CAChD,IAAM,EAAM,EAAK,cAAc,EAAY,CAAQ,EACnD,OAAO,OAAO,QAAQ,GAAI,CAAG,CACjC,CAKA,SAAS,IAAoB,CA6SzB,MAAO,CACH,UAAW,KACX,kCAAmC,CA7SnC,UAAW,KACX,6BAA8B,SAAS,EAAM,EAAM,CAE/C,OADY,MAAM,EAAmB,EAAM,CAAI,CACxC,CACX,EACA,8BAA+B,SAAS,EAAM,EAAM,CAEhD,IAAM,EAAO,EADD,OAAO,CACY,EAAK,EAAK,kBAAmB,EAAK,kBAAkB,EAC7E,EAAO,EACb,EAAmB,CAAC,CAAC,SAAS,EAAO,EAAO,EAAM,EAAI,EACtD,EAAmB,CAAC,CAAC,SAAS,EAAO,EAAO,EAAM,EAAI,CAC1D,EACA,oDAAqD,SAAS,EAAM,EAAM,CACtE,IAAM,EAAI,EACJ,EAAM,OAAO,GAAO,SAAW,EAAI,IAAA,GACzC,EAAmB,CAAC,CAAC,YAAY,EAAO,EAAO,EAAW,CAAG,EAAI,OAAO,CAAC,EAAI,EAAK,EAAI,EACtF,EAAmB,CAAC,CAAC,SAAS,EAAO,EAAO,CAAC,EAAW,CAAG,EAAG,EAAI,CACtE,EACA,8CAA+C,SAAS,EAAM,CAC1D,IAAM,EAAI,EACJ,EAAM,OAAO,GAAO,UAAY,EAAI,IAAA,GAC1C,OAAO,EAAW,CAAG,EAAI,SAAW,IACxC,EACA,+CAAgD,SAAS,EAAM,EAAM,CAEjE,IAAM,EAAO,EADD,GAAY,CACO,EAAK,EAAK,kBAAmB,EAAK,kBAAkB,EAC7E,EAAO,EACb,EAAmB,CAAC,CAAC,SAAS,EAAO,EAAO,EAAM,EAAI,EACtD,EAAmB,CAAC,CAAC,SAAS,EAAO,EAAO,EAAM,EAAI,CAC1D,EACA,qCAAsC,SAAS,EAAM,EAAM,CAEvD,OADY,KAAQ,CAExB,EACA,4CAA6C,SAAS,EAAM,CAExD,OADY,OAAO,GAAU,QAEjC,EACA,8CAA+C,SAAS,EAAM,CAE1D,OADY,OAAO,GAAU,UAEjC,EACA,4CAA6C,SAAS,EAAM,CACxD,IAAM,EAAM,EAEZ,OADY,OAAO,GAAS,YAAY,CAE5C,EACA,2CAA4C,SAAS,EAAM,EAAM,CAE7D,OADY,IAAS,CAEzB,EACA,iDAAkD,SAAS,EAAM,EAAM,CAEnE,OADY,GAAQ,CAExB,EACA,yCAA0C,UAAW,CAEjD,OADY,EAAK,MAErB,EACA,6CAA8C,SAAS,EAAM,EAAM,CAC/D,IAAM,EAAM,EACN,EAAM,OAAO,GAAS,SAAW,EAAM,IAAA,GAC7C,EAAmB,CAAC,CAAC,WAAW,EAAO,EAAO,EAAW,CAAG,EAAI,EAAI,EAAK,EAAI,EAC7E,EAAmB,CAAC,CAAC,SAAS,EAAO,EAAO,CAAC,EAAW,CAAG,EAAG,EAAI,CACtE,EACA,6CAA8C,SAAS,EAAM,EAAM,CAC/D,IAAM,EAAM,EACN,EAAM,OAAO,GAAS,SAAW,EAAM,IAAA,GAC7C,IAAI,EAAO,EAAW,CAAG,EAAI,EAAI,EAAkB,EAAK,EAAK,kBAAmB,EAAK,kBAAkB,EACnG,EAAO,EACX,EAAmB,CAAC,CAAC,SAAS,EAAO,EAAO,EAAM,EAAI,EACtD,EAAmB,CAAC,CAAC,SAAS,EAAO,EAAO,EAAM,EAAI,CAC1D,EACA,wCAAyC,SAAS,EAAM,EAAM,CAC1D,MAAU,MAAM,EAAmB,EAAM,CAAI,CAAC,CAClD,EACA,8BAA+B,SAAS,EAAM,CAE1C,OADY,EAAK,MAErB,EACA,4BAA6B,UAAW,CAAE,OAAO,EAAY,SAAU,EAAM,EAAM,CAE/E,OADY,EAAK,KAAK,CACf,CACX,EAAG,SAAS,CAAG,EACf,4BAA6B,UAAW,CAAE,OAAO,EAAY,SAAU,EAAM,EAAM,EAAM,CAErF,OADY,EAAK,KAAK,EAAM,CACrB,CACX,EAAG,SAAS,CAAG,EACf,4BAA6B,SAAS,EAAM,CAExC,OADY,EAAK,IAErB,EACA,+BAAgC,SAAS,EAAM,CAE3C,OADY,OAAO,QAAQ,CACpB,CACX,EACA,2BAA4B,SAAS,EAAM,EAAM,CAE7C,OADY,EAAK,IAAS,EAE9B,EACA,2BAA4B,UAAW,CAAE,OAAO,EAAY,SAAU,EAAM,EAAM,CAE9E,OADY,QAAQ,IAAI,EAAM,CACvB,CACX,EAAG,SAAS,CAAG,EACf,qCAAsC,SAAS,EAAM,EAAM,CAEvD,OADY,EAAK,IAAS,EAE9B,EACA,8CAA+C,SAAS,EAAM,CAC1D,IAAI,EACJ,GAAI,CACA,EAAS,aAAgB,WAC7B,MAAY,CACR,EAAS,EACb,CAEA,OAAO,CACX,EACA,sCAAuC,SAAS,EAAM,CAClD,IAAI,EACJ,GAAI,CACA,EAAS,aAAgB,GAC7B,MAAY,CACR,EAAS,EACb,CAEA,OAAO,CACX,EACA,6CAA8C,SAAS,EAAM,CACzD,IAAI,EACJ,GAAI,CACA,EAAS,aAAgB,UAC7B,MAAY,CACR,EAAS,EACb,CAEA,OAAO,CACX,EACA,+BAAgC,SAAS,EAAM,CAE3C,OADY,MAAM,QAAQ,CACnB,CACX,EACA,qCAAsC,SAAS,EAAM,CAEjD,OADY,OAAO,cAAc,CAC1B,CACX,EACA,gCAAiC,UAAW,CAExC,OADY,OAAO,QAEvB,EACA,8BAA+B,SAAS,EAAM,CAE1C,OADY,EAAK,MAErB,EACA,8BAA+B,SAAS,EAAM,CAE1C,OADY,EAAK,MAErB,EACA,8BAA+B,SAAS,EAAM,CAE1C,OADY,EAAK,MAErB,EACA,8BAA+B,SAAS,EAAM,CAE1C,OADY,EAAK,MAErB,EACA,8BAA+B,SAAS,EAAM,CAE1C,OADY,EAAK,MAErB,EACA,cAAe,SAAS,EAAM,CAE1B,OADY,EAAI,OAAO,CAChB,CACX,EACA,2BAA4B,UAAW,CAEnC,MAAO,CAAA,CACX,EACA,2BAA4B,SAAS,EAAM,CAEvC,OAAO,IADS,aAAa,CACtB,CACX,EACA,2BAA4B,SAAS,EAAM,CAEvC,OAAO,IADS,aAAa,CACtB,CACX,EACA,2BAA4B,SAAS,EAAM,CAEvC,OAAO,IADS,WAAW,CACpB,CACX,EACA,2BAA4B,UAAW,CAEnC,MAAO,CAAA,CACX,EACA,2BAA4B,SAAS,EAAM,CAEvC,OAAO,IADS,YAAY,CACrB,CACX,EACA,uDAAwD,SAAS,EAAM,EAAM,EAAM,CAE/E,OAAO,IADS,WAAW,EAAM,IAAS,EAAG,IAAS,CAC/C,CACX,EACA,uDAAwD,SAAS,EAAM,EAAM,EAAM,CAE/E,OAAO,IADS,aAAa,EAAM,IAAS,EAAG,IAAS,CACjD,CACX,EACA,uDAAwD,SAAS,EAAM,EAAM,EAAM,CAE/E,OAAO,IADS,YAAY,EAAM,IAAS,EAAG,IAAS,CAChD,CACX,EACA,4BAA6B,SAAS,EAAM,CAExC,OADY,EAAK,IAErB,EACA,4BAA6B,UAAW,CAAE,OAAO,EAAY,SAAU,EAAM,CAEzE,OADY,EAAK,KACV,CACX,EAAG,SAAS,CAAG,EACf,wCAAyC,SAAS,EAAM,EAAM,EAAM,CAChE,WAAW,UAAU,IAAI,KAAK,EAAoB,EAAM,CAAI,EAAG,CAAI,CACvE,EACA,4BAA6B,SAAS,EAAM,EAAM,CAE9C,OADY,EAAK,KAAK,CACf,CACX,EACA,2BAA4B,SAAS,EAAM,EAAM,EAAM,CACnD,EAAK,IAAI,EAAqB,EAAM,CAAI,CAAC,CAC7C,EACA,2BAA4B,SAAS,EAAM,EAAM,EAAM,CACnD,EAAK,IAAI,GAAqB,EAAM,CAAI,CAAC,CAC7C,EACA,2BAA4B,SAAS,EAAM,EAAM,EAAM,CACnD,EAAK,IAAI,EAAoB,EAAM,CAAI,CAAC,CAC5C,EACA,2BAA4B,UAAW,CAAE,OAAO,EAAY,SAAU,EAAM,EAAM,EAAM,CAEpF,OADY,QAAQ,IAAI,EAAM,EAAM,CAC7B,CACX,EAAG,SAAS,CAAG,EACf,2BAA4B,SAAS,EAAM,EAAM,EAAM,CACnD,EAAK,IAAI,GAAqB,EAAM,CAAI,CAAC,CAC7C,EACA,0BAA2B,SAAS,EAAM,CAEtC,OADY,GAAgB,OAAO,CAC5B,CACX,EACA,0BAA2B,SAAS,EAAM,CAEtC,OADY,GAAgB,OAAO,CAC5B,CACX,EACA,6BAA8B,SAAS,EAAM,CAEzC,OADY,EAAK,KAErB,EACA,2BAA4B,SAAS,EAAM,CAEvC,OADY,EAAiB,OAAO,CAC7B,CACX,EACA,8BAA+B,SAAS,EAAM,CAE1C,OADY,EAAiB,SAAS,CAC/B,CACX,EACA,0BAA2B,SAAS,EAAM,CAEtC,OADY,EAAgB,OAAO,CAC5B,CACX,EACA,6BAA8B,SAAS,EAAM,CAEzC,OADY,EAAgB,SAAS,CAC9B,CACX,EACA,iCAAkC,SAAS,EAAM,CAG7C,OAAO,CACX,EACA,iCAAkC,SAAS,EAAM,CAG7C,OAAO,CACX,EACA,iCAAkC,SAAS,EAAM,EAAM,CAGnD,OADY,EAAmB,EAAM,CAC9B,CACX,EACA,iCAAkC,SAAS,EAAM,CAG7C,OADY,OAAO,QAAQ,GAAI,CACxB,CACX,EACA,gCAAiC,UAAW,CACxC,IAAM,EAAQ,EAAK,sBACb,EAAS,EAAM,KAAK,CAAC,EAC3B,EAAM,IAAI,EAAG,IAAA,EAAS,EACtB,EAAM,IAAI,EAAS,EAAG,IAAA,EAAS,EAC/B,EAAM,IAAI,EAAS,EAAG,IAAI,EAC1B,EAAM,IAAI,EAAS,EAAG,EAAI,EAC1B,EAAM,IAAI,EAAS,EAAG,EAAK,CAC/B,CAImC,CACvC,CACJ,CAEA,IAAM,GAAoB,OAAO,qBAAyB,IACpD,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,gBAAgB,EAAK,CAAC,CAAC,EAC5D,GAA+B,OAAO,qBAAyB,IAC/D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,2BAA2B,EAAK,CAAC,CAAC,EACvE,GAAiC,OAAO,qBAAyB,IACjE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,6BAA6B,EAAK,CAAC,CAAC,EACzE,GAA8B,OAAO,qBAAyB,IAC9D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,0BAA0B,EAAK,CAAC,CAAC,EACtE,GAAgC,OAAO,qBAAyB,IAChE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,4BAA4B,EAAK,CAAC,CAAC,EACxE,GAAwC,OAAO,qBAAyB,IACxE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,oCAAoC,EAAK,CAAC,CAAC,EAChF,GAA6B,OAAO,qBAAyB,IAC7D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,yBAAyB,EAAK,CAAC,CAAC,EACrE,GAAiC,OAAO,qBAAyB,IACjE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,6BAA6B,EAAK,CAAC,CAAC,EACzE,GAA4B,OAAO,qBAAyB,IAC5D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,wBAAwB,EAAK,CAAC,CAAC,EACpE,GAAkC,OAAO,qBAAyB,IAClE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,8BAA8B,EAAK,CAAC,CAAC,EAC1E,GAA8B,OAAO,qBAAyB,IAC9D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,0BAA0B,EAAK,CAAC,CAAC,EACtE,GAA0C,OAAO,qBAAyB,IAC1E,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,sCAAsC,EAAK,CAAC,CAAC,EAClF,GAAiD,OAAO,qBAAyB,IACjF,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,6CAA6C,EAAK,CAAC,CAAC,EACzF,GAA2C,OAAO,qBAAyB,IAC3E,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,uCAAuC,EAAK,CAAC,CAAC,EACnF,GAAgC,OAAO,qBAAyB,IAChE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,4BAA4B,EAAK,CAAC,CAAC,EACxE,GAAwC,OAAO,qBAAyB,IACxE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,oCAAoC,EAAK,CAAC,CAAC,EAChF,GAAiC,OAAO,qBAAyB,IACjE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,6BAA6B,EAAK,CAAC,CAAC,EACzE,GAA2B,OAAO,qBAAyB,IAC3D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,uBAAuB,EAAK,CAAC,CAAC,EACnE,GAA+B,OAAO,qBAAyB,IAC/D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,2BAA2B,EAAK,CAAC,CAAC,EACvE,GAA8B,OAAO,qBAAyB,IAC9D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,0BAA0B,EAAK,CAAC,CAAC,EACtE,GAAyB,OAAO,qBAAyB,IACzD,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,qBAAqB,EAAK,CAAC,CAAC,EACjE,GAAyB,OAAO,qBAAyB,IACzD,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,qBAAqB,EAAK,CAAC,CAAC,EACjE,GAA8B,OAAO,qBAAyB,IAC9D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,0BAA0B,EAAK,CAAC,CAAC,EACtE,GAAwB,OAAO,qBAAyB,IACxD,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,oBAAoB,EAAK,CAAC,CAAC,EAChE,GAAqB,OAAO,qBAAyB,IACrD,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,iBAAiB,EAAK,CAAC,CAAC,EAC7D,GAAiC,OAAO,qBAAyB,IACjE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,6BAA6B,EAAK,CAAC,CAAC,EACzE,GAAmB,OAAO,qBAAyB,IACnD,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,eAAe,EAAK,CAAC,CAAC,EAC3D,GAAqC,OAAO,qBAAyB,IACrE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,iCAAiC,EAAK,CAAC,CAAC,EAC7E,GAA6B,OAAO,qBAAyB,IAC7D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,yBAAyB,EAAK,CAAC,CAAC,EACrE,GAAuB,OAAO,qBAAyB,IACvD,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,mBAAmB,EAAK,CAAC,CAAC,EAC/D,GAAoC,OAAO,qBAAyB,IACpE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,gCAAgC,EAAK,CAAC,CAAC,EAC5E,GAAqB,OAAO,qBAAyB,IACrD,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,iBAAiB,EAAK,CAAC,CAAC,EAC7D,GAA6B,OAAO,qBAAyB,IAC7D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,yBAAyB,EAAK,CAAC,CAAC,EACrE,GAA+B,OAAO,qBAAyB,IAC/D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,2BAA2B,EAAK,CAAC,CAAC,EACvE,GAAyC,OAAO,qBAAyB,IACzE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,qCAAqC,EAAK,CAAC,CAAC,EACjF,GAAuC,OAAO,qBAAyB,IACvE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,mCAAmC,EAAK,CAAC,CAAC,EAC/E,GAA+B,OAAO,qBAAyB,IAC/D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,2BAA2B,EAAK,CAAC,CAAC,EACvE,GAAgC,OAAO,qBAAyB,IAChE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,4BAA4B,EAAK,CAAC,CAAC,EACxE,GAA0C,OAAO,qBAAyB,IAC1E,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,sCAAsC,EAAK,CAAC,CAAC,EAClF,GAAwC,OAAO,qBAAyB,IACxE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,oCAAoC,EAAK,CAAC,CAAC,EAChF,GAAgC,OAAO,qBAAyB,IAChE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,4BAA4B,EAAK,CAAC,CAAC,EACxE,GAA8B,OAAO,qBAAyB,IAC9D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,0BAA0B,EAAK,CAAC,CAAC,EACtE,GAA0C,OAAO,qBAAyB,IAC1E,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,sCAAsC,EAAK,CAAC,CAAC,EAClF,GAAmB,OAAO,qBAAyB,IACnD,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,eAAe,EAAK,CAAC,CAAC,EAC3D,GAA8C,OAAO,qBAAyB,IAC9E,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,0CAA0C,EAAK,CAAC,CAAC,EACtF,GAA+B,OAAO,qBAAyB,IAC/D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,2BAA2B,EAAK,CAAC,CAAC,EACvE,GAA+B,OAAO,qBAAyB,IAC/D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,2BAA2B,EAAK,CAAC,CAAC,EACvE,GAA4B,OAAO,qBAAyB,IAC5D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,wBAAwB,EAAK,CAAC,CAAC,EACpE,GAA+B,OAAO,qBAAyB,IAC/D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,2BAA2B,EAAK,CAAC,CAAC,EACvE,GAA+B,OAAO,qBAAyB,IAC/D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,2BAA2B,EAAK,CAAC,CAAC,EACvE,GAAuB,OAAO,qBAAyB,IACvD,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,mBAAmB,EAAK,CAAC,CAAC,EAC/D,GAAqC,OAAO,qBAAyB,IACrE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,iCAAiC,EAAK,CAAC,CAAC,EAC7E,GAAiC,OAAO,qBAAyB,IACjE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,6BAA6B,EAAK,CAAC,CAAC,EACzE,GAA2C,OAAO,qBAAyB,IAC3E,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,uCAAuC,EAAK,CAAC,CAAC,EACnF,GAAiD,OAAO,qBAAyB,IACjF,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,6CAA6C,EAAK,CAAC,CAAC,EACzF,GAAkD,OAAO,qBAAyB,IAClF,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,8CAA8C,EAAK,CAAC,CAAC,EAC1F,GAAyB,OAAO,qBAAyB,IACzD,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,qBAAqB,EAAK,CAAC,CAAC,EACjE,GAA6B,OAAO,qBAAyB,IAC7D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,yBAAyB,EAAK,CAAC,CAAC,EACrE,GAA0C,OAAO,qBAAyB,IAC1E,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,sCAAsC,EAAK,CAAC,CAAC,EAClF,GAAoB,OAAO,qBAAyB,IACpD,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,gBAAgB,EAAK,CAAC,CAAC,EAC5D,GAAoB,OAAO,qBAAyB,IACpD,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,gBAAgB,EAAK,CAAC,CAAC,EAC5D,GAAgC,OAAO,qBAAyB,IAChE,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,4BAA4B,EAAK,CAAC,CAAC,EACxE,GAA+B,OAAO,qBAAyB,IAC/D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,2BAA2B,EAAK,CAAC,CAAC,EACvE,GAA4B,OAAO,qBAAyB,IAC5D,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,wBAAwB,EAAK,CAAC,CAAC,EACpE,GAAsB,OAAO,qBAAyB,IACtD,CAAE,aAAgB,CAAC,EAAG,eAAkB,CAAC,CAAE,EAC3C,IAAI,qBAAqB,GAAO,EAAK,kBAAkB,EAAK,CAAC,CAAC,EAEpE,SAAS,GAAqB,EAAK,CAC/B,IAAM,EAAM,EAAK,wBAAwB,EAEzC,OADA,EAAK,sBAAsB,IAAI,EAAK,CAAG,EAChC,CACX,CAEA,SAAS,EAAa,EAAU,EAAO,CACnC,GAAI,EAAE,aAAoB,GACtB,MAAU,MAAM,wBAAwB,EAAM,MAAM,CAE5D,CAEA,SAAS,GAAY,EAAK,CAEtB,IAAM,EAAO,OAAO,EACpB,GAAI,GAAQ,UAAY,GAAQ,WAAa,GAAO,KAChD,MAAQ,GAAG,IAEf,GAAI,GAAQ,SACR,MAAO,IAAI,EAAI,GAEnB,GAAI,GAAQ,SAAU,CAClB,IAAM,EAAc,EAAI,YAIpB,OAHA,GAAe,KACR,SAEA,UAAU,EAAY,EAErC,CACA,GAAI,GAAQ,WAAY,CACpB,IAAM,EAAO,EAAI,KAIb,OAHA,OAAO,GAAQ,UAAY,EAAK,OAAS,EAClC,YAAY,EAAK,GAEjB,UAEf,CAEA,GAAI,MAAM,QAAQ,CAAG,EAAG,CACpB,IAAM,EAAS,EAAI,OACf,EAAQ,IACR,EAAS,IACT,GAAS,GAAY,EAAI,EAAE,GAE/B,IAAI,IAAI,EAAI,EAAG,EAAI,EAAQ,IACvB,GAAS,KAAO,GAAY,EAAI,EAAE,EAGtC,MADA,IAAS,IACF,CACX,CAEA,IAAM,EAAiB,sBAAsB,KAAK,SAAS,KAAK,CAAG,CAAC,EAChE,EACJ,GAAI,GAAkB,EAAe,OAAS,EAC1C,EAAY,EAAe,QAG3B,OAAO,SAAS,KAAK,CAAG,EAE5B,GAAI,GAAa,SAIb,GAAI,CACA,MAAO,UAAY,KAAK,UAAU,CAAG,EAAI,GAC7C,MAAY,CACR,MAAO,QACX,CAOJ,OAJI,aAAe,MACR,GAAG,EAAI,KAAK,IAAI,EAAI,QAAQ,IAAI,EAAI,QAGxC,CACX,CAEA,SAAS,EAAqB,EAAK,EAAK,CAEpC,MADA,MAAc,EACP,GAAuB,CAAC,CAAC,SAAS,EAAM,EAAG,EAAM,EAAI,CAAG,CACnE,CAEA,SAAS,GAAqB,EAAK,EAAK,CAEpC,MADA,MAAc,EACP,GAAuB,CAAC,CAAC,SAAS,EAAM,EAAG,EAAM,EAAI,CAAG,CACnE,CAEA,SAAS,EAAyB,EAAK,EAAK,CACxC,KAAc,EACd,IAAM,EAAM,EAAmB,EACzB,EAAS,CAAC,EAChB,IAAK,IAAI,EAAI,EAAK,EAAI,EAAM,EAAI,EAAK,GAAK,EACtC,EAAO,KAAK,EAAK,sBAAsB,IAAI,EAAI,UAAU,EAAG,EAAI,CAAC,CAAC,EAGtE,OADA,EAAK,uBAAuB,EAAK,CAAG,EAC7B,CACX,CAEA,SAAS,GAAqB,EAAK,EAAK,CAEpC,MADA,MAAc,EACP,GAAsB,CAAC,CAAC,SAAS,EAAM,EAAG,EAAM,EAAI,CAAG,CAClE,CAEA,SAAS,EAAoB,EAAK,EAAK,CAEnC,MADA,MAAc,EACP,EAAqB,CAAC,CAAC,SAAS,EAAM,EAAG,EAAM,EAAI,CAAG,CACjE,CAEA,IAAI,EAA8B,KAClC,SAAS,IAA2B,CAIhC,OAHI,IAAgC,MAAQ,EAA4B,aAAe,KACnF,EAA8B,IAAI,eAAe,EAAK,OAAO,MAAM,GAEhE,CACX,CAEA,IAAI,EAAwB,KAC5B,SAAS,GAAqB,CAI1B,OAHI,IAA0B,MAAQ,EAAsB,OAAO,WAAa,IAAS,EAAsB,OAAO,WAAa,IAAA,IAAa,EAAsB,SAAW,EAAK,OAAO,UACzL,EAAwB,IAAI,SAAS,EAAK,OAAO,MAAM,GAEpD,CACX,CAEA,IAAI,EAA4B,KAChC,SAAS,IAAyB,CAI9B,OAHI,IAA8B,MAAQ,EAA0B,aAAe,KAC/E,EAA4B,IAAI,aAAa,EAAK,OAAO,MAAM,GAE5D,CACX,CAEA,IAAI,EAA4B,KAChC,SAAS,IAAyB,CAI9B,OAHI,IAA8B,MAAQ,EAA0B,aAAe,KAC/E,EAA4B,IAAI,aAAa,EAAK,OAAO,MAAM,GAE5D,CACX,CAEA,SAAS,EAAmB,EAAK,EAAK,CAClC,OAAO,GAAW,IAAQ,EAAG,CAAG,CACpC,CAEA,IAAI,EAA2B,KAC/B,SAAS,IAAwB,CAI7B,OAHI,IAA6B,MAAQ,EAAyB,aAAe,KAC7E,EAA2B,IAAI,YAAY,EAAK,OAAO,MAAM,GAE1D,CACX,CAEA,IAAI,EAA0B,KAC9B,SAAS,GAAuB,CAI5B,OAHI,IAA4B,MAAQ,EAAwB,aAAe,KAC3E,EAA0B,IAAI,WAAW,EAAK,OAAO,MAAM,GAExD,CACX,CAEA,SAAS,EAAY,EAAG,EAAM,CAC1B,GAAI,CACA,OAAO,EAAE,MAAM,KAAM,CAAI,CAC7B,OAAS,EAAG,CACR,IAAM,EAAM,GAAqB,CAAC,EAClC,EAAK,qBAAqB,CAAG,CACjC,CACJ,CAEA,SAAS,EAAW,EAAG,CACnB,OAAO,GAAyB,IACpC,CAEA,SAAS,EAAmB,EAAK,EAAQ,CACrC,IAAM,EAAM,EAAO,EAAI,OAAS,EAAG,CAAC,IAAM,EAG1C,OAFA,GAAsB,CAAC,CAAC,IAAI,EAAK,EAAM,CAAC,EACxC,EAAkB,EAAI,OACf,CACX,CAEA,SAAS,GAAmB,EAAK,EAAQ,CACrC,IAAM,EAAM,EAAO,EAAI,OAAS,EAAG,CAAC,IAAM,EAG1C,OAFA,GAAyB,CAAC,CAAC,IAAI,EAAK,EAAM,CAAC,EAC3C,EAAkB,EAAI,OACf,CACX,CAEA,SAAS,EAAkB,EAAK,EAAQ,CACpC,IAAM,EAAM,EAAO,EAAI,OAAS,EAAG,CAAC,IAAM,EAG1C,OAFA,EAAqB,CAAC,CAAC,IAAI,EAAK,EAAM,CAAC,EACvC,EAAkB,EAAI,OACf,CACX,CAEA,SAAS,EAAoB,EAAK,EAAQ,CACtC,IAAM,EAAM,EAAO,EAAI,OAAS,EAAG,CAAC,IAAM,EAG1C,OAFA,GAAuB,CAAC,CAAC,IAAI,EAAK,EAAM,CAAC,EACzC,EAAkB,EAAI,OACf,CACX,CAEA,SAAS,GAAoB,EAAK,EAAQ,CACtC,IAAM,EAAM,EAAO,EAAI,OAAS,EAAG,CAAC,IAAM,EAG1C,OAFA,GAAuB,CAAC,CAAC,IAAI,EAAK,EAAM,CAAC,EACzC,EAAkB,EAAI,OACf,CACX,CAEA,SAAS,EAAwB,EAAO,EAAQ,CAC5C,IAAM,EAAM,EAAO,EAAM,OAAS,EAAG,CAAC,IAAM,EAC5C,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,CACnC,IAAM,EAAM,GAAqB,EAAM,EAAE,EACzC,EAAmB,CAAC,CAAC,UAAU,EAAM,EAAI,EAAG,EAAK,EAAI,CACzD,CAEA,MADA,GAAkB,EAAM,OACjB,CACX,CAEA,SAAS,EAAkB,EAAK,EAAQ,EAAS,CAC7C,GAAI,IAAY,IAAA,GAAW,CACvB,IAAM,EAAM,EAAkB,OAAO,CAAG,EAClC,EAAM,EAAO,EAAI,OAAQ,CAAC,IAAM,EAGtC,OAFA,EAAqB,CAAC,CAAC,SAAS,EAAK,EAAM,EAAI,MAAM,CAAC,CAAC,IAAI,CAAG,EAC9D,EAAkB,EAAI,OACf,CACX,CAEA,IAAI,EAAM,EAAI,OACV,EAAM,EAAO,EAAK,CAAC,IAAM,EAEvB,EAAM,EAAqB,EAE7B,EAAS,EAEb,KAAO,EAAS,EAAK,IAAU,CAC3B,IAAM,EAAO,EAAI,WAAW,CAAM,EAClC,GAAI,EAAO,IAAM,MACjB,EAAI,EAAM,GAAU,CACxB,CACA,GAAI,IAAW,EAAK,CACZ,IAAW,IACX,EAAM,EAAI,MAAM,CAAM,GAE1B,EAAM,EAAQ,EAAK,EAAK,EAAM,EAAS,EAAI,OAAS,EAAG,CAAC,IAAM,EAC9D,IAAM,EAAO,EAAqB,CAAC,CAAC,SAAS,EAAM,EAAQ,EAAM,CAAG,EAC9D,EAAM,EAAkB,WAAW,EAAK,CAAI,EAElD,GAAU,EAAI,QACd,EAAM,EAAQ,EAAK,EAAK,EAAQ,CAAC,IAAM,CAC3C,CAGA,MADA,GAAkB,EACX,CACX,CAEA,SAAS,EAAwB,EAAK,CAClC,IAAM,EAAQ,EAAK,sBAAsB,IAAI,CAAG,EAEhD,OADA,EAAK,0BAA0B,CAAG,EAC3B,CACX,CAEA,IAAI,EAAoB,IAAI,YAAY,QAAS,CAAE,UAAW,GAAM,MAAO,EAAK,CAAC,EACjF,EAAkB,OAAO,EACzB,IACI,GAAkB,EACtB,SAAS,GAAW,EAAK,EAAK,CAO1B,MANA,KAAmB,EACf,IAAmB,aACnB,EAAoB,IAAI,YAAY,QAAS,CAAE,UAAW,GAAM,MAAO,EAAK,CAAC,EAC7E,EAAkB,OAAO,EACzB,GAAkB,GAEf,EAAkB,OAAO,EAAqB,CAAC,CAAC,SAAS,EAAK,EAAM,CAAG,CAAC,CACnF,CAEA,IAAM,EAAoB,IAAI,YAExB,eAAgB,IAClB,EAAkB,WAAa,SAAU,EAAK,EAAM,CAChD,IAAM,EAAM,EAAkB,OAAO,CAAG,EAExC,OADA,EAAK,IAAI,CAAG,EACL,CACH,KAAM,EAAI,OACV,QAAS,EAAI,MACjB,CACJ,GAGJ,IAAI,EAAkB,EAEQ,EAC9B,SAAS,GAAoB,EAAU,EAAQ,CAW3C,MATA,GAAO,EAAS,QAEhB,EAA8B,KAC9B,EAAwB,KACxB,EAA4B,KAC5B,EAA4B,KAC5B,EAA2B,KAC3B,EAA0B,KAC1B,EAAK,iBAAiB,EACf,CACX,CAEA,eAAe,GAAW,EAAQ,EAAS,CACvC,GAAI,OAAO,UAAa,YAAc,aAAkB,SAAU,CAC9D,GAAI,OAAO,YAAY,sBAAyB,WAC5C,GAAI,CACA,OAAO,MAAM,YAAY,qBAAqB,EAAQ,CAAO,CACjE,OAAS,EAAG,CAGR,GAFsB,EAAO,IAAM,EAAqB,EAAO,IAAI,GAE9C,EAAO,QAAQ,IAAI,cAAc,IAAM,mBACxD,QAAQ,KAAK,oMAAqM,CAAC,OAE9M,MAAM,CACnB,CAGJ,IAAM,EAAQ,MAAM,EAAO,YAAY,EACvC,OAAO,MAAM,YAAY,YAAY,EAAO,CAAO,CACvD,KAAO,CACH,IAAM,EAAW,MAAM,YAAY,YAAY,EAAQ,CAAO,EAK1D,OAHA,aAAoB,YAAY,SACzB,CAAE,WAAU,QAAO,EAEnB,CAEf,CAEA,SAAS,EAAqB,EAAM,CAChC,OAAQ,EAAR,CACI,IAAK,QAAS,IAAK,OAAQ,IAAK,UAAW,MAAO,EACtD,CACA,MAAO,EACX,CACJ,CAsBA,eAAe,GAAW,EAAgB,CACtC,GAAI,IAAS,IAAA,GAAW,OAAO,EAG3B,IAAmB,IAAA,KACf,OAAO,eAAe,CAAc,IAAM,OAAO,UAChD,mBAAmB,EAEpB,QAAQ,KAAK,2FAA2F,GAI5G,IAAmB,IAAA,KACnB,EAAiB,IAAA,IAAA,GAAA,IAAA,IAAA,2CAAA,KAAA,SAAA,IAAA,CAAA,CAAA,KAAA,GAAA,KAAA,SAAA,IAAA,GAErB,IAAM,EAAU,GAAkB,GAE9B,OAAO,GAAmB,UAAa,OAAO,SAAY,YAAc,aAA0B,SAAa,OAAO,KAAQ,YAAc,aAA0B,OACtK,EAAiB,MAAM,CAAc,GAGzC,GAAM,CAAE,WAAU,UAAW,MAAM,GAAW,MAAM,EAAgB,CAAO,EAE3E,OAAO,GAAoB,EAAU,CAAM,CAC/C,CCn0RA,IAAI,EAEA,GAEJ,eAAe,IAA4B,CACzC,AAGE,KADA,IAAa,MADQ,GAAK,EAAA,CACN,OACR,IAAI,GAEpB,CAEA,SAAS,GAAc,EAA2B,CAChD,OAAO,EAAO,IAAK,GAAM,CACvB,IAAM,EAAM,CACV,QAAS,EAAE,SACX,UAAW,EAAE,WACb,aAAc,GAAc,EAAE,WAAY,EAAE,QAAQ,EACpD,SAAU,EAAE,UACZ,SAAU,EAAE,UACZ,QAAS,EAAE,SACX,QAAS,EAAE,SACX,UAAW,EAAE,UACf,EAEA,OADA,EAAE,KAAK,EACA,CACT,CAAC,CACH,CAEA,SAAS,GAAe,EAA6B,CACnD,OAAO,EAAQ,IAAK,GAAM,CACxB,IAAM,EAAM,CACV,QAAS,EAAE,SACX,UAAW,EAAE,WACb,aAAc,GAAc,EAAE,WAAY,EAAE,QAAQ,EACpD,OAAQ,EAAE,QACV,OAAQ,EAAE,QACV,OAAQ,EAAE,QACV,OAAQ,EAAE,QACV,SAAU,EAAE,UACZ,SAAU,EAAE,UACZ,QAAS,EAAE,QACb,EAEA,OADA,EAAE,KAAK,EACA,CACT,CAAC,CACH,CAEA,SAAS,GAAmB,EAAqC,CAC/D,GAAI,CAAC,EAAI,OAAO,KAChB,IAAM,EAAS,CACb,OAAQ,GAAc,EAAG,MAAM,EAC/B,QAAS,GAAe,EAAG,OAAO,EAClC,WAAY,EAAG,aACf,SAAU,EAAG,SACb,UAAW,EAAG,UACd,QAAS,EAAG,QACd,EAEA,OADA,EAAG,KAAK,EACD,CACT,CAGA,SAAS,GAAS,EAA8B,CAC9C,GAAI,CAAC,EAAO,OAAO,KACnB,IAAM,EAAM,CACV,KAAM,EAAM,KAAK,OACjB,MAAO,EAAM,MACb,OAAQ,EAAM,OACd,SAAU,EAAM,QAClB,EAEA,OADA,EAAM,KAAK,EACJ,CACT,CAWA,IAAM,EAAM,KAEZ,EAAI,UAAY,KAAO,IAAoB,CACzC,IAAM,EAAM,EAAE,KACR,EAAa,EAAI,GACjB,EAAiC,EAAI,KAE3C,GAAI,CAGF,OAFA,MAAM,GAAW,EAET,EAAR,CACE,IAAK,OAAQ,CAGX,IAAM,EACJ,EAAI,SACH,gBACH,EAAU,UAAU,CAAe,EACnC,EAAI,YAAY,CAAE,KAAI,KAAM,SAAU,QAAS,IAAK,CAAC,EACrD,KACF,CAEA,IAAK,iBAAkB,CACrB,IAAM,EAAQ,EAAU,YAAY,EAC9B,EAAU,CACd,UAAW,IAAY,OAAO,YAAc,EAC5C,UAAW,EAAM,UACjB,WAAY,EAAM,WAClB,WAAY,EAAM,WAClB,UAAW,EAAM,UACjB,WAAY,EAAM,WAClB,gBAAiB,EAAM,gBACvB,YAAa,EAAM,cAAgB,EAAI,IAAA,GAAY,EAAM,WAC3D,EACA,EAAM,KAAK,EACX,EAAI,YAAY,CAAE,KAAI,KAAM,SAAU,SAAQ,CAAC,EAC/C,KACF,CAEA,IAAK,WAAY,CACf,GAAM,CAAE,MAAK,OAAM,WAAU,eAAgB,EAAI,QAM3C,EAAQ,IAAI,WAAW,CAAI,EAG3B,EAAO,EAAc,OAAS,MAI9B,EACJ,EAAU,SACR,EACA,EAAM,OACL,GAAoB,CACnB,EAAI,IAAI,CAAK,CACf,EACA,EACA,CACF,GAAK,KAGD,EAAa,EAAa,IAAI,YAAY,CAAU,EAAI,KAC9D,EAAI,YACF,CACE,KACA,KAAM,SACN,QAAS,CAAE,GAAI,IAAe,KAAM,YAAW,CACjD,EACA,EAAa,CAAC,EAAW,MAAM,EAAI,CAAC,CACtC,EACA,KACF,CAEA,IAAK,aAAc,CACjB,GAAM,CAAE,OAAQ,EAAI,QACd,EAAK,EAAU,WAAW,CAAG,EACnC,EAAI,YAAY,CAAE,KAAI,KAAM,SAAU,QAAS,CAAE,IAAG,CAAE,CAAC,EACvD,KACF,CAEA,IAAK,mBAAoB,CACvB,GAAM,CAAE,UAAS,SAAU,EAAI,QAK3B,EAAkB,GAClB,EAAoB,GACpB,EAAU,GACR,EAAU,EAAM,IAAK,GAAS,CAClC,IAAM,EAAK,EAAU,UAAU,EAAS,CAAI,EAO5C,OANI,GAAI,gBACF,EAAG,SAAU,EAAoB,GAChC,EAAkB,IAGrB,GAAI,UAAS,EAAU,IACpB,CAAE,OAAM,YAAa,GAAmB,CAAE,CAAE,CACrD,CAAC,EAIK,EAAW,EAAU,YAAY,CAAO,GAAK,EAC7C,EAAQ,EACV,GAAS,EAAU,aAAa,CAAQ,CAAC,EACzC,KACE,EAAa,EACf,GAAS,EAAU,cAAc,CAAQ,CAAC,EAC1C,KAEE,EAA4B,CAAC,EAC/B,GAAO,EAAU,KAAK,EAAM,IAAI,EAChC,GAAY,EAAU,KAAK,EAAW,IAAI,EAC9C,EAAI,YACF,CACE,KACA,KAAM,SACN,QAAS,CAAE,UAAS,QAAO,aAAY,WAAU,SAAQ,CAC3D,EACA,CACF,EACA,KACF,CAEA,IAAK,eACL,IAAK,gBAAiB,CACpB,GAAM,CAAE,WAAU,QAAS,EAAI,QAI3B,IAAY,eACd,EAAU,aAAa,EAAU,CAAI,EAErC,EAAU,cAAc,EAAU,CAAI,EAExC,EAAI,YAAY,CAAE,KAAI,KAAM,SAAU,QAAS,IAAK,CAAC,EACrD,KACF,CAEA,QACE,EAAI,YAAY,CACd,KACA,KAAM,QACN,QAAS,CAAE,QAAS,yBAAyB,GAAU,CACzD,CAAC,EACD,KAEJ,CACF,OAAS,EAAK,CACZ,EAAI,YAAY,CACd,KACA,KAAM,QACN,QAAS,CAAE,QAAS,OAAO,CAAG,CAAE,CAClC,CAAC,CACH,CACF"}
1
+ {"version":3,"file":"fontWorker-wz61edjR.js","names":[],"sources":["../../../wasm/navara_font_worker/navara_wasm_font_worker.js","../../../navara_font/src/fontWorker.ts"],"sourcesContent":["/* @ts-self-types=\"./navara_wasm_font_worker.d.ts\" */\n\nexport class Aabb {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AabbFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_aabb_free(ptr, 0);\n }\n /**\n * @param {Vec3} center\n * @param {Vec3} extent\n */\n constructor(center, extent) {\n _assertClass(center, Vec3);\n var ptr0 = center.__destroy_into_raw();\n _assertClass(extent, Vec3);\n var ptr1 = extent.__destroy_into_raw();\n const ret = wasm.aabb_new(ptr0, ptr1);\n this.__wbg_ptr = ret;\n AabbFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {Vec3}\n */\n get center() {\n const ret = wasm.__wbg_get_aabb_center(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @returns {Vec3}\n */\n get extent() {\n const ret = wasm.__wbg_get_aabb_extent(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @param {Vec3} arg0\n */\n set center(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_aabb_center(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {Vec3} arg0\n */\n set extent(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_aabb_extent(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) Aabb.prototype[Symbol.dispose] = Aabb.prototype.free;\n\nexport class BatchPropResult {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n BatchPropResultFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_batchpropresult_free(ptr, 0);\n }\n /**\n * @returns {string | undefined}\n */\n get layerId() {\n const ret = wasm.__wbg_get_batchpropresult_layerId(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * @returns {any}\n */\n get properties() {\n const ret = wasm.__wbg_get_batchpropresult_properties(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {string | null} [arg0]\n */\n set layerId(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_batchpropresult_layerId(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {any} arg0\n */\n set properties(arg0) {\n wasm.__wbg_set_batchpropresult_properties(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) BatchPropResult.prototype[Symbol.dispose] = BatchPropResult.prototype.free;\n\nexport class BillboardMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n BillboardMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_billboardmaterial_free(ptr, 0);\n }\n /**\n * @returns {number | undefined}\n */\n get alphaTest() {\n const ret = wasm.__wbg_get_billboardmaterial_alphaTest(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * anchor point of the sprite, range is (-0.5, -0.5) to (0.5, 0.5).\n * Default is (0.0, 0.0) which means the center of the sprite.\n * @returns {Vec2 | undefined}\n */\n get center() {\n const ret = wasm.__wbg_get_billboardmaterial_center(this.__wbg_ptr);\n return ret === 0 ? undefined : Vec2.__wrap(ret);\n }\n /**\n * @returns {boolean | undefined}\n */\n get clampToGround() {\n const ret = wasm.__wbg_get_billboardmaterial_clampToGround(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get color() {\n const ret = wasm.__wbg_get_billboardmaterial_color(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Placement priority for decluttering; higher wins. Only meaningful when\n * `declutter` is enabled. Defaults to `0.0`.\n * @returns {number | undefined}\n */\n get declutterPriority() {\n const ret = wasm.__wbg_get_billboardmaterial_declutterPriority(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Participate in screen-space decluttering: when labels/sprites overlap\n * on screen, lower-priority ones are hidden. Defaults to `true`; set to\n * `false` to draw every label unconditionally.\n * @returns {boolean | undefined}\n */\n get declutter() {\n const ret = wasm.__wbg_get_billboardmaterial_declutter(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get depthTest() {\n const ret = wasm.__wbg_get_billboardmaterial_depthTest(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @returns {string[] | undefined}\n */\n get effectIds() {\n const ret = wasm.__wbg_get_billboardmaterial_effectIds(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @returns {number | undefined}\n */\n get emissiveColor() {\n const ret = wasm.__wbg_get_billboardmaterial_emissiveColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @returns {number | undefined}\n */\n get emissiveIntensity() {\n const ret = wasm.__wbg_get_billboardmaterial_emissiveIntensity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get height() {\n const ret = wasm.__wbg_get_billboardmaterial_height(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Avoid overlapping with the globe surface.\n * @returns {boolean | undefined}\n */\n get offsetDepth() {\n const ret = wasm.__wbg_get_billboardmaterial_offsetDepth(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get opacity() {\n const ret = wasm.__wbg_get_billboardmaterial_opacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_billboardmaterial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Whether the size is specified in meters. If false, the size is in pixels. Default is true.\n * @returns {boolean | undefined}\n */\n get sizeInMeters() {\n const ret = wasm.__wbg_get_billboardmaterial_sizeInMeters(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * size in pixels/meters (units are determined by `sizeInMeters`).\n * @returns {number | undefined}\n */\n get size() {\n const ret = wasm.__wbg_get_billboardmaterial_size(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get transparent() {\n const ret = wasm.__wbg_get_billboardmaterial_transparent(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {string | undefined}\n */\n get url() {\n const ret = wasm.__wbg_get_billboardmaterial_url(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * @param {number | null} [arg0]\n */\n set alphaTest(arg0) {\n wasm.__wbg_set_billboardmaterial_alphaTest(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * anchor point of the sprite, range is (-0.5, -0.5) to (0.5, 0.5).\n * Default is (0.0, 0.0) which means the center of the sprite.\n * @param {Vec2 | null} [arg0]\n */\n set center(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, Vec2);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_billboardmaterial_center(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set clampToGround(arg0) {\n wasm.__wbg_set_billboardmaterial_clampToGround(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set color(arg0) {\n wasm.__wbg_set_billboardmaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Placement priority for decluttering; higher wins. Only meaningful when\n * `declutter` is enabled. Defaults to `0.0`.\n * @param {number | null} [arg0]\n */\n set declutterPriority(arg0) {\n wasm.__wbg_set_billboardmaterial_declutterPriority(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Participate in screen-space decluttering: when labels/sprites overlap\n * on screen, lower-priority ones are hidden. Defaults to `true`; set to\n * `false` to draw every label unconditionally.\n * @param {boolean | null} [arg0]\n */\n set declutter(arg0) {\n wasm.__wbg_set_billboardmaterial_declutter(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set depthTest(arg0) {\n wasm.__wbg_set_billboardmaterial_depthTest(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @param {string[] | null} [arg0]\n */\n set effectIds(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_billboardmaterial_effectIds(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @param {number | null} [arg0]\n */\n set emissiveColor(arg0) {\n wasm.__wbg_set_billboardmaterial_emissiveColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @param {number | null} [arg0]\n */\n set emissiveIntensity(arg0) {\n wasm.__wbg_set_billboardmaterial_emissiveIntensity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set height(arg0) {\n wasm.__wbg_set_billboardmaterial_height(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Avoid overlapping with the globe surface.\n * @param {boolean | null} [arg0]\n */\n set offsetDepth(arg0) {\n wasm.__wbg_set_billboardmaterial_offsetDepth(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set opacity(arg0) {\n wasm.__wbg_set_billboardmaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_billboardmaterial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Whether the size is specified in meters. If false, the size is in pixels. Default is true.\n * @param {boolean | null} [arg0]\n */\n set sizeInMeters(arg0) {\n wasm.__wbg_set_billboardmaterial_sizeInMeters(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * size in pixels/meters (units are determined by `sizeInMeters`).\n * @param {number | null} [arg0]\n */\n set size(arg0) {\n wasm.__wbg_set_billboardmaterial_size(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set transparent(arg0) {\n wasm.__wbg_set_billboardmaterial_transparent(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {string | null} [arg0]\n */\n set url(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_billboardmaterial_url(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) BillboardMaterial.prototype[Symbol.dispose] = BillboardMaterial.prototype.free;\n\nexport class BoundingSphere {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n BoundingSphereFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_boundingsphere_free(ptr, 0);\n }\n /**\n * @param {number} center_x\n * @param {number} center_y\n * @param {number} center_z\n * @param {number} radius\n */\n constructor(center_x, center_y, center_z, radius) {\n const ret = wasm.boundingsphere_new(center_x, center_y, center_z, radius);\n this.__wbg_ptr = ret;\n BoundingSphereFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {number}\n */\n get center_x() {\n const ret = wasm.__wbg_get_boundingsphere_center_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get center_y() {\n const ret = wasm.__wbg_get_boundingsphere_center_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get center_z() {\n const ret = wasm.__wbg_get_boundingsphere_center_z(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get radius() {\n const ret = wasm.__wbg_get_boundingsphere_radius(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set center_x(arg0) {\n wasm.__wbg_set_boundingsphere_center_x(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set center_y(arg0) {\n wasm.__wbg_set_boundingsphere_center_y(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set center_z(arg0) {\n wasm.__wbg_set_boundingsphere_center_z(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set radius(arg0) {\n wasm.__wbg_set_boundingsphere_radius(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) BoundingSphere.prototype[Symbol.dispose] = BoundingSphere.prototype.free;\n\n/**\n * Coordinate reference system\n * @enum {0 | 1}\n */\nexport const CRS = Object.freeze({\n /**\n * EPSG:4326\n */\n Geographic: 0, \"0\": \"Geographic\",\n /**\n * EPSG:4978\n */\n Geocentric: 1, \"1\": \"Geocentric\",\n});\n\nexport class CachedMeshHandle {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CachedMeshHandleFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_cachedmeshhandle_free(ptr, 0);\n }\n /**\n * @param {number} vertices\n * @param {number} indices\n * @param {number} uvs\n * @param {number | null} [heights]\n */\n constructor(vertices, indices, uvs, heights) {\n const ret = wasm.cachedmeshhandle_new(vertices, indices, uvs, isLikeNone(heights) ? Number.MAX_SAFE_INTEGER : (heights) >> 0);\n this.__wbg_ptr = ret;\n CachedMeshHandleFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {number | undefined}\n */\n get heights() {\n const ret = wasm.__wbg_get_cachedmeshhandle_heights(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number}\n */\n get indices() {\n const ret = wasm.__wbg_get_cachedmeshhandle_indices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n get normals() {\n const ret = wasm.__wbg_get_cachedmeshhandle_normals(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number}\n */\n get uvs() {\n const ret = wasm.__wbg_get_cachedmeshhandle_uvs(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get vertices() {\n const ret = wasm.__wbg_get_cachedmeshhandle_vertices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n get watermask() {\n const ret = wasm.__wbg_get_cachedmeshhandle_watermask(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @param {number | null} [arg0]\n */\n set heights(arg0) {\n wasm.__wbg_set_cachedmeshhandle_heights(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >> 0);\n }\n /**\n * @param {number} arg0\n */\n set indices(arg0) {\n wasm.__wbg_set_cachedmeshhandle_indices(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set normals(arg0) {\n wasm.__wbg_set_cachedmeshhandle_normals(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >> 0);\n }\n /**\n * @param {number} arg0\n */\n set uvs(arg0) {\n wasm.__wbg_set_cachedmeshhandle_uvs(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set vertices(arg0) {\n wasm.__wbg_set_cachedmeshhandle_vertices(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set watermask(arg0) {\n wasm.__wbg_set_cachedmeshhandle_watermask(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >> 0);\n }\n}\nif (Symbol.dispose) CachedMeshHandle.prototype[Symbol.dispose] = CachedMeshHandle.prototype.free;\n\n/**\n * An event for updating camera controller settings at runtime.\n *\n * This event allows partial updates to the [`CameraController`](navara_camera::CameraController)\n * component. Only fields set to `Some` will be applied; `None` fields are ignored.\n */\nexport class CameraControlUpdateEvent {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CameraControlUpdateEventFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_cameracontrolupdateevent_free(ptr, 0);\n }\n constructor() {\n const ret = wasm.cameracontrolupdateevent_new();\n this.__wbg_ptr = ret;\n CameraControlUpdateEventFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Whether to automatically adjust near/far clipping planes based on camera distance\n * from the Earth surface. When enabled, the camera uses three zones:\n * - Near ground: near = 1.0, far = 1e6\n * - Mid altitude: near = 100.0, far = 1e8\n * - Far/Space: near = 1000.0, far = 1e9\n *\n * Default: `true`\n * @returns {boolean | undefined}\n */\n get autoAdjustNearFar() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_autoAdjustNearFar(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Whether mouse drag and touch swipe rotation (spin) are enabled.\n *\n * Default: `true`\n * @returns {boolean | undefined}\n */\n get enableSpin() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_enableSpin(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Whether tilt interactions (Ctrl+left drag, right-click drag, double-swipe, or rotate gestures) are enabled.\n *\n * Default: `true`\n * @returns {boolean | undefined}\n */\n get enableTilt() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_enableTilt(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Whether scroll wheel and pinch/spread touch zoom are enabled.\n *\n * Default: `true`\n * @returns {boolean | undefined}\n */\n get enableZoom() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_enableZoom(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * The maximum distance (in meters) the camera can zoom out from the Earth surface.\n *\n * Default: `WGS84_B_64 * 10.0` (~63,567,523 meters)\n * @returns {number | undefined}\n */\n get maximumZoomDistance() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_maximumZoomDistance(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * The minimum distance (in meters) the camera can zoom in to the Earth surface.\n *\n * Default: `WGS84_B_64` (Earth's semi-minor axis, ~6,356,752 meters)\n * @returns {number | undefined}\n */\n get minimumZoomDistance() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_minimumZoomDistance(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * Duration (in milliseconds) for spin inertia animation after releasing mouse drag.\n *\n * Default: `500.0`\n * @returns {number | undefined}\n */\n get spinDuration() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_spinDuration(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Multiplier for mouse drag rotation speed.\n *\n * Default: `2.0`\n * @returns {number | undefined}\n */\n get spinSpeed() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_spinSpeed(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * Duration (in milliseconds) for translation inertia animation.\n *\n * Default: `500.0`\n * @returns {number | undefined}\n */\n get translateDuration() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_translateDuration(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Duration (in milliseconds) for zoom inertia animation after scroll wheel input.\n *\n * Default: `100.0`\n * @returns {number | undefined}\n */\n get zoomDuration() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_zoomDuration(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Multiplier for scroll wheel zoom speed.\n *\n * Default: `0.6`\n * @returns {number | undefined}\n */\n get zoomSpeed() {\n const ret = wasm.__wbg_get_cameracontrolupdateevent_zoomSpeed(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * Whether to automatically adjust near/far clipping planes based on camera distance\n * from the Earth surface. When enabled, the camera uses three zones:\n * - Near ground: near = 1.0, far = 1e6\n * - Mid altitude: near = 100.0, far = 1e8\n * - Far/Space: near = 1000.0, far = 1e9\n *\n * Default: `true`\n * @param {boolean | null} [arg0]\n */\n set autoAdjustNearFar(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_autoAdjustNearFar(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Whether mouse drag and touch swipe rotation (spin) are enabled.\n *\n * Default: `true`\n * @param {boolean | null} [arg0]\n */\n set enableSpin(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_enableSpin(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Whether tilt interactions (Ctrl+left drag, right-click drag, double-swipe, or rotate gestures) are enabled.\n *\n * Default: `true`\n * @param {boolean | null} [arg0]\n */\n set enableTilt(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_enableTilt(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Whether scroll wheel and pinch/spread touch zoom are enabled.\n *\n * Default: `true`\n * @param {boolean | null} [arg0]\n */\n set enableZoom(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_enableZoom(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * The maximum distance (in meters) the camera can zoom out from the Earth surface.\n *\n * Default: `WGS84_B_64 * 10.0` (~63,567,523 meters)\n * @param {number | null} [arg0]\n */\n set maximumZoomDistance(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_maximumZoomDistance(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n }\n /**\n * The minimum distance (in meters) the camera can zoom in to the Earth surface.\n *\n * Default: `WGS84_B_64` (Earth's semi-minor axis, ~6,356,752 meters)\n * @param {number | null} [arg0]\n */\n set minimumZoomDistance(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_minimumZoomDistance(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n }\n /**\n * Duration (in milliseconds) for spin inertia animation after releasing mouse drag.\n *\n * Default: `500.0`\n * @param {number | null} [arg0]\n */\n set spinDuration(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_spinDuration(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Multiplier for mouse drag rotation speed.\n *\n * Default: `2.0`\n * @param {number | null} [arg0]\n */\n set spinSpeed(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_spinSpeed(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n }\n /**\n * Duration (in milliseconds) for translation inertia animation.\n *\n * Default: `500.0`\n * @param {number | null} [arg0]\n */\n set translateDuration(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_translateDuration(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Duration (in milliseconds) for zoom inertia animation after scroll wheel input.\n *\n * Default: `100.0`\n * @param {number | null} [arg0]\n */\n set zoomDuration(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_zoomDuration(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Multiplier for scroll wheel zoom speed.\n *\n * Default: `0.6`\n * @param {number | null} [arg0]\n */\n set zoomSpeed(arg0) {\n wasm.__wbg_set_cameracontrolupdateevent_zoomSpeed(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n }\n}\nif (Symbol.dispose) CameraControlUpdateEvent.prototype[Symbol.dispose] = CameraControlUpdateEvent.prototype.free;\n\n/**\n * @enum {0 | 1 | 2 | 3 | 4 | 5}\n */\nexport const CameraDirection = Object.freeze({\n Forward: 0, \"0\": \"Forward\",\n Backward: 1, \"1\": \"Backward\",\n Left: 2, \"2\": \"Left\",\n Right: 3, \"3\": \"Right\",\n Up: 4, \"4\": \"Up\",\n Down: 5, \"5\": \"Down\",\n});\n\nexport class CameraFrustum {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CameraFrustumFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_camerafrustum_free(ptr, 0);\n }\n /**\n * @param {number} near\n * @param {number} far\n * @param {number} fov\n * @param {number} aspect_ratio\n */\n constructor(near, far, fov, aspect_ratio) {\n const ret = wasm.camerafrustum_new(near, far, fov, aspect_ratio);\n this.__wbg_ptr = ret;\n CameraFrustumFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {number}\n */\n get aspect_ratio() {\n const ret = wasm.__wbg_get_camerafrustum_aspect_ratio(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get far() {\n const ret = wasm.__wbg_get_camerafrustum_far(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get fov() {\n const ret = wasm.__wbg_get_camerafrustum_fov(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get near() {\n const ret = wasm.__wbg_get_camerafrustum_near(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set aspect_ratio(arg0) {\n wasm.__wbg_set_camerafrustum_aspect_ratio(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set far(arg0) {\n wasm.__wbg_set_camerafrustum_far(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set fov(arg0) {\n wasm.__wbg_set_camerafrustum_fov(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set near(arg0) {\n wasm.__wbg_set_camerafrustum_near(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) CameraFrustum.prototype[Symbol.dispose] = CameraFrustum.prototype.free;\n\nexport class CameraOrientation {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CameraOrientationFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_cameraorientation_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get heading() {\n const ret = wasm.__wbg_get_cameraorientation_heading(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get pitch() {\n const ret = wasm.__wbg_get_cameraorientation_pitch(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get roll() {\n const ret = wasm.__wbg_get_cameraorientation_roll(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set heading(arg0) {\n wasm.__wbg_set_cameraorientation_heading(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set pitch(arg0) {\n wasm.__wbg_set_cameraorientation_pitch(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set roll(arg0) {\n wasm.__wbg_set_cameraorientation_roll(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) CameraOrientation.prototype[Symbol.dispose] = CameraOrientation.prototype.free;\n\nexport class CameraStatus {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CameraStatusFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_camerastatus_free(ptr, 0);\n }\n /**\n * @returns {any[]}\n */\n get status() {\n const ret = wasm.__wbg_get_camerastatus_status(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @param {any[]} arg0\n */\n set status(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_camerastatus_status(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) CameraStatus.prototype[Symbol.dispose] = CameraStatus.prototype.free;\n\n/**\n * @enum {0 | 1 | 2 | 3 | 4 | 5}\n */\nexport const CameraStatusType = Object.freeze({\n Change: 0, \"0\": \"Change\",\n LookAt: 1, \"1\": \"LookAt\",\n Rotate: 2, \"2\": \"Rotate\",\n MoveStart: 3, \"3\": \"MoveStart\",\n Moving: 4, \"4\": \"Moving\",\n MoveEnd: 5, \"5\": \"MoveEnd\",\n});\n\nexport class CompiledExpression {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CompiledExpressionFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_compiledexpression_free(ptr, 0);\n }\n /**\n * Evaluate expression with given context\n *\n * # Arguments\n * * `properties_json` - Feature properties as JSON object\n * * `zoom` - Current zoom level\n * * `geometry_type` - Optional geometry type string (e.g., \"Point\", \"Polygon\")\n *\n * # Returns\n * Evaluated value as JsValue. Supported types:\n * - Null, Bool, Number, String (primitives)\n * - Color: `{r, g, b, a}` object\n * - Array, Object: nested structures\n * - NumberArray: returned as a JS `number[]`\n *\n * Unsupported types return `null` with a console warning.\n * @param {any} properties_json\n * @param {number} zoom\n * @param {string | null} [geometry_type]\n * @returns {any}\n */\n evaluate(properties_json, zoom, geometry_type) {\n var ptr0 = isLikeNone(geometry_type) ? 0 : passStringToWasm0(geometry_type, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.compiledexpression_evaluate(this.__wbg_ptr, properties_json, zoom, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n }\n /**\n * Extract all feature property names accessed by this expression.\n * Returns a JavaScript array of property name strings.\n * This allows filtering properties before evaluation to reduce serialization overhead.\n * @returns {Array<any>}\n */\n getRequiredProperties() {\n const ret = wasm.compiledexpression_getRequiredProperties(this.__wbg_ptr);\n return ret;\n }\n /**\n * Compile a MapLibre expression from JSON with optional expected type\n *\n * # Arguments\n * * `expr_json` - Expression array (e.g., [\"get\", \"name\"])\n * * `expected_type` - Optional expected type string: \"color\", \"number\", \"boolean\", \"string\", \"array\"\n *\n * Type checking ensures expressions return the correct type for their property,\n * matching JsStyleEngine's behavior with createExpression(expr, spec).\n * @param {any} expr_json\n * @param {string | null} [expected_type]\n */\n constructor(expr_json, expected_type) {\n var ptr0 = isLikeNone(expected_type) ? 0 : passStringToWasm0(expected_type, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.compiledexpression_new(expr_json, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n this.__wbg_ptr = ret[0];\n CompiledExpressionFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) CompiledExpression.prototype[Symbol.dispose] = CompiledExpression.prototype.free;\n\nexport class CompiledFilter {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CompiledFilterFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_compiledfilter_free(ptr, 0);\n }\n /**\n * Compile a MapLibre filter from JSON\n * filter_json: Filter expression (e.g., [\"==\", [\"get\", \"type\"], \"park\"])\n * @param {any} filter_json\n */\n constructor(filter_json) {\n const ret = wasm.compiledfilter_new(filter_json);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n this.__wbg_ptr = ret[0];\n CompiledFilterFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Test if feature matches filter\n *\n * # Arguments\n * * `properties_json` - Feature properties as JSON object\n * * `zoom` - Current zoom level\n * * `geometry_type` - Optional geometry type string (e.g., \"Point\", \"Polygon\")\n * @param {any} properties_json\n * @param {number} zoom\n * @param {string | null} [geometry_type]\n * @returns {boolean}\n */\n test(properties_json, zoom, geometry_type) {\n var ptr0 = isLikeNone(geometry_type) ? 0 : passStringToWasm0(geometry_type, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.compiledfilter_test(this.__wbg_ptr, properties_json, zoom, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] !== 0;\n }\n}\nif (Symbol.dispose) CompiledFilter.prototype[Symbol.dispose] = CompiledFilter.prototype.free;\n\nexport class ConstructedPolygonGeometry {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ConstructedPolygonGeometryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_constructedpolygongeometry_free(ptr, 0);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n batch_id() {\n const ret = wasm.constructedpolygongeometry_batch_id(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_id_size() {\n const ret = wasm.constructedpolygongeometry_batch_id_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n batch_index() {\n const ret = wasm.constructedpolygongeometry_batch_index(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_index_size() {\n const ret = wasm.constructedpolygongeometry_batch_index_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array}\n */\n indices() {\n const ret = wasm.constructedpolygongeometry_indices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n normal() {\n const ret = wasm.constructedpolygongeometry_normal(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n normal_size() {\n const ret = wasm.constructedpolygongeometry_normal_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {ConstructedPolygonOutlineGeometry | undefined}\n */\n outline() {\n const ret = wasm.constructedpolygongeometry_outline(this.__wbg_ptr);\n return ret === 0 ? undefined : ConstructedPolygonOutlineGeometry.__wrap(ret);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position() {\n const ret = wasm.constructedpolygongeometry_position(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_3d_high() {\n const ret = wasm.constructedpolygongeometry_position_3d_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_3d_high_size() {\n const ret = wasm.constructedpolygongeometry_position_3d_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_3d_low() {\n const ret = wasm.constructedpolygongeometry_position_3d_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_3d_low_size() {\n const ret = wasm.constructedpolygongeometry_position_3d_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_size() {\n const ret = wasm.constructedpolygongeometry_position_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n scale_normal_and_cap() {\n const ret = wasm.constructedpolygongeometry_scale_normal_and_cap(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n scale_normal_and_cap_size() {\n const ret = wasm.constructedpolygongeometry_scale_normal_and_cap_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {ExtentRadianF32 | undefined}\n */\n get extent() {\n const ret = wasm.__wbg_get_constructedpolygongeometry_extent(this.__wbg_ptr);\n return ret === 0 ? undefined : ExtentRadianF32.__wrap(ret);\n }\n /**\n * RTC (Relative-To-Center) translation vector\n * Contains the tile center in world-space ECEF coordinates\n * Used to position the mesh while keeping vertex positions in local space\n * @returns {Vec3 | undefined}\n */\n get rtc_translation() {\n const ret = wasm.__wbg_get_constructedpolygongeometry_rtc_translation(this.__wbg_ptr);\n return ret === 0 ? undefined : Vec3.__wrap(ret);\n }\n /**\n * @param {ExtentRadianF32 | null} [arg0]\n */\n set extent(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, ExtentRadianF32);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_constructedpolygongeometry_extent(this.__wbg_ptr, ptr0);\n }\n /**\n * RTC (Relative-To-Center) translation vector\n * Contains the tile center in world-space ECEF coordinates\n * Used to position the mesh while keeping vertex positions in local space\n * @param {Vec3 | null} [arg0]\n */\n set rtc_translation(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, Vec3);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_constructedpolygongeometry_rtc_translation(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) ConstructedPolygonGeometry.prototype[Symbol.dispose] = ConstructedPolygonGeometry.prototype.free;\n\nexport class ConstructedPolygonOutlineGeometry {\n static __wrap(ptr) {\n const obj = Object.create(ConstructedPolygonOutlineGeometry.prototype);\n obj.__wbg_ptr = ptr;\n ConstructedPolygonOutlineGeometryFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ConstructedPolygonOutlineGeometryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_constructedpolygonoutlinegeometry_free(ptr, 0);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n batch_index() {\n const ret = wasm.constructedpolygonoutlinegeometry_batch_index(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_index_size() {\n const ret = wasm.constructedpolygonoutlinegeometry_batch_index_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array}\n */\n position() {\n const ret = wasm.constructedpolygonoutlinegeometry_position(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n position_size() {\n const ret = wasm.constructedpolygonoutlinegeometry_position_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n scale_normal_and_cap() {\n const ret = wasm.constructedpolygonoutlinegeometry_scale_normal_and_cap(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n scale_normal_and_cap_size() {\n const ret = wasm.constructedpolygonoutlinegeometry_scale_normal_and_cap_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n skip_indices() {\n const ret = wasm.constructedpolygonoutlinegeometry_skip_indices(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) ConstructedPolygonOutlineGeometry.prototype[Symbol.dispose] = ConstructedPolygonOutlineGeometry.prototype.free;\n\nexport class ConstructedPolylineGeometry {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ConstructedPolylineGeometryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_constructedpolylinegeometry_free(ptr, 0);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n batch_id() {\n const ret = wasm.constructedpolylinegeometry_batch_id(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_id_size() {\n const ret = wasm.constructedpolylinegeometry_batch_id_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n batch_index() {\n const ret = wasm.constructedpolylinegeometry_batch_index(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_index_size() {\n const ret = wasm.constructedpolylinegeometry_batch_index_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n end_high() {\n const ret = wasm.constructedpolylinegeometry_end_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n end_high_size() {\n const ret = wasm.constructedpolylinegeometry_end_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n end_low() {\n const ret = wasm.constructedpolylinegeometry_end_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n end_low_size() {\n const ret = wasm.constructedpolylinegeometry_end_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n end_normal_and_texture_coordinate_normalization_x() {\n const ret = wasm.constructedpolylinegeometry_end_normal_and_texture_coordinate_normalization_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n end_normal_and_texture_coordinate_normalization_x_size() {\n const ret = wasm.constructedpolylinegeometry_end_normal_and_texture_coordinate_normalization_x_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {ExtentRadianF32 | undefined}\n */\n get extent() {\n const ret = wasm.constructedpolylinegeometry_extent(this.__wbg_ptr);\n return ret === 0 ? undefined : ExtentRadianF32.__wrap(ret);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n forward_offset() {\n const ret = wasm.constructedpolylinegeometry_forward_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n forward_offset_size() {\n const ret = wasm.constructedpolylinegeometry_forward_offset_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array}\n */\n indices() {\n const ret = wasm.constructedpolylinegeometry_indices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n position() {\n const ret = wasm.constructedpolylinegeometry_position(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_high() {\n const ret = wasm.constructedpolylinegeometry_position_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_high_size() {\n const ret = wasm.constructedpolylinegeometry_position_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_low() {\n const ret = wasm.constructedpolylinegeometry_position_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_low_size() {\n const ret = wasm.constructedpolylinegeometry_position_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number}\n */\n position_size() {\n const ret = wasm.constructedpolylinegeometry_position_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n right_normal_and_texture_coordinate_normalization_y() {\n const ret = wasm.constructedpolylinegeometry_right_normal_and_texture_coordinate_normalization_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n right_normal_and_texture_coordinate_normalization_y_size() {\n const ret = wasm.constructedpolylinegeometry_right_normal_and_texture_coordinate_normalization_y_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start() {\n const ret = wasm.constructedpolylinegeometry_start(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start_high() {\n const ret = wasm.constructedpolylinegeometry_start_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_high_size() {\n const ret = wasm.constructedpolylinegeometry_start_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start_low() {\n const ret = wasm.constructedpolylinegeometry_start_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_low_size() {\n const ret = wasm.constructedpolylinegeometry_start_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start_normals() {\n const ret = wasm.constructedpolylinegeometry_start_normals(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_normals_size() {\n const ret = wasm.constructedpolylinegeometry_start_normals_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_size() {\n const ret = wasm.constructedpolylinegeometry_start_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n}\nif (Symbol.dispose) ConstructedPolylineGeometry.prototype[Symbol.dispose] = ConstructedPolylineGeometry.prototype.free;\n\nexport class ElevationDecoder {\n static __wrap(ptr) {\n const obj = Object.create(ElevationDecoder.prototype);\n obj.__wbg_ptr = ptr;\n ElevationDecoderFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ElevationDecoderFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_elevationdecoder_free(ptr, 0);\n }\n /**\n * @returns {ElevationDecoder}\n */\n static japanGSI() {\n const ret = wasm.elevationdecoder_japanGSI();\n return ElevationDecoder.__wrap(ret);\n }\n /**\n * @returns {ElevationDecoder}\n */\n static mapbox() {\n const ret = wasm.elevationdecoder_mapbox();\n return ElevationDecoder.__wrap(ret);\n }\n /**\n * @param {number} r_scaler\n * @param {number} g_scaler\n * @param {number} b_scaler\n * @param {number} offset\n * @param {number} max_offset\n * @param {number} min_offset\n * @param {number} boundary\n * @param {number} epsilon\n */\n constructor(r_scaler, g_scaler, b_scaler, offset, max_offset, min_offset, boundary, epsilon) {\n const ret = wasm.elevationdecoder_new(r_scaler, g_scaler, b_scaler, offset, max_offset, min_offset, boundary, epsilon);\n this.__wbg_ptr = ret;\n ElevationDecoderFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {ElevationDecoder}\n */\n static terrarium() {\n const ret = wasm.elevationdecoder_terrarium();\n return ElevationDecoder.__wrap(ret);\n }\n /**\n * @returns {number}\n */\n get b_scaler() {\n const ret = wasm.__wbg_get_elevationdecoder_b_scaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get boundary() {\n const ret = wasm.__wbg_get_elevationdecoder_boundary(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get epsilon() {\n const ret = wasm.__wbg_get_elevationdecoder_epsilon(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get g_scaler() {\n const ret = wasm.__wbg_get_elevationdecoder_g_scaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get max_offset() {\n const ret = wasm.__wbg_get_elevationdecoder_max_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get min_offset() {\n const ret = wasm.__wbg_get_elevationdecoder_min_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get offset() {\n const ret = wasm.__wbg_get_elevationdecoder_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get r_scaler() {\n const ret = wasm.__wbg_get_elevationdecoder_r_scaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set b_scaler(arg0) {\n wasm.__wbg_set_elevationdecoder_b_scaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set boundary(arg0) {\n wasm.__wbg_set_elevationdecoder_boundary(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set epsilon(arg0) {\n wasm.__wbg_set_elevationdecoder_epsilon(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set g_scaler(arg0) {\n wasm.__wbg_set_elevationdecoder_g_scaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set max_offset(arg0) {\n wasm.__wbg_set_elevationdecoder_max_offset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set min_offset(arg0) {\n wasm.__wbg_set_elevationdecoder_min_offset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set offset(arg0) {\n wasm.__wbg_set_elevationdecoder_offset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set r_scaler(arg0) {\n wasm.__wbg_set_elevationdecoder_r_scaler(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) ElevationDecoder.prototype[Symbol.dispose] = ElevationDecoder.prototype.free;\n\n/**\n * Elevation-heatmap render options for a `raster` layer. The elevation decoder\n * is taken from the referenced `raster-dem` source, not from here.\n */\nexport class ElevationHeatmapMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ElevationHeatmapMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_elevationheatmapmaterial_free(ptr, 0);\n }\n /**\n * @returns {number | undefined}\n */\n get logBoundary() {\n const ret = wasm.__wbg_get_elevationheatmapmaterial_logBoundary(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * @returns {boolean | undefined}\n */\n get logarithmic() {\n const ret = wasm.__wbg_get_elevationheatmapmaterial_logarithmic(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get maxHeight() {\n const ret = wasm.__wbg_get_elevationheatmapmaterial_maxHeight(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * @returns {number | undefined}\n */\n get minHeight() {\n const ret = wasm.__wbg_get_elevationheatmapmaterial_minHeight(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * @param {number | null} [arg0]\n */\n set logBoundary(arg0) {\n wasm.__wbg_set_elevationheatmapmaterial_logBoundary(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set logarithmic(arg0) {\n wasm.__wbg_set_elevationheatmapmaterial_logarithmic(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set maxHeight(arg0) {\n wasm.__wbg_set_elevationheatmapmaterial_maxHeight(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set minHeight(arg0) {\n wasm.__wbg_set_elevationheatmapmaterial_minHeight(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n }\n}\nif (Symbol.dispose) ElevationHeatmapMaterial.prototype[Symbol.dispose] = ElevationHeatmapMaterial.prototype.free;\n\nexport class EllipsoidGeodesic {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n EllipsoidGeodesicFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_ellipsoidgeodesic_free(ptr, 0);\n }\n /**\n * @param {number} distance\n * @returns {LLE}\n */\n interpolateDistance(distance) {\n const ret = wasm.ellipsoidgeodesic_interpolateDistance(this.__wbg_ptr, distance);\n return LLE.__wrap(ret);\n }\n /**\n * @param {number | null} [granularity]\n * @returns {LLE[]}\n */\n interpolateGeodeticPoints(granularity) {\n const ret = wasm.ellipsoidgeodesic_interpolateGeodeticPoints(this.__wbg_ptr, !isLikeNone(granularity), isLikeNone(granularity) ? 0 : granularity);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @param {LLE} start\n * @param {LLE} end\n */\n constructor(start, end) {\n _assertClass(start, LLE);\n var ptr0 = start.__destroy_into_raw();\n _assertClass(end, LLE);\n var ptr1 = end.__destroy_into_raw();\n const ret = wasm.ellipsoidgeodesic_new(ptr0, ptr1);\n this.__wbg_ptr = ret;\n EllipsoidGeodesicFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {number}\n */\n get distance() {\n const ret = wasm.__wbg_get_ellipsoidgeodesic_distance(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get end_heading() {\n const ret = wasm.__wbg_get_ellipsoidgeodesic_end_heading(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {LLE}\n */\n get end() {\n const ret = wasm.__wbg_get_ellipsoidgeodesic_end(this.__wbg_ptr);\n return LLE.__wrap(ret);\n }\n /**\n * @returns {number}\n */\n get start_heading() {\n const ret = wasm.__wbg_get_ellipsoidgeodesic_start_heading(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {LLE}\n */\n get start() {\n const ret = wasm.__wbg_get_ellipsoidgeodesic_start(this.__wbg_ptr);\n return LLE.__wrap(ret);\n }\n /**\n * @param {number} arg0\n */\n set distance(arg0) {\n wasm.__wbg_set_ellipsoidgeodesic_distance(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set end_heading(arg0) {\n wasm.__wbg_set_ellipsoidgeodesic_end_heading(this.__wbg_ptr, arg0);\n }\n /**\n * @param {LLE} arg0\n */\n set end(arg0) {\n _assertClass(arg0, LLE);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_ellipsoidgeodesic_end(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {number} arg0\n */\n set start_heading(arg0) {\n wasm.__wbg_set_ellipsoidgeodesic_start_heading(this.__wbg_ptr, arg0);\n }\n /**\n * @param {LLE} arg0\n */\n set start(arg0) {\n _assertClass(arg0, LLE);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_ellipsoidgeodesic_start(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) EllipsoidGeodesic.prototype[Symbol.dispose] = EllipsoidGeodesic.prototype.free;\n\nexport class EncodedVec3 {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n EncodedVec3Finalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_encodedvec3_free(ptr, 0);\n }\n /**\n * @param {Vec3} high\n * @param {Vec3} low\n */\n constructor(high, low) {\n _assertClass(high, Vec3);\n var ptr0 = high.__destroy_into_raw();\n _assertClass(low, Vec3);\n var ptr1 = low.__destroy_into_raw();\n const ret = wasm.encodedvec3_new(ptr0, ptr1);\n this.__wbg_ptr = ret;\n EncodedVec3Finalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {Vec3}\n */\n get high() {\n const ret = wasm.__wbg_get_encodedvec3_high(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @returns {Vec3}\n */\n get low() {\n const ret = wasm.__wbg_get_encodedvec3_low(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @param {Vec3} arg0\n */\n set high(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_encodedvec3_high(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {Vec3} arg0\n */\n set low(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_encodedvec3_low(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) EncodedVec3.prototype[Symbol.dispose] = EncodedVec3.prototype.free;\n\nexport class ExtentRadianF32 {\n static __wrap(ptr) {\n const obj = Object.create(ExtentRadianF32.prototype);\n obj.__wbg_ptr = ptr;\n ExtentRadianF32Finalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ExtentRadianF32Finalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_extentradianf32_free(ptr, 0);\n }\n /**\n * @param {number} west\n * @param {number} south\n * @param {number} east\n * @param {number} north\n */\n constructor(west, south, east, north) {\n const ret = wasm.extentradianf32_new(west, south, east, north);\n this.__wbg_ptr = ret;\n ExtentRadianF32Finalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {number}\n */\n get east() {\n const ret = wasm.__wbg_get_extentradianf32_east(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get north() {\n const ret = wasm.__wbg_get_extentradianf32_north(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get south() {\n const ret = wasm.__wbg_get_extentradianf32_south(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get west() {\n const ret = wasm.__wbg_get_extentradianf32_west(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set east(arg0) {\n wasm.__wbg_set_extentradianf32_east(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set north(arg0) {\n wasm.__wbg_set_extentradianf32_north(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set south(arg0) {\n wasm.__wbg_set_extentradianf32_south(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set west(arg0) {\n wasm.__wbg_set_extentradianf32_west(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) ExtentRadianF32.prototype[Symbol.dispose] = ExtentRadianF32.prototype.free;\n\nexport class FloatAttribute {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FloatAttributeFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_floatattribute_free(ptr, 0);\n }\n /**\n * @param {Float32Array} data\n * @param {number} size\n */\n constructor(data, size) {\n const ptr0 = passArrayF32ToWasm0(data, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.floatattribute_new(ptr0, len0, size);\n this.__wbg_ptr = ret;\n FloatAttributeFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {Float32Array}\n */\n transferData() {\n const ret = wasm.floatattribute_transferData(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get size() {\n const ret = wasm.__wbg_get_floatattribute_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set size(arg0) {\n wasm.__wbg_set_floatattribute_size(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) FloatAttribute.prototype[Symbol.dispose] = FloatAttribute.prototype.free;\n\n/**\n * Atlas bytes returned to TypeScript. `channels`: 1 → R8 (SDF),\n * 4 → RGBA8 (MSDF or color).\n */\nexport class FontAtlas {\n static __wrap(ptr) {\n const obj = Object.create(FontAtlas.prototype);\n obj.__wbg_ptr = ptr;\n FontAtlasFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FontAtlasFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_fontatlas_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get channels() {\n const ret = wasm.__wbg_get_fontatlas_channels(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {Uint8Array}\n */\n get data() {\n const ret = wasm.__wbg_get_fontatlas_data(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get height() {\n const ret = wasm.__wbg_get_fontatlas_height(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get width() {\n const ret = wasm.__wbg_get_fontatlas_width(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set channels(arg0) {\n wasm.__wbg_set_fontatlas_channels(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set data(arg0) {\n wasm.__wbg_set_fontatlas_data(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set height(arg0) {\n wasm.__wbg_set_fontatlas_height(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set width(arg0) {\n wasm.__wbg_set_fontatlas_width(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) FontAtlas.prototype[Symbol.dispose] = FontAtlas.prototype.free;\n\n/**\n * Loaded fonts plus their atlases.\n *\n * `atlases` and `color_atlases` use the same keys (family name or URL), so a\n * family mixing text and emoji gets one of each.\n */\nexport class FontCache {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FontCacheFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_fontcache_free(ptr, 0);\n }\n /**\n * @param {string} url\n * @returns {string | undefined}\n */\n getAtlasKey(url) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.fontcache_getAtlasKey(this.__wbg_ptr, ptr0, len0);\n let v2;\n if (ret[0] !== 0) {\n v2 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v2;\n }\n /**\n * RGBA color atlas bytes by atlas key or font URL. `None` if no COLRv1\n * face has been loaded under this key.\n * @param {string} key\n * @returns {FontAtlas | undefined}\n */\n getColorAtlas(key) {\n const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.fontcache_getColorAtlas(this.__wbg_ptr, ptr0, len0);\n return ret === 0 ? undefined : FontAtlas.__wrap(ret);\n }\n /**\n * SDF atlas bytes by atlas key or font URL.\n * @param {string} key\n * @returns {FontAtlas | undefined}\n */\n getFontAtlas(key) {\n const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.fontcache_getFontAtlas(this.__wbg_ptr, ptr0, len0);\n return ret === 0 ? undefined : FontAtlas.__wrap(ret);\n }\n /**\n * @param {string} url\n * @returns {boolean}\n */\n isFontLoaded(url) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.fontcache_isFontLoaded(this.__wbg_ptr, ptr0, len0);\n return ret !== 0;\n }\n /**\n * Load font bytes into the cache.\n *\n * `atlas_key`: shared atlas identifier (e.g. family name). Omit to get a\n * per-URL atlas.\n * `mode`: `\"msdf\"` → MTSDF; anything else (including `None`) → SDF.\n * Selected by the TS `highQuality` boolean knob (`true` → `\"msdf\"`).\n *\n * Returns the font's cmap coverage as flattened `[from, to, ...]`\n * codepoint ranges (see [`cache::cmap_ranges`]) so the TS FontManager\n * can correct a face's declared unicode ranges once per file, or `None`\n * when the font failed to load.\n * @param {string} url\n * @param {number} byte_length\n * @param {Function} f\n * @param {string | null} [atlas_key]\n * @param {string | null} [mode]\n * @returns {Uint32Array | undefined}\n */\n loadFont(url, byte_length, f, atlas_key, mode) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(atlas_key) ? 0 : passStringToWasm0(atlas_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n var ptr2 = isLikeNone(mode) ? 0 : passStringToWasm0(mode, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len2 = WASM_VECTOR_LEN;\n const ret = wasm.fontcache_loadFont(this.__wbg_ptr, ptr0, len0, byte_length, f, ptr1, len1, ptr2, len2);\n let v4;\n if (ret[0] !== 0) {\n v4 = getArrayU32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v4;\n }\n /**\n * Snapshot of the cache's modeled resident bytes for diagnostics.\n * @returns {FontCacheStats}\n */\n memoryStats() {\n const ret = wasm.fontcache_memoryStats(this.__wbg_ptr);\n return FontCacheStats.__wrap(ret);\n }\n constructor() {\n const ret = wasm.fontcache_new();\n this.__wbg_ptr = ret;\n FontCacheFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Drop one visible-label reference from each glyph under `atlas_key`.\n * Called when a label hides or is disposed; once a glyph's count hits zero\n * it becomes eligible for eviction when the atlas next needs space.\n * @param {string} atlas_key\n * @param {BigUint64Array} keys\n */\n releaseGlyphs(atlas_key, keys) {\n const ptr0 = passStringToWasm0(atlas_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray64ToWasm0(keys, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n wasm.fontcache_releaseGlyphs(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n }\n /**\n * Add one visible-label reference to each glyph (composite keys) under\n * `atlas_key`. Called when a label using these glyphs becomes visible, so\n * the glyphs are pinned against eviction while on screen.\n * @param {string} atlas_key\n * @param {BigUint64Array} keys\n */\n retainGlyphs(atlas_key, keys) {\n const ptr0 = passStringToWasm0(atlas_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray64ToWasm0(keys, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n wasm.fontcache_retainGlyphs(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n }\n /**\n * Sets the cache's memory budget in bytes (font data + atlas pixels).\n * The budget caps further atlas growth — the WASM heap never shrinks —\n * so over-budget glyph bursts degrade to missing glyphs instead of\n * growing the atlas. `undefined` removes the budget.\n * @param {number | null} [bytes]\n */\n setBudget(bytes) {\n wasm.fontcache_setBudget(this.__wbg_ptr, !isLikeNone(bytes), isLikeNone(bytes) ? 0 : bytes);\n }\n /**\n * Shape `text` and ensure every glyph is in the appropriate atlas (SDF\n * for monochrome fonts, RGBA for COLRv1 fonts).\n * @param {string} url\n * @param {string} text\n * @returns {ShapeTextResult | undefined}\n */\n shapeText(url, text) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.fontcache_shapeText(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n return ret === 0 ? undefined : ShapeTextResult.__wrap(ret);\n }\n /**\n * @param {string} url\n * @returns {boolean}\n */\n unloadFont(url) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.fontcache_unloadFont(this.__wbg_ptr, ptr0, len0);\n return ret !== 0;\n }\n}\nif (Symbol.dispose) FontCache.prototype[Symbol.dispose] = FontCache.prototype.free;\n\n/**\n * Modeled memory usage of the font cache. Byte counts are `f64` because JS\n * has no u64; `budget_bytes == 0` means no budget is set.\n */\nexport class FontCacheStats {\n static __wrap(ptr) {\n const obj = Object.create(FontCacheStats.prototype);\n obj.__wbg_ptr = ptr;\n FontCacheStatsFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FontCacheStatsFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_fontcachestats_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get atlasBytes() {\n const ret = wasm.__wbg_get_fontcachestats_atlasBytes(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get atlasCount() {\n const ret = wasm.__wbg_get_fontcachestats_atlasCount(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get budgetBytes() {\n const ret = wasm.__wbg_get_fontcachestats_budgetBytes(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get colorAtlasBytes() {\n const ret = wasm.__wbg_get_fontcachestats_colorAtlasBytes(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get fontBytes() {\n const ret = wasm.__wbg_get_fontcachestats_fontBytes(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get fontCount() {\n const ret = wasm.__wbg_get_fontcachestats_fontCount(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get glyphCount() {\n const ret = wasm.__wbg_get_fontcachestats_glyphCount(this.__wbg_ptr);\n return ret >>> 0;\n }\n}\nif (Symbol.dispose) FontCacheStats.prototype[Symbol.dispose] = FontCacheStats.prototype.free;\n\nexport class Geometry {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n GeometryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_geometry_free(ptr, 0);\n }\n /**\n * @returns {boolean}\n */\n hasNormals() {\n const ret = wasm.geometry_hasNormals(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {boolean}\n */\n hasSkirt() {\n const ret = wasm.geometry_hasSkirt(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {Float32Array} vertices\n * @param {Uint32Array} indices\n * @param {Float32Array} uvs\n */\n constructor(vertices, indices, uvs) {\n const ptr0 = passArrayF32ToWasm0(vertices, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(indices, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArrayF32ToWasm0(uvs, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n const ret = wasm.geometry_new(ptr0, len0, ptr1, len1, ptr2, len2);\n this.__wbg_ptr = ret;\n GeometryFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {Uint32Array}\n */\n transferIndices() {\n const ret = wasm.geometry_transferIndices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferNormals() {\n const ret = wasm.geometry_transferNormals(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n transferSkirtIndices() {\n const ret = wasm.geometry_transferSkirtIndices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferSkirtNormals() {\n const ret = wasm.geometry_transferSkirtNormals(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferSkirtUvs() {\n const ret = wasm.geometry_transferSkirtUvs(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferSkirtVertices() {\n const ret = wasm.geometry_transferSkirtVertices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n transferUvs() {\n const ret = wasm.geometry_transferUvs(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n transferVertices() {\n const ret = wasm.geometry_transferVertices(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) Geometry.prototype[Symbol.dispose] = Geometry.prototype.free;\n\n/**\n * WASM wrapper for Globe resource.\n *\n * This provides a JavaScript-friendly interface for accessing and modifying\n * globe configuration properties.\n */\nexport class Globe {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n GlobeFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_globe_free(ptr, 0);\n }\n /**\n * Base color for the globe surface (RGB as u32).\n * @returns {number}\n */\n get color() {\n const ret = wasm.__wbg_get_globe_color(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Color map lookup table for elevation heatmap rendering.\n * Flattened RGB array: [r0,g0,b0, r1,g1,b1, ...].\n * @returns {Float32Array}\n */\n get elevationColormap() {\n const ret = wasm.__wbg_get_globe_elevationColormap(this.__wbg_ptr);\n var v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Whether to hide underground geometry. Disabling this value might cause unexpected behavior when using effect.\n * @returns {boolean}\n */\n get hideUnderground() {\n const ret = wasm.__wbg_get_globe_hideUnderground(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Whether the globe tiles with the Geographic scheme (quantized-mesh\n * terrain) rather than the default WebMercator. Engine-set output — the\n * web renderer selects its raster drape pipeline (baked vs direct) from\n * it at tile-mesh creation; ignored on input (the scheme is dictated by\n * the terrain source, not configurable).\n * @returns {boolean}\n */\n get isGeographicTiling() {\n const ret = wasm.__wbg_get_globe_isGeographicTiling(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Screen-space error threshold for level of detail (LOD) calculations. Initialization only.\n * @returns {number}\n */\n get maxSse() {\n const ret = wasm.__wbg_get_globe_maxSse(this.__wbg_ptr);\n return ret;\n }\n /**\n * Global opacity for materials (0.0 to 1.0).\n * @returns {number}\n */\n get opacity() {\n const ret = wasm.__wbg_get_globe_opacity(this.__wbg_ptr);\n return ret;\n }\n /**\n * Number of segments for mesh tessellation. Initialization only.\n * @returns {number}\n */\n get segments() {\n const ret = wasm.__wbg_get_globe_segments(this.__wbg_ptr);\n return ret;\n }\n /**\n * Whether materials should be transparent.\n * Note that blending works only for resource layer.\n * @returns {boolean}\n */\n get transparent() {\n const ret = wasm.__wbg_get_globe_transparent(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Whether to use normals. Initialization only.\n * @returns {boolean}\n */\n get useNormal() {\n const ret = wasm.__wbg_get_globe_useNormal(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Whether to render materials in wireframe mode.\n * @returns {boolean}\n */\n get wireframe() {\n const ret = wasm.__wbg_get_globe_wireframe(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {number} max_sse\n * @param {number} segments\n * @param {number} color\n * @param {boolean} hide_underground\n * @param {boolean} use_normal\n * @param {boolean} transparent\n * @param {number} opacity\n * @param {boolean} wireframe\n * @param {Float32Array} elevation_colormap\n */\n constructor(max_sse, segments, color, hide_underground, use_normal, transparent, opacity, wireframe, elevation_colormap) {\n const ptr0 = passArrayF32ToWasm0(elevation_colormap, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.globe_new(max_sse, segments, color, hide_underground, use_normal, transparent, opacity, wireframe, ptr0, len0);\n this.__wbg_ptr = ret;\n GlobeFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Base color for the globe surface (RGB as u32).\n * @param {number} arg0\n */\n set color(arg0) {\n wasm.__wbg_set_globe_color(this.__wbg_ptr, arg0);\n }\n /**\n * Color map lookup table for elevation heatmap rendering.\n * Flattened RGB array: [r0,g0,b0, r1,g1,b1, ...].\n * @param {Float32Array} arg0\n */\n set elevationColormap(arg0) {\n const ptr0 = passArrayF32ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_globe_elevationColormap(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Whether to hide underground geometry. Disabling this value might cause unexpected behavior when using effect.\n * @param {boolean} arg0\n */\n set hideUnderground(arg0) {\n wasm.__wbg_set_globe_hideUnderground(this.__wbg_ptr, arg0);\n }\n /**\n * Whether the globe tiles with the Geographic scheme (quantized-mesh\n * terrain) rather than the default WebMercator. Engine-set output — the\n * web renderer selects its raster drape pipeline (baked vs direct) from\n * it at tile-mesh creation; ignored on input (the scheme is dictated by\n * the terrain source, not configurable).\n * @param {boolean} arg0\n */\n set isGeographicTiling(arg0) {\n wasm.__wbg_set_globe_isGeographicTiling(this.__wbg_ptr, arg0);\n }\n /**\n * Screen-space error threshold for level of detail (LOD) calculations. Initialization only.\n * @param {number} arg0\n */\n set maxSse(arg0) {\n wasm.__wbg_set_globe_maxSse(this.__wbg_ptr, arg0);\n }\n /**\n * Global opacity for materials (0.0 to 1.0).\n * @param {number} arg0\n */\n set opacity(arg0) {\n wasm.__wbg_set_globe_opacity(this.__wbg_ptr, arg0);\n }\n /**\n * Number of segments for mesh tessellation. Initialization only.\n * @param {number} arg0\n */\n set segments(arg0) {\n wasm.__wbg_set_globe_segments(this.__wbg_ptr, arg0);\n }\n /**\n * Whether materials should be transparent.\n * Note that blending works only for resource layer.\n * @param {boolean} arg0\n */\n set transparent(arg0) {\n wasm.__wbg_set_globe_transparent(this.__wbg_ptr, arg0);\n }\n /**\n * Whether to use normals. Initialization only.\n * @param {boolean} arg0\n */\n set useNormal(arg0) {\n wasm.__wbg_set_globe_useNormal(this.__wbg_ptr, arg0);\n }\n /**\n * Whether to render materials in wireframe mode.\n * @param {boolean} arg0\n */\n set wireframe(arg0) {\n wasm.__wbg_set_globe_wireframe(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) Globe.prototype[Symbol.dispose] = Globe.prototype.free;\n\n/**\n * Hillshade render options for a `raster` layer. The elevation decoder is taken\n * from the referenced `raster-dem` source, not from here.\n */\nexport class HillshadeMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n HillshadeMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_hillshadematerial_free(ptr, 0);\n }\n /**\n * Exaggeration factor for hillshade effect (default: 1.0)\n * @returns {number | undefined}\n */\n get exaggeration() {\n const ret = wasm.__wbg_get_hillshadematerial_exaggeration(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Exaggeration factor for hillshade effect (default: 1.0)\n * @param {number | null} [arg0]\n */\n set exaggeration(arg0) {\n wasm.__wbg_set_hillshadematerial_exaggeration(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n}\nif (Symbol.dispose) HillshadeMaterial.prototype[Symbol.dispose] = HillshadeMaterial.prototype.free;\n\nexport class LLE {\n static __wrap(ptr) {\n const obj = Object.create(LLE.prototype);\n obj.__wbg_ptr = ptr;\n LLEFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n LLEFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_lle_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get height() {\n const ret = wasm.__wbg_get_lle_height(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get lat() {\n const ret = wasm.__wbg_get_lle_lat(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get lng() {\n const ret = wasm.__wbg_get_lle_lng(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} lat\n * @param {number} lng\n * @param {number} height\n */\n constructor(lat, lng, height) {\n const ret = wasm.lle_new(lat, lng, height);\n this.__wbg_ptr = ret;\n LLEFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {number} arg0\n */\n set height(arg0) {\n wasm.__wbg_set_lle_height(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set lat(arg0) {\n wasm.__wbg_set_lle_lat(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set lng(arg0) {\n wasm.__wbg_set_lle_lng(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) LLE.prototype[Symbol.dispose] = LLE.prototype.free;\n\nexport class ModelInternalMaterial {\n static __wrap(ptr) {\n const obj = Object.create(ModelInternalMaterial.prototype);\n obj.__wbg_ptr = ptr;\n ModelInternalMaterialFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ModelInternalMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_modelinternalmaterial_free(ptr, 0);\n }\n /**\n * @returns {boolean}\n */\n get dracoCompressed() {\n const ret = wasm.__wbg_get_modelinternalmaterial_dracoCompressed(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {Vec3}\n */\n get pointCloudGeodeticNormal() {\n const ret = wasm.__wbg_get_modelinternalmaterial_pointCloudGeodeticNormal(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @returns {boolean}\n */\n get pointCloud() {\n const ret = wasm.__wbg_get_modelinternalmaterial_pointCloud(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set dracoCompressed(arg0) {\n wasm.__wbg_set_modelinternalmaterial_dracoCompressed(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Vec3} arg0\n */\n set pointCloudGeodeticNormal(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_modelinternalmaterial_pointCloudGeodeticNormal(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {boolean} arg0\n */\n set pointCloud(arg0) {\n wasm.__wbg_set_modelinternalmaterial_pointCloud(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) ModelInternalMaterial.prototype[Symbol.dispose] = ModelInternalMaterial.prototype.free;\n\nexport class ModelMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ModelMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_modelmaterial_free(ptr, 0);\n }\n /**\n * @returns {ModelInternalMaterial | undefined}\n */\n get __internal__() {\n const ret = wasm.__wbg_get_modelmaterial___internal__(this.__wbg_ptr);\n return ret === 0 ? undefined : ModelInternalMaterial.__wrap(ret);\n }\n /**\n * @returns {string | undefined}\n */\n get animationActiveClip() {\n const ret = wasm.__wbg_get_modelmaterial_animationActiveClip(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * @returns {number | undefined}\n */\n get animationSpeed() {\n const ret = wasm.__wbg_get_modelmaterial_animationSpeed(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get applyWaterNormal() {\n const ret = wasm.__wbg_get_modelmaterial_applyWaterNormal(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get castShadow() {\n const ret = wasm.__wbg_get_modelmaterial_castShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get clampToGround() {\n const ret = wasm.__wbg_get_modelmaterial_clampToGround(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get color() {\n const ret = wasm.__wbg_get_modelmaterial_color(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Crease angle (in radians) used when `normals` is true. Defaults to 30°\n * (PI/6) when omitted.\n * @returns {number | undefined}\n */\n get creaseNormalAngle() {\n const ret = wasm.__wbg_get_modelmaterial_creaseNormalAngle(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Enable writing to depth buffer\n * @returns {boolean | undefined}\n */\n get depthWrite() {\n const ret = wasm.__wbg_get_modelmaterial_depthWrite(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @returns {string[] | undefined}\n */\n get effectIds() {\n const ret = wasm.__wbg_get_modelmaterial_effectIds(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @returns {number | undefined}\n */\n get emissiveColor() {\n const ret = wasm.__wbg_get_modelmaterial_emissiveColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @returns {number | undefined}\n */\n get emissiveIntensity() {\n const ret = wasm.__wbg_get_modelmaterial_emissiveIntensity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get height() {\n const ret = wasm.__wbg_get_modelmaterial_height(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get ior() {\n const ret = wasm.__wbg_get_modelmaterial_ior(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get maxSse() {\n const ret = wasm.__wbg_get_modelmaterial_maxSse(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get metalness() {\n const ret = wasm.__wbg_get_modelmaterial_metalness(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * When true, recompute vertex normals using a creased-normals algorithm\n * after the model loads. Useful for tiled glTF assets that ship without\n * normals or with low-quality normals.\n * @returns {boolean | undefined}\n */\n get normals() {\n const ret = wasm.__wbg_get_modelmaterial_normals(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Opacity value\n * @returns {number | undefined}\n */\n get opacity() {\n const ret = wasm.__wbg_get_modelmaterial_opacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get pointSize() {\n const ret = wasm.__wbg_get_modelmaterial_pointSize(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get receiveShadow() {\n const ret = wasm.__wbg_get_modelmaterial_receiveShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Reflectivity for post-process or env map.\n * @returns {number | undefined}\n */\n get reflectivity() {\n const ret = wasm.__wbg_get_modelmaterial_reflectivity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Reflectivity for post-process.\n * @returns {number | undefined}\n */\n get roughness() {\n const ret = wasm.__wbg_get_modelmaterial_roughness(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get shininess() {\n const ret = wasm.__wbg_get_modelmaterial_shininess(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get shouldRotateInDefault() {\n const ret = wasm.__wbg_get_modelmaterial_shouldRotateInDefault(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get showBoundingBox() {\n const ret = wasm.__wbg_get_modelmaterial_showBoundingBox(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_modelmaterial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get size() {\n const ret = wasm.__wbg_get_modelmaterial_size(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get specularStrength() {\n const ret = wasm.__wbg_get_modelmaterial_specularStrength(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Enabling this value allows using `shininess` and `specular_strength`.\n * @returns {boolean | undefined}\n */\n get specular() {\n const ret = wasm.__wbg_get_modelmaterial_specular(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Enable transparency and alpha blending\n * @returns {boolean | undefined}\n */\n get transparent() {\n const ret = wasm.__wbg_get_modelmaterial_transparent(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {string | undefined}\n */\n get url() {\n const ret = wasm.__wbg_get_modelmaterial_url(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * Scale water normal. Decreasing this value will make the water surface rough.\n * @returns {number | undefined}\n */\n get waterScaleNormal() {\n const ret = wasm.__wbg_get_modelmaterial_waterScaleNormal(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Water wave speed.\n * @returns {number | undefined}\n */\n get waterSpeed() {\n const ret = wasm.__wbg_get_modelmaterial_waterSpeed(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Apply a water material on the polygon. It might slow down the loading of the mesh.\n * @returns {boolean | undefined}\n */\n get water() {\n const ret = wasm.__wbg_get_modelmaterial_water(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @param {ModelInternalMaterial | null} [arg0]\n */\n set __internal__(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, ModelInternalMaterial);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_modelmaterial___internal__(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {string | null} [arg0]\n */\n set animationActiveClip(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_modelmaterial_animationActiveClip(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set animationSpeed(arg0) {\n wasm.__wbg_set_modelmaterial_animationSpeed(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set applyWaterNormal(arg0) {\n wasm.__wbg_set_modelmaterial_applyWaterNormal(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set castShadow(arg0) {\n wasm.__wbg_set_modelmaterial_castShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set clampToGround(arg0) {\n wasm.__wbg_set_modelmaterial_clampToGround(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set color(arg0) {\n wasm.__wbg_set_modelmaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Crease angle (in radians) used when `normals` is true. Defaults to 30°\n * (PI/6) when omitted.\n * @param {number | null} [arg0]\n */\n set creaseNormalAngle(arg0) {\n wasm.__wbg_set_modelmaterial_creaseNormalAngle(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Enable writing to depth buffer\n * @param {boolean | null} [arg0]\n */\n set depthWrite(arg0) {\n wasm.__wbg_set_modelmaterial_depthWrite(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @param {string[] | null} [arg0]\n */\n set effectIds(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_modelmaterial_effectIds(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @param {number | null} [arg0]\n */\n set emissiveColor(arg0) {\n wasm.__wbg_set_modelmaterial_emissiveColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @param {number | null} [arg0]\n */\n set emissiveIntensity(arg0) {\n wasm.__wbg_set_modelmaterial_emissiveIntensity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set height(arg0) {\n wasm.__wbg_set_modelmaterial_height(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set ior(arg0) {\n wasm.__wbg_set_modelmaterial_ior(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set maxSse(arg0) {\n wasm.__wbg_set_modelmaterial_maxSse(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set metalness(arg0) {\n wasm.__wbg_set_modelmaterial_metalness(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * When true, recompute vertex normals using a creased-normals algorithm\n * after the model loads. Useful for tiled glTF assets that ship without\n * normals or with low-quality normals.\n * @param {boolean | null} [arg0]\n */\n set normals(arg0) {\n wasm.__wbg_set_modelmaterial_normals(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Opacity value\n * @param {number | null} [arg0]\n */\n set opacity(arg0) {\n wasm.__wbg_set_modelmaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set pointSize(arg0) {\n wasm.__wbg_set_modelmaterial_pointSize(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set receiveShadow(arg0) {\n wasm.__wbg_set_modelmaterial_receiveShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Reflectivity for post-process or env map.\n * @param {number | null} [arg0]\n */\n set reflectivity(arg0) {\n wasm.__wbg_set_modelmaterial_reflectivity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Reflectivity for post-process.\n * @param {number | null} [arg0]\n */\n set roughness(arg0) {\n wasm.__wbg_set_modelmaterial_roughness(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set shininess(arg0) {\n wasm.__wbg_set_modelmaterial_shininess(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set shouldRotateInDefault(arg0) {\n wasm.__wbg_set_modelmaterial_shouldRotateInDefault(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set showBoundingBox(arg0) {\n wasm.__wbg_set_modelmaterial_showBoundingBox(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_modelmaterial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set size(arg0) {\n wasm.__wbg_set_modelmaterial_size(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set specularStrength(arg0) {\n wasm.__wbg_set_modelmaterial_specularStrength(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Enabling this value allows using `shininess` and `specular_strength`.\n * @param {boolean | null} [arg0]\n */\n set specular(arg0) {\n wasm.__wbg_set_modelmaterial_specular(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Enable transparency and alpha blending\n * @param {boolean | null} [arg0]\n */\n set transparent(arg0) {\n wasm.__wbg_set_modelmaterial_transparent(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {string | null} [arg0]\n */\n set url(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_modelmaterial_url(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Scale water normal. Decreasing this value will make the water surface rough.\n * @param {number | null} [arg0]\n */\n set waterScaleNormal(arg0) {\n wasm.__wbg_set_modelmaterial_waterScaleNormal(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Water wave speed.\n * @param {number | null} [arg0]\n */\n set waterSpeed(arg0) {\n wasm.__wbg_set_modelmaterial_waterSpeed(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Apply a water material on the polygon. It might slow down the loading of the mesh.\n * @param {boolean | null} [arg0]\n */\n set water(arg0) {\n wasm.__wbg_set_modelmaterial_water(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n}\nif (Symbol.dispose) ModelMaterial.prototype[Symbol.dispose] = ModelMaterial.prototype.free;\n\nexport class NearFar {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NearFarFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_nearfar_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get far() {\n const ret = wasm.__wbg_get_nearfar_far(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get near() {\n const ret = wasm.__wbg_get_nearfar_near(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set far(arg0) {\n wasm.__wbg_set_nearfar_far(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set near(arg0) {\n wasm.__wbg_set_nearfar_near(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) NearFar.prototype[Symbol.dispose] = NearFar.prototype.free;\n\nexport class OverscaledTileHandle {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n OverscaledTileHandleFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_overscaledtilehandle_free(ptr, 0);\n }\n /**\n * @returns {bigint}\n */\n get handle() {\n const ret = wasm.__wbg_get_overscaledtilehandle_handle(this.__wbg_ptr);\n return BigInt.asUintN(64, ret);\n }\n /**\n * @param {bigint} arg0\n */\n set handle(arg0) {\n wasm.__wbg_set_overscaledtilehandle_handle(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) OverscaledTileHandle.prototype[Symbol.dispose] = OverscaledTileHandle.prototype.free;\n\nexport class Plane {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PlaneFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_plane_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get distance() {\n const ret = wasm.__wbg_get_plane_distance(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Vec3}\n */\n get normal() {\n const ret = wasm.__wbg_get_plane_normal(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @param {number} arg0\n */\n set distance(arg0) {\n wasm.__wbg_set_plane_distance(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Vec3} arg0\n */\n set normal(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_plane_normal(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) Plane.prototype[Symbol.dispose] = Plane.prototype.free;\n\nexport class PointMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PointMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_pointmaterial_free(ptr, 0);\n }\n /**\n * anchor point of the sprite, range is (-0.5, -0.5) to (0.5, 0.5).\n * Default is (0.0, 0.0) which means the center of the sprite.\n * @returns {Vec2 | undefined}\n */\n get center() {\n const ret = wasm.__wbg_get_pointmaterial_center(this.__wbg_ptr);\n return ret === 0 ? undefined : Vec2.__wrap(ret);\n }\n /**\n * @returns {boolean | undefined}\n */\n get clampToGround() {\n const ret = wasm.__wbg_get_pointmaterial_clampToGround(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get color() {\n const ret = wasm.__wbg_get_pointmaterial_color(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Placement priority for decluttering; higher wins. Only meaningful when\n * `declutter` is enabled. Defaults to `0.0`.\n * @returns {number | undefined}\n */\n get declutterPriority() {\n const ret = wasm.__wbg_get_pointmaterial_declutterPriority(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Participate in screen-space decluttering: when labels/sprites overlap\n * on screen, lower-priority ones are hidden. Defaults to `true`; set to\n * `false` to draw every label unconditionally.\n * @returns {boolean | undefined}\n */\n get declutter() {\n const ret = wasm.__wbg_get_pointmaterial_declutter(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get depthTest() {\n const ret = wasm.__wbg_get_pointmaterial_depthTest(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @returns {string[] | undefined}\n */\n get effectIds() {\n const ret = wasm.__wbg_get_pointmaterial_effectIds(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @returns {number | undefined}\n */\n get emissiveColor() {\n const ret = wasm.__wbg_get_pointmaterial_emissiveColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @returns {number | undefined}\n */\n get emissiveIntensity() {\n const ret = wasm.__wbg_get_pointmaterial_emissiveIntensity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get height() {\n const ret = wasm.__wbg_get_pointmaterial_height(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Avoid overlapping with the globe surface.\n * @returns {boolean | undefined}\n */\n get offsetDepth() {\n const ret = wasm.__wbg_get_pointmaterial_offsetDepth(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get opacity() {\n const ret = wasm.__wbg_get_pointmaterial_opacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_pointmaterial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Whether the size is specified in meters. If false, the size is in pixels. Default is true.\n * @returns {boolean | undefined}\n */\n get sizeInMeters() {\n const ret = wasm.__wbg_get_pointmaterial_sizeInMeters(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * size in pixels/meters (units are determined by `sizeInMeters`).\n * @returns {number | undefined}\n */\n get size() {\n const ret = wasm.__wbg_get_pointmaterial_size(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get transparent() {\n const ret = wasm.__wbg_get_pointmaterial_transparent(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * anchor point of the sprite, range is (-0.5, -0.5) to (0.5, 0.5).\n * Default is (0.0, 0.0) which means the center of the sprite.\n * @param {Vec2 | null} [arg0]\n */\n set center(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, Vec2);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_pointmaterial_center(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set clampToGround(arg0) {\n wasm.__wbg_set_pointmaterial_clampToGround(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set color(arg0) {\n wasm.__wbg_set_pointmaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Placement priority for decluttering; higher wins. Only meaningful when\n * `declutter` is enabled. Defaults to `0.0`.\n * @param {number | null} [arg0]\n */\n set declutterPriority(arg0) {\n wasm.__wbg_set_pointmaterial_declutterPriority(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Participate in screen-space decluttering: when labels/sprites overlap\n * on screen, lower-priority ones are hidden. Defaults to `true`; set to\n * `false` to draw every label unconditionally.\n * @param {boolean | null} [arg0]\n */\n set declutter(arg0) {\n wasm.__wbg_set_pointmaterial_declutter(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set depthTest(arg0) {\n wasm.__wbg_set_pointmaterial_depthTest(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @param {string[] | null} [arg0]\n */\n set effectIds(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_pointmaterial_effectIds(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @param {number | null} [arg0]\n */\n set emissiveColor(arg0) {\n wasm.__wbg_set_pointmaterial_emissiveColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @param {number | null} [arg0]\n */\n set emissiveIntensity(arg0) {\n wasm.__wbg_set_pointmaterial_emissiveIntensity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set height(arg0) {\n wasm.__wbg_set_pointmaterial_height(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Avoid overlapping with the globe surface.\n * @param {boolean | null} [arg0]\n */\n set offsetDepth(arg0) {\n wasm.__wbg_set_pointmaterial_offsetDepth(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set opacity(arg0) {\n wasm.__wbg_set_pointmaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_pointmaterial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Whether the size is specified in meters. If false, the size is in pixels. Default is true.\n * @param {boolean | null} [arg0]\n */\n set sizeInMeters(arg0) {\n wasm.__wbg_set_pointmaterial_sizeInMeters(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * size in pixels/meters (units are determined by `sizeInMeters`).\n * @param {number | null} [arg0]\n */\n set size(arg0) {\n wasm.__wbg_set_pointmaterial_size(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set transparent(arg0) {\n wasm.__wbg_set_pointmaterial_transparent(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n}\nif (Symbol.dispose) PointMaterial.prototype[Symbol.dispose] = PointMaterial.prototype.free;\n\nexport class PolygonGeometry {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolygonGeometryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polygongeometry_free(ptr, 0);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n batch_id() {\n const ret = wasm.polygongeometry_batch_id(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_id_size() {\n const ret = wasm.polygongeometry_batch_id_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n batch_index() {\n const ret = wasm.polygongeometry_batch_index(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_index_size() {\n const ret = wasm.polygongeometry_batch_index_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array}\n */\n indices() {\n const ret = wasm.polygongeometry_indices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n normal() {\n const ret = wasm.polygongeometry_normal(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n normal_size() {\n const ret = wasm.polygongeometry_normal_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position() {\n const ret = wasm.polygongeometry_position(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_3d_high() {\n const ret = wasm.polygongeometry_position_3d_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_3d_high_size() {\n const ret = wasm.polygongeometry_position_3d_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_3d_low() {\n const ret = wasm.polygongeometry_position_3d_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_3d_low_size() {\n const ret = wasm.polygongeometry_position_3d_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_size() {\n const ret = wasm.polygongeometry_position_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n scale_normal_and_cap() {\n const ret = wasm.polygongeometry_scale_normal_and_cap(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n scale_normal_and_cap_size() {\n const ret = wasm.polygongeometry_scale_normal_and_cap_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n}\nif (Symbol.dispose) PolygonGeometry.prototype[Symbol.dispose] = PolygonGeometry.prototype.free;\n\nexport class PolygonGeometryAttributes {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolygonGeometryAttributesFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polygongeometryattributes_free(ptr, 0);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_batch_id() {\n const ret = wasm.polygongeometryattributes_transfer_batch_id(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_batch_id_size() {\n const ret = wasm.polygongeometryattributes_transfer_batch_id_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n transfer_batch_index() {\n const ret = wasm.polygongeometryattributes_transfer_batch_index(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_batch_index_size() {\n const ret = wasm.polygongeometryattributes_transfer_batch_index_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_normal() {\n const ret = wasm.polygongeometryattributes_transfer_normal(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_normal_size() {\n const ret = wasm.polygongeometryattributes_transfer_normal_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_position() {\n const ret = wasm.polygongeometryattributes_transfer_position(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_position_3d_high() {\n const ret = wasm.polygongeometryattributes_transfer_position_3d_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_position_3d_high_size() {\n const ret = wasm.polygongeometryattributes_transfer_position_3d_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_position_3d_low() {\n const ret = wasm.polygongeometryattributes_transfer_position_3d_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_position_3d_low_size() {\n const ret = wasm.polygongeometryattributes_transfer_position_3d_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_position_size() {\n const ret = wasm.polygongeometryattributes_transfer_position_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_scale_normal_and_cap() {\n const ret = wasm.polygongeometryattributes_transfer_scale_normal_and_cap(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_scale_normal_and_cap_size() {\n const ret = wasm.polygongeometryattributes_transfer_scale_normal_and_cap_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n}\nif (Symbol.dispose) PolygonGeometryAttributes.prototype[Symbol.dispose] = PolygonGeometryAttributes.prototype.free;\n\nexport class PolygonInternalMaterial {\n static __wrap(ptr) {\n const obj = Object.create(PolygonInternalMaterial.prototype);\n obj.__wbg_ptr = ptr;\n PolygonInternalMaterialFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolygonInternalMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polygoninternalmaterial_free(ptr, 0);\n }\n /**\n * @returns {Float64Array}\n */\n get minMaxHeights() {\n const ret = wasm.__wbg_get_polygoninternalmaterial_minMaxHeights(this.__wbg_ptr);\n var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);\n return v1;\n }\n /**\n * @param {Float64Array} arg0\n */\n set minMaxHeights(arg0) {\n const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_polygoninternalmaterial_minMaxHeights(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) PolygonInternalMaterial.prototype[Symbol.dispose] = PolygonInternalMaterial.prototype.free;\n\nexport class PolygonMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolygonMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polygonmaterial_free(ptr, 0);\n }\n /**\n * @returns {PolygonInternalMaterial | undefined}\n */\n get __internal__() {\n const ret = wasm.__wbg_get_polygonmaterial___internal__(this.__wbg_ptr);\n return ret === 0 ? undefined : PolygonInternalMaterial.__wrap(ret);\n }\n /**\n * @returns {boolean | undefined}\n */\n get applyWaterNormal() {\n const ret = wasm.__wbg_get_polygonmaterial_applyWaterNormal(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get castShadow() {\n const ret = wasm.__wbg_get_polygonmaterial_castShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get clampToGround() {\n const ret = wasm.__wbg_get_polygonmaterial_clampToGround(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get color() {\n const ret = wasm.__wbg_get_polygonmaterial_color(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @returns {string[] | undefined}\n */\n get effectIds() {\n const ret = wasm.__wbg_get_polygonmaterial_effectIds(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @returns {number | undefined}\n */\n get emissiveColor() {\n const ret = wasm.__wbg_get_polygonmaterial_emissiveColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @returns {number | undefined}\n */\n get emissiveIntensity() {\n const ret = wasm.__wbg_get_polygonmaterial_emissiveIntensity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get extrudedHeight() {\n const ret = wasm.__wbg_get_polygonmaterial_extrudedHeight(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get height() {\n const ret = wasm.__wbg_get_polygonmaterial_height(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get ior() {\n const ret = wasm.__wbg_get_polygonmaterial_ior(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Need to enable `transparent`.\n * @returns {number | undefined}\n */\n get opacity() {\n const ret = wasm.__wbg_get_polygonmaterial_opacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @returns {number | undefined}\n */\n get outlineColor() {\n const ret = wasm.__wbg_get_polygonmaterial_outlineColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @returns {boolean | undefined}\n */\n get outlineShow() {\n const ret = wasm.__wbg_get_polygonmaterial_outlineShow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @returns {number | undefined}\n */\n get outlineWidth() {\n const ret = wasm.__wbg_get_polygonmaterial_outlineWidth(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Whether to compute outline geometry. Only effective at initial load time.\n * When not set, inferred from `outlineShow`.\n * @returns {boolean | undefined}\n */\n get outline() {\n const ret = wasm.__wbg_get_polygonmaterial_outline(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Whether or not the height is obtained from the data. If false, the height is constant.\n * @returns {boolean | undefined}\n */\n get perPositionHeight() {\n const ret = wasm.__wbg_get_polygonmaterial_perPositionHeight(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get receiveShadow() {\n const ret = wasm.__wbg_get_polygonmaterial_receiveShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Reflectivity for post-process or env map.\n * @returns {number | undefined}\n */\n get reflectivity() {\n const ret = wasm.__wbg_get_polygonmaterial_reflectivity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Reflectivity for post-process.\n * @returns {number | undefined}\n */\n get roughness() {\n const ret = wasm.__wbg_get_polygonmaterial_roughness(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get shininess() {\n const ret = wasm.__wbg_get_polygonmaterial_shininess(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_polygonmaterial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get specularStrength() {\n const ret = wasm.__wbg_get_polygonmaterial_specularStrength(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Enabling this value allows using `shininess` and `specular_strength`.\n * @returns {boolean | undefined}\n */\n get specular() {\n const ret = wasm.__wbg_get_polygonmaterial_specular(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @returns {boolean | undefined}\n */\n get surfaceShow() {\n const ret = wasm.__wbg_get_polygonmaterial_surfaceShow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Splits the polygon into XYZ vector tiles for rendering, even when the\n * data source is not an MVT layer. This can improve performance for large\n * polygons.\n *\n * Enabling `clamp_to_ground` implicitly forces `tiled` to `true`.\n * Outline rendering is not supported when `tiled` is enabled.\n * @returns {boolean | undefined}\n */\n get tiled() {\n const ret = wasm.__wbg_get_polygonmaterial_tiled(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Enable `opacity`. It might cause unexpected behavior when you use an effect.\n * @returns {boolean | undefined}\n */\n get transparent() {\n const ret = wasm.__wbg_get_polygonmaterial_transparent(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Scale water normal. Decreasing this value will make the water surface rough.\n * @returns {number | undefined}\n */\n get waterScaleNormal() {\n const ret = wasm.__wbg_get_polygonmaterial_waterScaleNormal(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Water wave speed.\n * @returns {number | undefined}\n */\n get waterSpeed() {\n const ret = wasm.__wbg_get_polygonmaterial_waterSpeed(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Apply a water material on the polygon. It might slow down the loading of the mesh.\n * @returns {boolean | undefined}\n */\n get water() {\n const ret = wasm.__wbg_get_polygonmaterial_water(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get wireframe() {\n const ret = wasm.__wbg_get_polygonmaterial_wireframe(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @param {boolean | null} [show]\n * @param {boolean | null} [cast_shadow]\n * @param {boolean | null} [receive_shadow]\n * @param {number | null} [color]\n * @param {boolean | null} [clamp_to_ground]\n * @param {boolean | null} [tiled]\n * @param {number | null} [height]\n * @param {number | null} [extruded_height]\n * @param {boolean | null} [wireframe]\n * @param {boolean | null} [outline]\n * @param {boolean | null} [per_position_height]\n * @param {PolygonInternalMaterial | null} [__internal__]\n */\n constructor(show, cast_shadow, receive_shadow, color, clamp_to_ground, tiled, height, extruded_height, wireframe, outline, per_position_height, __internal__) {\n let ptr0 = 0;\n if (!isLikeNone(__internal__)) {\n _assertClass(__internal__, PolygonInternalMaterial);\n ptr0 = __internal__.__destroy_into_raw();\n }\n const ret = wasm.polygonmaterial_new(isLikeNone(show) ? 0xFFFFFF : show ? 1 : 0, isLikeNone(cast_shadow) ? 0xFFFFFF : cast_shadow ? 1 : 0, isLikeNone(receive_shadow) ? 0xFFFFFF : receive_shadow ? 1 : 0, isLikeNone(color) ? Number.MAX_SAFE_INTEGER : (color) >>> 0, isLikeNone(clamp_to_ground) ? 0xFFFFFF : clamp_to_ground ? 1 : 0, isLikeNone(tiled) ? 0xFFFFFF : tiled ? 1 : 0, isLikeNone(height) ? Number.MAX_SAFE_INTEGER : Math.fround(height), isLikeNone(extruded_height) ? Number.MAX_SAFE_INTEGER : Math.fround(extruded_height), isLikeNone(wireframe) ? 0xFFFFFF : wireframe ? 1 : 0, isLikeNone(outline) ? 0xFFFFFF : outline ? 1 : 0, isLikeNone(per_position_height) ? 0xFFFFFF : per_position_height ? 1 : 0, ptr0);\n this.__wbg_ptr = ret;\n PolygonMaterialFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {PolygonInternalMaterial | null} [arg0]\n */\n set __internal__(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, PolygonInternalMaterial);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_polygonmaterial___internal__(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set applyWaterNormal(arg0) {\n wasm.__wbg_set_polygonmaterial_applyWaterNormal(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set castShadow(arg0) {\n wasm.__wbg_set_polygonmaterial_castShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set clampToGround(arg0) {\n wasm.__wbg_set_polygonmaterial_clampToGround(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set color(arg0) {\n wasm.__wbg_set_polygonmaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @param {string[] | null} [arg0]\n */\n set effectIds(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_polygonmaterial_effectIds(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @param {number | null} [arg0]\n */\n set emissiveColor(arg0) {\n wasm.__wbg_set_polygonmaterial_emissiveColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @param {number | null} [arg0]\n */\n set emissiveIntensity(arg0) {\n wasm.__wbg_set_polygonmaterial_emissiveIntensity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set extrudedHeight(arg0) {\n wasm.__wbg_set_polygonmaterial_extrudedHeight(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set height(arg0) {\n wasm.__wbg_set_polygonmaterial_height(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set ior(arg0) {\n wasm.__wbg_set_polygonmaterial_ior(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Need to enable `transparent`.\n * @param {number | null} [arg0]\n */\n set opacity(arg0) {\n wasm.__wbg_set_polygonmaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @param {number | null} [arg0]\n */\n set outlineColor(arg0) {\n wasm.__wbg_set_polygonmaterial_outlineColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @param {boolean | null} [arg0]\n */\n set outlineShow(arg0) {\n wasm.__wbg_set_polygonmaterial_outlineShow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @param {number | null} [arg0]\n */\n set outlineWidth(arg0) {\n wasm.__wbg_set_polygonmaterial_outlineWidth(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Whether to compute outline geometry. Only effective at initial load time.\n * When not set, inferred from `outlineShow`.\n * @param {boolean | null} [arg0]\n */\n set outline(arg0) {\n wasm.__wbg_set_polygonmaterial_outline(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Whether or not the height is obtained from the data. If false, the height is constant.\n * @param {boolean | null} [arg0]\n */\n set perPositionHeight(arg0) {\n wasm.__wbg_set_polygonmaterial_perPositionHeight(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set receiveShadow(arg0) {\n wasm.__wbg_set_polygonmaterial_receiveShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Reflectivity for post-process or env map.\n * @param {number | null} [arg0]\n */\n set reflectivity(arg0) {\n wasm.__wbg_set_polygonmaterial_reflectivity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Reflectivity for post-process.\n * @param {number | null} [arg0]\n */\n set roughness(arg0) {\n wasm.__wbg_set_polygonmaterial_roughness(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set shininess(arg0) {\n wasm.__wbg_set_polygonmaterial_shininess(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_polygonmaterial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set specularStrength(arg0) {\n wasm.__wbg_set_polygonmaterial_specularStrength(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Enabling this value allows using `shininess` and `specular_strength`.\n * @param {boolean | null} [arg0]\n */\n set specular(arg0) {\n wasm.__wbg_set_polygonmaterial_specular(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Currently, this property is supported only in GeoJSON.\n * @param {boolean | null} [arg0]\n */\n set surfaceShow(arg0) {\n wasm.__wbg_set_polygonmaterial_surfaceShow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Splits the polygon into XYZ vector tiles for rendering, even when the\n * data source is not an MVT layer. This can improve performance for large\n * polygons.\n *\n * Enabling `clamp_to_ground` implicitly forces `tiled` to `true`.\n * Outline rendering is not supported when `tiled` is enabled.\n * @param {boolean | null} [arg0]\n */\n set tiled(arg0) {\n wasm.__wbg_set_polygonmaterial_tiled(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Enable `opacity`. It might cause unexpected behavior when you use an effect.\n * @param {boolean | null} [arg0]\n */\n set transparent(arg0) {\n wasm.__wbg_set_polygonmaterial_transparent(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Scale water normal. Decreasing this value will make the water surface rough.\n * @param {number | null} [arg0]\n */\n set waterScaleNormal(arg0) {\n wasm.__wbg_set_polygonmaterial_waterScaleNormal(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Water wave speed.\n * @param {number | null} [arg0]\n */\n set waterSpeed(arg0) {\n wasm.__wbg_set_polygonmaterial_waterSpeed(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Apply a water material on the polygon. It might slow down the loading of the mesh.\n * @param {boolean | null} [arg0]\n */\n set water(arg0) {\n wasm.__wbg_set_polygonmaterial_water(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set wireframe(arg0) {\n wasm.__wbg_set_polygonmaterial_wireframe(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n}\nif (Symbol.dispose) PolygonMaterial.prototype[Symbol.dispose] = PolygonMaterial.prototype.free;\n\nexport class PolylineGeometry {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolylineGeometryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polylinegeometry_free(ptr, 0);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n batch_id() {\n const ret = wasm.polylinegeometry_batch_id(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_id_size() {\n const ret = wasm.polylinegeometry_batch_id_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n batch_index() {\n const ret = wasm.polylinegeometry_batch_index(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n batch_index_size() {\n const ret = wasm.polylinegeometry_batch_index_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n end_high() {\n const ret = wasm.polylinegeometry_end_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n end_high_size() {\n const ret = wasm.polylinegeometry_end_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n end_low() {\n const ret = wasm.polylinegeometry_end_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n end_low_size() {\n const ret = wasm.polylinegeometry_end_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n end_normal_and_texture_coordinate_normalization_x() {\n const ret = wasm.polylinegeometry_end_normal_and_texture_coordinate_normalization_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n end_normal_and_texture_coordinate_normalization_x_size() {\n const ret = wasm.polylinegeometry_end_normal_and_texture_coordinate_normalization_x_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n forward_offset() {\n const ret = wasm.polylinegeometry_forward_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n forward_offset_size() {\n const ret = wasm.polylinegeometry_forward_offset_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array}\n */\n indices() {\n const ret = wasm.polylinegeometry_indices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n position() {\n const ret = wasm.polylinegeometry_position(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_high() {\n const ret = wasm.polylinegeometry_position_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_high_size() {\n const ret = wasm.polylinegeometry_position_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n position_low() {\n const ret = wasm.polylinegeometry_position_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n position_low_size() {\n const ret = wasm.polylinegeometry_position_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number}\n */\n position_size() {\n const ret = wasm.polylinegeometry_position_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n right_normal_and_texture_coordinate_normalization_y() {\n const ret = wasm.polylinegeometry_right_normal_and_texture_coordinate_normalization_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n right_normal_and_texture_coordinate_normalization_y_size() {\n const ret = wasm.polylinegeometry_right_normal_and_texture_coordinate_normalization_y_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start() {\n const ret = wasm.polylinegeometry_start(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start_high() {\n const ret = wasm.polylinegeometry_start_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_high_size() {\n const ret = wasm.polylinegeometry_start_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start_low() {\n const ret = wasm.polylinegeometry_start_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_low_size() {\n const ret = wasm.polylinegeometry_start_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n start_normals() {\n const ret = wasm.polylinegeometry_start_normals(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_normals_size() {\n const ret = wasm.polylinegeometry_start_normals_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n start_size() {\n const ret = wasm.polylinegeometry_start_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n}\nif (Symbol.dispose) PolylineGeometry.prototype[Symbol.dispose] = PolylineGeometry.prototype.free;\n\nexport class PolylineGeometryAttributes {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolylineGeometryAttributesFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polylinegeometryattributes_free(ptr, 0);\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_batch_id() {\n const ret = wasm.polylinegeometryattributes_transfer_batch_id(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_batch_id_size() {\n const ret = wasm.polylinegeometryattributes_transfer_batch_id_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n transfer_batch_index() {\n const ret = wasm.polylinegeometryattributes_transfer_batch_index(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_batch_index_size() {\n const ret = wasm.polylinegeometryattributes_transfer_batch_index_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_end_high() {\n const ret = wasm.polylinegeometryattributes_transfer_end_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_end_high_size() {\n const ret = wasm.polylinegeometryattributes_transfer_end_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_end_low() {\n const ret = wasm.polylinegeometryattributes_transfer_end_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_end_low_size() {\n const ret = wasm.polylinegeometryattributes_transfer_end_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_end_normal_and_texture_coordinate_normalization_x() {\n const ret = wasm.polylinegeometryattributes_transfer_end_normal_and_texture_coordinate_normalization_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_end_normal_and_texture_coordinate_normalization_x_size() {\n const ret = wasm.polylinegeometryattributes_transfer_end_normal_and_texture_coordinate_normalization_x_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_forward_offset() {\n const ret = wasm.polylinegeometryattributes_transfer_forward_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_forward_offset_size() {\n const ret = wasm.polylinegeometryattributes_transfer_forward_offset_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array}\n */\n transfer_position() {\n const ret = wasm.polylinegeometryattributes_transfer_position(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_position_high() {\n const ret = wasm.polylinegeometryattributes_transfer_position_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_position_high_size() {\n const ret = wasm.polylinegeometryattributes_transfer_position_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_position_low() {\n const ret = wasm.polylinegeometryattributes_transfer_position_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_position_low_size() {\n const ret = wasm.polylinegeometryattributes_transfer_position_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number}\n */\n transfer_position_size() {\n const ret = wasm.polylinegeometryattributes_transfer_position_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n transfer_right_normal_and_texture_coordinate_normalization_y() {\n const ret = wasm.polylinegeometryattributes_transfer_right_normal_and_texture_coordinate_normalization_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n transfer_right_normal_and_texture_coordinate_normalization_y_size() {\n const ret = wasm.polylinegeometryattributes_transfer_right_normal_and_texture_coordinate_normalization_y_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_start() {\n const ret = wasm.polylinegeometryattributes_transfer_start(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_start_high() {\n const ret = wasm.polylinegeometryattributes_transfer_start_high(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_start_high_size() {\n const ret = wasm.polylinegeometryattributes_transfer_start_high_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_start_low() {\n const ret = wasm.polylinegeometryattributes_transfer_start_low(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_start_low_size() {\n const ret = wasm.polylinegeometryattributes_transfer_start_low_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transfer_start_normals() {\n const ret = wasm.polylinegeometryattributes_transfer_start_normals(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_start_normals_size() {\n const ret = wasm.polylinegeometryattributes_transfer_start_normals_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n transfer_start_size() {\n const ret = wasm.polylinegeometryattributes_transfer_start_size(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n}\nif (Symbol.dispose) PolylineGeometryAttributes.prototype[Symbol.dispose] = PolylineGeometryAttributes.prototype.free;\n\nexport class PolylineInternalMaterial {\n static __wrap(ptr) {\n const obj = Object.create(PolylineInternalMaterial.prototype);\n obj.__wbg_ptr = ptr;\n PolylineInternalMaterialFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolylineInternalMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polylineinternalmaterial_free(ptr, 0);\n }\n /**\n * @returns {Float64Array}\n */\n get minMaxHeights() {\n const ret = wasm.__wbg_get_polylineinternalmaterial_minMaxHeights(this.__wbg_ptr);\n var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);\n return v1;\n }\n /**\n * @param {Float64Array} arg0\n */\n set minMaxHeights(arg0) {\n const ptr0 = passArrayF64ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_polylineinternalmaterial_minMaxHeights(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) PolylineInternalMaterial.prototype[Symbol.dispose] = PolylineInternalMaterial.prototype.free;\n\nexport class PolylineMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PolylineMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_polylinematerial_free(ptr, 0);\n }\n /**\n * @returns {PolylineInternalMaterial | undefined}\n */\n get __internal__() {\n const ret = wasm.__wbg_get_polylinematerial___internal__(this.__wbg_ptr);\n return ret === 0 ? undefined : PolylineInternalMaterial.__wrap(ret);\n }\n /**\n * @returns {boolean | undefined}\n */\n get castShadow() {\n const ret = wasm.__wbg_get_polylinematerial_castShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get clampToGround() {\n const ret = wasm.__wbg_get_polylinematerial_clampToGround(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get color() {\n const ret = wasm.__wbg_get_polylinematerial_color(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Enable writing to depth buffer\n * @returns {boolean | undefined}\n */\n get depthWrite() {\n const ret = wasm.__wbg_get_polylinematerial_depthWrite(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @returns {string[] | undefined}\n */\n get effectIds() {\n const ret = wasm.__wbg_get_polylinematerial_effectIds(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @returns {number | undefined}\n */\n get emissiveColor() {\n const ret = wasm.__wbg_get_polylinematerial_emissiveColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @returns {number | undefined}\n */\n get emissiveIntensity() {\n const ret = wasm.__wbg_get_polylinematerial_emissiveIntensity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get height() {\n const ret = wasm.__wbg_get_polylinematerial_height(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Maximum line width in pixels, clamping the rendered width regardless of zoom level.\n * Smaller values are cheaper to render as they reduce fragment shader overdraw.\n * @returns {number | undefined}\n */\n get maxWidth() {\n const ret = wasm.__wbg_get_polylinematerial_maxWidth(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Opacity value\n * @returns {number | undefined}\n */\n get opacity() {\n const ret = wasm.__wbg_get_polylinematerial_opacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get receiveShadow() {\n const ret = wasm.__wbg_get_polylinematerial_receiveShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_polylinematerial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Splits the polyline into XYZ vector tiles for rendering, even when the\n * data source is not an MVT layer. This can improve performance for large\n * polylines.\n *\n * Enabling `clamp_to_ground` implicitly forces `tiled` to `true`.\n * @returns {boolean | undefined}\n */\n get tiled() {\n const ret = wasm.__wbg_get_polylinematerial_tiled(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Enable transparency and alpha blending\n * @returns {boolean | undefined}\n */\n get transparent() {\n const ret = wasm.__wbg_get_polylinematerial_transparent(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get width() {\n const ret = wasm.__wbg_get_polylinematerial_width(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @param {boolean | null} [show]\n * @param {boolean | null} [cast_shadow]\n * @param {boolean | null} [receive_shadow]\n * @param {number | null} [color]\n * @param {boolean | null} [clamp_to_ground]\n * @param {boolean | null} [tiled]\n * @param {number | null} [height]\n * @param {number | null} [width]\n * @param {number | null} [max_width]\n * @param {PolylineInternalMaterial | null} [__internal__]\n */\n constructor(show, cast_shadow, receive_shadow, color, clamp_to_ground, tiled, height, width, max_width, __internal__) {\n let ptr0 = 0;\n if (!isLikeNone(__internal__)) {\n _assertClass(__internal__, PolylineInternalMaterial);\n ptr0 = __internal__.__destroy_into_raw();\n }\n const ret = wasm.polylinematerial_new(isLikeNone(show) ? 0xFFFFFF : show ? 1 : 0, isLikeNone(cast_shadow) ? 0xFFFFFF : cast_shadow ? 1 : 0, isLikeNone(receive_shadow) ? 0xFFFFFF : receive_shadow ? 1 : 0, isLikeNone(color) ? Number.MAX_SAFE_INTEGER : (color) >>> 0, isLikeNone(clamp_to_ground) ? 0xFFFFFF : clamp_to_ground ? 1 : 0, isLikeNone(tiled) ? 0xFFFFFF : tiled ? 1 : 0, isLikeNone(height) ? Number.MAX_SAFE_INTEGER : Math.fround(height), isLikeNone(width) ? Number.MAX_SAFE_INTEGER : Math.fround(width), isLikeNone(max_width) ? Number.MAX_SAFE_INTEGER : Math.fround(max_width), ptr0);\n this.__wbg_ptr = ret;\n PolylineMaterialFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {PolylineInternalMaterial | null} [arg0]\n */\n set __internal__(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, PolylineInternalMaterial);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_polylinematerial___internal__(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set castShadow(arg0) {\n wasm.__wbg_set_polylinematerial_castShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set clampToGround(arg0) {\n wasm.__wbg_set_polylinematerial_clampToGround(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set color(arg0) {\n wasm.__wbg_set_polylinematerial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Enable writing to depth buffer\n * @param {boolean | null} [arg0]\n */\n set depthWrite(arg0) {\n wasm.__wbg_set_polylinematerial_depthWrite(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * IDs of selective effects to apply (e.g., \"bloom\", \"outline\")\n * @param {string[] | null} [arg0]\n */\n set effectIds(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_polylinematerial_effectIds(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Emissive glow color in 0xRRGGBB format\n * @param {number | null} [arg0]\n */\n set emissiveColor(arg0) {\n wasm.__wbg_set_polylinematerial_emissiveColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Emissive glow intensity (default: 0.3 when Bloom enabled)\n * @param {number | null} [arg0]\n */\n set emissiveIntensity(arg0) {\n wasm.__wbg_set_polylinematerial_emissiveIntensity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {number | null} [arg0]\n */\n set height(arg0) {\n wasm.__wbg_set_polylinematerial_height(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Maximum line width in pixels, clamping the rendered width regardless of zoom level.\n * Smaller values are cheaper to render as they reduce fragment shader overdraw.\n * @param {number | null} [arg0]\n */\n set maxWidth(arg0) {\n wasm.__wbg_set_polylinematerial_maxWidth(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Opacity value\n * @param {number | null} [arg0]\n */\n set opacity(arg0) {\n wasm.__wbg_set_polylinematerial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set receiveShadow(arg0) {\n wasm.__wbg_set_polylinematerial_receiveShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_polylinematerial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Splits the polyline into XYZ vector tiles for rendering, even when the\n * data source is not an MVT layer. This can improve performance for large\n * polylines.\n *\n * Enabling `clamp_to_ground` implicitly forces `tiled` to `true`.\n * @param {boolean | null} [arg0]\n */\n set tiled(arg0) {\n wasm.__wbg_set_polylinematerial_tiled(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Enable transparency and alpha blending\n * @param {boolean | null} [arg0]\n */\n set transparent(arg0) {\n wasm.__wbg_set_polylinematerial_transparent(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set width(arg0) {\n wasm.__wbg_set_polylinematerial_width(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n}\nif (Symbol.dispose) PolylineMaterial.prototype[Symbol.dispose] = PolylineMaterial.prototype.free;\n\n/**\n * Render-only appearance for a `raster` layer's imagery. All fetch/tiling\n * config lives on the referenced `Source`; only display fields are carried\n * here. Parallel to [`HillshadeMaterial`] / [`ElevationHeatmapMaterial`].\n */\nexport class RasterMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n RasterMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_rastermaterial_free(ptr, 0);\n }\n /**\n * @returns {number | undefined}\n */\n get color() {\n const ret = wasm.__wbg_get_rastermaterial_color(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get opacity() {\n const ret = wasm.__wbg_get_rastermaterial_opacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get showBoundingBox() {\n const ret = wasm.__wbg_get_rastermaterial_showBoundingBox(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_rastermaterial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @param {number | null} [arg0]\n */\n set color(arg0) {\n wasm.__wbg_set_rastermaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set opacity(arg0) {\n wasm.__wbg_set_rastermaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set showBoundingBox(arg0) {\n wasm.__wbg_set_rastermaterial_showBoundingBox(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_rastermaterial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n}\nif (Symbol.dispose) RasterMaterial.prototype[Symbol.dispose] = RasterMaterial.prototype.free;\n\nexport class RasterTileInternalMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n RasterTileInternalMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_rastertileinternalmaterial_free(ptr, 0);\n }\n /**\n * @returns {boolean | undefined}\n */\n get castShadow() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_castShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {Uint32Array}\n */\n get colors() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_colors(this.__wbg_ptr);\n var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @returns {number}\n */\n get elevationBScaler() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationBScaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationBoundary() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationBoundary(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationEpsilon() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationEpsilon(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationGScaler() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationGScaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationMaxHeight() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMaxHeight(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationMaxOffset() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMaxOffset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationMinHeight() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMinHeight(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationMinOffset() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationMinOffset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationOffset() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationOffset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get elevationRScaler() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_elevationRScaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeBScaler() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeBScaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeBoundary() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeBoundary(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeEpsilon() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeEpsilon(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeExaggeration() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeExaggeration(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeGScaler() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeGScaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeMaxOffset() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeMaxOffset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeMinOffset() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeMinOffset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeOffset() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeOffset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get hillshadeRScaler() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_hillshadeRScaler(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint8Array}\n */\n get isElevationHeatmaps() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_isElevationHeatmaps(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {Uint8Array}\n */\n get isHillshades() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_isHillshades(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {Uint8Array}\n */\n get layerReproject() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_layerReproject(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {number}\n */\n get logBoundary() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_logBoundary(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {boolean}\n */\n get logarithmic() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_logarithmic(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {Float32Array}\n */\n get opacities() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_opacities(this.__wbg_ptr);\n var v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @returns {boolean | undefined}\n */\n get receiveShadow() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_receiveShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get showBoundingBox() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_showBoundingBox(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {Uint8Array}\n */\n get shows() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_shows(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {Float32Array}\n */\n get terrainLatRange() {\n const ret = wasm.__wbg_get_rastertileinternalmaterial_terrainLatRange(this.__wbg_ptr);\n var v1 = getArrayF32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @returns {any[]}\n */\n layerUvTransforms() {\n const ret = wasm.rastertileinternalmaterial_layerUvTransforms(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @returns {any[] | undefined}\n */\n texture_fragments() {\n const ret = wasm.rastertileinternalmaterial_texture_fragments(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set castShadow(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_castShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {Uint32Array} arg0\n */\n set colors(arg0) {\n const ptr0 = passArray32ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_rastertileinternalmaterial_colors(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number} arg0\n */\n set elevationBScaler(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationBScaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationBoundary(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationBoundary(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationEpsilon(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationEpsilon(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationGScaler(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationGScaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationMaxHeight(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationMaxHeight(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationMaxOffset(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationMaxOffset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationMinHeight(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationMinHeight(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationMinOffset(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationMinOffset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationOffset(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationOffset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set elevationRScaler(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_elevationRScaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeBScaler(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeBScaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeBoundary(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeBoundary(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeEpsilon(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeEpsilon(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeExaggeration(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeExaggeration(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeGScaler(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeGScaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeMaxOffset(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeMaxOffset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeMinOffset(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeMinOffset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeOffset(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeOffset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set hillshadeRScaler(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_hillshadeRScaler(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set isElevationHeatmaps(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_rastertileinternalmaterial_isElevationHeatmaps(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set isHillshades(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_rastertileinternalmaterial_isHillshades(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set layerReproject(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_rastertileinternalmaterial_layerReproject(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number} arg0\n */\n set logBoundary(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_logBoundary(this.__wbg_ptr, arg0);\n }\n /**\n * @param {boolean} arg0\n */\n set logarithmic(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_logarithmic(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Float32Array} arg0\n */\n set opacities(arg0) {\n const ptr0 = passArrayF32ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_rastertileinternalmaterial_opacities(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set receiveShadow(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_receiveShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set showBoundingBox(arg0) {\n wasm.__wbg_set_rastertileinternalmaterial_showBoundingBox(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set shows(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_rastertileinternalmaterial_shows(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {Float32Array} arg0\n */\n set terrainLatRange(arg0) {\n const ptr0 = passArrayF32ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_rastertileinternalmaterial_terrainLatRange(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) RasterTileInternalMaterial.prototype[Symbol.dispose] = RasterTileInternalMaterial.prototype.free;\n\nexport class Ray {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n RayFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_ray_free(ptr, 0);\n }\n /**\n * @returns {Vec3}\n */\n get direction() {\n const ret = wasm.__wbg_get_ray_direction(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @returns {Vec3}\n */\n get origin() {\n const ret = wasm.__wbg_get_ray_origin(this.__wbg_ptr);\n return Vec3.__wrap(ret);\n }\n /**\n * @param {number} t\n * @returns {Vec3}\n */\n getPoint(t) {\n const ret = wasm.ray_getPoint(this.__wbg_ptr, t);\n return Vec3.__wrap(ret);\n }\n /**\n * @param {Vec3} origin\n * @param {Vec3} direction\n */\n constructor(origin, direction) {\n _assertClass(origin, Vec3);\n var ptr0 = origin.__destroy_into_raw();\n _assertClass(direction, Vec3);\n var ptr1 = direction.__destroy_into_raw();\n const ret = wasm.ray_new(ptr0, ptr1);\n this.__wbg_ptr = ret;\n RayFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {Vec3} arg0\n */\n set direction(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_ray_direction(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {Vec3} arg0\n */\n set origin(arg0) {\n _assertClass(arg0, Vec3);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_ray_origin(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) Ray.prototype[Symbol.dispose] = Ray.prototype.free;\n\nexport class ReturnedConstructedTerrainMesh {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ReturnedConstructedTerrainMeshFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_returnedconstructedterrainmesh_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get max_height() {\n const ret = wasm.__wbg_get_returnedconstructedterrainmesh_max_height(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get min_height() {\n const ret = wasm.__wbg_get_returnedconstructedterrainmesh_min_height(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Vec3 | undefined}\n */\n get rtc_translation() {\n const ret = wasm.__wbg_get_returnedconstructedterrainmesh_rtc_translation(this.__wbg_ptr);\n return ret === 0 ? undefined : Vec3.__wrap(ret);\n }\n /**\n * @returns {boolean}\n */\n hasNormals() {\n const ret = wasm.returnedconstructedterrainmesh_hasNormals(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {boolean}\n */\n hasSkirt() {\n const ret = wasm.returnedconstructedterrainmesh_hasSkirt(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {boolean}\n */\n hasWatermask() {\n const ret = wasm.returnedconstructedterrainmesh_hasWatermask(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {Geometry} geometry\n * @param {number} max_height\n * @param {number} min_height\n * @param {Float32Array} heights\n * @param {Vec3 | null} [rtc_translation]\n */\n constructor(geometry, max_height, min_height, heights, rtc_translation) {\n _assertClass(geometry, Geometry);\n var ptr0 = geometry.__destroy_into_raw();\n const ptr1 = passArrayF32ToWasm0(heights, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n let ptr2 = 0;\n if (!isLikeNone(rtc_translation)) {\n _assertClass(rtc_translation, Vec3);\n ptr2 = rtc_translation.__destroy_into_raw();\n }\n const ret = wasm.returnedconstructedterrainmesh_new(ptr0, max_height, min_height, ptr1, len1, ptr2);\n this.__wbg_ptr = ret;\n ReturnedConstructedTerrainMeshFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {Float32Array}\n */\n transferHeights() {\n const ret = wasm.returnedconstructedterrainmesh_transferHeights(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferIndices() {\n const ret = wasm.returnedconstructedterrainmesh_transferIndices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferNormals() {\n const ret = wasm.returnedconstructedterrainmesh_transferNormals(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array | undefined}\n */\n transferSkirtIndices() {\n const ret = wasm.returnedconstructedterrainmesh_transferSkirtIndices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferSkirtNormals() {\n const ret = wasm.returnedconstructedterrainmesh_transferSkirtNormals(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferSkirtUvs() {\n const ret = wasm.returnedconstructedterrainmesh_transferSkirtUvs(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array | undefined}\n */\n transferSkirtVertices() {\n const ret = wasm.returnedconstructedterrainmesh_transferSkirtVertices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n transferUvs() {\n const ret = wasm.returnedconstructedterrainmesh_transferUvs(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float32Array}\n */\n transferVertices() {\n const ret = wasm.returnedconstructedterrainmesh_transferVertices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint8Array | undefined}\n */\n transferWatermask() {\n const ret = wasm.returnedconstructedterrainmesh_transferWatermask(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set max_height(arg0) {\n wasm.__wbg_set_returnedconstructedterrainmesh_max_height(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set min_height(arg0) {\n wasm.__wbg_set_returnedconstructedterrainmesh_min_height(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Vec3 | null} [arg0]\n */\n set rtc_translation(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, Vec3);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_returnedconstructedterrainmesh_rtc_translation(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) ReturnedConstructedTerrainMesh.prototype[Symbol.dispose] = ReturnedConstructedTerrainMesh.prototype.free;\n\nexport class ShapeTextResult {\n static __wrap(ptr) {\n const obj = Object.create(ShapeTextResult.prototype);\n obj.__wbg_ptr = ptr;\n ShapeTextResultFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ShapeTextResultFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_shapetextresult_free(ptr, 0);\n }\n /**\n * Vertical line metrics in font units, for multi-line layout.\n * @returns {number}\n */\n get ascender() {\n const ret = wasm.__wbg_get_shapetextresult_ascender(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {boolean}\n */\n get atlas_changed() {\n const ret = wasm.__wbg_get_shapetextresult_atlas_changed(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {number}\n */\n get descender() {\n const ret = wasm.__wbg_get_shapetextresult_descender(this.__wbg_ptr);\n return ret;\n }\n /**\n * True if any glyph was evicted to make room while packing this text. The\n * reused rects mean cached TS metrics for this atlas may be stale, so TS\n * bumps the atlas generation to force a re-shape on next use.\n * @returns {boolean}\n */\n get evicted() {\n const ret = wasm.__wbg_get_shapetextresult_evicted(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {number}\n */\n get font_index() {\n const ret = wasm.__wbg_get_shapetextresult_font_index(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {WasmShapedGlyph[]}\n */\n get glyphs() {\n const ret = wasm.__wbg_get_shapetextresult_glyphs(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * True when this font is COLRv1 — glyphs were packed into the color atlas.\n * @returns {boolean}\n */\n get is_color() {\n const ret = wasm.__wbg_get_shapetextresult_is_color(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @returns {number}\n */\n get line_gap() {\n const ret = wasm.__wbg_get_shapetextresult_line_gap(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {WasmGlyphMetrics[]}\n */\n get metrics() {\n const ret = wasm.__wbg_get_shapetextresult_metrics(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @returns {number}\n */\n get units_per_em() {\n const ret = wasm.__wbg_get_shapetextresult_units_per_em(this.__wbg_ptr);\n return ret;\n }\n /**\n * Vertical line metrics in font units, for multi-line layout.\n * @param {number} arg0\n */\n set ascender(arg0) {\n wasm.__wbg_set_shapetextresult_ascender(this.__wbg_ptr, arg0);\n }\n /**\n * @param {boolean} arg0\n */\n set atlas_changed(arg0) {\n wasm.__wbg_set_shapetextresult_atlas_changed(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set descender(arg0) {\n wasm.__wbg_set_shapetextresult_descender(this.__wbg_ptr, arg0);\n }\n /**\n * True if any glyph was evicted to make room while packing this text. The\n * reused rects mean cached TS metrics for this atlas may be stale, so TS\n * bumps the atlas generation to force a re-shape on next use.\n * @param {boolean} arg0\n */\n set evicted(arg0) {\n wasm.__wbg_set_shapetextresult_evicted(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set font_index(arg0) {\n wasm.__wbg_set_shapetextresult_font_index(this.__wbg_ptr, arg0);\n }\n /**\n * @param {WasmShapedGlyph[]} arg0\n */\n set glyphs(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_shapetextresult_glyphs(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * True when this font is COLRv1 — glyphs were packed into the color atlas.\n * @param {boolean} arg0\n */\n set is_color(arg0) {\n wasm.__wbg_set_shapetextresult_is_color(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set line_gap(arg0) {\n wasm.__wbg_set_shapetextresult_line_gap(this.__wbg_ptr, arg0);\n }\n /**\n * @param {WasmGlyphMetrics[]} arg0\n */\n set metrics(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_shapetextresult_metrics(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number} arg0\n */\n set units_per_em(arg0) {\n wasm.__wbg_set_shapetextresult_units_per_em(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) ShapeTextResult.prototype[Symbol.dispose] = ShapeTextResult.prototype.free;\n\n/**\n * Render-only appearance for a `terrain` layer's mesh, regardless of the\n * referenced source's data format (raster-dem, quantized-mesh, or the\n * source-less ellipsoid). All fetch/geometry config lives on the referenced\n * `Source`; the data format itself is carried by `TerrainDataType`.\n */\nexport class TerrainMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TerrainMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_terrainmaterial_free(ptr, 0);\n }\n /**\n * @returns {boolean | undefined}\n */\n get castShadow() {\n const ret = wasm.__wbg_get_terrainmaterial_castShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get receiveShadow() {\n const ret = wasm.__wbg_get_terrainmaterial_receiveShadow(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get showBoundingBox() {\n const ret = wasm.__wbg_get_terrainmaterial_showBoundingBox(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_terrainmaterial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Multiplier for the automatically calculated skirt height.\n * A value of 1.0 uses the default calculated height.\n * @returns {number | undefined}\n */\n get skirtExaggeration() {\n const ret = wasm.__wbg_get_terrainmaterial_skirtExaggeration(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Whether to render skirts along tile boundaries to hide gaps.\n * You should disable `skirt` if you want to visualize an underground model.\n * @returns {boolean | undefined}\n */\n get skirt() {\n const ret = wasm.__wbg_get_terrainmaterial_skirt(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set castShadow(arg0) {\n wasm.__wbg_set_terrainmaterial_castShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set receiveShadow(arg0) {\n wasm.__wbg_set_terrainmaterial_receiveShadow(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set showBoundingBox(arg0) {\n wasm.__wbg_set_terrainmaterial_showBoundingBox(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_terrainmaterial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Multiplier for the automatically calculated skirt height.\n * A value of 1.0 uses the default calculated height.\n * @param {number | null} [arg0]\n */\n set skirtExaggeration(arg0) {\n wasm.__wbg_set_terrainmaterial_skirtExaggeration(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Whether to render skirts along tile boundaries to hide gaps.\n * You should disable `skirt` if you want to visualize an underground model.\n * @param {boolean | null} [arg0]\n */\n set skirt(arg0) {\n wasm.__wbg_set_terrainmaterial_skirt(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n}\nif (Symbol.dispose) TerrainMaterial.prototype[Symbol.dispose] = TerrainMaterial.prototype.free;\n\nexport class TextMaterial {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TextMaterialFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_textmaterial_free(ptr, 0);\n }\n /**\n * @returns {number | undefined}\n */\n get backgroundColor() {\n const ret = wasm.__wbg_get_textmaterial_backgroundColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get borderColor() {\n const ret = wasm.__wbg_get_textmaterial_borderColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {number | undefined}\n */\n get borderWidth() {\n const ret = wasm.__wbg_get_textmaterial_borderWidth(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {Vec2 | undefined}\n */\n get center() {\n const ret = wasm.__wbg_get_textmaterial_center(this.__wbg_ptr);\n return ret === 0 ? undefined : Vec2.__wrap(ret);\n }\n /**\n * @returns {boolean | undefined}\n */\n get clampToGround() {\n const ret = wasm.__wbg_get_textmaterial_clampToGround(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {number | undefined}\n */\n get color() {\n const ret = wasm.__wbg_get_textmaterial_color(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Placement priority for decluttering; higher wins. Only meaningful when\n * `declutter` is enabled. Defaults to `0.0`.\n * @returns {number | undefined}\n */\n get declutterPriority() {\n const ret = wasm.__wbg_get_textmaterial_declutterPriority(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Participate in screen-space decluttering: when labels/sprites overlap\n * on screen, lower-priority ones are hidden. Defaults to `true`; set to\n * `false` to draw every label unconditionally.\n * @returns {boolean | undefined}\n */\n get declutter() {\n const ret = wasm.__wbg_get_textmaterial_declutter(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @returns {boolean | undefined}\n */\n get depthTest() {\n const ret = wasm.__wbg_get_textmaterial_depthTest(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Specifies either the URL of a single font file or the `family` name of a font family\n * previously registered with `view.addFontFamily()`. Supported file formats are ttf, otf,\n * woff, and woff2.\n *\n * When a family name is used, only the face files whose unicode ranges cover the characters\n * in `text` are fetched, so large scripts (CJK, etc.) can be split into multiple faces and\n * loaded on demand. For each codepoint, the first face (in `faces` order) whose\n * `unicodeRanges` contain the codepoint is used; codepoints not covered by any face fall\n * back to the first face, which may therefore be downloaded even for characters outside its\n * declared ranges.\n *\n * Defaults to `None`: no font is loaded, and the text layer will not render until a font\n * is specified.\n * @returns {string | undefined}\n */\n get font() {\n const ret = wasm.__wbg_get_textmaterial_font(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * @returns {number | undefined}\n */\n get height() {\n const ret = wasm.__wbg_get_textmaterial_height(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Enable high-quality glyph rendering. When `true`, text uses an MTSDF\n * atlas (sharper corners at large sizes, dramatically slower\n * rasterization). When `false` or omitted, the default single-channel SDF\n * atlas is used (fast). Mirrors `navara_material::TextMaterial::high_quality`\n * on the Rust side.\n * @returns {boolean | undefined}\n */\n get highQuality() {\n const ret = wasm.__wbg_get_textmaterial_highQuality(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Language code for text shaping (e.g., \"en\", \"ja\", \"ar\"). Used for proper text rendering.\n * @returns {string | undefined}\n */\n get lang() {\n const ret = wasm.__wbg_get_textmaterial_lang(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * Line height as a multiplier of the font's natural line height\n * (ascender − descender + line gap). Defaults to `1.0`.\n * @returns {number | undefined}\n */\n get lineHeight() {\n const ret = wasm.__wbg_get_textmaterial_lineHeight(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Maximum line width in ems (multiples of `size`) before text wraps at\n * word boundaries. `0.0` (the default) disables wrapping; explicit `\\n`\n * characters in `text` always break lines.\n * @returns {number | undefined}\n */\n get maxWidth() {\n const ret = wasm.__wbg_get_textmaterial_maxWidth(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Avoid overlapping with the globe surface.\n * @returns {boolean | undefined}\n */\n get offsetDepth() {\n const ret = wasm.__wbg_get_textmaterial_offsetDepth(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Opacity of the text\n * @returns {number | undefined}\n */\n get opacity() {\n const ret = wasm.__wbg_get_textmaterial_opacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Outline blur radius in CSS pixels. Defaults to `0.0`.\n * @returns {number | undefined}\n */\n get outlineColor() {\n const ret = wasm.__wbg_get_textmaterial_outlineColor(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Pixel offset `[x, y]` in CSS pixels. Defaults to `(0.0, 0.0)`.\n * @returns {number | undefined}\n */\n get outlineOpacity() {\n const ret = wasm.__wbg_get_textmaterial_outlineOpacity(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Outline thickness measured in CSS pixels. Defaults to `0.0`.\n * @returns {number | undefined}\n */\n get outlineWidth() {\n const ret = wasm.__wbg_get_textmaterial_outlineWidth(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * @returns {boolean | undefined}\n */\n get show() {\n const ret = wasm.__wbg_get_textmaterial_show(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * Whether the size is specified in meters. If false, the size is in pixels. Default is true.\n * @returns {boolean | undefined}\n */\n get sizeInMeters() {\n const ret = wasm.__wbg_get_textmaterial_sizeInMeters(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * size in pixels/meters (units are determined by `sizeInMeters`).\n * @returns {number | undefined}\n */\n get size() {\n const ret = wasm.__wbg_get_textmaterial_size(this.__wbg_ptr);\n return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;\n }\n /**\n * Horizontal alignment of lines within a multi-line block:\n * `\"left\"`, `\"center\"` (default), or `\"right\"`.\n * @returns {string | undefined}\n */\n get textAlign() {\n const ret = wasm.__wbg_get_textmaterial_textAlign(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * @returns {string | undefined}\n */\n get text() {\n const ret = wasm.__wbg_get_textmaterial_text(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * Enable transparency and alpha blending\n * @returns {boolean | undefined}\n */\n get transparent() {\n const ret = wasm.__wbg_get_textmaterial_transparent(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret !== 0;\n }\n /**\n * @param {number | null} [arg0]\n */\n set backgroundColor(arg0) {\n wasm.__wbg_set_textmaterial_backgroundColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set borderColor(arg0) {\n wasm.__wbg_set_textmaterial_borderColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set borderWidth(arg0) {\n wasm.__wbg_set_textmaterial_borderWidth(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {Vec2 | null} [arg0]\n */\n set center(arg0) {\n let ptr0 = 0;\n if (!isLikeNone(arg0)) {\n _assertClass(arg0, Vec2);\n ptr0 = arg0.__destroy_into_raw();\n }\n wasm.__wbg_set_textmaterial_center(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set clampToGround(arg0) {\n wasm.__wbg_set_textmaterial_clampToGround(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set color(arg0) {\n wasm.__wbg_set_textmaterial_color(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Placement priority for decluttering; higher wins. Only meaningful when\n * `declutter` is enabled. Defaults to `0.0`.\n * @param {number | null} [arg0]\n */\n set declutterPriority(arg0) {\n wasm.__wbg_set_textmaterial_declutterPriority(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Participate in screen-space decluttering: when labels/sprites overlap\n * on screen, lower-priority ones are hidden. Defaults to `true`; set to\n * `false` to draw every label unconditionally.\n * @param {boolean | null} [arg0]\n */\n set declutter(arg0) {\n wasm.__wbg_set_textmaterial_declutter(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set depthTest(arg0) {\n wasm.__wbg_set_textmaterial_depthTest(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Specifies either the URL of a single font file or the `family` name of a font family\n * previously registered with `view.addFontFamily()`. Supported file formats are ttf, otf,\n * woff, and woff2.\n *\n * When a family name is used, only the face files whose unicode ranges cover the characters\n * in `text` are fetched, so large scripts (CJK, etc.) can be split into multiple faces and\n * loaded on demand. For each codepoint, the first face (in `faces` order) whose\n * `unicodeRanges` contain the codepoint is used; codepoints not covered by any face fall\n * back to the first face, which may therefore be downloaded even for characters outside its\n * declared ranges.\n *\n * Defaults to `None`: no font is loaded, and the text layer will not render until a font\n * is specified.\n * @param {string | null} [arg0]\n */\n set font(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_textmaterial_font(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number | null} [arg0]\n */\n set height(arg0) {\n wasm.__wbg_set_textmaterial_height(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Enable high-quality glyph rendering. When `true`, text uses an MTSDF\n * atlas (sharper corners at large sizes, dramatically slower\n * rasterization). When `false` or omitted, the default single-channel SDF\n * atlas is used (fast). Mirrors `navara_material::TextMaterial::high_quality`\n * on the Rust side.\n * @param {boolean | null} [arg0]\n */\n set highQuality(arg0) {\n wasm.__wbg_set_textmaterial_highQuality(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Language code for text shaping (e.g., \"en\", \"ja\", \"ar\"). Used for proper text rendering.\n * @param {string | null} [arg0]\n */\n set lang(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_textmaterial_lang(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Line height as a multiplier of the font's natural line height\n * (ascender − descender + line gap). Defaults to `1.0`.\n * @param {number | null} [arg0]\n */\n set lineHeight(arg0) {\n wasm.__wbg_set_textmaterial_lineHeight(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Maximum line width in ems (multiples of `size`) before text wraps at\n * word boundaries. `0.0` (the default) disables wrapping; explicit `\\n`\n * characters in `text` always break lines.\n * @param {number | null} [arg0]\n */\n set maxWidth(arg0) {\n wasm.__wbg_set_textmaterial_maxWidth(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Avoid overlapping with the globe surface.\n * @param {boolean | null} [arg0]\n */\n set offsetDepth(arg0) {\n wasm.__wbg_set_textmaterial_offsetDepth(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Opacity of the text\n * @param {number | null} [arg0]\n */\n set opacity(arg0) {\n wasm.__wbg_set_textmaterial_opacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Outline blur radius in CSS pixels. Defaults to `0.0`.\n * @param {number | null} [arg0]\n */\n set outlineColor(arg0) {\n wasm.__wbg_set_textmaterial_outlineColor(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : (arg0) >>> 0);\n }\n /**\n * Pixel offset `[x, y]` in CSS pixels. Defaults to `(0.0, 0.0)`.\n * @param {number | null} [arg0]\n */\n set outlineOpacity(arg0) {\n wasm.__wbg_set_textmaterial_outlineOpacity(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Outline thickness measured in CSS pixels. Defaults to `0.0`.\n * @param {number | null} [arg0]\n */\n set outlineWidth(arg0) {\n wasm.__wbg_set_textmaterial_outlineWidth(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * @param {boolean | null} [arg0]\n */\n set show(arg0) {\n wasm.__wbg_set_textmaterial_show(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * Whether the size is specified in meters. If false, the size is in pixels. Default is true.\n * @param {boolean | null} [arg0]\n */\n set sizeInMeters(arg0) {\n wasm.__wbg_set_textmaterial_sizeInMeters(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n /**\n * size in pixels/meters (units are determined by `sizeInMeters`).\n * @param {number | null} [arg0]\n */\n set size(arg0) {\n wasm.__wbg_set_textmaterial_size(this.__wbg_ptr, isLikeNone(arg0) ? Number.MAX_SAFE_INTEGER : Math.fround(arg0));\n }\n /**\n * Horizontal alignment of lines within a multi-line block:\n * `\"left\"`, `\"center\"` (default), or `\"right\"`.\n * @param {string | null} [arg0]\n */\n set textAlign(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_textmaterial_textAlign(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {string | null} [arg0]\n */\n set text(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_textmaterial_text(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Enable transparency and alpha blending\n * @param {boolean | null} [arg0]\n */\n set transparent(arg0) {\n wasm.__wbg_set_textmaterial_transparent(this.__wbg_ptr, isLikeNone(arg0) ? 0xFFFFFF : arg0 ? 1 : 0);\n }\n}\nif (Symbol.dispose) TextMaterial.prototype[Symbol.dispose] = TextMaterial.prototype.free;\n\nexport class TextureFragment {\n static __wrap(ptr) {\n const obj = Object.create(TextureFragment.prototype);\n obj.__wbg_ptr = ptr;\n TextureFragmentFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TextureFragmentFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_texturefragment_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get gen() {\n const ret = wasm.__wbg_get_texturefragment_gen(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get ind() {\n const ret = wasm.__wbg_get_texturefragment_ind(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set gen(arg0) {\n wasm.__wbg_set_texturefragment_gen(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set ind(arg0) {\n wasm.__wbg_set_texturefragment_ind(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) TextureFragment.prototype[Symbol.dispose] = TextureFragment.prototype.free;\n\nexport class TileUvTransform {\n static __wrap(ptr) {\n const obj = Object.create(TileUvTransform.prototype);\n obj.__wbg_ptr = ptr;\n TileUvTransformFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TileUvTransformFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_tileuvtransform_free(ptr, 0);\n }\n /**\n * @returns {Vec2}\n */\n get offset() {\n const ret = wasm.__wbg_get_tileuvtransform_offset(this.__wbg_ptr);\n return Vec2.__wrap(ret);\n }\n /**\n * @returns {Vec2}\n */\n get scale() {\n const ret = wasm.__wbg_get_tileuvtransform_scale(this.__wbg_ptr);\n return Vec2.__wrap(ret);\n }\n /**\n * @param {Vec2} arg0\n */\n set offset(arg0) {\n _assertClass(arg0, Vec2);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_tileuvtransform_offset(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {Vec2} arg0\n */\n set scale(arg0) {\n _assertClass(arg0, Vec2);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_tileuvtransform_scale(this.__wbg_ptr, ptr0);\n }\n}\nif (Symbol.dispose) TileUvTransform.prototype[Symbol.dispose] = TileUvTransform.prototype.free;\n\nexport class TileXYZ {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TileXYZFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_tilexyz_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get x() {\n const ret = wasm.__wbg_get_tilexyz_x(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get y() {\n const ret = wasm.__wbg_get_tilexyz_y(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get z() {\n const ret = wasm.__wbg_get_tilexyz_z(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set x(arg0) {\n wasm.__wbg_set_tilexyz_x(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set y(arg0) {\n wasm.__wbg_set_tilexyz_y(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set z(arg0) {\n wasm.__wbg_set_tilexyz_z(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} x\n * @param {number} y\n * @param {number} z\n */\n constructor(x, y, z) {\n const ret = wasm.tilexyz_new(x, y, z);\n this.__wbg_ptr = ret;\n TileXYZFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) TileXYZ.prototype[Symbol.dispose] = TileXYZ.prototype.free;\n\nexport class TransferableHierarchy {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransferableHierarchyFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transferablehierarchy_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get expected_winding_order() {\n const ret = wasm.__wbg_get_transferablehierarchy_expected_winding_order(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set expected_winding_order(arg0) {\n wasm.__wbg_set_transferablehierarchy_expected_winding_order(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) TransferableHierarchy.prototype[Symbol.dispose] = TransferableHierarchy.prototype.free;\n\n/**\n * To transfer the hierarchy efficiently, the holes are managed as one-dimensional array.\n */\nexport class TransferableHoles {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransferableHolesFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transferableholes_free(ptr, 0);\n }\n}\nif (Symbol.dispose) TransferableHoles.prototype[Symbol.dispose] = TransferableHoles.prototype.free;\n\n/**\n * A whole tile's parsed MVT groups transferred out of the parse worker.\n *\n * The bulk geometry of every (layer, kind) group is packed into four\n * contiguous per-type streams (see `navara_parser::mvt::pack_parsed_mvt_groups`\n * for the segment order), so the postMessage transfer list carries exactly\n * four buffers per tile regardless of the group count. The tile meta\n * (`ParsedMvtTileMeta`: per-group headers plus per-layer property tables,\n * pre-serialized by the worker) rides along as a structured clone and lets\n * the main thread slice the streams back apart.\n */\nexport class TransferableParsedMvtResult {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransferableParsedMvtResultFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transferableparsedmvtresult_free(ptr, 0);\n }\n /**\n * @returns {Float32Array}\n */\n f32_stream() {\n const ret = wasm.transferableparsedmvtresult_f32_stream(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float64Array}\n */\n f64_stream() {\n const ret = wasm.transferableparsedmvtresult_f64_stream(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {any}\n */\n meta() {\n const ret = wasm.transferableparsedmvtresult_meta(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n u32_stream() {\n const ret = wasm.transferableparsedmvtresult_u32_stream(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint8Array}\n */\n u8_stream() {\n const ret = wasm.transferableparsedmvtresult_u8_stream(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) TransferableParsedMvtResult.prototype[Symbol.dispose] = TransferableParsedMvtResult.prototype.free;\n\n/**\n * To transfer the batched feature efficiently, the all feature's properties are managed as one-dimensional array.\n */\nexport class TransferablePolygonBatchedFeature {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransferablePolygonBatchedFeatureFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transferablepolygonbatchedfeature_free(ptr, 0);\n }\n /**\n * @returns {CRS}\n */\n get crs() {\n const ret = wasm.__wbg_get_transferablepolygonbatchedfeature_crs(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get length() {\n const ret = wasm.__wbg_get_transferablepolygonbatchedfeature_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {CRS} arg0\n */\n set crs(arg0) {\n wasm.__wbg_set_transferablepolygonbatchedfeature_crs(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set length(arg0) {\n wasm.__wbg_set_transferablepolygonbatchedfeature_length(this.__wbg_ptr, arg0);\n }\n /**\n * @param {CRS} crs\n * @param {number} length\n */\n constructor(crs, length) {\n const ret = wasm.transferablepolygonbatchedfeature_constructor(crs, length);\n this.__wbg_ptr = ret;\n TransferablePolygonBatchedFeatureFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setBatchIds(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setBatchIds(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setBatchIndices(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setBatchIndices(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setExpectedWindingOrders(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setExpectedWindingOrders(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setHoles(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setHoles(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setHolesBoundaries(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setHolesBoundaries(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setHolesSizes(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setHolesSizes(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setHolesTotalSizes(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setHolesTotalSizes(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setOuterRing(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setOuterRing(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setOuterRingSizes(byte_length, f) {\n wasm.transferablepolygonbatchedfeature_setOuterRingSizes(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @returns {Uint32Array}\n */\n transferBatchIds() {\n const ret = wasm.transferablepolygonbatchedfeature_transferBatchIds(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferBatchIndices() {\n const ret = wasm.transferablepolygonbatchedfeature_transferBatchIndices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint8Array}\n */\n transferExpectedWindingOrders() {\n const ret = wasm.transferablepolygonbatchedfeature_transferExpectedWindingOrders(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float64Array}\n */\n transferHoles() {\n const ret = wasm.transferablepolygonbatchedfeature_transferHoles(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferHolesBoundaries() {\n const ret = wasm.transferablepolygonbatchedfeature_transferHolesBoundaries(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferHolesSizes() {\n const ret = wasm.transferablepolygonbatchedfeature_transferHolesSizes(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferHolesTotalSizes() {\n const ret = wasm.transferablepolygonbatchedfeature_transferHolesTotalSizes(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float64Array}\n */\n transferOuterRing() {\n const ret = wasm.transferablepolygonbatchedfeature_transferOuterRing(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferOuterRingSizes() {\n const ret = wasm.transferablepolygonbatchedfeature_transferOuterRingSizes(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) TransferablePolygonBatchedFeature.prototype[Symbol.dispose] = TransferablePolygonBatchedFeature.prototype.free;\n\n/**\n * To transfer the batched feature efficiently, the all feature's properties are managed as one-dimensional array.\n */\nexport class TransferablePolylineBatchedFeature {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransferablePolylineBatchedFeatureFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transferablepolylinebatchedfeature_free(ptr, 0);\n }\n /**\n * @returns {CRS}\n */\n get crs() {\n const ret = wasm.__wbg_get_transferablepolylinebatchedfeature_crs(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get length() {\n const ret = wasm.__wbg_get_transferablepolylinebatchedfeature_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {CRS} arg0\n */\n set crs(arg0) {\n wasm.__wbg_set_transferablepolylinebatchedfeature_crs(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set length(arg0) {\n wasm.__wbg_set_transferablepolylinebatchedfeature_length(this.__wbg_ptr, arg0);\n }\n /**\n * @param {CRS} crs\n * @param {number} length\n */\n constructor(crs, length) {\n const ret = wasm.transferablepolylinebatchedfeature_constructor(crs, length);\n this.__wbg_ptr = ret;\n TransferablePolylineBatchedFeatureFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setBatchIds(byte_length, f) {\n wasm.transferablepolylinebatchedfeature_setBatchIds(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setBatchIndices(byte_length, f) {\n wasm.transferablepolylinebatchedfeature_setBatchIndices(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setPoints(byte_length, f) {\n wasm.transferablepolylinebatchedfeature_setPoints(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @param {number} byte_length\n * @param {Function} f\n */\n setPointsSizes(byte_length, f) {\n wasm.transferablepolylinebatchedfeature_setPointsSizes(this.__wbg_ptr, byte_length, f);\n }\n /**\n * @returns {Uint32Array}\n */\n transferBatchIds() {\n const ret = wasm.transferablepolylinebatchedfeature_transferBatchIds(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferBatchIndices() {\n const ret = wasm.transferablepolylinebatchedfeature_transferBatchIndices(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Float64Array}\n */\n transferPoints() {\n const ret = wasm.transferablepolylinebatchedfeature_transferPoints(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint32Array}\n */\n transferPointsSizes() {\n const ret = wasm.transferablepolylinebatchedfeature_transferPointsSizes(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) TransferablePolylineBatchedFeature.prototype[Symbol.dispose] = TransferablePolylineBatchedFeature.prototype.free;\n\nexport class Transform {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransformFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transform_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get qw() {\n const ret = wasm.__wbg_get_transform_qw(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get qx() {\n const ret = wasm.__wbg_get_transform_qx(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get qy() {\n const ret = wasm.__wbg_get_transform_qy(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get qz() {\n const ret = wasm.__wbg_get_transform_qz(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get sx() {\n const ret = wasm.__wbg_get_transform_sx(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get sy() {\n const ret = wasm.__wbg_get_transform_sy(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get sz() {\n const ret = wasm.__wbg_get_transform_sz(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get tx() {\n const ret = wasm.__wbg_get_transform_tx(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get ty() {\n const ret = wasm.__wbg_get_transform_ty(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get tz() {\n const ret = wasm.__wbg_get_transform_tz(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set qw(arg0) {\n wasm.__wbg_set_transform_qw(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set qx(arg0) {\n wasm.__wbg_set_transform_qx(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set qy(arg0) {\n wasm.__wbg_set_transform_qy(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set qz(arg0) {\n wasm.__wbg_set_transform_qz(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set sx(arg0) {\n wasm.__wbg_set_transform_sx(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set sy(arg0) {\n wasm.__wbg_set_transform_sy(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set sz(arg0) {\n wasm.__wbg_set_transform_sz(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set tx(arg0) {\n wasm.__wbg_set_transform_tx(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set ty(arg0) {\n wasm.__wbg_set_transform_ty(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set tz(arg0) {\n wasm.__wbg_set_transform_tz(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} tx\n * @param {number} ty\n * @param {number} tz\n * @param {number} qx\n * @param {number} qy\n * @param {number} qz\n * @param {number} qw\n * @param {number} sx\n * @param {number} sy\n * @param {number} sz\n */\n constructor(tx, ty, tz, qx, qy, qz, qw, sx, sy, sz) {\n const ret = wasm.transform_new(tx, ty, tz, qx, qy, qz, qw, sx, sy, sz);\n this.__wbg_ptr = ret;\n TransformFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) Transform.prototype[Symbol.dispose] = Transform.prototype.free;\n\nexport class UintAttribute {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n UintAttributeFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_uintattribute_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get size() {\n const ret = wasm.__wbg_get_uintattribute_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set size(arg0) {\n wasm.__wbg_set_uintattribute_size(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Uint32Array} data\n * @param {number} size\n */\n constructor(data, size) {\n const ptr0 = passArray32ToWasm0(data, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.uintattribute_new(ptr0, len0, size);\n this.__wbg_ptr = ret;\n UintAttributeFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {Uint32Array}\n */\n transferData() {\n const ret = wasm.uintattribute_transferData(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) UintAttribute.prototype[Symbol.dispose] = UintAttribute.prototype.free;\n\nexport class UpsamplableTerrainGeometry {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n UpsamplableTerrainGeometryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_upsamplableterraingeometry_free(ptr, 0);\n }\n /**\n * @param {Float32Array} uvs\n * @param {Uint32Array} indices\n * @param {Float32Array} heights\n * @param {Float32Array | null} [normals]\n * @param {Uint8Array | null} [watermask]\n */\n constructor(uvs, indices, heights, normals, watermask) {\n const ptr0 = passArrayF32ToWasm0(uvs, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArray32ToWasm0(indices, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passArrayF32ToWasm0(heights, wasm.__wbindgen_malloc);\n const len2 = WASM_VECTOR_LEN;\n var ptr3 = isLikeNone(normals) ? 0 : passArrayF32ToWasm0(normals, wasm.__wbindgen_malloc);\n var len3 = WASM_VECTOR_LEN;\n var ptr4 = isLikeNone(watermask) ? 0 : passArray8ToWasm0(watermask, wasm.__wbindgen_malloc);\n var len4 = WASM_VECTOR_LEN;\n const ret = wasm.upsamplableterraingeometry_new(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4);\n this.__wbg_ptr = ret;\n UpsamplableTerrainGeometryFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) UpsamplableTerrainGeometry.prototype[Symbol.dispose] = UpsamplableTerrainGeometry.prototype.free;\n\nexport class Vec2 {\n static __wrap(ptr) {\n const obj = Object.create(Vec2.prototype);\n obj.__wbg_ptr = ptr;\n Vec2Finalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n Vec2Finalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_vec2_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get x() {\n const ret = wasm.__wbg_get_vec2_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get y() {\n const ret = wasm.__wbg_get_vec2_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set x(arg0) {\n wasm.__wbg_set_vec2_x(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set y(arg0) {\n wasm.__wbg_set_vec2_y(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} x\n * @param {number} y\n */\n constructor(x, y) {\n const ret = wasm.vec2_new(x, y);\n this.__wbg_ptr = ret;\n Vec2Finalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) Vec2.prototype[Symbol.dispose] = Vec2.prototype.free;\n\nexport class Vec3 {\n static __wrap(ptr) {\n const obj = Object.create(Vec3.prototype);\n obj.__wbg_ptr = ptr;\n Vec3Finalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n Vec3Finalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_vec3_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get x() {\n const ret = wasm.__wbg_get_vec3_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get y() {\n const ret = wasm.__wbg_get_vec3_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get z() {\n const ret = wasm.__wbg_get_vec3_z(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set x(arg0) {\n wasm.__wbg_set_vec3_x(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set y(arg0) {\n wasm.__wbg_set_vec3_y(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set z(arg0) {\n wasm.__wbg_set_vec3_z(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} x\n * @param {number} y\n * @param {number} z\n */\n constructor(x, y, z) {\n const ret = wasm.vec3_new(x, y, z);\n this.__wbg_ptr = ret;\n Vec3Finalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) Vec3.prototype[Symbol.dispose] = Vec3.prototype.free;\n\nexport class WasmGlyphMetrics {\n static __wrap(ptr) {\n const obj = Object.create(WasmGlyphMetrics.prototype);\n obj.__wbg_ptr = ptr;\n WasmGlyphMetricsFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof WasmGlyphMetrics)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WasmGlyphMetricsFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmglyphmetrics_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get atlas_h() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_atlas_h(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get atlas_w() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_atlas_w(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get atlas_x() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_atlas_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get atlas_y() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_atlas_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get bearing_x() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_bearing_x(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get bearing_y() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_bearing_y(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get font_index() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_font_index(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get glyph_id() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_glyph_id(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * True when the glyph lives in the COLRv1 RGBA atlas rather than the SDF.\n * @returns {boolean}\n */\n get is_color() {\n const ret = wasm.__wbg_get_wasmglyphmetrics_is_color(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {number} arg0\n */\n set atlas_h(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_atlas_h(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set atlas_w(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_atlas_w(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set atlas_x(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_atlas_x(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set atlas_y(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_atlas_y(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set bearing_x(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_bearing_x(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set bearing_y(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_bearing_y(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set font_index(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_font_index(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set glyph_id(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_glyph_id(this.__wbg_ptr, arg0);\n }\n /**\n * True when the glyph lives in the COLRv1 RGBA atlas rather than the SDF.\n * @param {boolean} arg0\n */\n set is_color(arg0) {\n wasm.__wbg_set_wasmglyphmetrics_is_color(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) WasmGlyphMetrics.prototype[Symbol.dispose] = WasmGlyphMetrics.prototype.free;\n\nexport class WasmShapedGlyph {\n static __wrap(ptr) {\n const obj = Object.create(WasmShapedGlyph.prototype);\n obj.__wbg_ptr = ptr;\n WasmShapedGlyphFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof WasmShapedGlyph)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WasmShapedGlyphFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmshapedglyph_free(ptr, 0);\n }\n /**\n * One of the `shaping::CHAR_CLASS_*` constants (line-break info).\n * @returns {number}\n */\n get char_class() {\n const ret = wasm.__wbg_get_wasmshapedglyph_char_class(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get font_index() {\n const ret = wasm.__wbg_get_wasmshapedglyph_font_index(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get glyph_id() {\n const ret = wasm.__wbg_get_wasmshapedglyph_glyph_id(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n get x_advance() {\n const ret = wasm.__wbg_get_wasmshapedglyph_x_advance(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get x_offset() {\n const ret = wasm.__wbg_get_wasmshapedglyph_x_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get y_advance() {\n const ret = wasm.__wbg_get_wasmshapedglyph_y_advance(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get y_offset() {\n const ret = wasm.__wbg_get_wasmshapedglyph_y_offset(this.__wbg_ptr);\n return ret;\n }\n /**\n * One of the `shaping::CHAR_CLASS_*` constants (line-break info).\n * @param {number} arg0\n */\n set char_class(arg0) {\n wasm.__wbg_set_wasmshapedglyph_char_class(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set font_index(arg0) {\n wasm.__wbg_set_wasmshapedglyph_font_index(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set glyph_id(arg0) {\n wasm.__wbg_set_wasmshapedglyph_glyph_id(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set x_advance(arg0) {\n wasm.__wbg_set_wasmshapedglyph_x_advance(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set x_offset(arg0) {\n wasm.__wbg_set_wasmshapedglyph_x_offset(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set y_advance(arg0) {\n wasm.__wbg_set_wasmshapedglyph_y_advance(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set y_offset(arg0) {\n wasm.__wbg_set_wasmshapedglyph_y_offset(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) WasmShapedGlyph.prototype[Symbol.dispose] = WasmShapedGlyph.prototype.free;\n\nexport class WindingOrder {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WindingOrderFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_windingorder_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get 0() {\n const ret = wasm.__wbg_get_windingorder_0(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set 0(arg0) {\n wasm.__wbg_set_windingorder_0(this.__wbg_ptr, arg0);\n }\n}\nif (Symbol.dispose) WindingOrder.prototype[Symbol.dispose] = WindingOrder.prototype.free;\n\nexport class Window {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WindowFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_window_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get height() {\n const ret = wasm.__wbg_get_window_height(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get pixelRatio() {\n const ret = wasm.__wbg_get_window_pixelRatio(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {number}\n */\n get width() {\n const ret = wasm.__wbg_get_window_width(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set height(arg0) {\n wasm.__wbg_set_window_height(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set pixelRatio(arg0) {\n wasm.__wbg_set_window_pixelRatio(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} arg0\n */\n set width(arg0) {\n wasm.__wbg_set_window_width(this.__wbg_ptr, arg0);\n }\n /**\n * @param {number} width\n * @param {number} height\n * @param {number} pixel_ratio\n */\n constructor(width, height, pixel_ratio) {\n const ret = wasm.window_new(width, height, pixel_ratio);\n this.__wbg_ptr = ret;\n WindowFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) Window.prototype[Symbol.dispose] = Window.prototype.free;\n\n/**\n * Pack `(font_index, glyph_id)` into a u64. Exported so TS uses the same\n * layout as Rust.\n * @param {number} font_index\n * @param {number} glyph_id\n * @returns {bigint}\n */\nexport function composite_key(font_index, glyph_id) {\n const ret = wasm.composite_key(font_index, glyph_id);\n return BigInt.asUintN(64, ret);\n}\n\nexport function start() {\n wasm.start();\n}\nfunction __wbg_get_imports() {\n const import0 = {\n __proto__: null,\n __wbg_Error_92b29b0548f8b746: function(arg0, arg1) {\n const ret = Error(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_String_8564e559799eccda: function(arg0, arg1) {\n const ret = String(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_bigint_get_as_i64_d968e41184ae354f: function(arg0, arg1) {\n const v = arg1;\n const ret = typeof(v) === 'bigint' ? v : undefined;\n getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n },\n __wbg___wbindgen_boolean_get_fa956cfa2d1bd751: function(arg0) {\n const v = arg0;\n const ret = typeof(v) === 'boolean' ? v : undefined;\n return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n },\n __wbg___wbindgen_debug_string_c25d447a39f5578f: function(arg0, arg1) {\n const ret = debugString(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_in_aca499c5de7ff5e5: function(arg0, arg1) {\n const ret = arg0 in arg1;\n return ret;\n },\n __wbg___wbindgen_is_bigint_2f76dc55065b4273: function(arg0) {\n const ret = typeof(arg0) === 'bigint';\n return ret;\n },\n __wbg___wbindgen_is_function_1ff95bcc5517c252: function(arg0) {\n const ret = typeof(arg0) === 'function';\n return ret;\n },\n __wbg___wbindgen_is_object_a27215656b807791: function(arg0) {\n const val = arg0;\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n },\n __wbg___wbindgen_jsval_eq_e659fcf7b0e32763: function(arg0, arg1) {\n const ret = arg0 === arg1;\n return ret;\n },\n __wbg___wbindgen_jsval_loose_eq_db4c3b15f63fc170: function(arg0, arg1) {\n const ret = arg0 == arg1;\n return ret;\n },\n __wbg___wbindgen_memory_de265df8aadd6273: function() {\n const ret = wasm.memory;\n return ret;\n },\n __wbg___wbindgen_number_get_394265ed1e1b84ee: function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'number' ? obj : undefined;\n getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n },\n __wbg___wbindgen_string_get_b0ca35b86a603356: function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_throw_344f42d3211c4765: function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n },\n __wbg_buffer_0f212447ac64c53b: function(arg0) {\n const ret = arg0.buffer;\n return ret;\n },\n __wbg_call_8a2dd23819f8a60a: function() { return handleError(function (arg0, arg1) {\n const ret = arg0.call(arg1);\n return ret;\n }, arguments); },\n __wbg_call_a6e5c5dce5018821: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.call(arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_done_89b2b13e91a60321: function(arg0) {\n const ret = arg0.done;\n return ret;\n },\n __wbg_entries_015dc610cd81ede0: function(arg0) {\n const ret = Object.entries(arg0);\n return ret;\n },\n __wbg_get_507a50627bffa49b: function(arg0, arg1) {\n const ret = arg0[arg1 >>> 0];\n return ret;\n },\n __wbg_get_c7eb1f358a7654df: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(arg0, arg1);\n return ret;\n }, arguments); },\n __wbg_get_unchecked_6e0ad6d2a41b06f6: function(arg0, arg1) {\n const ret = arg0[arg1 >>> 0];\n return ret;\n },\n __wbg_instanceof_ArrayBuffer_4480b9e0068a8adb: function(arg0) {\n let result;\n try {\n result = arg0 instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Map_e5b5e3db98422fcc: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Map;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Uint8Array_309b927aaf7a3fc7: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Uint8Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_isArray_0677c962b281d01a: function(arg0) {\n const ret = Array.isArray(arg0);\n return ret;\n },\n __wbg_isSafeInteger_04f36e4056f1b851: function(arg0) {\n const ret = Number.isSafeInteger(arg0);\n return ret;\n },\n __wbg_iterator_6f722e4a93058b71: function() {\n const ret = Symbol.iterator;\n return ret;\n },\n __wbg_length_0133fa10e3234c57: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_1f0964f4a5e2c6d8: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_370319915dc99107: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_381d540857ec99e8: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_98f10d1e2f4ea968: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_lle_new: function(arg0) {\n const ret = LLE.__wrap(arg0);\n return ret;\n },\n __wbg_new_32b398fb48b6d94a: function() {\n const ret = new Array();\n return ret;\n },\n __wbg_new_80efd62ef570c5de: function(arg0) {\n const ret = new Float64Array(arg0);\n return ret;\n },\n __wbg_new_92a08b12c30e98e8: function(arg0) {\n const ret = new Float32Array(arg0);\n return ret;\n },\n __wbg_new_cd45aabdf6073e84: function(arg0) {\n const ret = new Uint8Array(arg0);\n return ret;\n },\n __wbg_new_da52cf8fe3429cb2: function() {\n const ret = new Object();\n return ret;\n },\n __wbg_new_dfd44b7151fab657: function(arg0) {\n const ret = new Uint32Array(arg0);\n return ret;\n },\n __wbg_new_with_byte_offset_and_length_54c7724ee3ec7d82: function(arg0, arg1, arg2) {\n const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0);\n return ret;\n },\n __wbg_new_with_byte_offset_and_length_5784416b97d45088: function(arg0, arg1, arg2) {\n const ret = new Float64Array(arg0, arg1 >>> 0, arg2 >>> 0);\n return ret;\n },\n __wbg_new_with_byte_offset_and_length_c6e1a1aae380b2ff: function(arg0, arg1, arg2) {\n const ret = new Uint32Array(arg0, arg1 >>> 0, arg2 >>> 0);\n return ret;\n },\n __wbg_next_6dbf2c0ac8cde20f: function(arg0) {\n const ret = arg0.next;\n return ret;\n },\n __wbg_next_71f2aa1cb3d1e37e: function() { return handleError(function (arg0) {\n const ret = arg0.next();\n return ret;\n }, arguments); },\n __wbg_prototypesetcall_4770620bbe4688a0: function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);\n },\n __wbg_push_d2ae3af0c1217ae6: function(arg0, arg1) {\n const ret = arg0.push(arg1);\n return ret;\n },\n __wbg_set_1e016b6a1b5f7cb3: function(arg0, arg1, arg2) {\n arg0.set(getArrayF32FromWasm0(arg1, arg2));\n },\n __wbg_set_29967298e530d279: function(arg0, arg1, arg2) {\n arg0.set(getArrayF64FromWasm0(arg1, arg2));\n },\n __wbg_set_4d7dd76f3dae2926: function(arg0, arg1, arg2) {\n arg0.set(getArrayU8FromWasm0(arg1, arg2));\n },\n __wbg_set_8535240470bf2500: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = Reflect.set(arg0, arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_set_b5e6b338281ca6ff: function(arg0, arg1, arg2) {\n arg0.set(getArrayU32FromWasm0(arg1, arg2));\n },\n __wbg_texturefragment_new: function(arg0) {\n const ret = TextureFragment.__wrap(arg0);\n return ret;\n },\n __wbg_tileuvtransform_new: function(arg0) {\n const ret = TileUvTransform.__wrap(arg0);\n return ret;\n },\n __wbg_value_a5d5488a9589444a: function(arg0) {\n const ret = arg0.value;\n return ret;\n },\n __wbg_wasmglyphmetrics_new: function(arg0) {\n const ret = WasmGlyphMetrics.__wrap(arg0);\n return ret;\n },\n __wbg_wasmglyphmetrics_unwrap: function(arg0) {\n const ret = WasmGlyphMetrics.__unwrap(arg0);\n return ret;\n },\n __wbg_wasmshapedglyph_new: function(arg0) {\n const ret = WasmShapedGlyph.__wrap(arg0);\n return ret;\n },\n __wbg_wasmshapedglyph_unwrap: function(arg0) {\n const ret = WasmShapedGlyph.__unwrap(arg0);\n return ret;\n },\n __wbindgen_cast_0000000000000001: function(arg0) {\n // Cast intrinsic for `F64 -> Externref`.\n const ret = arg0;\n return ret;\n },\n __wbindgen_cast_0000000000000002: function(arg0) {\n // Cast intrinsic for `I64 -> Externref`.\n const ret = arg0;\n return ret;\n },\n __wbindgen_cast_0000000000000003: function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_cast_0000000000000004: function(arg0) {\n // Cast intrinsic for `U64 -> Externref`.\n const ret = BigInt.asUintN(64, arg0);\n return ret;\n },\n __wbindgen_init_externref_table: function() {\n const table = wasm.__wbindgen_externrefs;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n },\n };\n return {\n __proto__: null,\n \"./navara_wasm_font_worker_bg.js\": import0,\n };\n}\n\nconst AabbFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_aabb_free(ptr, 1));\nconst BatchPropResultFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_batchpropresult_free(ptr, 1));\nconst BillboardMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_billboardmaterial_free(ptr, 1));\nconst BoundingSphereFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_boundingsphere_free(ptr, 1));\nconst CachedMeshHandleFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_cachedmeshhandle_free(ptr, 1));\nconst CameraControlUpdateEventFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_cameracontrolupdateevent_free(ptr, 1));\nconst CameraFrustumFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_camerafrustum_free(ptr, 1));\nconst CameraOrientationFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_cameraorientation_free(ptr, 1));\nconst CameraStatusFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_camerastatus_free(ptr, 1));\nconst CompiledExpressionFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_compiledexpression_free(ptr, 1));\nconst CompiledFilterFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_compiledfilter_free(ptr, 1));\nconst ConstructedPolygonGeometryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_constructedpolygongeometry_free(ptr, 1));\nconst ConstructedPolygonOutlineGeometryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_constructedpolygonoutlinegeometry_free(ptr, 1));\nconst ConstructedPolylineGeometryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_constructedpolylinegeometry_free(ptr, 1));\nconst ElevationDecoderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_elevationdecoder_free(ptr, 1));\nconst ElevationHeatmapMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_elevationheatmapmaterial_free(ptr, 1));\nconst EllipsoidGeodesicFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_ellipsoidgeodesic_free(ptr, 1));\nconst EncodedVec3Finalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_encodedvec3_free(ptr, 1));\nconst ExtentRadianF32Finalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_extentradianf32_free(ptr, 1));\nconst FloatAttributeFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_floatattribute_free(ptr, 1));\nconst FontAtlasFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_fontatlas_free(ptr, 1));\nconst FontCacheFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_fontcache_free(ptr, 1));\nconst FontCacheStatsFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_fontcachestats_free(ptr, 1));\nconst GeometryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_geometry_free(ptr, 1));\nconst GlobeFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_globe_free(ptr, 1));\nconst HillshadeMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_hillshadematerial_free(ptr, 1));\nconst LLEFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_lle_free(ptr, 1));\nconst ModelInternalMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_modelinternalmaterial_free(ptr, 1));\nconst ModelMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_modelmaterial_free(ptr, 1));\nconst NearFarFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_nearfar_free(ptr, 1));\nconst OverscaledTileHandleFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_overscaledtilehandle_free(ptr, 1));\nconst PlaneFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_plane_free(ptr, 1));\nconst PointMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_pointmaterial_free(ptr, 1));\nconst PolygonGeometryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polygongeometry_free(ptr, 1));\nconst PolygonGeometryAttributesFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polygongeometryattributes_free(ptr, 1));\nconst PolygonInternalMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polygoninternalmaterial_free(ptr, 1));\nconst PolygonMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polygonmaterial_free(ptr, 1));\nconst PolylineGeometryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polylinegeometry_free(ptr, 1));\nconst PolylineGeometryAttributesFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polylinegeometryattributes_free(ptr, 1));\nconst PolylineInternalMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polylineinternalmaterial_free(ptr, 1));\nconst PolylineMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_polylinematerial_free(ptr, 1));\nconst RasterMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_rastermaterial_free(ptr, 1));\nconst RasterTileInternalMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_rastertileinternalmaterial_free(ptr, 1));\nconst RayFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_ray_free(ptr, 1));\nconst ReturnedConstructedTerrainMeshFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_returnedconstructedterrainmesh_free(ptr, 1));\nconst ShapeTextResultFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_shapetextresult_free(ptr, 1));\nconst TerrainMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_terrainmaterial_free(ptr, 1));\nconst TextMaterialFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_textmaterial_free(ptr, 1));\nconst TextureFragmentFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_texturefragment_free(ptr, 1));\nconst TileUvTransformFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_tileuvtransform_free(ptr, 1));\nconst TileXYZFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_tilexyz_free(ptr, 1));\nconst TransferableHierarchyFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transferablehierarchy_free(ptr, 1));\nconst TransferableHolesFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transferableholes_free(ptr, 1));\nconst TransferableParsedMvtResultFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transferableparsedmvtresult_free(ptr, 1));\nconst TransferablePolygonBatchedFeatureFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transferablepolygonbatchedfeature_free(ptr, 1));\nconst TransferablePolylineBatchedFeatureFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transferablepolylinebatchedfeature_free(ptr, 1));\nconst TransformFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transform_free(ptr, 1));\nconst UintAttributeFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_uintattribute_free(ptr, 1));\nconst UpsamplableTerrainGeometryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_upsamplableterraingeometry_free(ptr, 1));\nconst Vec2Finalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_vec2_free(ptr, 1));\nconst Vec3Finalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_vec3_free(ptr, 1));\nconst WasmGlyphMetricsFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_wasmglyphmetrics_free(ptr, 1));\nconst WasmShapedGlyphFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_wasmshapedglyph_free(ptr, 1));\nconst WindingOrderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_windingorder_free(ptr, 1));\nconst WindowFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_window_free(ptr, 1));\n\nfunction addToExternrefTable0(obj) {\n const idx = wasm.__externref_table_alloc();\n wasm.__wbindgen_externrefs.set(idx, obj);\n return idx;\n}\n\nfunction _assertClass(instance, klass) {\n if (!(instance instanceof klass)) {\n throw new Error(`expected instance of ${klass.name}`);\n }\n}\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nfunction getArrayF32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\n\nfunction getArrayF64FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getFloat64ArrayMemory0().subarray(ptr / 8, ptr / 8 + len);\n}\n\nfunction getArrayJsValueFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n const mem = getDataViewMemory0();\n const result = [];\n for (let i = ptr; i < ptr + 4 * len; i += 4) {\n result.push(wasm.__wbindgen_externrefs.get(mem.getUint32(i, true)));\n }\n wasm.__externref_drop_slice(ptr, len);\n return result;\n}\n\nfunction getArrayU32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nlet cachedBigUint64ArrayMemory0 = null;\nfunction getBigUint64ArrayMemory0() {\n if (cachedBigUint64ArrayMemory0 === null || cachedBigUint64ArrayMemory0.byteLength === 0) {\n cachedBigUint64ArrayMemory0 = new BigUint64Array(wasm.memory.buffer);\n }\n return cachedBigUint64ArrayMemory0;\n}\n\nlet cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nlet cachedFloat32ArrayMemory0 = null;\nfunction getFloat32ArrayMemory0() {\n if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) {\n cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer);\n }\n return cachedFloat32ArrayMemory0;\n}\n\nlet cachedFloat64ArrayMemory0 = null;\nfunction getFloat64ArrayMemory0() {\n if (cachedFloat64ArrayMemory0 === null || cachedFloat64ArrayMemory0.byteLength === 0) {\n cachedFloat64ArrayMemory0 = new Float64Array(wasm.memory.buffer);\n }\n return cachedFloat64ArrayMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return decodeText(ptr >>> 0, len);\n}\n\nlet cachedUint32ArrayMemory0 = null;\nfunction getUint32ArrayMemory0() {\n if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {\n cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);\n }\n return cachedUint32ArrayMemory0;\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n const idx = addToExternrefTable0(e);\n wasm.__wbindgen_exn_store(idx);\n }\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction passArray32ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 4, 4) >>> 0;\n getUint32ArrayMemory0().set(arg, ptr / 4);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArray64ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 8, 8) >>> 0;\n getBigUint64ArrayMemory0().set(arg, ptr / 8);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArrayF32ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 4, 4) >>> 0;\n getFloat32ArrayMemory0().set(arg, ptr / 4);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArrayF64ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 8, 8) >>> 0;\n getFloat64ArrayMemory0().set(arg, ptr / 8);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArrayJsValueToWasm0(array, malloc) {\n const ptr = malloc(array.length * 4, 4) >>> 0;\n for (let i = 0; i < array.length; i++) {\n const add = addToExternrefTable0(array[i]);\n getDataViewMemory0().setUint32(ptr + 4 * i, add, true);\n }\n WASM_VECTOR_LEN = array.length;\n return ptr;\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nfunction takeFromExternrefTable0(idx) {\n const value = wasm.__wbindgen_externrefs.get(idx);\n wasm.__externref_table_dealloc(idx);\n return value;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n numBytesDecoded += len;\n if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n numBytesDecoded = len;\n }\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n };\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nlet wasmModule, wasmInstance, wasm;\nfunction __wbg_finalize_init(instance, module) {\n wasmInstance = instance;\n wasm = instance.exports;\n wasmModule = module;\n cachedBigUint64ArrayMemory0 = null;\n cachedDataViewMemory0 = null;\n cachedFloat32ArrayMemory0 = null;\n cachedFloat64ArrayMemory0 = null;\n cachedUint32ArrayMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n wasm.__wbindgen_start();\n return wasm;\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n } catch (e) {\n const validResponse = module.ok && expectedResponseType(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else { throw e; }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n } else {\n return instance;\n }\n }\n\n function expectedResponseType(type) {\n switch (type) {\n case 'basic': case 'cors': case 'default': return true;\n }\n return false;\n }\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (module !== undefined) {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n const instance = new WebAssembly.Instance(module, imports);\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (module_or_path !== undefined) {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (module_or_path === undefined) {\n module_or_path = new URL('navara_wasm_font_worker_bg.wasm?no-inline', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync, __wbg_init as default };\n","/// <reference lib=\"webworker\" />\n\nimport init, {\n type FontAtlas,\n FontCache,\n composite_key,\n type ShapeTextResult as WasmShapeTextResult,\n type WasmShapedGlyph,\n type WasmGlyphMetrics,\n} from \"@navaramap/engine-font-worker\";\n\nlet fontCache: FontCache;\n/** WASM linear memory, kept from init() for heap-size reporting. */\nlet wasmMemory: WebAssembly.Memory | undefined;\n\nasync function ensureWasm(): Promise<void> {\n if (!fontCache) {\n const output = await init();\n wasmMemory = output.memory;\n fontCache = new FontCache();\n }\n}\n\nfunction convertGlyphs(glyphs: WasmShapedGlyph[]) {\n return glyphs.map((g) => {\n const out = {\n glyphId: g.glyph_id,\n fontIndex: g.font_index,\n compositeKey: composite_key(g.font_index, g.glyph_id),\n xAdvance: g.x_advance,\n yAdvance: g.y_advance,\n xOffset: g.x_offset,\n yOffset: g.y_offset,\n charClass: g.char_class,\n };\n g.free();\n return out;\n });\n}\n\nfunction convertMetrics(metrics: WasmGlyphMetrics[]) {\n return metrics.map((m) => {\n const out = {\n glyphId: m.glyph_id,\n fontIndex: m.font_index,\n compositeKey: composite_key(m.font_index, m.glyph_id),\n atlasX: m.atlas_x,\n atlasY: m.atlas_y,\n atlasW: m.atlas_w,\n atlasH: m.atlas_h,\n bearingX: m.bearing_x,\n bearingY: m.bearing_y,\n isColor: m.is_color,\n };\n m.free();\n return out;\n });\n}\n\nfunction convertShapeResult(sr: WasmShapeTextResult | undefined) {\n if (!sr) return null;\n const result = {\n glyphs: convertGlyphs(sr.glyphs),\n metrics: convertMetrics(sr.metrics),\n unitsPerEm: sr.units_per_em,\n ascender: sr.ascender,\n descender: sr.descender,\n lineGap: sr.line_gap,\n };\n sr.free();\n return result;\n}\n\n/** Take a transferable snapshot of `atlas` and free the WASM-owned object. */\nfunction snapshot(atlas: FontAtlas | undefined) {\n if (!atlas) return null;\n const out = {\n data: atlas.data.buffer,\n width: atlas.width,\n height: atlas.height,\n channels: atlas.channels,\n };\n atlas.free();\n return out;\n}\n\ntype FontWorkerMessageType =\n | \"init\"\n | \"loadFont\"\n | \"unloadFont\"\n | \"prepareTextBatch\"\n | \"retainGlyphs\"\n | \"releaseGlyphs\"\n | \"getMemoryStats\";\n\nconst ctx = self as unknown as DedicatedWorkerGlobalScope;\n\nctx.onmessage = async (e: MessageEvent) => {\n const msg = e.data;\n const id: number = msg.id;\n const msgType: FontWorkerMessageType = msg.type;\n\n try {\n await ensureWasm();\n\n switch (msgType) {\n case \"init\": {\n // Used to await worker readiness; optionally delivers the memory\n // budget (font data + atlas pixels; caps further atlas growth).\n const fontBudgetBytes = (\n msg.payload as { fontBudgetBytes?: number } | undefined\n )?.fontBudgetBytes;\n fontCache.setBudget(fontBudgetBytes);\n ctx.postMessage({ id, type: \"result\", payload: null });\n break;\n }\n\n case \"getMemoryStats\": {\n const stats = fontCache.memoryStats();\n const payload = {\n heapBytes: wasmMemory?.buffer.byteLength ?? 0,\n fontCount: stats.fontCount,\n atlasCount: stats.atlasCount,\n glyphCount: stats.glyphCount,\n fontBytes: stats.fontBytes,\n atlasBytes: stats.atlasBytes,\n colorAtlasBytes: stats.colorAtlasBytes,\n budgetBytes: stats.budgetBytes === 0 ? undefined : stats.budgetBytes,\n };\n stats.free();\n ctx.postMessage({ id, type: \"result\", payload });\n break;\n }\n\n case \"loadFont\": {\n const { url, data, atlasKey, highQuality } = msg.payload as {\n url: string;\n data: ArrayBuffer;\n atlasKey?: string;\n highQuality: boolean;\n };\n const bytes = new Uint8Array(data);\n // Map TS quality → WASM mode string. `false` is treated as the SDF\n // path by the Rust side (see `wasm_load_font`).\n const mode = highQuality ? \"msdf\" : \"sdf\";\n // On success the worker returns the font's cmap coverage as\n // flattened [from, to, ...] ranges so the FontManager can correct a\n // face's declared unicode ranges once per file.\n const wasmRanges =\n fontCache.loadFont(\n url,\n bytes.length,\n (buf: Uint8Array) => {\n buf.set(bytes);\n },\n atlasKey,\n mode,\n ) ?? null;\n // Copy before transferring: if the returned array is a view into\n // WASM memory, transferring its buffer would detach the whole heap.\n const cmapRanges = wasmRanges ? new Uint32Array(wasmRanges) : null;\n ctx.postMessage(\n {\n id,\n type: \"result\",\n payload: { ok: cmapRanges !== null, cmapRanges },\n },\n cmapRanges ? [cmapRanges.buffer] : [],\n );\n break;\n }\n\n case \"unloadFont\": {\n const { url } = msg.payload as { url: string };\n const ok = fontCache.unloadFont(url);\n ctx.postMessage({ id, type: \"result\", payload: { ok } });\n break;\n }\n\n case \"prepareTextBatch\": {\n const { fontUrl, texts } = msg.payload as {\n fontUrl: string;\n texts: string[];\n };\n\n let sdfAtlasChanged = false;\n let colorAtlasChanged = false;\n let evicted = false;\n const results = texts.map((text) => {\n const sr = fontCache.shapeText(fontUrl, text);\n if (sr?.atlas_changed) {\n if (sr.is_color) colorAtlasChanged = true;\n else sdfAtlasChanged = true;\n }\n // Read `evicted` before convertShapeResult frees the WASM result.\n if (sr?.evicted) evicted = true;\n return { text, shapeResult: convertShapeResult(sr) };\n });\n\n // Snapshot atlases by atlas key (family name or URL) so shared atlases\n // are returned correctly for font-family faces.\n const atlasKey = fontCache.getAtlasKey(fontUrl) ?? fontUrl;\n const atlas = sdfAtlasChanged\n ? snapshot(fontCache.getFontAtlas(atlasKey))\n : null;\n const colorAtlas = colorAtlasChanged\n ? snapshot(fontCache.getColorAtlas(atlasKey))\n : null;\n\n const transfers: Transferable[] = [];\n if (atlas) transfers.push(atlas.data);\n if (colorAtlas) transfers.push(colorAtlas.data);\n ctx.postMessage(\n {\n id,\n type: \"result\",\n payload: { results, atlas, colorAtlas, atlasKey, evicted },\n },\n transfers,\n );\n break;\n }\n\n case \"retainGlyphs\":\n case \"releaseGlyphs\": {\n const { atlasKey, keys } = msg.payload as {\n atlasKey: string;\n keys: BigUint64Array;\n };\n if (msgType === \"retainGlyphs\") {\n fontCache.retainGlyphs(atlasKey, keys);\n } else {\n fontCache.releaseGlyphs(atlasKey, keys);\n }\n ctx.postMessage({ id, type: \"result\", payload: null });\n break;\n }\n\n default: {\n ctx.postMessage({\n id,\n type: \"error\",\n payload: { message: `Unknown message type: ${msgType}` },\n });\n break;\n }\n }\n } catch (err) {\n ctx.postMessage({\n id,\n type: \"error\",\n payload: { message: String(err) },\n });\n }\n};\n"],"mappings":"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"}