isard 1.5.0 → 1.7.0

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 (159) hide show
  1. package/CHANGELOG.md +213 -1
  2. package/README.md +3 -2
  3. package/dist/basemap/furniture.d.ts +26 -0
  4. package/dist/basemap/furniture.js +95 -0
  5. package/dist/basemap/furniture.js.map +1 -0
  6. package/dist/basemap/meshes.d.ts +21 -0
  7. package/dist/basemap/meshes.js +159 -0
  8. package/dist/basemap/meshes.js.map +1 -0
  9. package/dist/basemap/placed.d.ts +13 -0
  10. package/dist/basemap/placed.js +14 -0
  11. package/dist/basemap/placed.js.map +1 -0
  12. package/dist/basemap/trees.d.ts +25 -8
  13. package/dist/basemap/trees.js +77 -105
  14. package/dist/basemap/trees.js.map +1 -1
  15. package/dist/basemap/vectorstyle.d.ts +9 -3
  16. package/dist/basemap/vectorstyle.js +5 -6
  17. package/dist/basemap/vectorstyle.js.map +1 -1
  18. package/dist/basemap/vectortiles/context.d.ts +7 -2
  19. package/dist/basemap/vectortiles/context.js.map +1 -1
  20. package/dist/basemap/vectortiles/extrusions.d.ts +4 -0
  21. package/dist/basemap/vectortiles/extrusions.js +9 -3
  22. package/dist/basemap/vectortiles/extrusions.js.map +1 -1
  23. package/dist/basemap/vectortiles/furniture.d.ts +19 -0
  24. package/dist/basemap/vectortiles/furniture.js +29 -0
  25. package/dist/basemap/vectortiles/furniture.js.map +1 -0
  26. package/dist/basemap/vectortiles/labels.d.ts +3 -0
  27. package/dist/basemap/vectortiles/labels.js +50 -18
  28. package/dist/basemap/vectortiles/labels.js.map +1 -1
  29. package/dist/basemap/vectortiles/lamps.d.ts +23 -0
  30. package/dist/basemap/vectortiles/lamps.js +25 -0
  31. package/dist/basemap/vectortiles/lamps.js.map +1 -0
  32. package/dist/basemap/vectortiles/placed.d.ts +38 -0
  33. package/dist/basemap/vectortiles/placed.js +143 -0
  34. package/dist/basemap/vectortiles/placed.js.map +1 -0
  35. package/dist/basemap/vectortiles/requests.d.ts +4 -0
  36. package/dist/basemap/vectortiles/requests.js +15 -2
  37. package/dist/basemap/vectortiles/requests.js.map +1 -1
  38. package/dist/basemap/vectortiles/street-wind.js +4 -6
  39. package/dist/basemap/vectortiles/street-wind.js.map +1 -1
  40. package/dist/basemap/vectortiles/trees.d.ts +2 -0
  41. package/dist/basemap/vectortiles/trees.js +40 -86
  42. package/dist/basemap/vectortiles/trees.js.map +1 -1
  43. package/dist/basemap/vectortiles/vectors.d.ts +16 -0
  44. package/dist/basemap/vectortiles/vectors.js +76 -11
  45. package/dist/basemap/vectortiles/vectors.js.map +1 -1
  46. package/dist/basemap/vectortiles.d.ts +37 -7
  47. package/dist/basemap/vectortiles.js +78 -17
  48. package/dist/basemap/vectortiles.js.map +1 -1
  49. package/dist/basemap/wmts.js +2 -2
  50. package/dist/basemap/wmts.js.map +1 -1
  51. package/dist/basemap.worker.js +2 -2
  52. package/dist/basemap.worker.js.map +19 -13
  53. package/dist/bind/layers.js +1 -0
  54. package/dist/bind/layers.js.map +1 -1
  55. package/dist/data/collada.d.ts +19 -0
  56. package/dist/data/collada.js +305 -0
  57. package/dist/data/collada.js.map +1 -0
  58. package/dist/data/crs.js +1 -1
  59. package/dist/data/crs.js.map +1 -1
  60. package/dist/data/ifc.d.ts +100 -0
  61. package/dist/data/ifc.js +371 -0
  62. package/dist/data/ifc.js.map +1 -0
  63. package/dist/decoder.worker.js +5 -5
  64. package/dist/decoder.worker.js.map +3 -3
  65. package/dist/formats.d.ts +7 -2
  66. package/dist/formats.js +7 -2
  67. package/dist/formats.js.map +1 -1
  68. package/dist/geoplateforme.d.ts +14 -2
  69. package/dist/geoplateforme.js +24 -2
  70. package/dist/geoplateforme.js.map +1 -1
  71. package/dist/index.d.ts +11 -3
  72. package/dist/index.js +8 -3
  73. package/dist/index.js.map +1 -1
  74. package/dist/isard_bg.wasm +0 -0
  75. package/dist/isard_core_bg.wasm +0 -0
  76. package/dist/isard_grid_bg.wasm +0 -0
  77. package/dist/isard_tess_bg.wasm +0 -0
  78. package/dist/layers/extrusions.d.ts +10 -0
  79. package/dist/layers/extrusions.js +33 -6
  80. package/dist/layers/extrusions.js.map +1 -1
  81. package/dist/layers/features.d.ts +0 -2
  82. package/dist/layers/features.js +5 -6
  83. package/dist/layers/features.js.map +1 -1
  84. package/dist/layers/layers.d.ts +14 -0
  85. package/dist/layers/layers.js +55 -1
  86. package/dist/layers/layers.js.map +1 -1
  87. package/dist/layers/panoramas.d.ts +32 -10
  88. package/dist/layers/panoramas.js +55 -28
  89. package/dist/layers/panoramas.js.map +1 -1
  90. package/dist/layers/photos.d.ts +48 -0
  91. package/dist/layers/photos.js +139 -0
  92. package/dist/layers/photos.js.map +1 -0
  93. package/dist/layers/symbols.d.ts +5 -1
  94. package/dist/layers/symbols.js +111 -32
  95. package/dist/layers/symbols.js.map +1 -1
  96. package/dist/layers/trees.d.ts +28 -0
  97. package/dist/layers/trees.js +51 -0
  98. package/dist/layers/trees.js.map +1 -0
  99. package/dist/layers/vectors.d.ts +29 -2
  100. package/dist/layers/vectors.js +98 -9
  101. package/dist/layers/vectors.js.map +1 -1
  102. package/dist/map/frame-loop.d.ts +2 -0
  103. package/dist/map/frame-loop.js +3 -3
  104. package/dist/map/frame-loop.js.map +1 -1
  105. package/dist/map/layer-spec.d.ts +3 -0
  106. package/dist/map/layer-spec.js +2 -0
  107. package/dist/map/layer-spec.js.map +1 -1
  108. package/dist/map.d.ts +8 -0
  109. package/dist/map.js +32 -2
  110. package/dist/map.js.map +1 -1
  111. package/dist/panoramax.d.ts +55 -0
  112. package/dist/panoramax.js +97 -0
  113. package/dist/panoramax.js.map +1 -0
  114. package/dist/react/Layer.d.ts +1 -0
  115. package/dist/react/Layer.js.map +1 -1
  116. package/dist/react/VectorGeometry.d.ts +22 -8
  117. package/dist/react/VectorGeometry.js +36 -14
  118. package/dist/react/VectorGeometry.js.map +1 -1
  119. package/dist/react/VectorTiles.d.ts +65 -0
  120. package/dist/react/VectorTiles.js +112 -0
  121. package/dist/react/VectorTiles.js.map +1 -0
  122. package/dist/react/context.d.ts +9 -0
  123. package/dist/react/context.js +32 -0
  124. package/dist/react/context.js.map +1 -1
  125. package/dist/react/index.d.ts +7 -1
  126. package/dist/react/index.js +7 -1
  127. package/dist/react/index.js.map +1 -1
  128. package/dist/types.d.ts +2 -0
  129. package/dist/types.js.map +1 -1
  130. package/dist/util/geo.d.ts +8 -0
  131. package/dist/util/geo.js +8 -0
  132. package/dist/util/geo.js.map +1 -1
  133. package/dist/util/gltf.d.ts +26 -0
  134. package/dist/util/gltf.js +52 -0
  135. package/dist/util/gltf.js.map +1 -0
  136. package/dist/util/roofs.d.ts +18 -0
  137. package/dist/util/roofs.js +44 -0
  138. package/dist/util/roofs.js.map +1 -0
  139. package/dist/util/style-floats.d.ts +33 -0
  140. package/dist/util/style-floats.js +34 -0
  141. package/dist/util/style-floats.js.map +1 -0
  142. package/dist/util/sun.js +1 -1
  143. package/dist/util/sun.js.map +1 -1
  144. package/dist/wasm/isard.d.ts +56 -17
  145. package/dist/wasm/isard.js +128 -18
  146. package/dist/wasm/isard_core.d.ts +44 -17
  147. package/dist/wasm/isard_core.js +104 -18
  148. package/dist/wasm/isard_tess.d.ts +6 -3
  149. package/dist/wasm/isard_tess.js +27 -4
  150. package/dist/workers/basemap/furniture.d.ts +13 -0
  151. package/dist/workers/basemap/geometry.d.ts +35 -22
  152. package/dist/workers/basemap/labels.d.ts +18 -2
  153. package/dist/workers/basemap/lamps.d.ts +10 -0
  154. package/dist/workers/basemap/tiles.d.ts +2 -0
  155. package/dist/workers/basemap/trees.d.ts +6 -1
  156. package/dist/workers/basemap.worker.d.ts +58 -2
  157. package/dist/workers/basemap.worker.js +26 -3
  158. package/dist/workers/basemap.worker.js.map +1 -1
  159. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ifc.js","sourceRoot":"","sources":["../../src/data/ifc.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * IFC models (the BIM tools' own format: Revit, ArchiCAD, Tekla, Allplan, Bonsai…) read by web-ifc (ThatOpen,\n * MPL-2.0) in a worker of their own, web-ifc fetched on first use from a CDN (or a folder of yours): the model's\n * storeys and elements at once, each storey's geometry when asked (a glTF binary for `map.addModels({ data })`, each\n * element a feature of it, picked by the map: `hit.index` is the element's), the elements' properties on demand, and\n * where the model stands (its map conversion in a projected CRS, else its site's latitude and longitude).\n */\n\nimport { METRES_PER_DEGREE } from '../util/geo.ts';\nimport { bounds, bufferBuilder, glbOf } from '../util/gltf.ts';\nimport { getCrs } from './crs.ts';\n\n/** web-ifc's build used by default: its module (`web-ifc-api.js`) and its WebAssembly (`web-ifc.wasm`) */\nexport const WEB_IFC = 'https://cdn.jsdelivr.net/npm/web-ifc@0.0.78/';\n\nexport interface IfcOptions {\n /** Folder of `web-ifc-api.js` and `web-ifc.wasm` (ending with `/`; `WEB_IFC` by default): self-host them for offline\n * or locked-down networks. The worker imports the module from a `blob:` URL: a Content Security Policy needs\n * `blob:` in `worker-src` */\n webIfc?: string;\n /** Request options of the file's fetch (headers of a private source) */\n init?: RequestInit;\n}\n\n/** An element of the model (a wall, a slab, a window, a stair…) */\nexport interface IfcElement {\n /** Its IFC id (STEP line number) */\n id: number;\n /** Its IFC class (`IfcWall`, `IfcSlab`, `IfcWindow`…) */\n type: string;\n name: string;\n /** Its storey in `IfcModel.storeys` */\n storey: number;\n}\n\n/** A storey of the model: its elements, its geometry when asked */\nexport interface IfcStorey {\n id: number;\n name: string;\n /** Metres above the model's origin */\n elevation: number;\n /** Its elements (`IfcModel.elements`' indices) */\n elements: number[];\n /**\n * Its elements' geometry as a glTF binary (their features: `IfcModel.elements`' indices) in the model's frame: y up,\n * its north toward +z (`IfcModel.place.heading` turns it), its origin at the model's; meshed in the worker on the\n * first call (a large model's storeys one at a time, those in view only)\n */\n load(): Promise<Uint8Array<ArrayBuffer>>;\n}\n\n/** An element's properties: its attributes, then its property and quantity sets, by name */\nexport type IfcProperties = Record<string, Record<string, string | number | boolean | null>>;\n\n/** Where a model stands: its origin's position and height, the way its north faces */\nexport interface IfcPlace {\n lonLat: [number, number];\n /** Metres above the sea (its map conversion's height, its site's `RefElevation`) */\n elevation: number;\n /** Degrees clockwise from the north of the model's north (an instance's `heading`) */\n heading: number;\n /** How it is known: its map conversion (exact, `crs` its projected CRS), or its site's latitude and longitude */\n from: 'map' | 'site';\n crs?: string;\n}\n\nexport interface IfcModel {\n /** Its storeys from the lowest up, elements outside any storey (the site's) in one of their own at the start */\n storeys: IfcStorey[];\n /** Its elements, the features of the storeys' models */\n elements: IfcElement[];\n /** Where it stands, if the file says (`IfcMapConversion` in a CRS isard knows, else `IfcSite`'s position) */\n place?: IfcPlace;\n /** An element's properties, read from the file kept open in the worker */\n properties(element: number): Promise<IfcProperties>;\n /** Closes the file and its worker */\n close(): void;\n}\n\n/**\n * The worker's code: web-ifc imported from `base`, the file opened; its storeys, its elements (the spatial structure's\n * products) and what places it (its map conversion, its site, its true north) given at once, a storey's meshes when\n * asked (positions put in the model's frame, colors), the properties asked for\n */\nconst WORKER = `\nlet api, model, W;\nconst text = (v) => (v && typeof v.value !== 'undefined' ? v.value : null);\nconst degrees = (v) => {\n const parts = text(v);\n if (!Array.isArray(parts)) return undefined;\n const [d = 0, m = 0, s = 0, u = 0] = parts.map((p) => text(p) ?? p);\n return d + m / 60 + s / 3600 + u / 3600e6;\n};\nconst plain = (line) => Object.fromEntries(\n Object.entries(line ?? {})\n // Values, not references to other lines (type 5) nor lists\n .filter(([k, v]) => v && typeof v === 'object' && 'value' in v && v.type !== 5 && typeof v.value !== 'object' && k !== 'expressID')\n .map(([k, v]) => [k, v.value]),\n);\nconst ids = (type) => { const v = api.GetLineIDsWithType(model, type); return Array.from({ length: v.size() }, (_, i) => v.get(i)); };\nconst line = (ref) => (ref && ref.value !== undefined ? api.GetLine(model, ref.value) : undefined);\n// The spatial structure's containers, and the products drawn by no element of their own (the site is one when it has\n// a shape: its terrain)\nconst SPATIAL = new Set(['IFCPROJECT', 'IFCBUILDING', 'IFCBUILDINGSTOREY', 'IFCSPACE', 'IFCOPENINGELEMENT']);\nconst PREFIXES = { EXA: 1e18, PETA: 1e15, TERA: 1e12, GIGA: 1e9, MEGA: 1e6, KILO: 1e3, HECTO: 100, DECA: 10, DECI: 0.1, CENTI: 0.01, MILLI: 0.001, MICRO: 1e-6 };\n/** Metres per length unit of the project */\nconst unitScale = () => {\n const project = ids(W.IFCPROJECT).map((id) => api.GetLine(model, id))[0];\n const units = line(project?.UnitsInContext)?.Units ?? [];\n for (const ref of units) {\n const unit = line(ref);\n if (text(unit?.UnitType) !== 'LENGTHUNIT') continue;\n if (unit.Prefix !== undefined || text(unit.Name) === 'METRE') return PREFIXES[text(unit.Prefix)] ?? 1;\n // A conversion-based unit (the foot): its factor, in metres when its unit is\n const factor = line(unit.ConversionFactor);\n const value = Number(text(factor?.ValueComponent) ?? NaN);\n if (Number.isFinite(value)) return value * (PREFIXES[text(line(factor?.UnitComponent)?.Prefix)] ?? 1);\n }\n return 1;\n};\nonmessage = async ({ data }) => {\n try {\n if (data.type === 'open') {\n W = await import(data.base + 'web-ifc-api.js');\n api = new W.IfcAPI();\n api.SetWasmPath(data.base, true);\n await api.Init();\n model = api.OpenModel(new Uint8Array(data.bytes), { COORDINATE_TO_ORIGIN: true });\n const unit = unitScale();\n const storeys = ids(W.IFCBUILDINGSTOREY).map((id) => {\n const l = api.GetLine(model, id);\n return { id, name: text(l.Name) ?? '', elevation: Number(text(l.Elevation) ?? 0) * unit };\n });\n // The products of the spatial structure and their storeys\n const elements = [];\n const walk = (node, storey) => {\n const type = String(node.type);\n const here = type.toUpperCase() === 'IFCBUILDINGSTOREY' ? node.expressID : storey;\n const drawn = type.toUpperCase() !== 'IFCSITE' || api.GetLine(model, node.expressID)?.Representation;\n if (!SPATIAL.has(type.toUpperCase()) && drawn) {\n elements.push({ id: node.expressID, type, name: text(api.GetLine(model, node.expressID)?.Name) ?? '', storey: here ?? -1 });\n }\n (node.children ?? []).forEach((c) => walk(c, here));\n };\n walk(await api.properties.getSpatialStructure(model), undefined);\n // What places it: the shift web-ifc made to bring it near the origin (metres, its y-up frame), the map\n // conversion and its CRS, the site's latitude and longitude, the true north\n const shift = api.GetCoordinationMatrix(model).slice(12, 15);\n const conversion = ids(W.IFCMAPCONVERSION).map((id) => api.GetLine(model, id))[0];\n const site = ids(W.IFCSITE).map((id) => api.GetLine(model, id))[0];\n const north = ids(W.IFCGEOMETRICREPRESENTATIONCONTEXT)\n .map((id) => line(api.GetLine(model, id).TrueNorth))\n .find((d) => d)?.DirectionRatios?.map((r) => text(r) ?? r);\n const [lat, lon] = [degrees(site?.RefLatitude), degrees(site?.RefLongitude)];\n postMessage({\n type: 'model',\n storeys,\n elements,\n place: {\n shift,\n unit,\n ...(conversion && {\n map: ['Eastings', 'Northings', 'OrthogonalHeight', 'XAxisAbscissa', 'XAxisOrdinate', 'Scale'].map((k) => Number(text(conversion[k]) ?? (k === 'Scale' || k === 'XAxisAbscissa' ? 1 : 0))),\n crs: text(line(conversion.TargetCRS)?.Name),\n }),\n ...(lat !== undefined && lon !== undefined && { site: [lon, lat, Number(text(site.RefElevation) ?? 0) * unit] }),\n ...(north && { north }),\n },\n });\n } else if (data.type === 'storey') {\n const parts = [];\n const feature = new Map(data.ids.map((id, i) => [id, data.features[i]]));\n // web-ifc 0.0.78's browser build takes three arguments where its API passes four: called directly then\n const stream = (callback) => {\n try {\n api.StreamMeshes(model, data.ids, callback);\n } catch (error) {\n if (!/arguments/.test(String(error))) throw error;\n api.wasmModule.StreamMeshes(model, data.ids, callback);\n }\n };\n stream((mesh) => {\n for (let i = 0; i < mesh.geometries.size(); i++) {\n const placed = mesh.geometries.get(i);\n const geometry = api.GetGeometry(model, placed.geometryExpressID);\n const v = api.GetVertexArray(geometry.GetVertexData(), geometry.GetVertexDataSize());\n const indices = api.GetIndexArray(geometry.GetIndexData(), geometry.GetIndexDataSize()).slice();\n const m = placed.flatTransformation;\n const positions = new Float32Array((v.length / 6) * 3);\n for (let k = 0, p = 0; k < v.length; k += 6, p += 3) {\n const [x, y, z] = [v[k], v[k + 1], v[k + 2]];\n // Turned half a turn round y: the model's north (-z of web-ifc's y-up frame) toward +z, glTF's front\n positions[p] = -(m[0] * x + m[4] * y + m[8] * z + m[12]);\n positions[p + 1] = m[1] * x + m[5] * y + m[9] * z + m[13];\n positions[p + 2] = -(m[2] * x + m[6] * y + m[10] * z + m[14]);\n }\n const c = placed.color;\n parts.push({ feature: feature.get(mesh.expressID) ?? 0, color: [c.x, c.y, c.z, c.w], positions, indices });\n geometry.delete();\n }\n });\n postMessage({ type: 'storey', request: data.request, parts }, parts.flatMap((p) => [p.positions.buffer, p.indices.buffer]));\n } else if (data.type === 'properties') {\n const properties = { Attributes: plain(api.GetLine(model, data.id)) };\n const sets = await api.properties.getPropertySets(model, data.id, true);\n for (const set of sets) {\n const values = {};\n for (const p of [...(set.HasProperties ?? []), ...(set.Quantities ?? [])]) {\n const name = text(p.Name);\n if (!name) continue;\n const value = p.NominalValue ?? p.LengthValue ?? p.AreaValue ?? p.VolumeValue ?? p.CountValue ?? p.WeightValue;\n values[name] = text(value);\n }\n properties[text(set.Name) ?? 'Set ' + set.expressID] = values;\n }\n postMessage({ type: 'properties', request: data.request, properties });\n }\n } catch (error) {\n postMessage({ type: 'error', request: data.request, message: String(error?.message ?? error) });\n }\n};\n`;\n\n/** A part of the model: an element's geometry in one color */\ninterface Part {\n feature: number;\n color: [number, number, number, number];\n positions: Float32Array;\n indices: Uint32Array;\n}\n\n/** A storey's parts as a glTF binary: a primitive per color, each vertex its element (`_BATCHID`) */\nexport const storeyModel = (parts: readonly Part[]): Uint8Array<ArrayBuffer> => {\n const byColor = new Map<string, Part[]>();\n\n parts.forEach((p) => {\n const key = p.color.map((c) => c.toFixed(3)).join(',');\n\n byColor.set(key, [...(byColor.get(key) ?? []), p]);\n });\n\n const { views, append, bin: buffer } = bufferBuilder();\n const accessors: Record<string, unknown>[] = [];\n const groups = [...byColor.values()];\n const primitives = groups.map((group, material) => {\n const count = group.reduce((n, p) => n + p.positions.length / 3, 0);\n const positions = new Float32Array(count * 3);\n const features = new Float32Array(count);\n const indices = new Uint32Array(group.reduce((n, p) => n + p.indices.length, 0));\n let [vertex, index] = [0, 0];\n\n group.forEach((p) => {\n positions.set(p.positions, vertex * 3);\n features.fill(p.feature, vertex, vertex + p.positions.length / 3);\n p.indices.forEach((i, k) => {\n indices[index + k] = i + vertex;\n });\n vertex += p.positions.length / 3;\n index += p.indices.length;\n });\n accessors.push(\n {\n bufferView: append(new Uint8Array(positions.buffer), 34962),\n componentType: 5126,\n count,\n type: 'VEC3',\n ...bounds([...positions]),\n },\n { bufferView: append(new Uint8Array(features.buffer), 34962), componentType: 5126, count, type: 'SCALAR' },\n {\n bufferView: append(new Uint8Array(indices.buffer), 34963),\n componentType: 5125,\n count: indices.length,\n type: 'SCALAR',\n },\n );\n\n const at = accessors.length - 3;\n\n return { attributes: { POSITION: at, _BATCHID: at + 1 }, indices: at + 2, material };\n });\n const bin = buffer();\n\n return glbOf(\n {\n asset: { version: '2.0', generator: 'isard (IFC)' },\n scene: 0,\n scenes: [{ nodes: [0] }],\n nodes: [{ mesh: 0 }],\n meshes: [{ primitives }],\n materials: groups.map((group) => {\n const color = group[0]?.color ?? [0.8, 0.8, 0.8, 1];\n\n return {\n pbrMetallicRoughness: { baseColorFactor: color, metallicFactor: 0, roughnessFactor: 1 },\n ...(color[3] < 1 && { alphaMode: 'BLEND' }),\n doubleSided: true,\n };\n }),\n accessors,\n bufferViews: views,\n buffers: [{ byteLength: bin.byteLength }],\n },\n bin,\n );\n};\n\n/** What places a model, as the worker reads it: web-ifc's shift of it (metres, its y-up frame), its project's metres\n * per unit, its map conversion (eastings, northings, height, x axis' abscissa and ordinate, scale) and its CRS, its\n * site's longitude, latitude and elevation, its true north (in its plan) */\nexport interface IfcPlacing {\n shift: number[];\n unit: number;\n map?: number[];\n crs?: string | null;\n site?: [number, number, number];\n north?: number[];\n}\n\n/** Degrees clockwise from the north of the true north to (x, y) in a plan whose y would be north */\nconst bearingOf = (x: number, y: number): number => (Math.atan2(x, y) * 180) / Math.PI;\n\n/**\n * Where a model's origin (its glTF's) stands: by its map conversion when its CRS is known (the origin in the file's\n * frame, before web-ifc's shift, taken to the map's eastings and northings, then to longitude and latitude; its north\n * turned by the conversion's x axis and the grid's convergence there), else by its site's latitude and longitude\n * turned by its true north\n */\nexport const placeIfc = ({ shift, unit, map, crs, site, north }: IfcPlacing): IfcPlace | undefined => {\n // The origin in the file's frame (metres, z up): web-ifc's y-up shift undone\n const [sx = 0, sy = 0, sz = 0] = shift;\n const [x, y, z] = [-sx, sz, -sy];\n\n if (map && crs) {\n const projection = (() => {\n try {\n return getCrs(crs);\n } catch {\n return undefined;\n }\n })();\n const [e = 0, n = 0, h = 0, ax = 1, ay = 0, scale = 1] = map;\n\n if (projection) {\n const length = Math.hypot(ax, ay) || 1;\n const [a, b] = [ax / length, ay / length];\n // The conversion's scale takes the project's units to the map's; the geometry is in metres already\n const k = scale / unit;\n const [east, northing] = [e + k * (a * x - b * y), n + k * (b * x + a * y)];\n const [lon = 0, lat = 0] = projection.inverse([east, northing]);\n const [lon2 = 0, lat2 = 0] = projection.inverse([east, northing + 100]);\n // The grid's north from the true north there, and the file's north (its y) from the grid's\n const convergence = bearingOf((lon2 - lon) * Math.cos((lat * Math.PI) / 180), lat2 - lat);\n\n return {\n lonLat: [lon, lat],\n elevation: h + k * z,\n heading: bearingOf(-b, a) + convergence,\n from: 'map',\n crs,\n };\n }\n }\n if (!site) return undefined;\n\n // The true north in the plan: the plan's y turned from it the other way\n const [nx = 0, ny = 1] = north ?? [];\n const heading = -bearingOf(nx, ny);\n const [lon, lat, elevation] = site;\n // The origin's offset from the site's (metres, the plan turned to the north)\n const turn = (heading * Math.PI) / 180;\n const [east, northing] = [x * Math.cos(turn) + y * Math.sin(turn), -x * Math.sin(turn) + y * Math.cos(turn)];\n\n return {\n lonLat: [lon + east / (METRES_PER_DEGREE * Math.cos((lat * Math.PI) / 180)), lat + northing / METRES_PER_DEGREE],\n elevation: elevation + z,\n heading,\n from: 'site',\n };\n};\n\n/** The answer of the worker to a message */\ntype Answer =\n | { type: 'model'; storeys: Omit<IfcStorey, 'elements' | 'load'>[]; elements: IfcElement[]; place: IfcPlacing }\n | { type: 'storey'; request: number; parts: Part[] }\n | { type: 'properties'; request: number; properties: IfcProperties }\n | { type: 'error'; request?: number; message: string };\n\n/**\n * An IFC file (its URL, or its bytes) opened by web-ifc in a worker: its storeys and elements, each storey's geometry\n * when asked, the elements' properties on demand, where it stands\n */\nexport const loadIfc = async (source: string | ArrayBuffer, options: IfcOptions = {}): Promise<IfcModel> => {\n const bytes =\n typeof source === 'string'\n ? await fetch(source, options.init).then((r) => {\n if (!r.ok) throw new Error(`isard: ${source}: ${r.status}`);\n\n return r.arrayBuffer();\n })\n : source;\n const script = URL.createObjectURL(new Blob([WORKER], { type: 'text/javascript' }));\n const worker = new Worker(script, { type: 'module' });\n /** The answers awaited, by request */\n const pending = new Map<number, { resolve: (answer: Answer) => void; reject: (e: Error) => void }>();\n let request = 0;\n const ask = <A extends Answer>(message: Record<string, unknown>): Promise<A> =>\n new Promise((resolve, reject) => {\n request += 1;\n pending.set(request, { resolve: (answer) => resolve(answer as A), reject });\n worker.postMessage({ ...message, request });\n });\n\n URL.revokeObjectURL(script);\n\n const opened = await new Promise<Extract<Answer, { type: 'model' }>>((resolve, reject) => {\n // The worker failing: the model not opened, or (once it is) every answer awaited\n const fail = (error: Error) => {\n reject(error);\n pending.forEach((waiting) => {\n waiting.reject(error);\n });\n pending.clear();\n };\n\n worker.onmessage = ({ data }: MessageEvent<Answer>) => {\n if (data.type === 'model') resolve(data);\n else if (data.request === undefined) fail(new Error(`isard: IFC: ${data.type === 'error' ? data.message : ''}`));\n else {\n const waiting = pending.get(data.request);\n\n pending.delete(data.request);\n if (data.type === 'error') waiting?.reject(new Error(`isard: IFC: ${data.message}`));\n else waiting?.resolve(data);\n }\n };\n worker.onerror = (e) => {\n fail(new Error(`isard: IFC worker: ${e.message}`));\n };\n worker.postMessage({ type: 'open', base: options.webIfc ?? WEB_IFC, bytes }, [bytes]);\n }).catch((error: unknown) => {\n worker.terminate();\n throw error;\n });\n\n // The storeys holding elements from the lowest up, the elements outside any in one of their own first (at the\n // lowest storey's elevation)\n const used = new Set(opened.elements.map((e) => e.storey));\n const sorted = opened.storeys.filter((s) => used.has(s.id)).sort((a, b) => a.elevation - b.elevation);\n const outside = opened.elements.some((e) => !sorted.some((s) => s.id === e.storey));\n const list = [...(outside ? [{ id: -1, name: 'Site', elevation: sorted[0]?.elevation ?? 0 }] : []), ...sorted];\n const storeyIndex = new Map(list.map((s, i) => [s.id, i]));\n const elements: IfcElement[] = opened.elements.map((e) => ({ ...e, storey: storeyIndex.get(e.storey) ?? 0 }));\n const storeys: IfcStorey[] = list.map((s, i) => {\n const members = elements.flatMap((e, k) => (e.storey === i ? [k] : []));\n let loaded: Promise<Uint8Array<ArrayBuffer>> | undefined;\n\n return {\n ...s,\n elements: members,\n load: () => {\n loaded ??= ask<Extract<Answer, { type: 'storey' }>>({\n type: 'storey',\n ids: members.map((k) => elements[k]?.id ?? 0),\n features: members,\n }).then(({ parts }) => storeyModel(parts));\n\n return loaded;\n },\n };\n });\n const place = placeIfc(opened.place);\n\n return {\n storeys,\n elements,\n ...(place && { place }),\n properties: (element: number) => {\n const id = elements[element]?.id;\n\n if (id === undefined) return Promise.reject(new Error(`isard: IFC: no element ${element}`));\n\n return ask<Extract<Answer, { type: 'properties' }>>({ type: 'properties', id }).then((a) => a.properties);\n },\n close: () => {\n worker.terminate();\n pending.forEach(({ reject }) => {\n reject(new Error('isard: IFC model closed'));\n });\n pending.clear();\n },\n };\n};\n"]}
@@ -1,7 +1,7 @@
1
- var Pe=(r)=>typeof r==="object"&&r!==null&&!Array.isArray(r);var Ee={draco:"https://www.gstatic.com/draco/versioned/decoders/1.5.7/",basis:"https://cdn.jsdelivr.net/npm/three@0.170.0/examples/jsm/libs/basis/"},gt=async(r,e)=>{let t=await(await fetch(r)).text(),n=URL.createObjectURL(new Blob([`${t}
2
- export default ${e};`],{type:"text/javascript"}));try{let _=await import(n);if(Pe(_)&&typeof _.default==="function")return _.default}catch{}finally{URL.revokeObjectURL(n)}return Function(`${t}
3
- return ${e};`)()},we=async(r,e,t,n)=>{let[_,c]=await Promise.all([gt(`${r}${e}`,n),fetch(`${r}${t}`).then((i)=>i.arrayBuffer())]);return _({wasmBinary:c})},De,Me,Re,Le=async(r,e)=>{let t=e.some((c)=>!c.points);if(t)De??=we(r.draco,"draco_wasm_wrapper_gltf.js","draco_decoder_gltf.wasm","DracoDecoderModule");if(e.some((c)=>c.points))Me??=we(r.draco,"draco_wasm_wrapper.js","draco_decoder.wasm","DracoDecoderModule");let[n,_]=await Promise.all([t?De:void 0,Me]);return e.map((c)=>{let i=c.points?_:n;if(!i)throw Error("isard: the Draco decoder is not loaded");let a=new i.Decoder,f=c.points?new i.PointCloud:new i.Mesh;try{let b=new Int8Array(c.data.buffer,c.data.byteOffset,c.data.byteLength),u=c.points?a.DecodeArrayToPointCloud(b,b.byteLength,f):a.DecodeArrayToMesh(b,b.byteLength,f);if(!u.ok())throw Error(`Draco: ${u.error_msg()}`);let d=(v)=>{let D=a.GetAttributeByUniqueId(f,v),S=f.num_points()*D.num_components(),E=i._malloc(S*4);try{return a.GetAttributeDataArrayForAllPoints(f,D,i.DT_FLOAT32,S*4,E),i.HEAPF32.slice(E/4,E/4+S)}finally{i._free(E)}};if(c.points){let v={mesh:c.mesh,primitive:c.primitive,positions:d(c.position)};if(c.color!==void 0)v.colors=d(c.color);if(c.normal!==void 0)v.normals=d(c.normal);return v}let p=(()=>{let v=f.num_faces()*3,D=i._malloc(v*4);try{return a.GetTrianglesUInt32Array(f,v*4,D),i.HEAPU32.slice(D/4,D/4+v)}finally{i._free(D)}})(),I={mesh:c.mesh,primitive:c.primitive,positions:d(c.position),indices:p};if(c.uv!==void 0)I.uvs=d(c.uv);return I}finally{i.destroy(f),i.destroy(a)}})},wt=(r,e)=>{if(r.astc)return{basis:10,gl:37808};if(r.bptc)return{basis:6,gl:36492};if(r.etc)return e?{basis:1,gl:37496}:{basis:0,gl:37492};if(r.s3tc)return e?{basis:3,gl:33779}:{basis:2,gl:33776};return{basis:13,gl:32856}},ke=async(r,e,t)=>{Re??=we(r.basis,"basis_transcoder.js","basis_transcoder.wasm","BASIS").then((c)=>(c.initializeBasis(),c));let _=new(await Re).KTX2File(t);try{if(!_.isValid()||!_.startTranscoding())throw Error("KTX2: invalid file");let{basis:c,gl:i}=wt(e,_.getHasAlpha()),a=Array.from({length:_.getLevels()},(f,b)=>{let{origWidth:u,origHeight:d}=_.getImageLevelInfo(b,0,0),g=new Uint8Array(_.getImageTranscodedSizeInBytes(b,0,0,c));if(!_.transcodeImage(g,b,0,0,c,0,-1,-1))throw Error("KTX2: transcoding failed");return{width:u,height:d,data:g}});return{format:i,levels:a}}finally{_.close(),_.delete()}};var Ue=[];var Be=(r)=>{Ue=r};var me=(r,e={})=>{let t=String(r),n=Ue.filter(([c])=>t.startsWith(c));if(n.length===0)return e;let _=new Headers(e.headers);return n.forEach(([,c])=>{Object.entries(c).forEach(([i,a])=>{_.set(i,a)})}),{...e,headers:_}};var Ce=async(r,e)=>{let t=r.body?.getReader();if(!t)return new Uint8Array(await r.arrayBuffer());let n=[],_=0;for(;;){let{done:i,value:a}=await t.read();if(i)break;if(_+=a.length,_>e){await t.cancel();return}n.push(a)}let c=new Uint8Array(_);return n.reduce((i,a)=>(c.set(a,i),i+a.length),0),c};class he{__destroy_into_raw(){let r=this.__wbg_ptr;return this.__wbg_ptr=0,We.unregister(this),r}free(){let r=this.__destroy_into_raw();o.__wbg_engine_free(r,0)}addCircles(r,e,t){let n=x(r,o.__wbindgen_malloc),_=s,c=w(e,o.__wbindgen_malloc),i=s,a=o.engine_addCircles(this.__wbg_ptr,n,_,c,i,t);if(a[2])throw m(a[1]);return a[0]>>>0}addCustomLayer(r,e){return o.engine_addCustomLayer(this.__wbg_ptr,r,e)>>>0}addExtrusions(){let r=o.engine_addExtrusions(this.__wbg_ptr);if(r[2])throw m(r[1]);return r[0]>>>0}addFills(r,e,t,n,_){let c=x(r,o.__wbindgen_malloc),i=s,a=w(e,o.__wbindgen_malloc),f=s,b=w(t,o.__wbindgen_malloc),u=s,d=w(n,o.__wbindgen_malloc),g=s,p=o.engine_addFills(this.__wbg_ptr,c,i,a,f,b,u,d,g,_);if(p[2])throw m(p[1]);return p[0]>>>0}addFlow(r,e){let t=o.engine_addFlow(this.__wbg_ptr,r,e);if(t[2])throw m(t[1]);return t[0]>>>0}addGround(r,e,t,n,_,c,i){let a=M(r,o.__wbindgen_malloc,o.__wbindgen_realloc),f=s,b=o.engine_addGround(this.__wbg_ptr,a,f,e,t,n,_,c,i);if(b[2])throw m(b[1]);return b[0]>>>0}addLines(r,e,t,n){let _=x(r,o.__wbindgen_malloc),c=s,i=w(e,o.__wbindgen_malloc),a=s,f=w(t,o.__wbindgen_malloc),b=s,u=o.engine_addLines(this.__wbg_ptr,_,c,i,a,f,b,n);if(u[2])throw m(u[1]);return u[0]>>>0}addModels(r,e,t){let n=M(r,o.__wbindgen_malloc,o.__wbindgen_realloc),_=s,c=x(e,o.__wbindgen_malloc),i=s,a=o.engine_addModels(this.__wbg_ptr,n,_,c,i,t);if(a[2])throw m(a[1]);return a[0]>>>0}addNetwork(r,e,t,n,_,c){let i=x(r,o.__wbindgen_malloc),a=s,f=w(e,o.__wbindgen_malloc),b=s;var u=l(t)?0:w(t,o.__wbindgen_malloc),d=s,g=l(n)?0:x(n,o.__wbindgen_malloc),p=s,I=l(_)?0:A(_,o.__wbindgen_malloc),v=s;let D=A(c,o.__wbindgen_malloc),S=s,E=o.engine_addNetwork(this.__wbg_ptr,i,a,f,b,u,d,g,p,I,v,D,S);if(E[2])throw m(E[1]);return E[0]>>>0}addPointCloud(r,e){let t=M(r,o.__wbindgen_malloc,o.__wbindgen_realloc),n=s,_=o.engine_addPointCloud(this.__wbg_ptr,t,n,e);if(_[2])throw m(_[1]);return _[0]>>>0}addRaster(r,e,t,n,_,c,i){let a=M(r,o.__wbindgen_malloc,o.__wbindgen_realloc),f=s,b=o.engine_addRaster(this.__wbg_ptr,a,f,e,t,n,_,l(c)?Number.MAX_SAFE_INTEGER:c>>0,l(i)?0:h(i));if(b[2])throw m(b[1]);return b[0]>>>0}addSymbols(){let r=o.engine_addSymbols(this.__wbg_ptr);if(r[2])throw m(r[1]);return r[0]>>>0}addTiles3d(r,e,t){let n=M(r,o.__wbindgen_malloc,o.__wbindgen_realloc),_=s,c=o.engine_addTiles3d(this.__wbg_ptr,n,_,e,l(t)?16777215:t?1:0);if(c[2])throw m(c[1]);return c[0]>>>0}addVectorTiles(){let r=o.engine_addVectorTiles(this.__wbg_ptr);if(r[2])throw m(r[1]);return r[0]>>>0}bounds(){let r=o.engine_bounds(this.__wbg_ptr);var e=xe(r[0],r[1]).slice();return o.__wbindgen_free(r[0],r[1]*8,8),e}camera(){return o.engine_camera(this.__wbg_ptr)}clearPanorama(){o.engine_clearPanorama(this.__wbg_ptr)}clearPreload(){o.engine_clearPreload(this.__wbg_ptr)}clearViewshed(){o.engine_clearViewshed(this.__wbg_ptr)}static customMatrix(r,e,t){let n=o.engine_customMatrix(r,e,t),_;if(n[0]!==0)_=R(n[0],n[1]).slice(),o.__wbindgen_free(n[0],n[1]*4,4);return _}elevationAt(r,e){let t=o.engine_elevationAt(this.__wbg_ptr,r,e);return t[0]===0?void 0:t[1]}static geoidHeight(r,e){return o.engine_geoidHeight(r,e)}ground(r,e){return o.engine_ground(this.__wbg_ptr,r,e)}linkExtrusionNetwork(r,e,t){o.engine_linkExtrusionNetwork(this.__wbg_ptr,r,l(e)?Number.MAX_SAFE_INTEGER:e>>>0,t)}localMatrix(r,e,t){let n=o.engine_localMatrix(this.__wbg_ptr,r,e,t);var _=R(n[0],n[1]).slice();return o.__wbindgen_free(n[0],n[1]*4,4),_}moveLayer(r,e){o.engine_moveLayer(this.__wbg_ptr,r,e)}networkStats(r){return o.engine_networkStats(this.__wbg_ptr,r)}constructor(r,e){let t=o.engine_new(r,e);if(t[2])throw m(t[1]);return this.__wbg_ptr=t[0],We.register(this,this.__wbg_ptr,this),this}pan(r,e,t,n){o.engine_pan(this.__wbg_ptr,r,e,t,n)}pick(r,e,t,n){var _=l(n)?0:w(n,o.__wbindgen_malloc),c=s;return o.engine_pick(this.__wbg_ptr,r,e,!l(t),l(t)?0:t,_,c)}pointCloudInfo(r){return o.engine_pointCloudInfo(this.__wbg_ptr,r)}pointCloudPoint(r,e){return o.engine_pointCloudPoint(this.__wbg_ptr,r,e)}pointCloudStats(r){return o.engine_pointCloudStats(this.__wbg_ptr,r)}pollPick(){return o.engine_pollPick(this.__wbg_ptr)}preload(r,e,t,n,_){o.engine_preload(this.__wbg_ptr,r,e,t,n,_)}project(r,e,t){return o.engine_project(this.__wbg_ptr,r,e,!l(t),l(t)?0:t)}promoteFlowNext(r){o.engine_promoteFlowNext(this.__wbg_ptr,r)}removeExtrusionBatch(r,e){o.engine_removeExtrusionBatch(this.__wbg_ptr,r,e)}removeLayer(r){o.engine_removeLayer(this.__wbg_ptr,r)}removeVectorTile(r,e){o.engine_removeVectorTile(this.__wbg_ptr,r,e)}render(){return o.engine_render(this.__wbg_ptr)!==0}requestPick(r,e,t,n){var _=l(n)?0:w(n,o.__wbindgen_malloc),c=s;return o.engine_requestPick(this.__wbg_ptr,r,e,!l(t),l(t)?0:t,_,c)!==0}resize(r,e,t){o.engine_resize(this.__wbg_ptr,r,e,t)}rotate(r,e){o.engine_rotate(this.__wbg_ptr,r,e)}setAtmosphere(r){var e=l(r)?0:A(r,o.__wbindgen_malloc),t=s;o.engine_setAtmosphere(this.__wbg_ptr,e,t)}setBackground(r,e,t){o.engine_setBackground(this.__wbg_ptr,r,e,t)}setBody(r,e,t,n,_){var c=l(t)?0:A(t,o.__wbindgen_malloc),i=s;o.engine_setBody(this.__wbg_ptr,r,e,c,i,n,_)}setCamera(r,e,t,n,_){o.engine_setCamera(this.__wbg_ptr,r,e,t,n,_)}setCircleAlignment(r,e){o.engine_setCircleAlignment(this.__wbg_ptr,r,e)}setCircles(r,e,t){let n=x(e,o.__wbindgen_malloc),_=s,c=w(t,o.__wbindgen_malloc),i=s;o.engine_setCircles(this.__wbg_ptr,r,n,_,c,i)}setExtrusionAnchors(r,e,t){let n=A(t,o.__wbindgen_malloc),_=s,c=o.engine_setExtrusionAnchors(this.__wbg_ptr,r,e,n,_);if(c[1])throw m(c[0])}setExtrusionBatch(r,e,t,n,_,c,i){let a=x(t,o.__wbindgen_malloc),f=s,b=w(n,o.__wbindgen_malloc),u=s,d=w(_,o.__wbindgen_malloc),g=s,p=w(c,o.__wbindgen_malloc),I=s,v=o.engine_setExtrusionBatch(this.__wbg_ptr,r,e,a,f,b,u,d,g,p,I,i);if(v[1])throw m(v[0])}setFeatureLayer(r,e,t,n,_){let c=A(e,o.__wbindgen_malloc),i=s;o.engine_setFeatureLayer(this.__wbg_ptr,r,c,i,t,n,_)}setFeatureMask(r,e,t){let n=T(e,o.__wbindgen_malloc),_=s;o.engine_setFeatureMask(this.__wbg_ptr,r,n,_,l(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFeatureRamp(r,e,t,n){var _=l(e)?0:T(e,o.__wbindgen_malloc),c=s;o.engine_setFeatureRamp(this.__wbg_ptr,r,_,c,t,n)}setFeatureStyle(r,e,t){let n=A(e,o.__wbindgen_malloc),_=s;o.engine_setFeatureStyle(this.__wbg_ptr,r,n,_,l(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFeatureValues(r,e,t){let n=A(e,o.__wbindgen_malloc),_=s;o.engine_setFeatureValues(this.__wbg_ptr,r,n,_,l(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFills(r,e,t,n,_){let c=x(e,o.__wbindgen_malloc),i=s,a=w(t,o.__wbindgen_malloc),f=s,b=w(n,o.__wbindgen_malloc),u=s,d=w(_,o.__wbindgen_malloc),g=s;o.engine_setFills(this.__wbg_ptr,r,c,i,a,f,b,u,d,g)}setFirstPerson(r,e,t,n,_,c){o.engine_setFirstPerson(this.__wbg_ptr,r,e,t,n,_,c)}setFlowBlend(r,e){o.engine_setFlowBlend(this.__wbg_ptr,r,e)}setFlowField(r,e,t,n,_,c){let i=A(n,o.__wbindgen_malloc),a=s,f=A(_,o.__wbindgen_malloc),b=s,u=x(c,o.__wbindgen_malloc),d=s;o.engine_setFlowField(this.__wbg_ptr,r,e,t,i,a,f,b,u,d)}setFlowNext(r,e,t){let n=A(e,o.__wbindgen_malloc),_=s,c=A(t,o.__wbindgen_malloc),i=s;o.engine_setFlowNext(this.__wbg_ptr,r,n,_,c,i)}setFlowStyle(r,e,t,n,_,c,i,a){let f=A(e,o.__wbindgen_malloc),b=s,u=A(t,o.__wbindgen_malloc),d=s;o.engine_setFlowStyle(this.__wbg_ptr,r,f,b,u,d,n,_,c,i,a)}setFlowWeights(r,e,t){o.engine_setFlowWeights(this.__wbg_ptr,r,e,t)}setGlobeColor(r,e,t){o.engine_setGlobeColor(this.__wbg_ptr,r,e,t)}setGlobe(r){o.engine_setGlobe(this.__wbg_ptr,r)}setGlyphAtlas(r,e,t){var n=l(t)?0:T(t,o.__wbindgen_malloc),_=s;let c=o.engine_setGlyphAtlas(this.__wbg_ptr,r,e,n,_);if(c[1])throw m(c[0])}setGlyphPages(r,e,t){let n=o.engine_setGlyphPages(this.__wbg_ptr,r,e,t);if(n[1])throw m(n[0])}setGroundBounds(r,e,t,n,_){o.engine_setGroundBounds(this.__wbg_ptr,r,e,t,n,_)}setGroundTexture(r,e,t,n,_,c,i,a){let f=M(e,o.__wbindgen_malloc,o.__wbindgen_realloc),b=s,u=M(t,o.__wbindgen_malloc,o.__wbindgen_realloc),d=s;var g=l(a)?0:T(a,o.__wbindgen_malloc),p=s;let I=o.engine_setGroundTexture(this.__wbg_ptr,r,f,b,u,d,n,_,c,i,g,p);if(I[1])throw m(I[0])}setGroundUniform(r,e,t){let n=M(e,o.__wbindgen_malloc,o.__wbindgen_realloc),_=s,c=x(t,o.__wbindgen_malloc),i=s,a=o.engine_setGroundUniform(this.__wbg_ptr,r,n,_,c,i);if(a[1])throw m(a[0])}setGroundVisible(r,e){o.engine_setGroundVisible(this.__wbg_ptr,r,e)}setIconAtlas(r,e){let t=o.engine_setIconAtlas(this.__wbg_ptr,r,e);if(t[1])throw m(t[0])}setImmediateLoading(r){o.engine_setImmediateLoading(this.__wbg_ptr,r)}setLineDash(r,e,t){o.engine_setLineDash(this.__wbg_ptr,r,e,t)}setLines(r,e,t,n){let _=x(e,o.__wbindgen_malloc),c=s,i=w(t,o.__wbindgen_malloc),a=s,f=w(n,o.__wbindgen_malloc),b=s,u=o.engine_setLines(this.__wbg_ptr,r,_,c,i,a,f,b);if(u[1])throw m(u[0])}setMaxPitch(r){o.engine_setMaxPitch(this.__wbg_ptr,r)}setModelInstances(r,e,t){let n=x(e,o.__wbindgen_malloc),_=s;o.engine_setModelInstances(this.__wbg_ptr,r,n,_,t)}setNetworkCosts(r,e){var t=l(e)?0:A(e,o.__wbindgen_malloc),n=s;o.engine_setNetworkCosts(this.__wbg_ptr,r,t,n)}setNetworkRamp(r,e){var t=l(e)?0:T(e,o.__wbindgen_malloc),n=s;o.engine_setNetworkRamp(this.__wbg_ptr,r,t,n)}setNetworkScales(r,e){var t=l(e)?0:A(e,o.__wbindgen_malloc),n=s;o.engine_setNetworkScales(this.__wbg_ptr,r,t,n)}setNetworkStyle(r,e){let t=A(e,o.__wbindgen_malloc),n=s;o.engine_setNetworkStyle(this.__wbg_ptr,r,t,n)}setNetworkValues(r,e){let t=A(e,o.__wbindgen_malloc),n=s;o.engine_setNetworkValues(this.__wbg_ptr,r,t,n)}setPanoramaImage(r,e){let t=o.engine_setPanoramaImage(this.__wbg_ptr,r,e);if(t[1])throw m(t[0])}setPanorama(r,e,t,n,_,c,i){let a=x(n,o.__wbindgen_malloc),f=s,b=x(_,o.__wbindgen_malloc),u=s,d=o.engine_setPanorama(this.__wbg_ptr,r,e,t,a,f,b,u,c,i);if(d[1])throw m(d[0])}setPointCloudStyle(r,e,t,n){let _=x(e,o.__wbindgen_malloc),c=s,i=T(t,o.__wbindgen_malloc),a=s,f=T(n,o.__wbindgen_malloc),b=s;o.engine_setPointCloudStyle(this.__wbg_ptr,r,_,c,i,a,f,b)}setRasterStyle(r,e,t){o.engine_setRasterStyle(this.__wbg_ptr,r,e,t)}setRequestHeaders(r,e,t){let n=Ve(r,o.__wbindgen_malloc),_=s,c=w(e,o.__wbindgen_malloc),i=s,a=Ve(t,o.__wbindgen_malloc),f=s;o.engine_setRequestHeaders(this.__wbg_ptr,n,_,c,i,a,f)}setSky(r){o.engine_setSky(this.__wbg_ptr,r)}setSun(r,e,t,n){let _=o.engine_setSun(this.__wbg_ptr,r,e,t,n);if(_[1])throw m(_[0])}setSwipe(r,e,t,n){let _=w(t,o.__wbindgen_malloc),c=s,i=w(n,o.__wbindgen_malloc),a=s;o.engine_setSwipe(this.__wbg_ptr,r,e,_,c,i,a)}setSymbolLayer(r,e,t,n,_,c){let i=A(e,o.__wbindgen_malloc),a=s,f=A(t,o.__wbindgen_malloc),b=s;o.engine_setSymbolLayer(this.__wbg_ptr,r,i,a,f,b,n,_,c)}setSymbols(r,e,t,n,_){let c=x(e,o.__wbindgen_malloc),i=s,a=A(t,o.__wbindgen_malloc),f=s,b=A(n,o.__wbindgen_malloc),u=s,d=A(_,o.__wbindgen_malloc),g=s,p=o.engine_setSymbols(this.__wbg_ptr,r,c,i,a,f,b,u,d,g);if(p[1])throw m(p[0])}setTerrain(r,e,t,n,_){var c=l(r)?0:M(r,o.__wbindgen_malloc,o.__wbindgen_realloc),i=s;let a=o.engine_setTerrain(this.__wbg_ptr,c,i,e,l(t)?16777215:t,l(n)?16777215:n?1:0,l(_)?0:h(_));if(a[1])throw m(a[0])}setTileLoader(r){o.engine_setTileLoader(this.__wbg_ptr,r)}setTiles3dStyle(r,e,t,n,_){let c=A(_,o.__wbindgen_malloc),i=s;o.engine_setTiles3dStyle(this.__wbg_ptr,r,e,t,!l(n),l(n)?0:n,c,i)}setVectorSublayers(r,e,t,n,_,c,i,a){let f=T(e,o.__wbindgen_malloc),b=s,u=x(t,o.__wbindgen_malloc),d=s,g=T(n,o.__wbindgen_malloc),p=s,I=A(_,o.__wbindgen_malloc),v=s,D=A(c,o.__wbindgen_malloc),S=s,E=T(i,o.__wbindgen_malloc),F=s,U=T(a,o.__wbindgen_malloc),B=s;o.engine_setVectorSublayers(this.__wbg_ptr,r,f,b,u,d,g,p,I,v,D,S,E,F,U,B)}setVectorTileMesh(r,e,t,n,_,c,i,a,f,b,u,d,g,p,I,v,D,S,E){let F=x(t,o.__wbindgen_malloc),U=s,B=w(n,o.__wbindgen_malloc),V=s,C=w(_,o.__wbindgen_malloc),j=s,ae=w(c,o.__wbindgen_malloc),se=s,fe=w(i,o.__wbindgen_malloc),be=s,ue=T(a,o.__wbindgen_malloc),le=s,de=w(f,o.__wbindgen_malloc),ge=s,_e=w(b,o.__wbindgen_malloc),et=s,tt=T(d,o.__wbindgen_malloc),nt=s,rt=A(g,o.__wbindgen_malloc),_t=s,ot=w(p,o.__wbindgen_malloc),ct=s,it=T(I,o.__wbindgen_malloc),at=s,st=w(v,o.__wbindgen_malloc),ft=s,bt=w(D,o.__wbindgen_malloc),ut=s,lt=x(S,o.__wbindgen_malloc),dt=s,Ie=o.engine_setVectorTileMesh(this.__wbg_ptr,r,e,F,U,B,V,C,j,ae,se,fe,be,ue,le,de,ge,_e,et,u,tt,nt,rt,_t,ot,ct,it,at,st,ft,bt,ut,lt,dt,E);if(Ie[1])throw m(Ie[0])}setVectorTile(r,e,t,n,_,c,i,a,f,b,u,d,g){let p=x(t,o.__wbindgen_malloc),I=s,v=w(n,o.__wbindgen_malloc),D=s,S=w(_,o.__wbindgen_malloc),E=s,F=w(c,o.__wbindgen_malloc),U=s,B=w(i,o.__wbindgen_malloc),V=s,C=x(a,o.__wbindgen_malloc),j=s,ae=w(f,o.__wbindgen_malloc),se=s,fe=w(b,o.__wbindgen_malloc),be=s,ue=w(u,o.__wbindgen_malloc),le=s,de=x(g,o.__wbindgen_malloc),ge=s,_e=o.engine_setVectorTile(this.__wbg_ptr,r,e,p,I,v,D,S,E,F,U,B,V,C,j,ae,se,fe,be,ue,le,d,de,ge);if(_e[1])throw m(_e[0])}setViewshed(r,e,t,n,_){let c=x(r,o.__wbindgen_malloc),i=s,a=A(e,o.__wbindgen_malloc),f=s,b=A(t,o.__wbindgen_malloc),u=s,d=A(_,o.__wbindgen_malloc),g=s,p=o.engine_setViewshed(this.__wbg_ptr,c,i,a,f,b,u,n,d,g);if(p[1])throw m(p[0])}setZoomRange(r,e){o.engine_setZoomRange(this.__wbg_ptr,r,e)}stats(){return o.engine_stats(this.__wbg_ptr)}stepFlow(r,e){return o.engine_stepFlow(this.__wbg_ptr,r,e)!==0}surfaceAt(r,e){return o.engine_surfaceAt(this.__wbg_ptr,r,e)}surface(r,e){return o.engine_surface(this.__wbg_ptr,r,e)}textureFormats(){return o.engine_textureFormats(this.__wbg_ptr)}tiles3dFeature(r,e){return o.engine_tiles3dFeature(this.__wbg_ptr,r,e)}tiles3dStats(r){return o.engine_tiles3dStats(this.__wbg_ptr,r)}updateGlyphAtlas(r,e,t,n,_){let c=T(_,o.__wbindgen_malloc),i=s;o.engine_updateGlyphAtlas(this.__wbg_ptr,r,e,t,n,c,i)}updateGlyphPage(r,e,t,n,_,c){let i=T(c,o.__wbindgen_malloc),a=s;o.engine_updateGlyphPage(this.__wbg_ptr,r,e,t,n,_,i,a)}updateGroundTexture(r,e,t,n,_,c,i,a){let f=M(e,o.__wbindgen_malloc,o.__wbindgen_realloc),b=s,u=T(a,o.__wbindgen_malloc),d=s,g=o.engine_updateGroundTexture(this.__wbg_ptr,r,f,b,t,n,_,c,i,u,d);if(g[1])throw m(g[0])}updateIconAtlas(r,e,t,n,_){let c=T(_,o.__wbindgen_malloc),i=s;o.engine_updateIconAtlas(this.__wbg_ptr,r,e,t,n,c,i)}vectorTilesInView(r,e){let t=o.engine_vectorTilesInView(this.__wbg_ptr,r,e);var n=O(t[0],t[1]).slice();return o.__wbindgen_free(t[0],t[1]*4,4),n}wantedTiles(r){let e=o.engine_wantedTiles(this.__wbg_ptr,r);var t=O(e[0],e[1]).slice();return o.__wbindgen_free(e[0],e[1]*4,4),t}zoomAt(r,e,t){o.engine_zoomAt(this.__wbg_ptr,r,e,t)}}if(Symbol.dispose)he.prototype[Symbol.dispose]=he.prototype.free;function Ge(r,e,t,n){let _=T(r,o.__wbindgen_malloc),c=s,i=x(e,o.__wbindgen_malloc),a=s,f=o.decodeTile(_,c,i,a,t,n);if(f[2])throw m(f[1]);return m(f[0])}function je(r){let e=T(r,o.__wbindgen_malloc),t=s,n=o.dracoRequests(e,t);if(n[2])throw m(n[1]);return m(n[0])}function mt(){return{__proto__:null,"./isard_bg.js":{__proto__:null,__wbg___wbindgen_boolean_get_5b446f51afd21013:function(e){let t=e,n=typeof t==="boolean"?t:void 0;return l(n)?16777215:n?1:0},__wbg___wbindgen_debug_string_4687d8d8c2017d52:function(e,t){let n=Ae(t),_=M(n,o.__wbindgen_malloc,o.__wbindgen_realloc),c=s;P().setInt32(e+4,c,!0),P().setInt32(e+0,_,!0)},__wbg___wbindgen_is_falsy_16bd49b68658263e:function(e){return!e},__wbg___wbindgen_is_function_1f9d30630b8b1d3d:function(e){return typeof e==="function"},__wbg___wbindgen_is_null_e343b7d08827ba72:function(e){return e===null},__wbg___wbindgen_is_object_3c45d4f2dde4e749:function(e){let t=e;return typeof t==="object"&&t!==null},__wbg___wbindgen_is_undefined_8865fb403f8fe9d8:function(e){return e===void 0},__wbg___wbindgen_number_get_2e0e7dee9f701a71:function(e,t){let n=t,_=typeof n==="number"?n:void 0;P().setFloat64(e+8,l(_)?0:_,!0),P().setInt32(e+0,!l(_),!0)},__wbg___wbindgen_string_get_0380ccaa2f57f0d9:function(e,t){let n=t,_=typeof n==="string"?n:void 0;var c=l(_)?0:M(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=s;P().setInt32(e+4,i,!0),P().setInt32(e+0,c,!0)},__wbg___wbindgen_throw_41e9ee4f547fc59a:function(e,t){throw Error(k(e,t))},__wbg__wbg_cb_unref_dcc1a90847f04c41:function(e){e._wbg_cb_unref()},__wbg_abort_f78b99d80248bacb:function(e){e.abort()},__wbg_aborted_5b2b5f06b5e59fde:function(e){return e.aborted},__wbg_activeTexture_11079673eac5c921:function(e,t){e.activeTexture(t>>>0)},__wbg_activeTexture_2fad46c01cafe6b1:function(e,t){e.activeTexture(t>>>0)},__wbg_apply_a910804df6e1e433:function(){return y(function(e,t,n){return e.apply(t,n)},arguments)},__wbg_arrayBuffer_f07be74819944ea2:function(){return y(function(e){return e.arrayBuffer()},arguments)},__wbg_attachShader_8920a5beea54aba7:function(e,t,n){e.attachShader(t,n)},__wbg_attachShader_9567ae57af6746d5:function(e,t,n){e.attachShader(t,n)},__wbg_bindBuffer_0324f62b876c4403:function(e,t,n){e.bindBuffer(t>>>0,n)},__wbg_bindBuffer_2195e89b585ce0c3:function(e,t,n){e.bindBuffer(t>>>0,n)},__wbg_bindFramebuffer_22e4b8e6e6d8d0e8:function(e,t,n){e.bindFramebuffer(t>>>0,n)},__wbg_bindFramebuffer_378eb18ef219d37a:function(e,t,n){e.bindFramebuffer(t>>>0,n)},__wbg_bindRenderbuffer_db090531fb28de34:function(e,t,n){e.bindRenderbuffer(t>>>0,n)},__wbg_bindRenderbuffer_e0c5aeef245a913a:function(e,t,n){e.bindRenderbuffer(t>>>0,n)},__wbg_bindTexture_3cf008f256f3ed99:function(e,t,n){e.bindTexture(t>>>0,n)},__wbg_bindTexture_613a47b8917a0ccd:function(e,t,n){e.bindTexture(t>>>0,n)},__wbg_bindVertexArrayOES_3141815cb8234a6e:function(e,t){e.bindVertexArrayOES(t)},__wbg_bindVertexArray_f58af0a346185ec5:function(e,t){e.bindVertexArray(t)},__wbg_blendEquation_5fb8aee6a55cf900:function(e,t){e.blendEquation(t>>>0)},__wbg_blendEquation_d21914e937b14896:function(e,t){e.blendEquation(t>>>0)},__wbg_blendFuncSeparate_28abe082febb1a26:function(e,t,n,_,c){e.blendFuncSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_blendFuncSeparate_2af9d47f7efc0452:function(e,t,n,_,c){e.blendFuncSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_blendFunc_491ee1105079ce76:function(e,t,n){e.blendFunc(t>>>0,n>>>0)},__wbg_blendFunc_589e4252bb396484:function(e,t,n){e.blendFunc(t>>>0,n>>>0)},__wbg_blob_232135c7e297b861:function(){return y(function(e){return e.blob()},arguments)},__wbg_bufferData_50f5eb06469330e4:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferData_53e0f7a06b58fe81:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferData_5fa44d94fe7a3878:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferData_bad7ce562b6a9eac:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_byteLength_141bda7c7c28aa72:function(e){return e.byteLength},__wbg_byteLength_18a1704c0bf397bb:function(e){return e.byteLength},__wbg_byteLength_27689b065d089962:function(e){return e.byteLength},__wbg_byteLength_9f985b8373f1f3fe:function(e){return e.byteLength},__wbg_call_01721c8c75200a10:function(){return y(function(e,t,n,_,c,i){return e.call(t,n,_,c,i)},arguments)},__wbg_call_187d372bd5fdd4aa:function(){return y(function(e,t,n){return e.call(t,n)},arguments)},__wbg_call_6137034ef55c9d0f:function(){return y(function(e,t){return e.call(t)},arguments)},__wbg_clearColor_3f6aa096dc12e8b7:function(e,t,n,_,c){e.clearColor(t,n,_,c)},__wbg_clearColor_796427e8ac60fe14:function(e,t,n,_,c){e.clearColor(t,n,_,c)},__wbg_clearDepth_4840a5497ae51286:function(e,t){e.clearDepth(t)},__wbg_clearDepth_5a119c24c5d193bc:function(e,t){e.clearDepth(t)},__wbg_clearStencil_1b8b8c727f598eec:function(e,t){e.clearStencil(t)},__wbg_clearStencil_e4383e4a543e7997:function(e,t){e.clearStencil(t)},__wbg_clear_175cf3cb6d98d72b:function(e,t){e.clear(t>>>0)},__wbg_clear_cb96796cc568b7c8:function(e,t){e.clear(t>>>0)},__wbg_close_355afba6ea5ad1ae:function(e){e.close()},__wbg_colorMask_4d6afbbbc3022fbe:function(e,t,n,_,c){e.colorMask(t!==0,n!==0,_!==0,c!==0)},__wbg_colorMask_8c903995f6f873be:function(e,t,n,_,c){e.colorMask(t!==0,n!==0,_!==0,c!==0)},__wbg_compileShader_073a75409aaf96d2:function(e,t){e.compileShader(t)},__wbg_compileShader_c2b53ff3a8851f60:function(e,t){e.compileShader(t)},__wbg_compressedTexImage2D_93d2b30687f2cfad:function(e,t,n,_,c,i,a,f){e.compressedTexImage2D(t>>>0,n,_>>>0,c,i,a,f)},__wbg_createBuffer_d1dd23bf8704564c:function(e){let t=e.createBuffer();return l(t)?0:h(t)},__wbg_createBuffer_ffe613371d42cfd3:function(e){let t=e.createBuffer();return l(t)?0:h(t)},__wbg_createFramebuffer_2c6b5b0f49c88e5d:function(e){let t=e.createFramebuffer();return l(t)?0:h(t)},__wbg_createFramebuffer_d0969af4e9886297:function(e){let t=e.createFramebuffer();return l(t)?0:h(t)},__wbg_createImageBitmap_1b985e01e4c81baa:function(){return y(function(e,t,n){return e.createImageBitmap(t,n)},arguments)},__wbg_createImageBitmap_69996a36c51d409f:function(){return y(function(e,t,n){return e.createImageBitmap(t,n)},arguments)},__wbg_createProgram_cbf448e6f18a9402:function(e){let t=e.createProgram();return l(t)?0:h(t)},__wbg_createProgram_e0c81b0d2b8d0fd0:function(e){let t=e.createProgram();return l(t)?0:h(t)},__wbg_createRenderbuffer_2b17e9fe2e6fb4be:function(e){let t=e.createRenderbuffer();return l(t)?0:h(t)},__wbg_createRenderbuffer_c864095d6ebd60d0:function(e){let t=e.createRenderbuffer();return l(t)?0:h(t)},__wbg_createShader_6c1a2295587878a5:function(e,t){let n=e.createShader(t>>>0);return l(n)?0:h(n)},__wbg_createShader_7c9d99a21ecb08c0:function(e,t){let n=e.createShader(t>>>0);return l(n)?0:h(n)},__wbg_createTexture_01e8e591b64237de:function(e){let t=e.createTexture();return l(t)?0:h(t)},__wbg_createTexture_5f2583508ebe379b:function(e){let t=e.createTexture();return l(t)?0:h(t)},__wbg_createVertexArrayOES_a8dc8498b56df937:function(e){let t=e.createVertexArrayOES();return l(t)?0:h(t)},__wbg_createVertexArray_b223ea69dd08fcab:function(e){let t=e.createVertexArray();return l(t)?0:h(t)},__wbg_cullFace_12123c1c97f1ba2c:function(e,t){e.cullFace(t>>>0)},__wbg_cullFace_1a01f0b6d5aeb687:function(e,t){e.cullFace(t>>>0)},__wbg_deleteBuffer_070e58aaaf2a7a8b:function(e,t){e.deleteBuffer(t)},__wbg_deleteBuffer_7775ee9e248c8468:function(e,t){e.deleteBuffer(t)},__wbg_deleteFramebuffer_3f8ab330098bf8e6:function(e,t){e.deleteFramebuffer(t)},__wbg_deleteFramebuffer_570d3b214a509fa2:function(e,t){e.deleteFramebuffer(t)},__wbg_deleteProgram_822906f0368175d0:function(e,t){e.deleteProgram(t)},__wbg_deleteProgram_b524b30ad176cdb4:function(e,t){e.deleteProgram(t)},__wbg_deleteRenderbuffer_826c9b43b7ea68f5:function(e,t){e.deleteRenderbuffer(t)},__wbg_deleteRenderbuffer_f4e121a3ab21c605:function(e,t){e.deleteRenderbuffer(t)},__wbg_deleteShader_a70f6cc1918d67eb:function(e,t){e.deleteShader(t)},__wbg_deleteShader_da18a294158c2d15:function(e,t){e.deleteShader(t)},__wbg_deleteSync_4f0be28b03f50495:function(e,t){e.deleteSync(t)},__wbg_deleteTexture_78c170241204a466:function(e,t){e.deleteTexture(t)},__wbg_deleteTexture_9f42750adb092e4f:function(e,t){e.deleteTexture(t)},__wbg_deleteVertexArrayOES_e01f31634d466176:function(e,t){e.deleteVertexArrayOES(t)},__wbg_deleteVertexArray_ca9768805d051d49:function(e,t){e.deleteVertexArray(t)},__wbg_depthFunc_92e96d8f46a23300:function(e,t){e.depthFunc(t>>>0)},__wbg_depthFunc_a41fb5adacb22e09:function(e,t){e.depthFunc(t>>>0)},__wbg_depthMask_06ecff4d4514c38f:function(e,t){e.depthMask(t!==0)},__wbg_depthMask_0d7c3dec3b8405ee:function(e,t){e.depthMask(t!==0)},__wbg_depthRange_24c7969249461e8e:function(e,t,n){e.depthRange(t,n)},__wbg_depthRange_6a4e169ccf314148:function(e,t,n){e.depthRange(t,n)},__wbg_detachShader_1ed15fc2d289cf15:function(e,t,n){e.detachShader(t,n)},__wbg_detachShader_67dabaaad80a795e:function(e,t,n){e.detachShader(t,n)},__wbg_disable_19fe787eccdf0272:function(e,t){e.disable(t>>>0)},__wbg_disable_81b2cb5f8cea15ae:function(e,t){e.disable(t>>>0)},__wbg_drawArraysInstancedANGLE_b76512b5abba6668:function(e,t,n,_,c){e.drawArraysInstancedANGLE(t>>>0,n,_,c)},__wbg_drawArraysInstanced_9b44aa78a087154d:function(e,t,n,_,c){e.drawArraysInstanced(t>>>0,n,_,c)},__wbg_drawArrays_08872e02fb57b847:function(e,t,n,_){e.drawArrays(t>>>0,n,_)},__wbg_drawArrays_741af5c3f8db636f:function(e,t,n,_){e.drawArrays(t>>>0,n,_)},__wbg_drawElementsInstancedANGLE_c3fc0cfa9e29a1bc:function(e,t,n,_,c,i){e.drawElementsInstancedANGLE(t>>>0,n,_>>>0,c,i)},__wbg_drawElementsInstanced_d7c396aa034159b6:function(e,t,n,_,c,i){e.drawElementsInstanced(t>>>0,n,_>>>0,c,i)},__wbg_drawElements_c8988ba71de1101a:function(e,t,n,_,c){e.drawElements(t>>>0,n,_>>>0,c)},__wbg_drawElements_cc1e6c631e89eddf:function(e,t,n,_,c){e.drawElements(t>>>0,n,_>>>0,c)},__wbg_enableVertexAttribArray_1496b78a8dbab9fd:function(e,t){e.enableVertexAttribArray(t>>>0)},__wbg_enableVertexAttribArray_d52693866bc8b8dd:function(e,t){e.enableVertexAttribArray(t>>>0)},__wbg_enable_6eeb9c0e9b483cee:function(e,t){e.enable(t>>>0)},__wbg_enable_cb4fc19b51148c37:function(e,t){e.enable(t>>>0)},__wbg_error_c9cf3fc2064683a9:function(e){console.error(e)},__wbg_fenceSync_330293024adb66bc:function(e,t,n){let _=e.fenceSync(t>>>0,n>>>0);return l(_)?0:h(_)},__wbg_fetch_b322877f1ed6457d:function(e,t,n,_){return e.fetch(k(t,n),_)},__wbg_flush_13b162660ad850d2:function(e){e.flush()},__wbg_flush_a5ad38200881ac35:function(e){e.flush()},__wbg_framebufferRenderbuffer_1c6337e0030411f3:function(e,t,n,_,c){e.framebufferRenderbuffer(t>>>0,n>>>0,_>>>0,c)},__wbg_framebufferRenderbuffer_f019e9231b142c0d:function(e,t,n,_,c){e.framebufferRenderbuffer(t>>>0,n>>>0,_>>>0,c)},__wbg_framebufferTexture2D_73c52f23ec33aa22:function(e,t,n,_,c,i){e.framebufferTexture2D(t>>>0,n>>>0,_>>>0,c,i)},__wbg_framebufferTexture2D_caddefa1f767646e:function(e,t,n,_,c,i){e.framebufferTexture2D(t>>>0,n>>>0,_>>>0,c,i)},__wbg_from_296ca31f8d0f1c52:function(e){return Array.from(e)},__wbg_frontFace_6751b4b97f997aeb:function(e,t){e.frontFace(t>>>0)},__wbg_frontFace_b064adb15b6f3772:function(e,t){e.frontFace(t>>>0)},__wbg_generateMipmap_c63604006bfa52d5:function(e,t){e.generateMipmap(t>>>0)},__wbg_generateMipmap_cd49f6eec9558721:function(e,t){e.generateMipmap(t>>>0)},__wbg_getActiveUniform_239de631a40c387a:function(e,t,n){let _=e.getActiveUniform(t,n>>>0);return l(_)?0:h(_)},__wbg_getActiveUniform_f2052b3c57679fe2:function(e,t,n){let _=e.getActiveUniform(t,n>>>0);return l(_)?0:h(_)},__wbg_getBufferSubData_dd23246099b166d1:function(e,t,n,_){e.getBufferSubData(t>>>0,n,_)},__wbg_getContext_051324720aa5b7e8:function(){return y(function(e,t,n,_){let c=e.getContext(k(t,n),_);return l(c)?0:h(c)},arguments)},__wbg_getExtension_abfda2c5db286b07:function(){return y(function(e,t,n){let _=e.getExtension(k(t,n));return l(_)?0:h(_)},arguments)},__wbg_getParameter_974595a6624c6c10:function(){return y(function(e,t){return e.getParameter(t>>>0)},arguments)},__wbg_getParameter_a97f491753b05668:function(){return y(function(e,t){return e.getParameter(t>>>0)},arguments)},__wbg_getProgramInfoLog_208fb1ff31006495:function(e,t,n){let _=t.getProgramInfoLog(n);var c=l(_)?0:M(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=s;P().setInt32(e+4,i,!0),P().setInt32(e+0,c,!0)},__wbg_getProgramInfoLog_3276b294d6d42fe2:function(e,t,n){let _=t.getProgramInfoLog(n);var c=l(_)?0:M(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=s;P().setInt32(e+4,i,!0),P().setInt32(e+0,c,!0)},__wbg_getProgramParameter_50bafab01cf88652:function(e,t,n){return e.getProgramParameter(t,n>>>0)},__wbg_getProgramParameter_fc7124bb9fb7c675:function(e,t,n){return e.getProgramParameter(t,n>>>0)},__wbg_getShaderInfoLog_7e0cbba353ca95da:function(e,t,n){let _=t.getShaderInfoLog(n);var c=l(_)?0:M(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=s;P().setInt32(e+4,i,!0),P().setInt32(e+0,c,!0)},__wbg_getShaderInfoLog_bb64c5a52df0b7a3:function(e,t,n){let _=t.getShaderInfoLog(n);var c=l(_)?0:M(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=s;P().setInt32(e+4,i,!0),P().setInt32(e+0,c,!0)},__wbg_getShaderParameter_745acf10b8e45e31:function(e,t,n){return e.getShaderParameter(t,n>>>0)},__wbg_getShaderParameter_e55ea9c456df5484:function(e,t,n){return e.getShaderParameter(t,n>>>0)},__wbg_getSupportedExtensions_1459bad37860c0c3:function(e){let t=e.getSupportedExtensions();return l(t)?0:h(t)},__wbg_getSyncParameter_bb4be47b67bfa2f8:function(e,t,n){return e.getSyncParameter(t,n>>>0)},__wbg_getUniformLocation_50ba45dade572703:function(e,t,n,_){let c=e.getUniformLocation(t,k(n,_));return l(c)?0:h(c)},__wbg_getUniformLocation_cb4e3e121235f91a:function(e,t,n,_){let c=e.getUniformLocation(t,k(n,_));return l(c)?0:h(c)},__wbg_get_31af05bd4842a84f:function(){return y(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_806853698d9fc227:function(){return y(function(e,t){return Reflect.get(e,t>>>0)},arguments)},__wbg_get_f75619e20cb68514:function(){return y(function(e,t,n,_){let c=t.get(k(n,_));var i=l(c)?0:M(c,o.__wbindgen_malloc,o.__wbindgen_realloc),a=s;P().setInt32(e+4,a,!0),P().setInt32(e+0,i,!0)},arguments)},__wbg_get_index_f4750150bb3083b3:function(e,t){return e[t>>>0]},__wbg_get_unchecked_288889d017702237:function(e,t){return e[t>>>0]},__wbg_headers_eba93595f8944c2f:function(e){return e.headers},__wbg_height_9dca4d43c3e4b84b:function(e){return e.height},__wbg_instanceof_ArrayBuffer_a99f175873e5d9b8:function(e){let t;try{t=e instanceof ArrayBuffer}catch(_){t=!1}return t},__wbg_instanceof_Blob_7c6191a4cd5834d3:function(e){let t;try{t=e instanceof Blob}catch(_){t=!1}return t},__wbg_instanceof_Error_80a725f81f2e102d:function(e){let t;try{t=e instanceof Error}catch(_){t=!1}return t},__wbg_instanceof_Float32Array_595afb0f28b828c9:function(e){let t;try{t=e instanceof Float32Array}catch(_){t=!1}return t},__wbg_instanceof_Float64Array_8a59377f9eec1b8b:function(e){let t;try{t=e instanceof Float64Array}catch(_){t=!1}return t},__wbg_instanceof_ImageBitmap_74bea45ee48d3d7a:function(e){let t;try{t=e instanceof ImageBitmap}catch(_){t=!1}return t},__wbg_instanceof_Promise_e1dc6893aa1ece28:function(e){let t;try{t=e instanceof Promise}catch(_){t=!1}return t},__wbg_instanceof_Response_b8758567269c30b2:function(e){let t;try{t=e instanceof Response}catch(_){t=!1}return t},__wbg_instanceof_Uint32Array_53a4facaf04b8a8b:function(e){let t;try{t=e instanceof Uint32Array}catch(_){t=!1}return t},__wbg_instanceof_Uint8Array_828cef2aaacafc31:function(e){let t;try{t=e instanceof Uint8Array}catch(_){t=!1}return t},__wbg_instanceof_WebGl2RenderingContext_64c994c14c0790fb:function(e){let t;try{t=e instanceof WebGL2RenderingContext}catch(_){t=!1}return t},__wbg_instanceof_Window_82d71df4eddf88bc:function(e){let t;try{t=e instanceof Window}catch(_){t=!1}return t},__wbg_isArray_e15a2ff68ffdbef2:function(e){return Array.isArray(e)},__wbg_isContextLost_fbbab8b921e614b7:function(e){return e.isContextLost()},__wbg_is_4b278c0bd3caba97:function(e,t){return Object.is(e,t)},__wbg_length_511b1f84719d3462:function(e){return e.length},__wbg_length_58572db4c38f3c3e:function(e){return e.length},__wbg_length_7f3c00c40364105e:function(e){return e.length},__wbg_length_b5f0008bbf60cf59:function(e){return e.length},__wbg_length_d4bdea10311bd9cf:function(e){return e.length},__wbg_linkProgram_571a9ea00d38ff83:function(e,t){e.linkProgram(t)},__wbg_linkProgram_acdc299c43d734a0:function(e,t){e.linkProgram(t)},__wbg_message_5f8387f0c32b90a7:function(e){return e.message},__wbg_name_91a697e9ff1634bf:function(e,t){let n=t.name,_=M(n,o.__wbindgen_malloc,o.__wbindgen_realloc),c=s;P().setInt32(e+4,c,!0),P().setInt32(e+0,_,!0)},__wbg_new_1dbf7428bba60a42:function(e){return new Uint8Array(e)},__wbg_new_2e41357094e99294:function(){return y(function(){return new AbortController},arguments)},__wbg_new_5502aad30c185fc8:function(e,t){try{var n={a:e,b:t},_=(i,a)=>{let f=n.a;n.a=0;try{return yt(f,n.b,i,a)}finally{n.a=f}};return new Promise(_)}finally{n.a=0}},__wbg_new_617a8cdb8bb1130e:function(){return{}},__wbg_new_83ca405eae412a62:function(){return y(function(){return new Headers},arguments)},__wbg_new_ee2291f50781bf1d:function(){return[]},__wbg_new_from_slice_37a3c3a194266cb8:function(e,t){return new Uint32Array(O(e,t))},__wbg_new_from_slice_9a868026ffa4208a:function(e,t){return new Uint8Array(pe(e,t))},__wbg_new_from_slice_ca6ad97db1f4779a:function(e,t){return new Float32Array(R(e,t))},__wbg_new_from_slice_f545fd22ddc142b8:function(e,t){return new Float64Array(xe(e,t))},__wbg_new_with_byte_offset_70ba6193352e027b:function(e,t){return new Uint8Array(e,t>>>0)},__wbg_new_with_byte_offset_and_length_40c170286adc9005:function(e,t,n){return new Float32Array(e,t>>>0,n>>>0)},__wbg_new_with_u8_array_sequence_and_options_fccc08fe93f4b8fd:function(){return y(function(e,t){return new Blob(e,t)},arguments)},__wbg_now_aa4ccb83129e9e55:function(){return Date.now()},__wbg_now_d0b7f4bea9f38490:function(e){return e.now()},__wbg_of_20798cb14708764f:function(e,t){return Array.of(e,t)},__wbg_of_d5dbecdc59e02e34:function(e){return Array.of(e)},__wbg_of_dde0b9d3265685ee:function(e,t,n){return Array.of(e,t,n)},__wbg_of_fea2613674ee0d0f:function(e,t,n,_,c){return Array.of(e,t,n,_,c)},__wbg_ok_125878a7db256ecb:function(e){return e.ok},__wbg_performance_d0d7b03fc649b694:function(e){let t=e.performance;return l(t)?0:h(t)},__wbg_pixelStorei_af18e636b3e7b725:function(e,t,n){e.pixelStorei(t>>>0,n)},__wbg_pixelStorei_cb4e43466f5b8703:function(e,t,n){e.pixelStorei(t>>>0,n)},__wbg_polygonOffset_81dc8ca84e29572b:function(e,t,n){e.polygonOffset(t,n)},__wbg_polygonOffset_8f922d9173d8849d:function(e,t,n){e.polygonOffset(t,n)},__wbg_prototypesetcall_06eb15da165dee8f:function(e,t,n){Uint32Array.prototype.set.call(O(e,t),n)},__wbg_prototypesetcall_8b03c01e2c0f8066:function(e,t,n){Float32Array.prototype.set.call(R(e,t),n)},__wbg_prototypesetcall_bc27214492979395:function(e,t,n){Uint8Array.prototype.set.call(pe(e,t),n)},__wbg_prototypesetcall_d49a4fab5ca427bc:function(e,t,n){Float64Array.prototype.set.call(xe(e,t),n)},__wbg_push_2baf45db356cf468:function(e,t){return e.push(t)},__wbg_queueMicrotask_9833f9a49df95a49:function(e){return e.queueMicrotask},__wbg_queueMicrotask_a72f977e97f23c5f:function(e){queueMicrotask(e)},__wbg_readPixels_31e44e70558ac590:function(){return y(function(e,t,n,_,c,i,a,f){e.readPixels(t,n,_,c,i>>>0,a>>>0,f)},arguments)},__wbg_readPixels_3321086a7818a739:function(){return y(function(e,t,n,_,c,i,a,f){e.readPixels(t,n,_,c,i>>>0,a>>>0,f)},arguments)},__wbg_readPixels_eb030cd9976eeca5:function(){return y(function(e,t,n,_,c,i,a,f){e.readPixels(t,n,_,c,i>>>0,a>>>0,f)},arguments)},__wbg_renderbufferStorage_52b131bbf3112b3a:function(e,t,n,_,c){e.renderbufferStorage(t>>>0,n>>>0,_,c)},__wbg_renderbufferStorage_bca487b0dea425b8:function(e,t,n,_,c){e.renderbufferStorage(t>>>0,n>>>0,_,c)},__wbg_resolve_0076e10020304ede:function(e){return Promise.resolve(e)},__wbg_scissor_12ddc324094acd50:function(e,t,n,_,c){e.scissor(t,n,_,c)},__wbg_scissor_a9468482697c2bdb:function(e,t,n,_,c){e.scissor(t,n,_,c)},__wbg_setTimeout_db7bbc18a17e152a:function(){return y(function(e,t,n){return e.setTimeout(t,n)},arguments)},__wbg_set_145a351398b48c65:function(){return y(function(e,t,n){return Reflect.set(e,t,n)},arguments)},__wbg_set_af5932e3f78b5648:function(){return y(function(e,t,n,_,c){e.set(k(t,n),k(_,c))},arguments)},__wbg_set_alpha_6dea851a46253adf:function(e,t){e.alpha=t!==0},__wbg_set_antialias_1f699e96763e8a35:function(e,t){e.antialias=t!==0},__wbg_set_cache_7507c4cc5938ccc7:function(e,t){e.cache=xt[t]},__wbg_set_color_space_conversion_f27e9d866a683b4b:function(e,t){e.colorSpaceConversion=ht[t]},__wbg_set_depth_8b49de49803d4e60:function(e,t){e.depth=t!==0},__wbg_set_headers_40ad33dcf016613f:function(e,t){e.headers=t},__wbg_set_power_preference_6ef22d4c8baf517f:function(e,t){e.powerPreference=vt[t]},__wbg_set_premultiply_alpha_45a4cf9a1e87bfbf:function(e,t){e.premultiplyAlpha=At[t]},__wbg_set_resize_height_274433c2f249624d:function(e,t){e.resizeHeight=t>>>0},__wbg_set_resize_width_6f06543b29d1ca48:function(e,t){e.resizeWidth=t>>>0},__wbg_set_signal_2dbd377604627f26:function(e,t){e.signal=t},__wbg_set_stencil_edc32d9477c7c107:function(e,t){e.stencil=t!==0},__wbg_set_type_dcf75b2afa60c694:function(e,t,n){e.type=k(t,n)},__wbg_shaderSource_06379dac249994dd:function(e,t,n,_){e.shaderSource(t,k(n,_))},__wbg_shaderSource_c8812639b47d87b9:function(e,t,n,_){e.shaderSource(t,k(n,_))},__wbg_signal_e5a49a2d9c65b7f6:function(e){return e.signal},__wbg_size_74c48d7329291685:function(e){return e.size},__wbg_static_accessor_GLOBAL_266715b9d96ba635:function(){let e=typeof global>"u"?null:global;return l(e)?0:h(e)},__wbg_static_accessor_GLOBAL_THIS_10fb7dc1ae063179:function(){let e=typeof globalThis>"u"?null:globalThis;return l(e)?0:h(e)},__wbg_static_accessor_SELF_0b583911f537483a:function(){let e=typeof self>"u"?null:self;return l(e)?0:h(e)},__wbg_static_accessor_WINDOW_d7f903d1508cbdc4:function(){let e=typeof window>"u"?null:window;return l(e)?0:h(e)},__wbg_status_ce0a98d3c57125f3:function(e){return e.status},__wbg_stencilFunc_aa3cd8856be514c4:function(e,t,n,_){e.stencilFunc(t>>>0,n,_>>>0)},__wbg_stencilFunc_bab7e0b7c443f093:function(e,t,n,_){e.stencilFunc(t>>>0,n,_>>>0)},__wbg_stencilMask_9e18cc018897c747:function(e,t){e.stencilMask(t>>>0)},__wbg_stencilMask_a22be64c66abd825:function(e,t){e.stencilMask(t>>>0)},__wbg_stencilOpSeparate_7d01185cbdb89d99:function(e,t,n,_,c){e.stencilOpSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_stencilOpSeparate_c5af5f5dbd237bea:function(e,t,n,_,c){e.stencilOpSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_stencilOp_12274af665ab8a00:function(e,t,n,_){e.stencilOp(t>>>0,n>>>0,_>>>0)},__wbg_stencilOp_2697194654fee819:function(e,t,n,_){e.stencilOp(t>>>0,n>>>0,_>>>0)},__wbg_subarray_002b94d5e13d1411:function(e,t,n){return e.subarray(t>>>0,n>>>0)},__wbg_texImage2D_1b3349107ad0faae:function(){return y(function(e,t,n,_,c,i,a){e.texImage2D(t>>>0,n,_,c>>>0,i>>>0,a)},arguments)},__wbg_texImage2D_82bf2b4c8aa9a1db:function(){return y(function(e,t,n,_,c,i,a,f,b,u){e.texImage2D(t>>>0,n,_,c,i,a,f>>>0,b>>>0,u)},arguments)},__wbg_texImage2D_8fc2f2fcca249b59:function(){return y(function(e,t,n,_,c,i,a){e.texImage2D(t>>>0,n,_,c>>>0,i>>>0,a)},arguments)},__wbg_texImage2D_a856af552acdc9d9:function(){return y(function(e,t,n,_,c,i,a,f,b,u){e.texImage2D(t>>>0,n,_,c,i,a,f>>>0,b>>>0,u)},arguments)},__wbg_texImage2D_ca3d0fe24620ec85:function(){return y(function(e,t,n,_,c,i,a,f,b,u){e.texImage2D(t>>>0,n,_,c,i,a,f>>>0,b>>>0,u)},arguments)},__wbg_texParameteri_647fdb1426809cb5:function(e,t,n,_){e.texParameteri(t>>>0,n>>>0,_)},__wbg_texParameteri_7864076abcdb03e0:function(e,t,n,_){e.texParameteri(t>>>0,n>>>0,_)},__wbg_texStorage2D_cf2bd991072d9efb:function(e,t,n,_,c,i){e.texStorage2D(t>>>0,n,_>>>0,c,i)},__wbg_texStorage3D_74b701c2b176380c:function(e,t,n,_,c,i,a){e.texStorage3D(t>>>0,n,_>>>0,c,i,a)},__wbg_texSubImage2D_31a0c2797aa04f32:function(){return y(function(e,t,n,_,c,i,a,f,b,u){e.texSubImage2D(t>>>0,n,_,c,i,a,f>>>0,b>>>0,u)},arguments)},__wbg_texSubImage2D_5e90c7a719d40256:function(){return y(function(e,t,n,_,c,i,a,f,b,u){e.texSubImage2D(t>>>0,n,_,c,i,a,f>>>0,b>>>0,u)},arguments)},__wbg_texSubImage2D_bb322aae90f7657f:function(){return y(function(e,t,n,_,c,i,a,f,b,u){e.texSubImage2D(t>>>0,n,_,c,i,a,f>>>0,b>>>0,u)},arguments)},__wbg_texSubImage3D_5143d5af7e182ddc:function(){return y(function(e,t,n,_,c,i,a,f,b,u,d,g){e.texSubImage3D(t>>>0,n,_,c,i,a,f,b,u>>>0,d>>>0,g)},arguments)},__wbg_texSubImage3D_5d773fc7a8cd4d08:function(){return y(function(e,t,n,_,c,i,a,f,b,u,d,g){e.texSubImage3D(t>>>0,n,_,c,i,a,f,b,u>>>0,d>>>0,g)},arguments)},__wbg_texSubImage3D_e0d113b7047a5130:function(){return y(function(e,t,n,_,c,i,a,f,b,u,d,g){e.texSubImage3D(t>>>0,n,_,c,i,a,f,b,u>>>0,d>>>0,g)},arguments)},__wbg_then_c949d5a25a4e78f8:function(e,t,n){return e.then(t,n)},__wbg_then_e71170d78fcf8954:function(e,t){return e.then(t)},__wbg_type_ff6f7b321fe8478b:function(e){return e.type},__wbg_uniform1f_9cfecfaeb8cf43c1:function(e,t,n){e.uniform1f(t,n)},__wbg_uniform1f_b5856e35a43b65a1:function(e,t,n){e.uniform1f(t,n)},__wbg_uniform1fv_1bf537fc926ef8b9:function(e,t,n,_){e.uniform1fv(t,R(n,_))},__wbg_uniform1fv_1cc1d09bc13b03bf:function(e,t,n,_){e.uniform1fv(t,R(n,_))},__wbg_uniform1i_531b98c4a7177366:function(e,t,n){e.uniform1i(t,n)},__wbg_uniform1i_fc2dc8cadc49d8ec:function(e,t,n){e.uniform1i(t,n)},__wbg_uniform1iv_4b8cbceccddfaa62:function(e,t,n,_){e.uniform1iv(t,W(n,_))},__wbg_uniform1iv_8fc880ae80c77c74:function(e,t,n,_){e.uniform1iv(t,W(n,_))},__wbg_uniform1ui_353c67ec681b540c:function(e,t,n){e.uniform1ui(t,n>>>0)},__wbg_uniform1uiv_ad5e946730aacbec:function(e,t,n,_){e.uniform1uiv(t,O(n,_))},__wbg_uniform2f_131da2d4bf17e4b9:function(e,t,n,_){e.uniform2f(t,n,_)},__wbg_uniform2f_a92b5bb95dc5b4d9:function(e,t,n,_){e.uniform2f(t,n,_)},__wbg_uniform2fv_319c49f0ce340f26:function(e,t,n,_){e.uniform2fv(t,R(n,_))},__wbg_uniform2fv_a7d3c1830d18c1b2:function(e,t,n,_){e.uniform2fv(t,R(n,_))},__wbg_uniform2iv_65f36fc9777697d7:function(e,t,n,_){e.uniform2iv(t,W(n,_))},__wbg_uniform2iv_ca9cb507409b9ad1:function(e,t,n,_){e.uniform2iv(t,W(n,_))},__wbg_uniform2uiv_c95af5fb653ccb86:function(e,t,n,_){e.uniform2uiv(t,O(n,_))},__wbg_uniform3f_1211579ff87ccfad:function(e,t,n,_,c){e.uniform3f(t,n,_,c)},__wbg_uniform3f_ee105161897ee48a:function(e,t,n,_,c){e.uniform3f(t,n,_,c)},__wbg_uniform3fv_055ea5ac38af4fce:function(e,t,n,_){e.uniform3fv(t,R(n,_))},__wbg_uniform3fv_58520ffe22a6e27c:function(e,t,n,_){e.uniform3fv(t,R(n,_))},__wbg_uniform3iv_0590e8b7eff2a791:function(e,t,n,_){e.uniform3iv(t,W(n,_))},__wbg_uniform3iv_e91b1410dc299f50:function(e,t,n,_){e.uniform3iv(t,W(n,_))},__wbg_uniform3uiv_9992491000463a52:function(e,t,n,_){e.uniform3uiv(t,O(n,_))},__wbg_uniform4f_22bfec882308eec2:function(e,t,n,_,c,i){e.uniform4f(t,n,_,c,i)},__wbg_uniform4f_8dd8f311e656ca0d:function(e,t,n,_,c,i){e.uniform4f(t,n,_,c,i)},__wbg_uniform4fv_3ef2f5121fcb78ae:function(e,t,n,_){e.uniform4fv(t,R(n,_))},__wbg_uniform4fv_cf8ff646c36232c8:function(e,t,n,_){e.uniform4fv(t,R(n,_))},__wbg_uniform4iv_6fc5436b4f876039:function(e,t,n,_){e.uniform4iv(t,W(n,_))},__wbg_uniform4iv_99c2b07787d362d6:function(e,t,n,_){e.uniform4iv(t,W(n,_))},__wbg_uniform4uiv_a6fb3237d9df7ed4:function(e,t,n,_){e.uniform4uiv(t,O(n,_))},__wbg_uniformMatrix3fv_472e7824735acce1:function(e,t,n,_,c){e.uniformMatrix3fv(t,n!==0,R(_,c))},__wbg_uniformMatrix3fv_83fdc9c3c0d43204:function(e,t,n,_,c){e.uniformMatrix3fv(t,n!==0,R(_,c))},__wbg_uniformMatrix4fv_dff9738d995fd0b1:function(e,t,n,_,c){e.uniformMatrix4fv(t,n!==0,R(_,c))},__wbg_uniformMatrix4fv_e691d7f14d3609f7:function(e,t,n,_,c){e.uniformMatrix4fv(t,n!==0,R(_,c))},__wbg_useProgram_5bdae58fd9f9826f:function(e,t){e.useProgram(t)},__wbg_useProgram_e075c2902e420761:function(e,t){e.useProgram(t)},__wbg_vertexAttrib1f_37ce0547e8fa5f36:function(e,t,n){e.vertexAttrib1f(t>>>0,n)},__wbg_vertexAttrib1f_470b2556c148483a:function(e,t,n){e.vertexAttrib1f(t>>>0,n)},__wbg_vertexAttribDivisorANGLE_659fb027198a47c3:function(e,t,n){e.vertexAttribDivisorANGLE(t>>>0,n>>>0)},__wbg_vertexAttribDivisor_7575d382215322f7:function(e,t,n){e.vertexAttribDivisor(t>>>0,n>>>0)},__wbg_vertexAttribIPointer_fc8057c62cfcc63c:function(e,t,n,_,c,i){e.vertexAttribIPointer(t>>>0,n,_>>>0,c,i)},__wbg_vertexAttribPointer_24b495e18df325dc:function(e,t,n,_,c,i,a){e.vertexAttribPointer(t>>>0,n,_>>>0,c!==0,i,a)},__wbg_vertexAttribPointer_54d56b18f71a946d:function(e,t,n,_,c,i,a){e.vertexAttribPointer(t>>>0,n,_>>>0,c!==0,i,a)},__wbg_viewport_16936692526e2ce6:function(e,t,n,_,c){e.viewport(t,n,_,c)},__wbg_viewport_e35d16c542d2ce70:function(e,t,n,_,c){e.viewport(t,n,_,c)},__wbg_warn_13abc63e0d4b3527:function(e){console.warn(e)},__wbg_width_8a9cc26363f10d5f:function(e){return e.width},__wbindgen_generic_0000000000000001:function(e,t){return Rt(e,t,pt)},__wbindgen_generic_0000000000000002:function(e){return e},__wbindgen_generic_0000000000000003:function(e,t){return R(e,t)},__wbindgen_generic_0000000000000004:function(e,t){return Ft(e,t)},__wbindgen_generic_0000000000000005:function(e,t){return W(e,t)},__wbindgen_generic_0000000000000006:function(e,t){return St(e,t)},__wbindgen_generic_0000000000000007:function(e,t){return Tt(e,t)},__wbindgen_generic_0000000000000008:function(e,t){return O(e,t)},__wbindgen_generic_0000000000000009:function(e,t){return pe(e,t)},__wbindgen_generic_000000000000000a:function(e,t){return k(e,t)},__wbindgen_init_externref_table:function(){let e=o.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function pt(r,e,t){let n=o.wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___wasm_bindgen_2e566c63402fe7fa___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_2e566c63402fe7fa___JsError___true_(r,e,t);if(n[1])throw m(n[0])}function yt(r,e,t,n){o.wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined_______true_(r,e,t,n)}var ht=["none","default"],At=["none","premultiply","default"],xt=["default","no-store","reload","no-cache","force-cache","only-if-cached"],vt=["default","low-power","high-performance"],We=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((r)=>o.__wbg_engine_free(r,1));function h(r){let e=o.__externref_table_alloc();return o.__wbindgen_externrefs.set(e,r),e}var Oe=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((r)=>o.__wbindgen_destroy_closure(r.a,r.b));function Ae(r){let e=typeof r;if(e=="number"||e=="boolean"||r==null)return`${r}`;if(e=="string")return`"${r}"`;if(e=="symbol"){let _=r.description;if(_==null)return"Symbol";else return`Symbol(${_})`}if(e=="function"){let _=r.name;if(typeof _=="string"&&_.length>0)return`Function(${_})`;else return"Function"}if(Array.isArray(r)){let _=r.length,c="[";if(_>0)c+=Ae(r[0]);for(let i=1;i<_;i++)c+=", "+Ae(r[i]);return c+="]",c}let t=/\[object ([^\]]+)\]/.exec(toString.call(r)),n;if(t&&t.length>1)n=t[1];else return toString.call(r);if(n=="Object")try{return"Object("+JSON.stringify(r)+")"}catch(_){return"Object"}if(r instanceof Error)return`${r.name}: ${r.message}
4
- ${r.stack}`;return n}function R(r,e){return r=r>>>0,Ne().subarray(r/4,r/4+e)}function xe(r,e){return r=r>>>0,He().subarray(r/8,r/8+e)}function Ft(r,e){return r=r>>>0,It().subarray(r/2,r/2+e)}function W(r,e){return r=r>>>0,Pt().subarray(r/4,r/4+e)}function St(r,e){return r=r>>>0,Dt().subarray(r/1,r/1+e)}function Tt(r,e){return r=r>>>0,Mt().subarray(r/2,r/2+e)}function O(r,e){return r=r>>>0,$e().subarray(r/4,r/4+e)}function pe(r,e){return r=r>>>0,N().subarray(r/1,r/1+e)}var G=null;function P(){if(G===null||G.buffer.detached===!0||G.buffer.detached===void 0&&G.buffer!==o.memory.buffer)G=new DataView(o.memory.buffer);return G}var z=null;function Ne(){if(z===null||z.byteLength===0)z=new Float32Array(o.memory.buffer);return z}var q=null;function He(){if(q===null||q.byteLength===0)q=new Float64Array(o.memory.buffer);return q}var X=null;function It(){if(X===null||X.byteLength===0)X=new Int16Array(o.memory.buffer);return X}var J=null;function Pt(){if(J===null||J.byteLength===0)J=new Int32Array(o.memory.buffer);return J}var K=null;function Dt(){if(K===null||K.byteLength===0)K=new Int8Array(o.memory.buffer);return K}function k(r,e){return Lt(r>>>0,e)}var Y=null;function Mt(){if(Y===null||Y.byteLength===0)Y=new Uint16Array(o.memory.buffer);return Y}var Z=null;function $e(){if(Z===null||Z.byteLength===0)Z=new Uint32Array(o.memory.buffer);return Z}var Q=null;function N(){if(Q===null||Q.byteLength===0)Q=new Uint8Array(o.memory.buffer);return Q}function y(r,e){try{return r.apply(this,e)}catch(t){let n=h(t);o.__wbindgen_exn_store(n)}}function l(r){return r===void 0||r===null}function Rt(r,e,t){let n={a:r,b:e,cnt:1},_=(...c)=>{n.cnt++;let i=n.a;n.a=0;try{return t(i,n.b,...c)}finally{n.a=i,_._wbg_cb_unref()}};return _._wbg_cb_unref=()=>{if(--n.cnt===0)o.__wbindgen_destroy_closure(n.a,n.b),n.a=0,Oe.unregister(n)},Oe.register(_,n,n),_}function w(r,e){let t=e(r.length*4,4)>>>0;return $e().set(r,t/4),s=r.length,t}function T(r,e){let t=e(r.length*1,1)>>>0;return N().set(r,t/1),s=r.length,t}function A(r,e){let t=e(r.length*4,4)>>>0;return Ne().set(r,t/4),s=r.length,t}function x(r,e){let t=e(r.length*8,8)>>>0;return He().set(r,t/8),s=r.length,t}function Ve(r,e){let t=e(r.length*4,4)>>>0;for(let n=0;n<r.length;n++){let _=h(r[n]);P().setUint32(t+4*n,_,!0)}return s=r.length,t}function M(r,e,t){if(t===void 0){let a=ee.encode(r),f=e(a.length,1)>>>0;return N().subarray(f,f+a.length).set(a),s=a.length,f}let n=r.length,_=e(n,1)>>>0,c=N(),i=0;for(;i<n;i++){let a=r.charCodeAt(i);if(a>127)break;c[_+i]=a}if(i!==n){if(i!==0)r=r.slice(i);_=t(_,n,n=i+r.length*3,1)>>>0;let a=N().subarray(_+i,_+n),f=ee.encodeInto(r,a);i+=f.written,_=t(_,n,i,1)>>>0}return s=i,_}function m(r){let e=o.__wbindgen_externrefs.get(r);return o.__externref_table_dealloc(r),e}var oe=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});oe.decode();var Et=2146435072,ye=0;function Lt(r,e){if(ye+=e,ye>=Et)oe=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),oe.decode(),ye=e;return oe.decode(N().subarray(r,r+e))}var ee=new TextEncoder;if(!("encodeInto"in ee))ee.encodeInto=function(r,e){let t=ee.encode(r);return e.set(t),{read:r.length,written:t.length}};var s=0,kt,Ut,o;function Bt(r,e){return Ut=r,o=r.exports,kt=e,G=null,z=null,q=null,X=null,J=null,K=null,Y=null,Z=null,Q=null,o.__wbindgen_start(),o}async function Ct(r,e){if(typeof Response==="function"&&r instanceof Response){if(!r.ok)throw Error(`failed to fetch Wasm: ${r.status} ${r.statusText} fetching '${r.url}'`);if(typeof WebAssembly.instantiateStreaming==="function")try{return await WebAssembly.instantiateStreaming(r,e)}catch(_){if(t(r.type)&&r.headers.get("Content-Type")!=="application/wasm")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",_);else throw _}let n=await r.arrayBuffer();return await WebAssembly.instantiate(n,e)}else{let n=await WebAssembly.instantiate(r,e);if(n instanceof WebAssembly.Instance)return{instance:n,module:r};else return n}function t(n){switch(n){case"basic":case"cors":case"default":return!0}return!1}}async function ze(r){if(o!==void 0)return o;if(r!==void 0)if(Object.getPrototypeOf(r)===Object.prototype)({module_or_path:r}=r);else console.warn("using deprecated parameters for the initialization function; pass a single object instead");if(r===void 0)r=new URL("isard_bg.wasm",import.meta.url);let e=mt();if(typeof r==="string"||typeof Request==="function"&&r instanceof Request||typeof URL==="function"&&r instanceof URL)r=fetch(r);let{instance:t,module:n}=await Ct(await r,e);return Bt(t,n)}function Je(r,e,t,n,_){let c=qe(r,L.__wbindgen_malloc),i=H,a=qe(e,L.__wbindgen_malloc),f=H,b=Xe(t,L.__wbindgen_malloc),u=H,d=Xe(n,L.__wbindgen_malloc),g=H,p=L.decodeCopc(c,i,a,f,b,u,d,g,_);if(p[3])throw jt(p[2]);var I=Ot(p[0],p[1]).slice();return L.__wbindgen_free(p[0],p[1]*1,1),I}function Wt(){return{__proto__:null,"./isard_points_bg.js":{__proto__:null,__wbindgen_generic_0000000000000001:function(e,t){return Gt(e,t)},__wbindgen_init_externref_table:function(){let e=L.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function Ot(r,e){return r=r>>>0,Fe().subarray(r/1,r/1+e)}var te=null;function Vt(){if(te===null||te.byteLength===0)te=new Float64Array(L.memory.buffer);return te}function Gt(r,e){return Ht(r>>>0,e)}var ne=null;function Fe(){if(ne===null||ne.byteLength===0)ne=new Uint8Array(L.memory.buffer);return ne}function qe(r,e){let t=e(r.length*1,1)>>>0;return Fe().set(r,t/1),H=r.length,t}function Xe(r,e){let t=e(r.length*8,8)>>>0;return Vt().set(r,t/8),H=r.length,t}function jt(r){let e=L.__wbindgen_externrefs.get(r);return L.__externref_table_dealloc(r),e}var ce=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});ce.decode();var Nt=2146435072,ve=0;function Ht(r,e){if(ve+=e,ve>=Nt)ce=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),ce.decode(),ve=e;return ce.decode(Fe().subarray(r,r+e))}var H=0,$t,zt,L;function qt(r,e){return zt=r,L=r.exports,$t=e,te=null,ne=null,L.__wbindgen_start(),L}async function Xt(r,e){if(typeof Response==="function"&&r instanceof Response){if(!r.ok)throw Error(`failed to fetch Wasm: ${r.status} ${r.statusText} fetching '${r.url}'`);if(typeof WebAssembly.instantiateStreaming==="function")try{return await WebAssembly.instantiateStreaming(r,e)}catch(_){if(t(r.type)&&r.headers.get("Content-Type")!=="application/wasm")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",_);else throw _}let n=await r.arrayBuffer();return await WebAssembly.instantiate(n,e)}else{let n=await WebAssembly.instantiate(r,e);if(n instanceof WebAssembly.Instance)return{instance:n,module:r};else return n}function t(n){switch(n){case"basic":case"cors":case"default":return!0}return!1}}async function Ke(r){if(L!==void 0)return L;if(r!==void 0)if(Object.getPrototypeOf(r)===Object.prototype)({module_or_path:r}=r);else console.warn("using deprecated parameters for the initialization function; pass a single object instead");if(r===void 0)r=new URL("isard_points_bg.wasm",import.meta.url);let e=Wt();if(typeof r==="string"||typeof Request==="function"&&r instanceof Request||typeof URL==="function"&&r instanceof URL)r=fetch(r);let{instance:t,module:n}=await Xt(await r,e);return qt(t,n)}var Ye,Te=Ee,Ze={astc:!1,bptc:!1,etc:!1,s3tc:!1},Qe="",Se,re=new Map,ie=(r,e=[])=>postMessage(r,e);addEventListener("message",(r)=>{let e=r.data;switch(e.type){case"headers":Be(e.rules);break;case"init":Ye=ze({module_or_path:e.module}),Te=e.decoders,Ze=e.formats,Qe=e.points;break;case"points":en(e);break;case"abort":re.get(e.id)?.abort();break;case"load":Jt(e.id,e.url,e.transform,e.yUp,e.reload,e.priority);break}});var Jt=async(r,e,t,n,_,c)=>{let i=new AbortController;re.set(r,i);try{await Ye;let a={signal:i.signal,cache:_?"reload":"default",...c?{priority:c}:{}},f=await fetch(e,me(e,a));if(!f.ok)throw Error(`HTTP ${f.status}`);let b=new Uint8Array(await f.arrayBuffer()),u=je(b),d=u.length>0?await Le(Te,u):void 0,g=Ge(b,t,n,d),p=new Map,I=(F,U)=>{let B=p.get(F);if(B)return B;let V=U==="image/ktx2"?ke(Te,Ze,F).then((C)=>({bitmap:null,texture:C})):createImageBitmap(new Blob([F],{type:U??""}),{premultiplyAlpha:"none"}).then((C)=>({bitmap:C}));return p.set(F,V),V},v=g.points??[],D=await Promise.all(g.primitives.map(async({vertices:F,indices:U,image:B,mime:V,color:C,features:j})=>({vertices:F,indices:U,...C?{color:C}:{},...j?{features:j}:{},...B?await I(B,V):{bitmap:null}}))),S=new Set;D.forEach((F)=>{if(S.add(F.vertices.buffer),S.add(F.indices.buffer),F.color)S.add(F.color.buffer);if(F.features)S.add(F.features.buffer);if(F.bitmap)S.add(F.bitmap);F.texture?.levels.forEach((U)=>{S.add(U.data.buffer)})}),v.forEach((F)=>{S.add(F.buffer)});let E={anchor:g.anchor,primitives:D,...v.length>0?{points:v}:{},...g.properties?{properties:g.properties}:{}};ie({type:"tile",id:r,tile:E},[...S])}catch(a){ie({type:"error",id:r,error:String(a),aborted:i.signal.aborted})}finally{re.delete(r)}},Kt=4,Yt=1000,Zt=(r,e)=>new Promise((t,n)=>{let _=setTimeout(t,r);e.addEventListener("abort",()=>{clearTimeout(_),n(new DOMException("aborted","AbortError"))})}),Qt=async(r,e,t,n,_)=>{for(let c=1;;c+=1){let i={signal:n,headers:{Range:`bytes=${e}-${e+Math.max(t,1)-1}`},..._?{priority:_}:{}},a=await fetch(r,me(r,i));if(a.status===429&&c<Kt){let f=Number(a.headers.get("Retry-After"));await Zt(f>0?f*1000:Yt*2**(c-1),n);continue}if(!a.ok)throw Error(`HTTP ${a.status}`);if(a.status!==206){let f=a.headers.get("Content-Length"),b=f!==null&&!(Number(f)<=t),u=b?void 0:await Ce(a,t);if(!u){if(b)await a.body?.cancel();throw Error("the server ignores range requests (HTTP 206 expected)")}return u.subarray(e,e+t)}return new Uint8Array(await a.arrayBuffer())}},en=async(r)=>{let{id:e,url:t,offset:n,size:_,laz:c,layout:i,grid:a,count:f,priority:b}=r,u=new AbortController;re.set(e,u);try{Se??=Ke({module_or_path:Qe}).catch((p)=>{throw Se=void 0,p});let[d]=await Promise.all([Qt(t,n,_,u.signal,b),Se]),g=Je(d,c,i,a,f);ie({type:"points",id:e,vertices:g},[g.buffer])}catch(d){ie({type:"error",id:e,error:String(d),aborted:u.signal.aborted})}finally{re.delete(e)}};
1
+ var Ge=(r)=>typeof r==="object"&&r!==null&&!Array.isArray(r);var $e={draco:"https://www.gstatic.com/draco/versioned/decoders/1.5.7/",basis:"https://cdn.jsdelivr.net/npm/three@0.170.0/examples/jsm/libs/basis/"},gt=async(r,e)=>{let t=await(await fetch(r)).text(),n=URL.createObjectURL(new Blob([`${t}
2
+ export default ${e};`],{type:"text/javascript"}));try{let _=await import(n);if(Ge(_)&&typeof _.default==="function")return _.default}catch{}finally{URL.revokeObjectURL(n)}return Function(`${t}
3
+ return ${e};`)()},De=async(r,e,t,n)=>{let[_,c]=await Promise.all([gt(`${r}${e}`,n),fetch(`${r}${t}`).then((i)=>i.arrayBuffer())]);return _({wasmBinary:c})},je,Ne,He,ze=async(r,e)=>{let t=e.some((c)=>!c.points);if(t)je??=De(r.draco,"draco_wasm_wrapper_gltf.js","draco_decoder_gltf.wasm","DracoDecoderModule");if(e.some((c)=>c.points))Ne??=De(r.draco,"draco_wasm_wrapper.js","draco_decoder.wasm","DracoDecoderModule");let[n,_]=await Promise.all([t?je:void 0,Ne]);return e.map((c)=>{let i=c.points?_:n;if(!i)throw Error("isard: the Draco decoder is not loaded");let s=new i.Decoder,f=c.points?new i.PointCloud:new i.Mesh;try{let b=new Int8Array(c.data.buffer,c.data.byteOffset,c.data.byteLength),u=c.points?s.DecodeArrayToPointCloud(b,b.byteLength,f):s.DecodeArrayToMesh(b,b.byteLength,f);if(!u.ok())throw Error(`Draco: ${u.error_msg()}`);let d=(F)=>{let S=s.GetAttributeByUniqueId(f,F),I=f.num_points()*S.num_components(),M=i._malloc(I*4);try{return s.GetAttributeDataArrayForAllPoints(f,S,i.DT_FLOAT32,I*4,M),i.HEAPF32.slice(M/4,M/4+I)}finally{i._free(M)}};if(c.points){let F={mesh:c.mesh,primitive:c.primitive,positions:d(c.position)};if(c.color!==void 0)F.colors=d(c.color);if(c.normal!==void 0)F.normals=d(c.normal);return F}let h=(()=>{let F=f.num_faces()*3,S=i._malloc(F*4);try{return s.GetTrianglesUInt32Array(f,F*4,S),i.HEAPU32.slice(S/4,S/4+F)}finally{i._free(S)}})(),P={mesh:c.mesh,primitive:c.primitive,positions:d(c.position),indices:h};if(c.uv!==void 0)P.uvs=d(c.uv);return P}finally{i.destroy(f),i.destroy(s)}})},wt=(r,e)=>{if(r.astc)return{basis:10,gl:37808};if(r.bptc)return{basis:6,gl:36492};if(r.etc)return e?{basis:1,gl:37496}:{basis:0,gl:37492};if(r.s3tc)return e?{basis:3,gl:33779}:{basis:2,gl:33776};return{basis:13,gl:32856}},qe=async(r,e,t)=>{He??=De(r.basis,"basis_transcoder.js","basis_transcoder.wasm","BASIS").then((c)=>(c.initializeBasis(),c));let _=new(await He).KTX2File(t);try{if(!_.isValid()||!_.startTranscoding())throw Error("KTX2: invalid file");let{basis:c,gl:i}=wt(e,_.getHasAlpha()),s=Array.from({length:_.getLevels()},(f,b)=>{let{origWidth:u,origHeight:d}=_.getImageLevelInfo(b,0,0),g=new Uint8Array(_.getImageTranscodedSizeInBytes(b,0,0,c));if(!_.transcodeImage(g,b,0,0,c,0,-1,-1))throw Error("KTX2: transcoding failed");return{width:u,height:d,data:g}});return{format:i,levels:s}}finally{_.close(),_.delete()}};var Xe=[];var Je=(r)=>{Xe=r};var Me=(r,e={})=>{let t=String(r),n=Xe.filter(([c])=>t.startsWith(c));if(n.length===0)return e;let _=new Headers(e.headers);return n.forEach(([,c])=>{Object.entries(c).forEach(([i,s])=>{_.set(i,s)})}),{...e,headers:_}};var Ke=async(r,e)=>{let t=r.body?.getReader();if(!t)return new Uint8Array(await r.arrayBuffer());let n=[],_=0;for(;;){let{done:i,value:s}=await t.read();if(i)break;if(_+=s.length,_>e){await t.cancel();return}n.push(s)}let c=new Uint8Array(_);return n.reduce((i,s)=>(c.set(s,i),i+s.length),0),c};class Le{__destroy_into_raw(){let r=this.__wbg_ptr;return this.__wbg_ptr=0,Ye.unregister(this),r}free(){let r=this.__destroy_into_raw();o.__wbg_engine_free(r,0)}addCircles(r,e,t){let n=x(r,o.__wbindgen_malloc),_=a,c=w(e,o.__wbindgen_malloc),i=a,s=o.engine_addCircles(this.__wbg_ptr,n,_,c,i,t);if(s[2])throw m(s[1]);return s[0]>>>0}addCustomLayer(r,e){return o.engine_addCustomLayer(this.__wbg_ptr,r,e)>>>0}addExtrusions(){let r=o.engine_addExtrusions(this.__wbg_ptr);if(r[2])throw m(r[1]);return r[0]>>>0}addFills(r,e,t,n,_){let c=x(r,o.__wbindgen_malloc),i=a,s=w(e,o.__wbindgen_malloc),f=a,b=w(t,o.__wbindgen_malloc),u=a,d=w(n,o.__wbindgen_malloc),g=a,h=o.engine_addFills(this.__wbg_ptr,c,i,s,f,b,u,d,g,_);if(h[2])throw m(h[1]);return h[0]>>>0}addFlow(r,e){let t=o.engine_addFlow(this.__wbg_ptr,r,e);if(t[2])throw m(t[1]);return t[0]>>>0}addGround(r,e,t,n,_,c,i){let s=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),f=a,b=o.engine_addGround(this.__wbg_ptr,s,f,e,t,n,_,c,i);if(b[2])throw m(b[1]);return b[0]>>>0}addLines(r,e,t,n){let _=x(r,o.__wbindgen_malloc),c=a,i=w(e,o.__wbindgen_malloc),s=a,f=w(t,o.__wbindgen_malloc),b=a,u=o.engine_addLines(this.__wbg_ptr,_,c,i,s,f,b,n);if(u[2])throw m(u[1]);return u[0]>>>0}addModels(r,e,t){let n=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),_=a,c=x(e,o.__wbindgen_malloc),i=a,s=o.engine_addModels(this.__wbg_ptr,n,_,c,i,t);if(s[2])throw m(s[1]);return s[0]>>>0}addNetwork(r,e,t,n,_,c){let i=x(r,o.__wbindgen_malloc),s=a,f=w(e,o.__wbindgen_malloc),b=a;var u=l(t)?0:w(t,o.__wbindgen_malloc),d=a,g=l(n)?0:x(n,o.__wbindgen_malloc),h=a,P=l(_)?0:y(_,o.__wbindgen_malloc),F=a;let S=y(c,o.__wbindgen_malloc),I=a,M=o.engine_addNetwork(this.__wbg_ptr,i,s,f,b,u,d,g,h,P,F,S,I);if(M[2])throw m(M[1]);return M[0]>>>0}addPointCloud(r,e){let t=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),n=a,_=o.engine_addPointCloud(this.__wbg_ptr,t,n,e);if(_[2])throw m(_[1]);return _[0]>>>0}addRaster(r,e,t,n,_,c,i){let s=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),f=a,b=o.engine_addRaster(this.__wbg_ptr,s,f,e,t,n,_,l(c)?Number.MAX_SAFE_INTEGER:c>>0,l(i)?0:A(i));if(b[2])throw m(b[1]);return b[0]>>>0}addSymbols(){let r=o.engine_addSymbols(this.__wbg_ptr);if(r[2])throw m(r[1]);return r[0]>>>0}addTiles3d(r,e,t){let n=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),_=a,c=o.engine_addTiles3d(this.__wbg_ptr,n,_,e,l(t)?16777215:t?1:0);if(c[2])throw m(c[1]);return c[0]>>>0}addVectorTiles(){let r=o.engine_addVectorTiles(this.__wbg_ptr);if(r[2])throw m(r[1]);return r[0]>>>0}bounds(){let r=o.engine_bounds(this.__wbg_ptr);var e=Ue(r[0],r[1]).slice();return o.__wbindgen_free(r[0],r[1]*8,8),e}camera(){return o.engine_camera(this.__wbg_ptr)}clearPanorama(){o.engine_clearPanorama(this.__wbg_ptr)}clearPreload(){o.engine_clearPreload(this.__wbg_ptr)}clearViewshed(){o.engine_clearViewshed(this.__wbg_ptr)}static customMatrix(r,e,t){let n=o.engine_customMatrix(r,e,t),_;if(n[0]!==0)_=E(n[0],n[1]).slice(),o.__wbindgen_free(n[0],n[1]*4,4);return _}elevationAt(r,e){let t=o.engine_elevationAt(this.__wbg_ptr,r,e);return t[0]===0?void 0:t[1]}static geoidHeight(r,e){return o.engine_geoidHeight(r,e)}ground(r,e){return o.engine_ground(this.__wbg_ptr,r,e)}linkExtrusionNetwork(r,e,t){o.engine_linkExtrusionNetwork(this.__wbg_ptr,r,l(e)?Number.MAX_SAFE_INTEGER:e>>>0,t)}localMatrix(r,e,t){let n=o.engine_localMatrix(this.__wbg_ptr,r,e,t);var _=E(n[0],n[1]).slice();return o.__wbindgen_free(n[0],n[1]*4,4),_}moveLayer(r,e){o.engine_moveLayer(this.__wbg_ptr,r,e)}networkStats(r){return o.engine_networkStats(this.__wbg_ptr,r)}constructor(r,e){let t=o.engine_new(r,e);if(t[2])throw m(t[1]);return this.__wbg_ptr=t[0],Ye.register(this,this.__wbg_ptr,this),this}pan(r,e,t,n){o.engine_pan(this.__wbg_ptr,r,e,t,n)}pick(r,e,t,n){var _=l(n)?0:w(n,o.__wbindgen_malloc),c=a;return o.engine_pick(this.__wbg_ptr,r,e,!l(t),l(t)?0:t,_,c)}pointCloudInfo(r){return o.engine_pointCloudInfo(this.__wbg_ptr,r)}pointCloudPoint(r,e){return o.engine_pointCloudPoint(this.__wbg_ptr,r,e)}pointCloudStats(r){return o.engine_pointCloudStats(this.__wbg_ptr,r)}pollPick(){return o.engine_pollPick(this.__wbg_ptr)}preload(r,e,t,n,_){o.engine_preload(this.__wbg_ptr,r,e,t,n,_)}project(r,e,t){return o.engine_project(this.__wbg_ptr,r,e,!l(t),l(t)?0:t)}promoteFlowNext(r){o.engine_promoteFlowNext(this.__wbg_ptr,r)}removeExtrusionBatch(r,e){o.engine_removeExtrusionBatch(this.__wbg_ptr,r,e)}removeLayer(r){o.engine_removeLayer(this.__wbg_ptr,r)}removeVectorTile(r,e){o.engine_removeVectorTile(this.__wbg_ptr,r,e)}render(){return o.engine_render(this.__wbg_ptr)!==0}requestPick(r,e,t,n){var _=l(n)?0:w(n,o.__wbindgen_malloc),c=a;return o.engine_requestPick(this.__wbg_ptr,r,e,!l(t),l(t)?0:t,_,c)!==0}resize(r,e,t){o.engine_resize(this.__wbg_ptr,r,e,t)}rotate(r,e){o.engine_rotate(this.__wbg_ptr,r,e)}setAtmosphere(r){var e=l(r)?0:y(r,o.__wbindgen_malloc),t=a;o.engine_setAtmosphere(this.__wbg_ptr,e,t)}setBackground(r,e,t){o.engine_setBackground(this.__wbg_ptr,r,e,t)}setBody(r,e,t,n,_){var c=l(t)?0:y(t,o.__wbindgen_malloc),i=a;o.engine_setBody(this.__wbg_ptr,r,e,c,i,n,_)}setCamera(r,e,t,n,_){o.engine_setCamera(this.__wbg_ptr,r,e,t,n,_)}setCircleAlignment(r,e){o.engine_setCircleAlignment(this.__wbg_ptr,r,e)}setCircles(r,e,t){let n=x(e,o.__wbindgen_malloc),_=a,c=w(t,o.__wbindgen_malloc),i=a;o.engine_setCircles(this.__wbg_ptr,r,n,_,c,i)}setExtrusionAnchors(r,e,t){let n=y(t,o.__wbindgen_malloc),_=a,c=o.engine_setExtrusionAnchors(this.__wbg_ptr,r,e,n,_);if(c[1])throw m(c[0])}setExtrusionBatch(r,e,t,n,_,c,i,s,f,b){let u=x(t,o.__wbindgen_malloc),d=a,g=w(n,o.__wbindgen_malloc),h=a,P=w(_,o.__wbindgen_malloc),F=a,S=w(c,o.__wbindgen_malloc),I=a,M=T(s,o.__wbindgen_malloc),v=a,k=y(f,o.__wbindgen_malloc),U=a,B=o.engine_setExtrusionBatch(this.__wbg_ptr,r,e,u,d,g,h,P,F,S,I,i,M,v,k,U,b);if(B[1])throw m(B[0])}setFacades(r,e){o.engine_setFacades(this.__wbg_ptr,r,e)}setFeatureLayer(r,e,t,n,_){let c=y(e,o.__wbindgen_malloc),i=a;o.engine_setFeatureLayer(this.__wbg_ptr,r,c,i,t,n,_)}setFeatureMask(r,e,t){let n=T(e,o.__wbindgen_malloc),_=a;o.engine_setFeatureMask(this.__wbg_ptr,r,n,_,l(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFeatureRamp(r,e,t,n){var _=l(e)?0:T(e,o.__wbindgen_malloc),c=a;o.engine_setFeatureRamp(this.__wbg_ptr,r,_,c,t,n)}setFeatureStyle(r,e,t){let n=y(e,o.__wbindgen_malloc),_=a;o.engine_setFeatureStyle(this.__wbg_ptr,r,n,_,l(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFeatureValues(r,e,t){let n=y(e,o.__wbindgen_malloc),_=a;o.engine_setFeatureValues(this.__wbg_ptr,r,n,_,l(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFills(r,e,t,n,_){let c=x(e,o.__wbindgen_malloc),i=a,s=w(t,o.__wbindgen_malloc),f=a,b=w(n,o.__wbindgen_malloc),u=a,d=w(_,o.__wbindgen_malloc),g=a;o.engine_setFills(this.__wbg_ptr,r,c,i,s,f,b,u,d,g)}setFirstPerson(r,e,t,n,_,c){o.engine_setFirstPerson(this.__wbg_ptr,r,e,t,n,_,c)}setFlowBlend(r,e){o.engine_setFlowBlend(this.__wbg_ptr,r,e)}setFlowField(r,e,t,n,_,c){let i=y(n,o.__wbindgen_malloc),s=a,f=y(_,o.__wbindgen_malloc),b=a,u=x(c,o.__wbindgen_malloc),d=a;o.engine_setFlowField(this.__wbg_ptr,r,e,t,i,s,f,b,u,d)}setFlowNext(r,e,t){let n=y(e,o.__wbindgen_malloc),_=a,c=y(t,o.__wbindgen_malloc),i=a;o.engine_setFlowNext(this.__wbg_ptr,r,n,_,c,i)}setFlowStyle(r,e,t,n,_,c,i,s){let f=y(e,o.__wbindgen_malloc),b=a,u=y(t,o.__wbindgen_malloc),d=a;o.engine_setFlowStyle(this.__wbg_ptr,r,f,b,u,d,n,_,c,i,s)}setFlowWeights(r,e,t){o.engine_setFlowWeights(this.__wbg_ptr,r,e,t)}setGlobeColor(r,e,t){o.engine_setGlobeColor(this.__wbg_ptr,r,e,t)}setGlobe(r){o.engine_setGlobe(this.__wbg_ptr,r)}setGlyphAtlas(r,e,t){var n=l(t)?0:T(t,o.__wbindgen_malloc),_=a;let c=o.engine_setGlyphAtlas(this.__wbg_ptr,r,e,n,_);if(c[1])throw m(c[0])}setGlyphPages(r,e,t){let n=o.engine_setGlyphPages(this.__wbg_ptr,r,e,t);if(n[1])throw m(n[0])}setGroundBounds(r,e,t,n,_){o.engine_setGroundBounds(this.__wbg_ptr,r,e,t,n,_)}setGroundTexture(r,e,t,n,_,c,i,s){let f=R(e,o.__wbindgen_malloc,o.__wbindgen_realloc),b=a,u=R(t,o.__wbindgen_malloc,o.__wbindgen_realloc),d=a;var g=l(s)?0:T(s,o.__wbindgen_malloc),h=a;let P=o.engine_setGroundTexture(this.__wbg_ptr,r,f,b,u,d,n,_,c,i,g,h);if(P[1])throw m(P[0])}setGroundUniform(r,e,t){let n=R(e,o.__wbindgen_malloc,o.__wbindgen_realloc),_=a,c=x(t,o.__wbindgen_malloc),i=a,s=o.engine_setGroundUniform(this.__wbg_ptr,r,n,_,c,i);if(s[1])throw m(s[0])}setGroundVisible(r,e){o.engine_setGroundVisible(this.__wbg_ptr,r,e)}setIconAtlas(r,e){let t=o.engine_setIconAtlas(this.__wbg_ptr,r,e);if(t[1])throw m(t[0])}setImmediateLoading(r){o.engine_setImmediateLoading(this.__wbg_ptr,r)}setLineDash(r,e,t){o.engine_setLineDash(this.__wbg_ptr,r,e,t)}setLines(r,e,t,n){let _=x(e,o.__wbindgen_malloc),c=a,i=w(t,o.__wbindgen_malloc),s=a,f=w(n,o.__wbindgen_malloc),b=a,u=o.engine_setLines(this.__wbg_ptr,r,_,c,i,s,f,b);if(u[1])throw m(u[0])}setMaxPitch(r){o.engine_setMaxPitch(this.__wbg_ptr,r)}setModelGlow(r,e,t,n,_){o.engine_setModelGlow(this.__wbg_ptr,r,e,t,n,_)}setModelHighlight(r,e,t,n,_){o.engine_setModelHighlight(this.__wbg_ptr,r,e,t,n,_)}setModelInstances(r,e,t){let n=x(e,o.__wbindgen_malloc),_=a;o.engine_setModelInstances(this.__wbg_ptr,r,n,_,t)}setNetworkCosts(r,e){var t=l(e)?0:y(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkCosts(this.__wbg_ptr,r,t,n)}setNetworkRamp(r,e){var t=l(e)?0:T(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkRamp(this.__wbg_ptr,r,t,n)}setNetworkScales(r,e){var t=l(e)?0:y(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkScales(this.__wbg_ptr,r,t,n)}setNetworkStyle(r,e){let t=y(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkStyle(this.__wbg_ptr,r,t,n)}setNetworkValues(r,e){let t=y(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkValues(this.__wbg_ptr,r,t,n)}setPanoramaImage(r,e){let t=o.engine_setPanoramaImage(this.__wbg_ptr,r,e);if(t[1])throw m(t[0])}setPanorama(r,e,t,n,_,c,i){let s=x(n,o.__wbindgen_malloc),f=a,b=x(_,o.__wbindgen_malloc),u=a,d=o.engine_setPanorama(this.__wbg_ptr,r,e,t,s,f,b,u,c,i);if(d[1])throw m(d[0])}setPointCloudStyle(r,e,t,n){let _=x(e,o.__wbindgen_malloc),c=a,i=T(t,o.__wbindgen_malloc),s=a,f=T(n,o.__wbindgen_malloc),b=a;o.engine_setPointCloudStyle(this.__wbg_ptr,r,_,c,i,s,f,b)}setRasterStyle(r,e,t){o.engine_setRasterStyle(this.__wbg_ptr,r,e,t)}setRequestHeaders(r,e,t){let n=Qe(r,o.__wbindgen_malloc),_=a,c=w(e,o.__wbindgen_malloc),i=a,s=Qe(t,o.__wbindgen_malloc),f=a;o.engine_setRequestHeaders(this.__wbg_ptr,n,_,c,i,s,f)}setSky(r){o.engine_setSky(this.__wbg_ptr,r)}setSun(r,e,t,n){let _=o.engine_setSun(this.__wbg_ptr,r,e,t,n);if(_[1])throw m(_[0])}setSwipe(r,e,t,n){let _=w(t,o.__wbindgen_malloc),c=a,i=w(n,o.__wbindgen_malloc),s=a;o.engine_setSwipe(this.__wbg_ptr,r,e,_,c,i,s)}setSymbolLayer(r,e,t,n,_,c,i){let s=y(e,o.__wbindgen_malloc),f=a,b=y(t,o.__wbindgen_malloc),u=a;o.engine_setSymbolLayer(this.__wbg_ptr,r,s,f,b,u,n,_,c,i)}setSymbols(r,e,t,n,_,c){let i=x(e,o.__wbindgen_malloc),s=a,f=y(t,o.__wbindgen_malloc),b=a,u=y(n,o.__wbindgen_malloc),d=a,g=y(_,o.__wbindgen_malloc),h=a,P=x(c,o.__wbindgen_malloc),F=a,S=o.engine_setSymbols(this.__wbg_ptr,r,i,s,f,b,u,d,g,h,P,F);if(S[1])throw m(S[0])}setTerrain(r,e,t,n,_){var c=l(r)?0:R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;let s=o.engine_setTerrain(this.__wbg_ptr,c,i,e,l(t)?16777215:t,l(n)?16777215:n?1:0,l(_)?0:A(_));if(s[1])throw m(s[0])}setTileLoader(r){o.engine_setTileLoader(this.__wbg_ptr,r)}setTiles3dStyle(r,e,t,n,_){let c=y(_,o.__wbindgen_malloc),i=a;o.engine_setTiles3dStyle(this.__wbg_ptr,r,e,t,!l(n),l(n)?0:n,c,i)}setVectorSublayers(r,e,t,n,_,c,i,s,f,b,u){let d=T(e,o.__wbindgen_malloc),g=a,h=x(t,o.__wbindgen_malloc),P=a,F=T(n,o.__wbindgen_malloc),S=a,I=y(_,o.__wbindgen_malloc),M=a,v=y(c,o.__wbindgen_malloc),k=a,U=T(i,o.__wbindgen_malloc),B=a,W=T(s,o.__wbindgen_malloc),G=a,z=y(f,o.__wbindgen_malloc),q=a,X=y(b,o.__wbindgen_malloc),J=a,K=T(u,o.__wbindgen_malloc),Y=a;o.engine_setVectorSublayers(this.__wbg_ptr,r,d,g,h,P,F,S,I,M,v,k,U,B,W,G,z,q,X,J,K,Y)}setVectorTileMesh(r,e,t,n,_,c,i,s,f,b,u,d,g,h,P,F,S,I,M){let v=x(t,o.__wbindgen_malloc),k=a,U=w(n,o.__wbindgen_malloc),B=a,W=w(_,o.__wbindgen_malloc),G=a,z=w(c,o.__wbindgen_malloc),q=a,X=w(i,o.__wbindgen_malloc),J=a,K=T(s,o.__wbindgen_malloc),Y=a,de=w(f,o.__wbindgen_malloc),ge=a,we=w(b,o.__wbindgen_malloc),me=a,pe=T(d,o.__wbindgen_malloc),he=a,ye=y(g,o.__wbindgen_malloc),Ae=a,xe=w(h,o.__wbindgen_malloc),ve=a,Fe=T(P,o.__wbindgen_malloc),Se=a,Te=w(F,o.__wbindgen_malloc),Ie=a,Pe=w(S,o.__wbindgen_malloc),fe=a,lt=x(I,o.__wbindgen_malloc),dt=a,Ve=o.engine_setVectorTileMesh(this.__wbg_ptr,r,e,v,k,U,B,W,G,z,q,X,J,K,Y,de,ge,we,me,u,pe,he,ye,Ae,xe,ve,Fe,Se,Te,Ie,Pe,fe,lt,dt,M);if(Ve[1])throw m(Ve[0])}setVectorTilePoints(r,e,t,n,_){let c=x(t,o.__wbindgen_malloc),i=a,s=w(n,o.__wbindgen_malloc),f=a,b=w(_,o.__wbindgen_malloc),u=a;o.engine_setVectorTilePoints(this.__wbg_ptr,r,e,c,i,s,f,b,u)}setVectorTile(r,e,t,n,_,c,i,s,f,b,u,d,g,h,P,F,S,I){let M=x(t,o.__wbindgen_malloc),v=a,k=w(n,o.__wbindgen_malloc),U=a,B=w(_,o.__wbindgen_malloc),W=a,G=w(c,o.__wbindgen_malloc),z=a,q=w(i,o.__wbindgen_malloc),X=a,J=x(s,o.__wbindgen_malloc),K=a,Y=w(f,o.__wbindgen_malloc),de=a,ge=w(b,o.__wbindgen_malloc),we=a,me=w(u,o.__wbindgen_malloc),pe=a,he=x(g,o.__wbindgen_malloc),ye=a,Ae=T(h,o.__wbindgen_malloc),xe=a,ve=y(P,o.__wbindgen_malloc),Fe=a,Se=x(F,o.__wbindgen_malloc),Te=a,Ie=w(S,o.__wbindgen_malloc),Pe=a,fe=o.engine_setVectorTile(this.__wbg_ptr,r,e,M,v,k,U,B,W,G,z,q,X,J,K,Y,de,ge,we,me,pe,d,he,ye,Ae,xe,ve,Fe,Se,Te,Ie,Pe,I);if(fe[1])throw m(fe[0])}setViewshed(r,e,t,n,_){let c=x(r,o.__wbindgen_malloc),i=a,s=y(e,o.__wbindgen_malloc),f=a,b=y(t,o.__wbindgen_malloc),u=a,d=y(_,o.__wbindgen_malloc),g=a,h=o.engine_setViewshed(this.__wbg_ptr,c,i,s,f,b,u,n,d,g);if(h[1])throw m(h[0])}setZoomRange(r,e){o.engine_setZoomRange(this.__wbg_ptr,r,e)}stats(){return o.engine_stats(this.__wbg_ptr)}stepFlow(r,e){return o.engine_stepFlow(this.__wbg_ptr,r,e)!==0}surfaceAt(r,e){return o.engine_surfaceAt(this.__wbg_ptr,r,e)}surface(r,e){return o.engine_surface(this.__wbg_ptr,r,e)}textureFormats(){return o.engine_textureFormats(this.__wbg_ptr)}tiles3dFeature(r,e){return o.engine_tiles3dFeature(this.__wbg_ptr,r,e)}tiles3dStats(r){return o.engine_tiles3dStats(this.__wbg_ptr,r)}updateGlyphAtlas(r,e,t,n,_){let c=T(_,o.__wbindgen_malloc),i=a;o.engine_updateGlyphAtlas(this.__wbg_ptr,r,e,t,n,c,i)}updateGlyphPage(r,e,t,n,_,c){let i=T(c,o.__wbindgen_malloc),s=a;o.engine_updateGlyphPage(this.__wbg_ptr,r,e,t,n,_,i,s)}updateGroundTexture(r,e,t,n,_,c,i,s){let f=R(e,o.__wbindgen_malloc,o.__wbindgen_realloc),b=a,u=T(s,o.__wbindgen_malloc),d=a,g=o.engine_updateGroundTexture(this.__wbg_ptr,r,f,b,t,n,_,c,i,u,d);if(g[1])throw m(g[0])}updateIconAtlas(r,e,t,n,_){let c=T(_,o.__wbindgen_malloc),i=a;o.engine_updateIconAtlas(this.__wbg_ptr,r,e,t,n,c,i)}uploadVectorTile(r,e){return o.engine_uploadVectorTile(this.__wbg_ptr,r,e)!==0}vectorTilesInView(r,e){let t=o.engine_vectorTilesInView(this.__wbg_ptr,r,e);var n=V(t[0],t[1]).slice();return o.__wbindgen_free(t[0],t[1]*4,4),n}wantedTiles(r){let e=o.engine_wantedTiles(this.__wbg_ptr,r);var t=V(e[0],e[1]).slice();return o.__wbindgen_free(e[0],e[1]*4,4),t}zoomAt(r,e,t){o.engine_zoomAt(this.__wbg_ptr,r,e,t)}}if(Symbol.dispose)Le.prototype[Symbol.dispose]=Le.prototype.free;function et(r,e,t,n){let _=T(r,o.__wbindgen_malloc),c=a,i=x(e,o.__wbindgen_malloc),s=a,f=o.decodeTile(_,c,i,s,t,n);if(f[2])throw m(f[1]);return m(f[0])}function tt(r){let e=T(r,o.__wbindgen_malloc),t=a,n=o.dracoRequests(e,t);if(n[2])throw m(n[1]);return m(n[0])}function mt(){return{__proto__:null,"./isard_bg.js":{__proto__:null,__wbg___wbindgen_boolean_get_5b446f51afd21013:function(e){let t=e,n=typeof t==="boolean"?t:void 0;return l(n)?16777215:n?1:0},__wbg___wbindgen_debug_string_4687d8d8c2017d52:function(e,t){let n=ke(t),_=R(n,o.__wbindgen_malloc,o.__wbindgen_realloc),c=a;D().setInt32(e+4,c,!0),D().setInt32(e+0,_,!0)},__wbg___wbindgen_is_falsy_16bd49b68658263e:function(e){return!e},__wbg___wbindgen_is_function_1f9d30630b8b1d3d:function(e){return typeof e==="function"},__wbg___wbindgen_is_null_e343b7d08827ba72:function(e){return e===null},__wbg___wbindgen_is_object_3c45d4f2dde4e749:function(e){let t=e;return typeof t==="object"&&t!==null},__wbg___wbindgen_is_undefined_8865fb403f8fe9d8:function(e){return e===void 0},__wbg___wbindgen_number_get_2e0e7dee9f701a71:function(e,t){let n=t,_=typeof n==="number"?n:void 0;D().setFloat64(e+8,l(_)?0:_,!0),D().setInt32(e+0,!l(_),!0)},__wbg___wbindgen_string_get_0380ccaa2f57f0d9:function(e,t){let n=t,_=typeof n==="string"?n:void 0;var c=l(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg___wbindgen_throw_41e9ee4f547fc59a:function(e,t){throw Error(C(e,t))},__wbg__wbg_cb_unref_dcc1a90847f04c41:function(e){e._wbg_cb_unref()},__wbg_abort_f78b99d80248bacb:function(e){e.abort()},__wbg_aborted_5b2b5f06b5e59fde:function(e){return e.aborted},__wbg_activeTexture_11079673eac5c921:function(e,t){e.activeTexture(t>>>0)},__wbg_activeTexture_2fad46c01cafe6b1:function(e,t){e.activeTexture(t>>>0)},__wbg_apply_a910804df6e1e433:function(){return p(function(e,t,n){return e.apply(t,n)},arguments)},__wbg_arrayBuffer_f07be74819944ea2:function(){return p(function(e){return e.arrayBuffer()},arguments)},__wbg_attachShader_8920a5beea54aba7:function(e,t,n){e.attachShader(t,n)},__wbg_attachShader_9567ae57af6746d5:function(e,t,n){e.attachShader(t,n)},__wbg_bindBuffer_0324f62b876c4403:function(e,t,n){e.bindBuffer(t>>>0,n)},__wbg_bindBuffer_2195e89b585ce0c3:function(e,t,n){e.bindBuffer(t>>>0,n)},__wbg_bindFramebuffer_22e4b8e6e6d8d0e8:function(e,t,n){e.bindFramebuffer(t>>>0,n)},__wbg_bindFramebuffer_378eb18ef219d37a:function(e,t,n){e.bindFramebuffer(t>>>0,n)},__wbg_bindRenderbuffer_db090531fb28de34:function(e,t,n){e.bindRenderbuffer(t>>>0,n)},__wbg_bindRenderbuffer_e0c5aeef245a913a:function(e,t,n){e.bindRenderbuffer(t>>>0,n)},__wbg_bindTexture_3cf008f256f3ed99:function(e,t,n){e.bindTexture(t>>>0,n)},__wbg_bindTexture_613a47b8917a0ccd:function(e,t,n){e.bindTexture(t>>>0,n)},__wbg_bindVertexArrayOES_3141815cb8234a6e:function(e,t){e.bindVertexArrayOES(t)},__wbg_bindVertexArray_f58af0a346185ec5:function(e,t){e.bindVertexArray(t)},__wbg_blendEquation_5fb8aee6a55cf900:function(e,t){e.blendEquation(t>>>0)},__wbg_blendEquation_d21914e937b14896:function(e,t){e.blendEquation(t>>>0)},__wbg_blendFuncSeparate_28abe082febb1a26:function(e,t,n,_,c){e.blendFuncSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_blendFuncSeparate_2af9d47f7efc0452:function(e,t,n,_,c){e.blendFuncSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_blendFunc_491ee1105079ce76:function(e,t,n){e.blendFunc(t>>>0,n>>>0)},__wbg_blendFunc_589e4252bb396484:function(e,t,n){e.blendFunc(t>>>0,n>>>0)},__wbg_blob_232135c7e297b861:function(){return p(function(e){return e.blob()},arguments)},__wbg_bufferData_50f5eb06469330e4:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferData_53e0f7a06b58fe81:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferData_5fa44d94fe7a3878:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferData_bad7ce562b6a9eac:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferSubData_22c4c420e0f67cda:function(e,t,n,_){e.bufferSubData(t>>>0,n,_)},__wbg_bufferSubData_8609cd8a2c013181:function(e,t,n,_){e.bufferSubData(t>>>0,n,_)},__wbg_byteLength_141bda7c7c28aa72:function(e){return e.byteLength},__wbg_byteLength_18a1704c0bf397bb:function(e){return e.byteLength},__wbg_byteLength_27689b065d089962:function(e){return e.byteLength},__wbg_byteLength_9f985b8373f1f3fe:function(e){return e.byteLength},__wbg_call_01721c8c75200a10:function(){return p(function(e,t,n,_,c,i){return e.call(t,n,_,c,i)},arguments)},__wbg_call_187d372bd5fdd4aa:function(){return p(function(e,t,n){return e.call(t,n)},arguments)},__wbg_call_6137034ef55c9d0f:function(){return p(function(e,t){return e.call(t)},arguments)},__wbg_clearColor_3f6aa096dc12e8b7:function(e,t,n,_,c){e.clearColor(t,n,_,c)},__wbg_clearColor_796427e8ac60fe14:function(e,t,n,_,c){e.clearColor(t,n,_,c)},__wbg_clearDepth_4840a5497ae51286:function(e,t){e.clearDepth(t)},__wbg_clearDepth_5a119c24c5d193bc:function(e,t){e.clearDepth(t)},__wbg_clearStencil_1b8b8c727f598eec:function(e,t){e.clearStencil(t)},__wbg_clearStencil_e4383e4a543e7997:function(e,t){e.clearStencil(t)},__wbg_clear_175cf3cb6d98d72b:function(e,t){e.clear(t>>>0)},__wbg_clear_cb96796cc568b7c8:function(e,t){e.clear(t>>>0)},__wbg_close_355afba6ea5ad1ae:function(e){e.close()},__wbg_colorMask_4d6afbbbc3022fbe:function(e,t,n,_,c){e.colorMask(t!==0,n!==0,_!==0,c!==0)},__wbg_colorMask_8c903995f6f873be:function(e,t,n,_,c){e.colorMask(t!==0,n!==0,_!==0,c!==0)},__wbg_compileShader_073a75409aaf96d2:function(e,t){e.compileShader(t)},__wbg_compileShader_c2b53ff3a8851f60:function(e,t){e.compileShader(t)},__wbg_compressedTexImage2D_93d2b30687f2cfad:function(e,t,n,_,c,i,s,f){e.compressedTexImage2D(t>>>0,n,_>>>0,c,i,s,f)},__wbg_createBuffer_d1dd23bf8704564c:function(e){let t=e.createBuffer();return l(t)?0:A(t)},__wbg_createBuffer_ffe613371d42cfd3:function(e){let t=e.createBuffer();return l(t)?0:A(t)},__wbg_createFramebuffer_2c6b5b0f49c88e5d:function(e){let t=e.createFramebuffer();return l(t)?0:A(t)},__wbg_createFramebuffer_d0969af4e9886297:function(e){let t=e.createFramebuffer();return l(t)?0:A(t)},__wbg_createImageBitmap_1b985e01e4c81baa:function(){return p(function(e,t,n){return e.createImageBitmap(t,n)},arguments)},__wbg_createImageBitmap_69996a36c51d409f:function(){return p(function(e,t,n){return e.createImageBitmap(t,n)},arguments)},__wbg_createProgram_cbf448e6f18a9402:function(e){let t=e.createProgram();return l(t)?0:A(t)},__wbg_createProgram_e0c81b0d2b8d0fd0:function(e){let t=e.createProgram();return l(t)?0:A(t)},__wbg_createRenderbuffer_2b17e9fe2e6fb4be:function(e){let t=e.createRenderbuffer();return l(t)?0:A(t)},__wbg_createRenderbuffer_c864095d6ebd60d0:function(e){let t=e.createRenderbuffer();return l(t)?0:A(t)},__wbg_createShader_6c1a2295587878a5:function(e,t){let n=e.createShader(t>>>0);return l(n)?0:A(n)},__wbg_createShader_7c9d99a21ecb08c0:function(e,t){let n=e.createShader(t>>>0);return l(n)?0:A(n)},__wbg_createTexture_01e8e591b64237de:function(e){let t=e.createTexture();return l(t)?0:A(t)},__wbg_createTexture_5f2583508ebe379b:function(e){let t=e.createTexture();return l(t)?0:A(t)},__wbg_createVertexArrayOES_a8dc8498b56df937:function(e){let t=e.createVertexArrayOES();return l(t)?0:A(t)},__wbg_createVertexArray_b223ea69dd08fcab:function(e){let t=e.createVertexArray();return l(t)?0:A(t)},__wbg_cullFace_12123c1c97f1ba2c:function(e,t){e.cullFace(t>>>0)},__wbg_cullFace_1a01f0b6d5aeb687:function(e,t){e.cullFace(t>>>0)},__wbg_deleteBuffer_070e58aaaf2a7a8b:function(e,t){e.deleteBuffer(t)},__wbg_deleteBuffer_7775ee9e248c8468:function(e,t){e.deleteBuffer(t)},__wbg_deleteFramebuffer_3f8ab330098bf8e6:function(e,t){e.deleteFramebuffer(t)},__wbg_deleteFramebuffer_570d3b214a509fa2:function(e,t){e.deleteFramebuffer(t)},__wbg_deleteProgram_822906f0368175d0:function(e,t){e.deleteProgram(t)},__wbg_deleteProgram_b524b30ad176cdb4:function(e,t){e.deleteProgram(t)},__wbg_deleteRenderbuffer_826c9b43b7ea68f5:function(e,t){e.deleteRenderbuffer(t)},__wbg_deleteRenderbuffer_f4e121a3ab21c605:function(e,t){e.deleteRenderbuffer(t)},__wbg_deleteShader_a70f6cc1918d67eb:function(e,t){e.deleteShader(t)},__wbg_deleteShader_da18a294158c2d15:function(e,t){e.deleteShader(t)},__wbg_deleteSync_4f0be28b03f50495:function(e,t){e.deleteSync(t)},__wbg_deleteTexture_78c170241204a466:function(e,t){e.deleteTexture(t)},__wbg_deleteTexture_9f42750adb092e4f:function(e,t){e.deleteTexture(t)},__wbg_deleteVertexArrayOES_e01f31634d466176:function(e,t){e.deleteVertexArrayOES(t)},__wbg_deleteVertexArray_ca9768805d051d49:function(e,t){e.deleteVertexArray(t)},__wbg_depthFunc_92e96d8f46a23300:function(e,t){e.depthFunc(t>>>0)},__wbg_depthFunc_a41fb5adacb22e09:function(e,t){e.depthFunc(t>>>0)},__wbg_depthMask_06ecff4d4514c38f:function(e,t){e.depthMask(t!==0)},__wbg_depthMask_0d7c3dec3b8405ee:function(e,t){e.depthMask(t!==0)},__wbg_depthRange_24c7969249461e8e:function(e,t,n){e.depthRange(t,n)},__wbg_depthRange_6a4e169ccf314148:function(e,t,n){e.depthRange(t,n)},__wbg_detachShader_1ed15fc2d289cf15:function(e,t,n){e.detachShader(t,n)},__wbg_detachShader_67dabaaad80a795e:function(e,t,n){e.detachShader(t,n)},__wbg_disable_19fe787eccdf0272:function(e,t){e.disable(t>>>0)},__wbg_disable_81b2cb5f8cea15ae:function(e,t){e.disable(t>>>0)},__wbg_drawArraysInstancedANGLE_b76512b5abba6668:function(e,t,n,_,c){e.drawArraysInstancedANGLE(t>>>0,n,_,c)},__wbg_drawArraysInstanced_9b44aa78a087154d:function(e,t,n,_,c){e.drawArraysInstanced(t>>>0,n,_,c)},__wbg_drawArrays_08872e02fb57b847:function(e,t,n,_){e.drawArrays(t>>>0,n,_)},__wbg_drawArrays_741af5c3f8db636f:function(e,t,n,_){e.drawArrays(t>>>0,n,_)},__wbg_drawElementsInstancedANGLE_c3fc0cfa9e29a1bc:function(e,t,n,_,c,i){e.drawElementsInstancedANGLE(t>>>0,n,_>>>0,c,i)},__wbg_drawElementsInstanced_d7c396aa034159b6:function(e,t,n,_,c,i){e.drawElementsInstanced(t>>>0,n,_>>>0,c,i)},__wbg_drawElements_c8988ba71de1101a:function(e,t,n,_,c){e.drawElements(t>>>0,n,_>>>0,c)},__wbg_drawElements_cc1e6c631e89eddf:function(e,t,n,_,c){e.drawElements(t>>>0,n,_>>>0,c)},__wbg_enableVertexAttribArray_1496b78a8dbab9fd:function(e,t){e.enableVertexAttribArray(t>>>0)},__wbg_enableVertexAttribArray_d52693866bc8b8dd:function(e,t){e.enableVertexAttribArray(t>>>0)},__wbg_enable_6eeb9c0e9b483cee:function(e,t){e.enable(t>>>0)},__wbg_enable_cb4fc19b51148c37:function(e,t){e.enable(t>>>0)},__wbg_error_c9cf3fc2064683a9:function(e){console.error(e)},__wbg_fenceSync_330293024adb66bc:function(e,t,n){let _=e.fenceSync(t>>>0,n>>>0);return l(_)?0:A(_)},__wbg_fetch_b322877f1ed6457d:function(e,t,n,_){return e.fetch(C(t,n),_)},__wbg_flush_13b162660ad850d2:function(e){e.flush()},__wbg_flush_a5ad38200881ac35:function(e){e.flush()},__wbg_framebufferRenderbuffer_1c6337e0030411f3:function(e,t,n,_,c){e.framebufferRenderbuffer(t>>>0,n>>>0,_>>>0,c)},__wbg_framebufferRenderbuffer_f019e9231b142c0d:function(e,t,n,_,c){e.framebufferRenderbuffer(t>>>0,n>>>0,_>>>0,c)},__wbg_framebufferTexture2D_73c52f23ec33aa22:function(e,t,n,_,c,i){e.framebufferTexture2D(t>>>0,n>>>0,_>>>0,c,i)},__wbg_framebufferTexture2D_caddefa1f767646e:function(e,t,n,_,c,i){e.framebufferTexture2D(t>>>0,n>>>0,_>>>0,c,i)},__wbg_from_296ca31f8d0f1c52:function(e){return Array.from(e)},__wbg_frontFace_6751b4b97f997aeb:function(e,t){e.frontFace(t>>>0)},__wbg_frontFace_b064adb15b6f3772:function(e,t){e.frontFace(t>>>0)},__wbg_generateMipmap_c63604006bfa52d5:function(e,t){e.generateMipmap(t>>>0)},__wbg_generateMipmap_cd49f6eec9558721:function(e,t){e.generateMipmap(t>>>0)},__wbg_getActiveUniform_239de631a40c387a:function(e,t,n){let _=e.getActiveUniform(t,n>>>0);return l(_)?0:A(_)},__wbg_getActiveUniform_f2052b3c57679fe2:function(e,t,n){let _=e.getActiveUniform(t,n>>>0);return l(_)?0:A(_)},__wbg_getBufferSubData_dd23246099b166d1:function(e,t,n,_){e.getBufferSubData(t>>>0,n,_)},__wbg_getContext_051324720aa5b7e8:function(){return p(function(e,t,n,_){let c=e.getContext(C(t,n),_);return l(c)?0:A(c)},arguments)},__wbg_getExtension_abfda2c5db286b07:function(){return p(function(e,t,n){let _=e.getExtension(C(t,n));return l(_)?0:A(_)},arguments)},__wbg_getParameter_974595a6624c6c10:function(){return p(function(e,t){return e.getParameter(t>>>0)},arguments)},__wbg_getParameter_a97f491753b05668:function(){return p(function(e,t){return e.getParameter(t>>>0)},arguments)},__wbg_getProgramInfoLog_208fb1ff31006495:function(e,t,n){let _=t.getProgramInfoLog(n);var c=l(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg_getProgramInfoLog_3276b294d6d42fe2:function(e,t,n){let _=t.getProgramInfoLog(n);var c=l(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg_getProgramParameter_50bafab01cf88652:function(e,t,n){return e.getProgramParameter(t,n>>>0)},__wbg_getProgramParameter_fc7124bb9fb7c675:function(e,t,n){return e.getProgramParameter(t,n>>>0)},__wbg_getShaderInfoLog_7e0cbba353ca95da:function(e,t,n){let _=t.getShaderInfoLog(n);var c=l(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg_getShaderInfoLog_bb64c5a52df0b7a3:function(e,t,n){let _=t.getShaderInfoLog(n);var c=l(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg_getShaderParameter_745acf10b8e45e31:function(e,t,n){return e.getShaderParameter(t,n>>>0)},__wbg_getShaderParameter_e55ea9c456df5484:function(e,t,n){return e.getShaderParameter(t,n>>>0)},__wbg_getSupportedExtensions_1459bad37860c0c3:function(e){let t=e.getSupportedExtensions();return l(t)?0:A(t)},__wbg_getSyncParameter_bb4be47b67bfa2f8:function(e,t,n){return e.getSyncParameter(t,n>>>0)},__wbg_getUniformLocation_50ba45dade572703:function(e,t,n,_){let c=e.getUniformLocation(t,C(n,_));return l(c)?0:A(c)},__wbg_getUniformLocation_cb4e3e121235f91a:function(e,t,n,_){let c=e.getUniformLocation(t,C(n,_));return l(c)?0:A(c)},__wbg_get_31af05bd4842a84f:function(){return p(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_806853698d9fc227:function(){return p(function(e,t){return Reflect.get(e,t>>>0)},arguments)},__wbg_get_f75619e20cb68514:function(){return p(function(e,t,n,_){let c=t.get(C(n,_));var i=l(c)?0:R(c,o.__wbindgen_malloc,o.__wbindgen_realloc),s=a;D().setInt32(e+4,s,!0),D().setInt32(e+0,i,!0)},arguments)},__wbg_get_index_f4750150bb3083b3:function(e,t){return e[t>>>0]},__wbg_get_unchecked_288889d017702237:function(e,t){return e[t>>>0]},__wbg_headers_eba93595f8944c2f:function(e){return e.headers},__wbg_height_9dca4d43c3e4b84b:function(e){return e.height},__wbg_instanceof_ArrayBuffer_a99f175873e5d9b8:function(e){let t;try{t=e instanceof ArrayBuffer}catch(_){t=!1}return t},__wbg_instanceof_Blob_7c6191a4cd5834d3:function(e){let t;try{t=e instanceof Blob}catch(_){t=!1}return t},__wbg_instanceof_Error_80a725f81f2e102d:function(e){let t;try{t=e instanceof Error}catch(_){t=!1}return t},__wbg_instanceof_Float32Array_595afb0f28b828c9:function(e){let t;try{t=e instanceof Float32Array}catch(_){t=!1}return t},__wbg_instanceof_Float64Array_8a59377f9eec1b8b:function(e){let t;try{t=e instanceof Float64Array}catch(_){t=!1}return t},__wbg_instanceof_ImageBitmap_74bea45ee48d3d7a:function(e){let t;try{t=e instanceof ImageBitmap}catch(_){t=!1}return t},__wbg_instanceof_Promise_e1dc6893aa1ece28:function(e){let t;try{t=e instanceof Promise}catch(_){t=!1}return t},__wbg_instanceof_Response_b8758567269c30b2:function(e){let t;try{t=e instanceof Response}catch(_){t=!1}return t},__wbg_instanceof_Uint32Array_53a4facaf04b8a8b:function(e){let t;try{t=e instanceof Uint32Array}catch(_){t=!1}return t},__wbg_instanceof_Uint8Array_828cef2aaacafc31:function(e){let t;try{t=e instanceof Uint8Array}catch(_){t=!1}return t},__wbg_instanceof_WebGl2RenderingContext_64c994c14c0790fb:function(e){let t;try{t=e instanceof WebGL2RenderingContext}catch(_){t=!1}return t},__wbg_instanceof_Window_82d71df4eddf88bc:function(e){let t;try{t=e instanceof Window}catch(_){t=!1}return t},__wbg_isArray_e15a2ff68ffdbef2:function(e){return Array.isArray(e)},__wbg_isContextLost_fbbab8b921e614b7:function(e){return e.isContextLost()},__wbg_is_4b278c0bd3caba97:function(e,t){return Object.is(e,t)},__wbg_length_511b1f84719d3462:function(e){return e.length},__wbg_length_58572db4c38f3c3e:function(e){return e.length},__wbg_length_7f3c00c40364105e:function(e){return e.length},__wbg_length_b5f0008bbf60cf59:function(e){return e.length},__wbg_length_d4bdea10311bd9cf:function(e){return e.length},__wbg_linkProgram_571a9ea00d38ff83:function(e,t){e.linkProgram(t)},__wbg_linkProgram_acdc299c43d734a0:function(e,t){e.linkProgram(t)},__wbg_message_5f8387f0c32b90a7:function(e){return e.message},__wbg_name_91a697e9ff1634bf:function(e,t){let n=t.name,_=R(n,o.__wbindgen_malloc,o.__wbindgen_realloc),c=a;D().setInt32(e+4,c,!0),D().setInt32(e+0,_,!0)},__wbg_new_1dbf7428bba60a42:function(e){return new Uint8Array(e)},__wbg_new_2e41357094e99294:function(){return p(function(){return new AbortController},arguments)},__wbg_new_5502aad30c185fc8:function(e,t){try{var n={a:e,b:t},_=(i,s)=>{let f=n.a;n.a=0;try{return ht(f,n.b,i,s)}finally{n.a=f}};return new Promise(_)}finally{n.a=0}},__wbg_new_617a8cdb8bb1130e:function(){return{}},__wbg_new_83ca405eae412a62:function(){return p(function(){return new Headers},arguments)},__wbg_new_ee2291f50781bf1d:function(){return[]},__wbg_new_from_slice_37a3c3a194266cb8:function(e,t){return new Uint32Array(V(e,t))},__wbg_new_from_slice_9a868026ffa4208a:function(e,t){return new Uint8Array(Re(e,t))},__wbg_new_from_slice_ca6ad97db1f4779a:function(e,t){return new Float32Array(E(e,t))},__wbg_new_from_slice_f545fd22ddc142b8:function(e,t){return new Float64Array(Ue(e,t))},__wbg_new_with_byte_offset_70ba6193352e027b:function(e,t){return new Uint8Array(e,t>>>0)},__wbg_new_with_byte_offset_and_length_40c170286adc9005:function(e,t,n){return new Float32Array(e,t>>>0,n>>>0)},__wbg_new_with_u8_array_sequence_and_options_fccc08fe93f4b8fd:function(){return p(function(e,t){return new Blob(e,t)},arguments)},__wbg_now_aa4ccb83129e9e55:function(){return Date.now()},__wbg_now_d0b7f4bea9f38490:function(e){return e.now()},__wbg_of_20798cb14708764f:function(e,t){return Array.of(e,t)},__wbg_of_d5dbecdc59e02e34:function(e){return Array.of(e)},__wbg_of_dde0b9d3265685ee:function(e,t,n){return Array.of(e,t,n)},__wbg_of_fea2613674ee0d0f:function(e,t,n,_,c){return Array.of(e,t,n,_,c)},__wbg_ok_125878a7db256ecb:function(e){return e.ok},__wbg_performance_d0d7b03fc649b694:function(e){let t=e.performance;return l(t)?0:A(t)},__wbg_pixelStorei_af18e636b3e7b725:function(e,t,n){e.pixelStorei(t>>>0,n)},__wbg_pixelStorei_cb4e43466f5b8703:function(e,t,n){e.pixelStorei(t>>>0,n)},__wbg_polygonOffset_81dc8ca84e29572b:function(e,t,n){e.polygonOffset(t,n)},__wbg_polygonOffset_8f922d9173d8849d:function(e,t,n){e.polygonOffset(t,n)},__wbg_prototypesetcall_06eb15da165dee8f:function(e,t,n){Uint32Array.prototype.set.call(V(e,t),n)},__wbg_prototypesetcall_8b03c01e2c0f8066:function(e,t,n){Float32Array.prototype.set.call(E(e,t),n)},__wbg_prototypesetcall_bc27214492979395:function(e,t,n){Uint8Array.prototype.set.call(Re(e,t),n)},__wbg_prototypesetcall_d49a4fab5ca427bc:function(e,t,n){Float64Array.prototype.set.call(Ue(e,t),n)},__wbg_push_2baf45db356cf468:function(e,t){return e.push(t)},__wbg_queueMicrotask_9833f9a49df95a49:function(e){return e.queueMicrotask},__wbg_queueMicrotask_a72f977e97f23c5f:function(e){queueMicrotask(e)},__wbg_readPixels_31e44e70558ac590:function(){return p(function(e,t,n,_,c,i,s,f){e.readPixels(t,n,_,c,i>>>0,s>>>0,f)},arguments)},__wbg_readPixels_3321086a7818a739:function(){return p(function(e,t,n,_,c,i,s,f){e.readPixels(t,n,_,c,i>>>0,s>>>0,f)},arguments)},__wbg_readPixels_eb030cd9976eeca5:function(){return p(function(e,t,n,_,c,i,s,f){e.readPixels(t,n,_,c,i>>>0,s>>>0,f)},arguments)},__wbg_renderbufferStorage_52b131bbf3112b3a:function(e,t,n,_,c){e.renderbufferStorage(t>>>0,n>>>0,_,c)},__wbg_renderbufferStorage_bca487b0dea425b8:function(e,t,n,_,c){e.renderbufferStorage(t>>>0,n>>>0,_,c)},__wbg_resolve_0076e10020304ede:function(e){return Promise.resolve(e)},__wbg_scissor_12ddc324094acd50:function(e,t,n,_,c){e.scissor(t,n,_,c)},__wbg_scissor_a9468482697c2bdb:function(e,t,n,_,c){e.scissor(t,n,_,c)},__wbg_setTimeout_db7bbc18a17e152a:function(){return p(function(e,t,n){return e.setTimeout(t,n)},arguments)},__wbg_set_145a351398b48c65:function(){return p(function(e,t,n){return Reflect.set(e,t,n)},arguments)},__wbg_set_af5932e3f78b5648:function(){return p(function(e,t,n,_,c){e.set(C(t,n),C(_,c))},arguments)},__wbg_set_alpha_6dea851a46253adf:function(e,t){e.alpha=t!==0},__wbg_set_antialias_1f699e96763e8a35:function(e,t){e.antialias=t!==0},__wbg_set_cache_7507c4cc5938ccc7:function(e,t){e.cache=xt[t]},__wbg_set_color_space_conversion_f27e9d866a683b4b:function(e,t){e.colorSpaceConversion=yt[t]},__wbg_set_depth_8b49de49803d4e60:function(e,t){e.depth=t!==0},__wbg_set_headers_40ad33dcf016613f:function(e,t){e.headers=t},__wbg_set_power_preference_6ef22d4c8baf517f:function(e,t){e.powerPreference=vt[t]},__wbg_set_premultiply_alpha_45a4cf9a1e87bfbf:function(e,t){e.premultiplyAlpha=At[t]},__wbg_set_resize_height_274433c2f249624d:function(e,t){e.resizeHeight=t>>>0},__wbg_set_resize_width_6f06543b29d1ca48:function(e,t){e.resizeWidth=t>>>0},__wbg_set_signal_2dbd377604627f26:function(e,t){e.signal=t},__wbg_set_stencil_edc32d9477c7c107:function(e,t){e.stencil=t!==0},__wbg_set_type_dcf75b2afa60c694:function(e,t,n){e.type=C(t,n)},__wbg_shaderSource_06379dac249994dd:function(e,t,n,_){e.shaderSource(t,C(n,_))},__wbg_shaderSource_c8812639b47d87b9:function(e,t,n,_){e.shaderSource(t,C(n,_))},__wbg_signal_e5a49a2d9c65b7f6:function(e){return e.signal},__wbg_size_74c48d7329291685:function(e){return e.size},__wbg_static_accessor_GLOBAL_266715b9d96ba635:function(){let e=typeof global>"u"?null:global;return l(e)?0:A(e)},__wbg_static_accessor_GLOBAL_THIS_10fb7dc1ae063179:function(){let e=typeof globalThis>"u"?null:globalThis;return l(e)?0:A(e)},__wbg_static_accessor_SELF_0b583911f537483a:function(){let e=typeof self>"u"?null:self;return l(e)?0:A(e)},__wbg_static_accessor_WINDOW_d7f903d1508cbdc4:function(){let e=typeof window>"u"?null:window;return l(e)?0:A(e)},__wbg_status_ce0a98d3c57125f3:function(e){return e.status},__wbg_stencilFunc_aa3cd8856be514c4:function(e,t,n,_){e.stencilFunc(t>>>0,n,_>>>0)},__wbg_stencilFunc_bab7e0b7c443f093:function(e,t,n,_){e.stencilFunc(t>>>0,n,_>>>0)},__wbg_stencilMask_9e18cc018897c747:function(e,t){e.stencilMask(t>>>0)},__wbg_stencilMask_a22be64c66abd825:function(e,t){e.stencilMask(t>>>0)},__wbg_stencilOpSeparate_7d01185cbdb89d99:function(e,t,n,_,c){e.stencilOpSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_stencilOpSeparate_c5af5f5dbd237bea:function(e,t,n,_,c){e.stencilOpSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_stencilOp_12274af665ab8a00:function(e,t,n,_){e.stencilOp(t>>>0,n>>>0,_>>>0)},__wbg_stencilOp_2697194654fee819:function(e,t,n,_){e.stencilOp(t>>>0,n>>>0,_>>>0)},__wbg_subarray_002b94d5e13d1411:function(e,t,n){return e.subarray(t>>>0,n>>>0)},__wbg_texImage2D_1b3349107ad0faae:function(){return p(function(e,t,n,_,c,i,s){e.texImage2D(t>>>0,n,_,c>>>0,i>>>0,s)},arguments)},__wbg_texImage2D_82bf2b4c8aa9a1db:function(){return p(function(e,t,n,_,c,i,s,f,b,u){e.texImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,u)},arguments)},__wbg_texImage2D_8fc2f2fcca249b59:function(){return p(function(e,t,n,_,c,i,s){e.texImage2D(t>>>0,n,_,c>>>0,i>>>0,s)},arguments)},__wbg_texImage2D_a856af552acdc9d9:function(){return p(function(e,t,n,_,c,i,s,f,b,u){e.texImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,u)},arguments)},__wbg_texImage2D_ca3d0fe24620ec85:function(){return p(function(e,t,n,_,c,i,s,f,b,u){e.texImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,u)},arguments)},__wbg_texParameteri_647fdb1426809cb5:function(e,t,n,_){e.texParameteri(t>>>0,n>>>0,_)},__wbg_texParameteri_7864076abcdb03e0:function(e,t,n,_){e.texParameteri(t>>>0,n>>>0,_)},__wbg_texStorage2D_cf2bd991072d9efb:function(e,t,n,_,c,i){e.texStorage2D(t>>>0,n,_>>>0,c,i)},__wbg_texStorage3D_74b701c2b176380c:function(e,t,n,_,c,i,s){e.texStorage3D(t>>>0,n,_>>>0,c,i,s)},__wbg_texSubImage2D_31a0c2797aa04f32:function(){return p(function(e,t,n,_,c,i,s,f,b,u){e.texSubImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,u)},arguments)},__wbg_texSubImage2D_5e90c7a719d40256:function(){return p(function(e,t,n,_,c,i,s,f,b,u){e.texSubImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,u)},arguments)},__wbg_texSubImage2D_bb322aae90f7657f:function(){return p(function(e,t,n,_,c,i,s,f,b,u){e.texSubImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,u)},arguments)},__wbg_texSubImage3D_5143d5af7e182ddc:function(){return p(function(e,t,n,_,c,i,s,f,b,u,d,g){e.texSubImage3D(t>>>0,n,_,c,i,s,f,b,u>>>0,d>>>0,g)},arguments)},__wbg_texSubImage3D_5d773fc7a8cd4d08:function(){return p(function(e,t,n,_,c,i,s,f,b,u,d,g){e.texSubImage3D(t>>>0,n,_,c,i,s,f,b,u>>>0,d>>>0,g)},arguments)},__wbg_texSubImage3D_e0d113b7047a5130:function(){return p(function(e,t,n,_,c,i,s,f,b,u,d,g){e.texSubImage3D(t>>>0,n,_,c,i,s,f,b,u>>>0,d>>>0,g)},arguments)},__wbg_then_c949d5a25a4e78f8:function(e,t,n){return e.then(t,n)},__wbg_then_e71170d78fcf8954:function(e,t){return e.then(t)},__wbg_type_ff6f7b321fe8478b:function(e){return e.type},__wbg_uniform1f_9cfecfaeb8cf43c1:function(e,t,n){e.uniform1f(t,n)},__wbg_uniform1f_b5856e35a43b65a1:function(e,t,n){e.uniform1f(t,n)},__wbg_uniform1fv_1bf537fc926ef8b9:function(e,t,n,_){e.uniform1fv(t,E(n,_))},__wbg_uniform1fv_1cc1d09bc13b03bf:function(e,t,n,_){e.uniform1fv(t,E(n,_))},__wbg_uniform1i_531b98c4a7177366:function(e,t,n){e.uniform1i(t,n)},__wbg_uniform1i_fc2dc8cadc49d8ec:function(e,t,n){e.uniform1i(t,n)},__wbg_uniform1iv_4b8cbceccddfaa62:function(e,t,n,_){e.uniform1iv(t,O(n,_))},__wbg_uniform1iv_8fc880ae80c77c74:function(e,t,n,_){e.uniform1iv(t,O(n,_))},__wbg_uniform1ui_353c67ec681b540c:function(e,t,n){e.uniform1ui(t,n>>>0)},__wbg_uniform1uiv_ad5e946730aacbec:function(e,t,n,_){e.uniform1uiv(t,V(n,_))},__wbg_uniform2f_131da2d4bf17e4b9:function(e,t,n,_){e.uniform2f(t,n,_)},__wbg_uniform2f_a92b5bb95dc5b4d9:function(e,t,n,_){e.uniform2f(t,n,_)},__wbg_uniform2fv_319c49f0ce340f26:function(e,t,n,_){e.uniform2fv(t,E(n,_))},__wbg_uniform2fv_a7d3c1830d18c1b2:function(e,t,n,_){e.uniform2fv(t,E(n,_))},__wbg_uniform2iv_65f36fc9777697d7:function(e,t,n,_){e.uniform2iv(t,O(n,_))},__wbg_uniform2iv_ca9cb507409b9ad1:function(e,t,n,_){e.uniform2iv(t,O(n,_))},__wbg_uniform2uiv_c95af5fb653ccb86:function(e,t,n,_){e.uniform2uiv(t,V(n,_))},__wbg_uniform3f_1211579ff87ccfad:function(e,t,n,_,c){e.uniform3f(t,n,_,c)},__wbg_uniform3f_ee105161897ee48a:function(e,t,n,_,c){e.uniform3f(t,n,_,c)},__wbg_uniform3fv_055ea5ac38af4fce:function(e,t,n,_){e.uniform3fv(t,E(n,_))},__wbg_uniform3fv_58520ffe22a6e27c:function(e,t,n,_){e.uniform3fv(t,E(n,_))},__wbg_uniform3iv_0590e8b7eff2a791:function(e,t,n,_){e.uniform3iv(t,O(n,_))},__wbg_uniform3iv_e91b1410dc299f50:function(e,t,n,_){e.uniform3iv(t,O(n,_))},__wbg_uniform3uiv_9992491000463a52:function(e,t,n,_){e.uniform3uiv(t,V(n,_))},__wbg_uniform4f_22bfec882308eec2:function(e,t,n,_,c,i){e.uniform4f(t,n,_,c,i)},__wbg_uniform4f_8dd8f311e656ca0d:function(e,t,n,_,c,i){e.uniform4f(t,n,_,c,i)},__wbg_uniform4fv_3ef2f5121fcb78ae:function(e,t,n,_){e.uniform4fv(t,E(n,_))},__wbg_uniform4fv_cf8ff646c36232c8:function(e,t,n,_){e.uniform4fv(t,E(n,_))},__wbg_uniform4iv_6fc5436b4f876039:function(e,t,n,_){e.uniform4iv(t,O(n,_))},__wbg_uniform4iv_99c2b07787d362d6:function(e,t,n,_){e.uniform4iv(t,O(n,_))},__wbg_uniform4uiv_a6fb3237d9df7ed4:function(e,t,n,_){e.uniform4uiv(t,V(n,_))},__wbg_uniformMatrix3fv_472e7824735acce1:function(e,t,n,_,c){e.uniformMatrix3fv(t,n!==0,E(_,c))},__wbg_uniformMatrix3fv_83fdc9c3c0d43204:function(e,t,n,_,c){e.uniformMatrix3fv(t,n!==0,E(_,c))},__wbg_uniformMatrix4fv_dff9738d995fd0b1:function(e,t,n,_,c){e.uniformMatrix4fv(t,n!==0,E(_,c))},__wbg_uniformMatrix4fv_e691d7f14d3609f7:function(e,t,n,_,c){e.uniformMatrix4fv(t,n!==0,E(_,c))},__wbg_useProgram_5bdae58fd9f9826f:function(e,t){e.useProgram(t)},__wbg_useProgram_e075c2902e420761:function(e,t){e.useProgram(t)},__wbg_vertexAttrib1f_37ce0547e8fa5f36:function(e,t,n){e.vertexAttrib1f(t>>>0,n)},__wbg_vertexAttrib1f_470b2556c148483a:function(e,t,n){e.vertexAttrib1f(t>>>0,n)},__wbg_vertexAttribDivisorANGLE_659fb027198a47c3:function(e,t,n){e.vertexAttribDivisorANGLE(t>>>0,n>>>0)},__wbg_vertexAttribDivisor_7575d382215322f7:function(e,t,n){e.vertexAttribDivisor(t>>>0,n>>>0)},__wbg_vertexAttribIPointer_fc8057c62cfcc63c:function(e,t,n,_,c,i){e.vertexAttribIPointer(t>>>0,n,_>>>0,c,i)},__wbg_vertexAttribPointer_24b495e18df325dc:function(e,t,n,_,c,i,s){e.vertexAttribPointer(t>>>0,n,_>>>0,c!==0,i,s)},__wbg_vertexAttribPointer_54d56b18f71a946d:function(e,t,n,_,c,i,s){e.vertexAttribPointer(t>>>0,n,_>>>0,c!==0,i,s)},__wbg_viewport_16936692526e2ce6:function(e,t,n,_,c){e.viewport(t,n,_,c)},__wbg_viewport_e35d16c542d2ce70:function(e,t,n,_,c){e.viewport(t,n,_,c)},__wbg_warn_13abc63e0d4b3527:function(e){console.warn(e)},__wbg_width_8a9cc26363f10d5f:function(e){return e.width},__wbindgen_generic_0000000000000001:function(e,t){return Rt(e,t,pt)},__wbindgen_generic_0000000000000002:function(e){return e},__wbindgen_generic_0000000000000003:function(e,t){return E(e,t)},__wbindgen_generic_0000000000000004:function(e,t){return Ft(e,t)},__wbindgen_generic_0000000000000005:function(e,t){return O(e,t)},__wbindgen_generic_0000000000000006:function(e,t){return St(e,t)},__wbindgen_generic_0000000000000007:function(e,t){return Tt(e,t)},__wbindgen_generic_0000000000000008:function(e,t){return V(e,t)},__wbindgen_generic_0000000000000009:function(e,t){return Re(e,t)},__wbindgen_generic_000000000000000a:function(e,t){return C(e,t)},__wbindgen_init_externref_table:function(){let e=o.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function pt(r,e,t){let n=o.wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___wasm_bindgen_2e566c63402fe7fa___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_2e566c63402fe7fa___JsError___true_(r,e,t);if(n[1])throw m(n[0])}function ht(r,e,t,n){o.wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined_______true_(r,e,t,n)}var yt=["none","default"],At=["none","premultiply","default"],xt=["default","no-store","reload","no-cache","force-cache","only-if-cached"],vt=["default","low-power","high-performance"],Ye=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((r)=>o.__wbg_engine_free(r,1));function A(r){let e=o.__externref_table_alloc();return o.__wbindgen_externrefs.set(e,r),e}var Ze=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((r)=>o.__wbindgen_destroy_closure(r.a,r.b));function ke(r){let e=typeof r;if(e=="number"||e=="boolean"||r==null)return`${r}`;if(e=="string")return`"${r}"`;if(e=="symbol"){let _=r.description;if(_==null)return"Symbol";else return`Symbol(${_})`}if(e=="function"){let _=r.name;if(typeof _=="string"&&_.length>0)return`Function(${_})`;else return"Function"}if(Array.isArray(r)){let _=r.length,c="[";if(_>0)c+=ke(r[0]);for(let i=1;i<_;i++)c+=", "+ke(r[i]);return c+="]",c}let t=/\[object ([^\]]+)\]/.exec(toString.call(r)),n;if(t&&t.length>1)n=t[1];else return toString.call(r);if(n=="Object")try{return"Object("+JSON.stringify(r)+")"}catch(_){return"Object"}if(r instanceof Error)return`${r.name}: ${r.message}
4
+ ${r.stack}`;return n}function E(r,e){return r=r>>>0,nt().subarray(r/4,r/4+e)}function Ue(r,e){return r=r>>>0,rt().subarray(r/8,r/8+e)}function Ft(r,e){return r=r>>>0,It().subarray(r/2,r/2+e)}function O(r,e){return r=r>>>0,Pt().subarray(r/4,r/4+e)}function St(r,e){return r=r>>>0,Dt().subarray(r/1,r/1+e)}function Tt(r,e){return r=r>>>0,Mt().subarray(r/2,r/2+e)}function V(r,e){return r=r>>>0,_t().subarray(r/4,r/4+e)}function Re(r,e){return r=r>>>0,N().subarray(r/1,r/1+e)}var j=null;function D(){if(j===null||j.buffer.detached===!0||j.buffer.detached===void 0&&j.buffer!==o.memory.buffer)j=new DataView(o.memory.buffer);return j}var Z=null;function nt(){if(Z===null||Z.byteLength===0)Z=new Float32Array(o.memory.buffer);return Z}var Q=null;function rt(){if(Q===null||Q.byteLength===0)Q=new Float64Array(o.memory.buffer);return Q}var ee=null;function It(){if(ee===null||ee.byteLength===0)ee=new Int16Array(o.memory.buffer);return ee}var te=null;function Pt(){if(te===null||te.byteLength===0)te=new Int32Array(o.memory.buffer);return te}var ne=null;function Dt(){if(ne===null||ne.byteLength===0)ne=new Int8Array(o.memory.buffer);return ne}function C(r,e){return Lt(r>>>0,e)}var re=null;function Mt(){if(re===null||re.byteLength===0)re=new Uint16Array(o.memory.buffer);return re}var _e=null;function _t(){if(_e===null||_e.byteLength===0)_e=new Uint32Array(o.memory.buffer);return _e}var oe=null;function N(){if(oe===null||oe.byteLength===0)oe=new Uint8Array(o.memory.buffer);return oe}function p(r,e){try{return r.apply(this,e)}catch(t){let n=A(t);o.__wbindgen_exn_store(n)}}function l(r){return r===void 0||r===null}function Rt(r,e,t){let n={a:r,b:e,cnt:1},_=(...c)=>{n.cnt++;let i=n.a;n.a=0;try{return t(i,n.b,...c)}finally{n.a=i,_._wbg_cb_unref()}};return _._wbg_cb_unref=()=>{if(--n.cnt===0)o.__wbindgen_destroy_closure(n.a,n.b),n.a=0,Ze.unregister(n)},Ze.register(_,n,n),_}function w(r,e){let t=e(r.length*4,4)>>>0;return _t().set(r,t/4),a=r.length,t}function T(r,e){let t=e(r.length*1,1)>>>0;return N().set(r,t/1),a=r.length,t}function y(r,e){let t=e(r.length*4,4)>>>0;return nt().set(r,t/4),a=r.length,t}function x(r,e){let t=e(r.length*8,8)>>>0;return rt().set(r,t/8),a=r.length,t}function Qe(r,e){let t=e(r.length*4,4)>>>0;for(let n=0;n<r.length;n++){let _=A(r[n]);D().setUint32(t+4*n,_,!0)}return a=r.length,t}function R(r,e,t){if(t===void 0){let s=ce.encode(r),f=e(s.length,1)>>>0;return N().subarray(f,f+s.length).set(s),a=s.length,f}let n=r.length,_=e(n,1)>>>0,c=N(),i=0;for(;i<n;i++){let s=r.charCodeAt(i);if(s>127)break;c[_+i]=s}if(i!==n){if(i!==0)r=r.slice(i);_=t(_,n,n=i+r.length*3,1)>>>0;let s=N().subarray(_+i,_+n),f=ce.encodeInto(r,s);i+=f.written,_=t(_,n,i,1)>>>0}return a=i,_}function m(r){let e=o.__wbindgen_externrefs.get(r);return o.__externref_table_dealloc(r),e}var be=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});be.decode();var Et=2146435072,Ee=0;function Lt(r,e){if(Ee+=e,Ee>=Et)be=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),be.decode(),Ee=e;return be.decode(N().subarray(r,r+e))}var ce=new TextEncoder;if(!("encodeInto"in ce))ce.encodeInto=function(r,e){let t=ce.encode(r);return e.set(t),{read:r.length,written:t.length}};var a=0,kt,Ut,o;function Bt(r,e){return Ut=r,o=r.exports,kt=e,j=null,Z=null,Q=null,ee=null,te=null,ne=null,re=null,_e=null,oe=null,o.__wbindgen_start(),o}async function Ct(r,e){if(typeof Response==="function"&&r instanceof Response){if(!r.ok)throw Error(`failed to fetch Wasm: ${r.status} ${r.statusText} fetching '${r.url}'`);if(typeof WebAssembly.instantiateStreaming==="function")try{return await WebAssembly.instantiateStreaming(r,e)}catch(_){if(t(r.type)&&r.headers.get("Content-Type")!=="application/wasm")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",_);else throw _}let n=await r.arrayBuffer();return await WebAssembly.instantiate(n,e)}else{let n=await WebAssembly.instantiate(r,e);if(n instanceof WebAssembly.Instance)return{instance:n,module:r};else return n}function t(n){switch(n){case"basic":case"cors":case"default":return!0}return!1}}async function ot(r){if(o!==void 0)return o;if(r!==void 0)if(Object.getPrototypeOf(r)===Object.prototype)({module_or_path:r}=r);else console.warn("using deprecated parameters for the initialization function; pass a single object instead");if(r===void 0)r=new URL("isard_bg.wasm",import.meta.url);let e=mt();if(typeof r==="string"||typeof Request==="function"&&r instanceof Request||typeof URL==="function"&&r instanceof URL)r=fetch(r);let{instance:t,module:n}=await Ct(await r,e);return Bt(t,n)}function at(r,e,t,n,_){let c=ct(r,L.__wbindgen_malloc),i=H,s=ct(e,L.__wbindgen_malloc),f=H,b=it(t,L.__wbindgen_malloc),u=H,d=it(n,L.__wbindgen_malloc),g=H,h=L.decodeCopc(c,i,s,f,b,u,d,g,_);if(h[3])throw jt(h[2]);var P=Ot(h[0],h[1]).slice();return L.__wbindgen_free(h[0],h[1]*1,1),P}function Wt(){return{__proto__:null,"./isard_points_bg.js":{__proto__:null,__wbindgen_generic_0000000000000001:function(e,t){return Gt(e,t)},__wbindgen_init_externref_table:function(){let e=L.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function Ot(r,e){return r=r>>>0,Ce().subarray(r/1,r/1+e)}var ie=null;function Vt(){if(ie===null||ie.byteLength===0)ie=new Float64Array(L.memory.buffer);return ie}function Gt(r,e){return Ht(r>>>0,e)}var ae=null;function Ce(){if(ae===null||ae.byteLength===0)ae=new Uint8Array(L.memory.buffer);return ae}function ct(r,e){let t=e(r.length*1,1)>>>0;return Ce().set(r,t/1),H=r.length,t}function it(r,e){let t=e(r.length*8,8)>>>0;return Vt().set(r,t/8),H=r.length,t}function jt(r){let e=L.__wbindgen_externrefs.get(r);return L.__externref_table_dealloc(r),e}var ue=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});ue.decode();var Nt=2146435072,Be=0;function Ht(r,e){if(Be+=e,Be>=Nt)ue=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),ue.decode(),Be=e;return ue.decode(Ce().subarray(r,r+e))}var H=0,$t,zt,L;function qt(r,e){return zt=r,L=r.exports,$t=e,ie=null,ae=null,L.__wbindgen_start(),L}async function Xt(r,e){if(typeof Response==="function"&&r instanceof Response){if(!r.ok)throw Error(`failed to fetch Wasm: ${r.status} ${r.statusText} fetching '${r.url}'`);if(typeof WebAssembly.instantiateStreaming==="function")try{return await WebAssembly.instantiateStreaming(r,e)}catch(_){if(t(r.type)&&r.headers.get("Content-Type")!=="application/wasm")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",_);else throw _}let n=await r.arrayBuffer();return await WebAssembly.instantiate(n,e)}else{let n=await WebAssembly.instantiate(r,e);if(n instanceof WebAssembly.Instance)return{instance:n,module:r};else return n}function t(n){switch(n){case"basic":case"cors":case"default":return!0}return!1}}async function st(r){if(L!==void 0)return L;if(r!==void 0)if(Object.getPrototypeOf(r)===Object.prototype)({module_or_path:r}=r);else console.warn("using deprecated parameters for the initialization function; pass a single object instead");if(r===void 0)r=new URL("isard_points_bg.wasm",import.meta.url);let e=Wt();if(typeof r==="string"||typeof Request==="function"&&r instanceof Request||typeof URL==="function"&&r instanceof URL)r=fetch(r);let{instance:t,module:n}=await Xt(await r,e);return qt(t,n)}var ft,Oe=$e,bt={astc:!1,bptc:!1,etc:!1,s3tc:!1},ut="",We,se=new Map,le=(r,e=[])=>postMessage(r,e);addEventListener("message",(r)=>{let e=r.data;switch(e.type){case"headers":Je(e.rules);break;case"init":ft=ot({module_or_path:e.module}),Oe=e.decoders,bt=e.formats,ut=e.points;break;case"points":en(e);break;case"abort":se.get(e.id)?.abort();break;case"load":Jt(e.id,e.url,e.transform,e.yUp,e.reload,e.priority);break}});var Jt=async(r,e,t,n,_,c)=>{let i=new AbortController;se.set(r,i);try{await ft;let s={signal:i.signal,cache:_?"reload":"default",...c?{priority:c}:{}},f=await fetch(e,Me(e,s));if(!f.ok)throw Error(`HTTP ${f.status}`);let b=new Uint8Array(await f.arrayBuffer()),u=tt(b),d=u.length>0?await ze(Oe,u):void 0,g=et(b,t,n,d),h=new Map,P=(v,k)=>{let U=h.get(v);if(U)return U;let B=k==="image/ktx2"?qe(Oe,bt,v).then((W)=>({bitmap:null,texture:W})):createImageBitmap(new Blob([v],{type:k??""}),{premultiplyAlpha:"none"}).then((W)=>({bitmap:W}));return h.set(v,B),B},F=g.points??[],S=await Promise.all(g.primitives.map(async({vertices:v,indices:k,image:U,mime:B,color:W,features:G})=>({vertices:v,indices:k,...W?{color:W}:{},...G?{features:G}:{},...U?await P(U,B):{bitmap:null}}))),I=new Set;S.forEach((v)=>{if(I.add(v.vertices.buffer),I.add(v.indices.buffer),v.color)I.add(v.color.buffer);if(v.features)I.add(v.features.buffer);if(v.bitmap)I.add(v.bitmap);v.texture?.levels.forEach((k)=>{I.add(k.data.buffer)})}),F.forEach((v)=>{I.add(v.buffer)});let M={anchor:g.anchor,primitives:S,...F.length>0?{points:F}:{},...g.properties?{properties:g.properties}:{}};le({type:"tile",id:r,tile:M},[...I])}catch(s){le({type:"error",id:r,error:String(s),aborted:i.signal.aborted})}finally{se.delete(r)}},Kt=4,Yt=1000,Zt=(r,e)=>new Promise((t,n)=>{let _=setTimeout(t,r);e.addEventListener("abort",()=>{clearTimeout(_),n(new DOMException("aborted","AbortError"))})}),Qt=async(r,e,t,n,_)=>{for(let c=1;;c+=1){let i={signal:n,headers:{Range:`bytes=${e}-${e+Math.max(t,1)-1}`},..._?{priority:_}:{}},s=await fetch(r,Me(r,i));if(s.status===429&&c<Kt){let f=Number(s.headers.get("Retry-After"));await Zt(f>0?f*1000:Yt*2**(c-1),n);continue}if(!s.ok)throw Error(`HTTP ${s.status}`);if(s.status!==206){let f=s.headers.get("Content-Length"),b=f!==null&&!(Number(f)<=t),u=b?void 0:await Ke(s,t);if(!u){if(b)await s.body?.cancel();throw Error("the server ignores range requests (HTTP 206 expected)")}return u.subarray(e,e+t)}return new Uint8Array(await s.arrayBuffer())}},en=async(r)=>{let{id:e,url:t,offset:n,size:_,laz:c,layout:i,grid:s,count:f,priority:b}=r,u=new AbortController;se.set(e,u);try{We??=st({module_or_path:ut}).catch((h)=>{throw We=void 0,h});let[d]=await Promise.all([Qt(t,n,_,u.signal,b),We]),g=at(d,c,i,s,f);le({type:"points",id:e,vertices:g},[g.buffer])}catch(d){le({type:"error",id:e,error:String(d),aborted:u.signal.aborted})}finally{se.delete(e)}};
5
5
 
6
- //# debugId=14A5B8971B17787A64756E2164756E21
6
+ //# debugId=E2FB2C53AA38BC8264756E2164756E21
7
7
  //# sourceMappingURL=decoder.worker.js.map