isard 0.7.0 → 1.0.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 (75) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/dist/basemap.worker.d.ts +7 -1
  3. package/dist/basemap.worker.js +2 -2
  4. package/dist/basemap.worker.js.map +8 -7
  5. package/dist/basemaps.d.ts +3 -3
  6. package/dist/basemaps.js +2 -14
  7. package/dist/basemaps.js.map +1 -1
  8. package/dist/controls.d.ts +4 -3
  9. package/dist/controls.js +0 -8
  10. package/dist/controls.js.map +1 -1
  11. package/dist/decoder.worker.js +4 -4
  12. package/dist/decoder.worker.js.map +6 -5
  13. package/dist/engine-loader.d.ts +12 -5
  14. package/dist/engine-loader.js +36 -5
  15. package/dist/engine-loader.js.map +1 -1
  16. package/dist/geoplateforme.d.ts +51 -1
  17. package/dist/geoplateforme.js +36 -1
  18. package/dist/geoplateforme.js.map +1 -1
  19. package/dist/glyphs.js +2 -1
  20. package/dist/glyphs.js.map +1 -1
  21. package/dist/icons.js +5 -1
  22. package/dist/icons.js.map +1 -1
  23. package/dist/index.d.ts +7 -5
  24. package/dist/index.js +5 -3
  25. package/dist/index.js.map +1 -1
  26. package/dist/interaction.d.ts +2 -0
  27. package/dist/interaction.js +29 -2
  28. package/dist/interaction.js.map +1 -1
  29. package/dist/isard_bg.wasm +0 -0
  30. package/dist/isard_core_bg.wasm +0 -0
  31. package/dist/layers.d.ts +5 -2
  32. package/dist/layers.js +37 -8
  33. package/dist/layers.js.map +1 -1
  34. package/dist/loader.d.ts +2 -0
  35. package/dist/loader.js +10 -0
  36. package/dist/loader.js.map +1 -1
  37. package/dist/map.d.ts +116 -4
  38. package/dist/map.js +245 -13
  39. package/dist/map.js.map +1 -1
  40. package/dist/overlay.d.ts +40 -0
  41. package/dist/overlay.js +119 -0
  42. package/dist/overlay.js.map +1 -1
  43. package/dist/panoramas.d.ts +94 -0
  44. package/dist/panoramas.js +245 -0
  45. package/dist/panoramas.js.map +1 -0
  46. package/dist/pmtiles.js +3 -2
  47. package/dist/pmtiles.js.map +1 -1
  48. package/dist/pointclouds.js +1 -1
  49. package/dist/pointclouds.js.map +1 -1
  50. package/dist/protocol.d.ts +7 -1
  51. package/dist/protocol.js.map +1 -1
  52. package/dist/requests.d.ts +14 -0
  53. package/dist/requests.js +48 -0
  54. package/dist/requests.js.map +1 -0
  55. package/dist/resample.js +2 -1
  56. package/dist/resample.js.map +1 -1
  57. package/dist/style.js +1 -0
  58. package/dist/style.js.map +1 -1
  59. package/dist/terrain.d.ts +0 -5
  60. package/dist/terrain.js +2 -1
  61. package/dist/terrain.js.map +1 -1
  62. package/dist/types.d.ts +40 -8
  63. package/dist/types.js.map +1 -1
  64. package/dist/vectortiles.d.ts +2 -2
  65. package/dist/vectortiles.js +16 -4
  66. package/dist/vectortiles.js.map +1 -1
  67. package/dist/wasm/isard.d.ts +79 -5
  68. package/dist/wasm/isard.js +165 -7
  69. package/dist/wasm/isard_core.d.ts +38 -0
  70. package/dist/wasm/isard_core.js +99 -0
  71. package/dist/wmts.js +2 -1
  72. package/dist/wmts.js.map +1 -1
  73. package/package.json +8 -2
  74. package/vite.d.ts +17 -0
  75. package/vite.js +64 -0
@@ -1,12 +1,12 @@
1
1
  /** The basemaps by name: OpenFreeMap's vector styles (OpenStreetMap data, worldwide) and the Géoplateforme's (IGN,
2
2
  * France), the credits of the sources, and the relief of each body */
3
3
  import { IGN_ATTRIBUTION } from './geoplateforme.ts';
4
- import type { Basemap, BasemapName, RasterOptions } from './types.ts';
4
+ import type { BasemapName, RasterOptions } from './types.ts';
5
5
  export { IGN_ATTRIBUTION };
6
6
  /** The raster basemaps of the Géoplateforme (WMTS, Web Mercator), crediting the IGN */
7
7
  export declare const BASEMAPS: Record<'ign-plan' | 'ign-plan-grey' | 'ign-ortho', RasterOptions>;
8
- /** A basemap by its current name: a former one is warned about once, then taken under its new name */
9
- export declare function basemapName(basemap: Basemap): BasemapName;
8
+ /** The former names of the Géoplateforme basemaps (before 0.5), and their names now: an error tells it */
9
+ export declare const RENAMED_BASEMAPS: Record<string, BasemapName>;
10
10
  /** Credits of OpenFreeMap's basemaps, as its TileJSON gives them */
11
11
  export declare const OPENFREEMAP_ATTRIBUTION: string;
12
12
  /** Credits of the Terrain Tiles of AWS's open data registry (Mapzen's Terrarium tiles) and of their sources */
package/dist/basemaps.js CHANGED
@@ -9,26 +9,14 @@ export const BASEMAPS = {
9
9
  'ign-plan-grey': geoplateformeWmts(PLAN, { saturation: 0 }),
10
10
  'ign-ortho': geoplateformeWmts('ORTHOIMAGERY.ORTHOPHOTOS', { format: 'image/jpeg' }),
11
11
  };
12
- /** The former names of the Géoplateforme basemaps, still accepted */
13
- const LEGACY = {
12
+ /** The former names of the Géoplateforme basemaps (before 0.5), and their names now: an error tells it */
13
+ export const RENAMED_BASEMAPS = {
14
14
  plan: 'ign-plan',
15
15
  'plan-grey': 'ign-plan-grey',
16
16
  ortho: 'ign-ortho',
17
17
  'plan-vector': 'ign-plan-vector',
18
18
  'plan-grey-vector': 'ign-plan-grey-vector',
19
19
  };
20
- const warned = new Set();
21
- /** A basemap by its current name: a former one is warned about once, then taken under its new name */
22
- export function basemapName(basemap) {
23
- const renamed = LEGACY[basemap];
24
- if (!renamed)
25
- return basemap;
26
- if (!warned.has(basemap)) {
27
- warned.add(basemap);
28
- console.warn(`isard: the basemap '${basemap}' is deprecated, it is now named '${renamed}'`);
29
- }
30
- return renamed;
31
- }
32
20
  /** Credits of OpenFreeMap's basemaps, as its TileJSON gives them */
33
21
  export const OPENFREEMAP_ATTRIBUTION = '<a href="https://openfreemap.org">OpenFreeMap</a> <a href="https://www.openmaptiles.org/">© OpenMapTiles</a> ' +
34
22
  'Data from <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>';
@@ -1 +1 @@
1
- {"version":3,"file":"basemaps.js","sourceRoot":"","sources":["../src/basemaps.ts"],"names":[],"mappings":"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","sourcesContent":["/** The basemaps by name: OpenFreeMap's vector styles (OpenStreetMap data, worldwide) and the Géoplateforme's (IGN,\n * France), the credits of the sources, and the relief of each body */\nimport { geoplateformeWmts, IGN_ATTRIBUTION } from './geoplateforme.ts';\nimport type { Basemap, BasemapName, LegacyBasemap, RasterOptions } from './types.ts';\n\nexport { IGN_ATTRIBUTION };\n\nconst PLAN = 'GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2';\n\n/** The raster basemaps of the Géoplateforme (WMTS, Web Mercator), crediting the IGN */\nexport const BASEMAPS: Record<'ign-plan' | 'ign-plan-grey' | 'ign-ortho', RasterOptions> = {\n 'ign-plan': geoplateformeWmts(PLAN),\n 'ign-plan-grey': geoplateformeWmts(PLAN, { saturation: 0 }),\n 'ign-ortho': geoplateformeWmts('ORTHOIMAGERY.ORTHOPHOTOS', { format: 'image/jpeg' }),\n};\n\n/** The former names of the Géoplateforme basemaps, still accepted */\nconst LEGACY: Record<LegacyBasemap, BasemapName> = {\n plan: 'ign-plan',\n 'plan-grey': 'ign-plan-grey',\n ortho: 'ign-ortho',\n 'plan-vector': 'ign-plan-vector',\n 'plan-grey-vector': 'ign-plan-grey-vector',\n};\nconst warned = new Set<string>();\n\n/** A basemap by its current name: a former one is warned about once, then taken under its new name */\nexport function basemapName(basemap: Basemap): BasemapName {\n const renamed = LEGACY[basemap as LegacyBasemap];\n if (!renamed) return basemap as BasemapName;\n if (!warned.has(basemap)) {\n warned.add(basemap);\n console.warn(`isard: the basemap '${basemap}' is deprecated, it is now named '${renamed}'`);\n }\n return renamed;\n}\n\n/** Credits of OpenFreeMap's basemaps, as its TileJSON gives them */\nexport const OPENFREEMAP_ATTRIBUTION =\n '<a href=\"https://openfreemap.org\">OpenFreeMap</a> <a href=\"https://www.openmaptiles.org/\">© OpenMapTiles</a> ' +\n 'Data from <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a>';\n\n/** Credits of the Terrain Tiles of AWS's open data registry (Mapzen's Terrarium tiles) and of their sources */\nexport const TERRAIN_TILES_ATTRIBUTION =\n '<a href=\"https://github.com/tilezen/joerd/blob/master/docs/attribution.md\">Terrain Tiles</a> (Mapzen, AWS)';\n\n/** IGN hillshade, grey on transparent, zooms 6 to 17 */\nexport const HILLSHADE: RasterOptions = geoplateformeWmts('IGNF_ELEVATION.ELEVATIONGRIDCOVERAGE.SHADOW', {\n minZoom: 6,\n maxZoom: 17,\n});\n\n/** IGN terrain model (RGE ALTI and its fill-ins, France), raw altitudes in metres from the Géoplateforme WMS */\nexport const TERRAIN_URL =\n 'https://data.geopf.fr/wms-r/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=ELEVATION.ELEVATIONGRIDCOVERAGE.HIGHRES' +\n '&STYLES=&CRS=EPSG:3857&BBOX={bbox}&WIDTH=256&HEIGHT=256&FORMAT=image/x-bil;bits=32';\n\n/** The relief of the Moon and Mars by default: NASA's Trek image services (ArcGIS), raw 32-bit altitudes in metres\n * asked for in the body's Mercator, with their credits. The Moon: LOLA's global model, 128 pixels per degree (237 m);\n * Mars: MOLA's, 128 and 64 pixels per degree merged (463 m), above the areoid */\nexport const BODY_TERRAINS = {\n moon: {\n url: 'https://trek.nasa.gov/moon/trekarcgis/rest/services/LRO_LOLA_DEM_Global_128ppd_v04/ImageServer',\n maxZoom: 8,\n attribution: '<a href=\"https://trek.nasa.gov/moon/\">NASA Moon Trek</a>: LOLA terrain model, NASA/GSFC/MIT',\n },\n mars: {\n url: 'https://trek.nasa.gov/mars/trekarcgis/rest/services/mola128_mola64_merge_90Nto90S_SimpleC_clon0/ImageServer',\n maxZoom: 8,\n attribution: '<a href=\"https://trek.nasa.gov/mars/\">NASA Mars Trek</a>: MOLA terrain model, NASA/JPL/GSFC',\n },\n} as const;\n\n/** An ArcGIS image service (a URL ending in `/ImageServer`) */\nexport const IMAGE_SERVER = /\\/ImageServer\\/?$/;\n\n/**\n * The `exportImage` template of an ArcGIS image service for the relief: 256 × 256 raw 32-bit floats (`bsq`, followed\n * by its validity mask) of the box `{bbox}` in the Mercator of the body. On the Earth, Web Mercator (EPSG:3857);\n * elsewhere, a Mercator on the sphere of `radius` metres (Web Mercator's own formulas), given in WKT.\n */\nexport function imageServerTerrain(url: string, earth: boolean, radius: number): string {\n const crs = earth\n ? '3857'\n : encodeURIComponent(\n JSON.stringify({\n wkt:\n `PROJCS[\"Mercator\",GEOGCS[\"GCS\",DATUM[\"D\",SPHEROID[\"S\",${radius},0]],PRIMEM[\"Reference_Meridian\",0],` +\n 'UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Mercator\"],PARAMETER[\"False_Easting\",0],' +\n 'PARAMETER[\"False_Northing\",0],PARAMETER[\"Central_Meridian\",0],PARAMETER[\"Standard_Parallel_1\",0],' +\n 'UNIT[\"Meter\",1]]',\n }),\n );\n return (\n `${url.replace(/\\/$/, '')}/exportImage?f=image&format=bsq&pixelType=F32&size=256,256` +\n `&bboxSR=${crs}&imageSR=${crs}&bbox={bbox}`\n );\n}\n\n/** The Earth's relief for `terrain: true`: the Terrain Tiles of AWS's open data registry, worldwide (SRTM, EU-DEM,\n * GMTED… merged by Mapzen), Terrarium PNGs of 256 px to level 14, altitudes above the mean sea level */\nexport const TERRAIN_TILES = {\n url: 'https://s3.amazonaws.com/elevation-tiles-prod/terrarium/{z}/{x}/{y}.png',\n maxZoom: 14,\n} as const;\n\n/** Sea color of each basemap, for the globe under the tiles (polar caps), RGB 0-1 */\nexport const SEA: Record<BasemapName, [r: number, g: number, b: number]> = {\n 'osm-positron': [0.761, 0.784, 0.792],\n 'osm-liberty': [0.62, 0.741, 1],\n 'osm-bright': [0.682, 0.812, 0.886],\n 'ign-plan': [0.667, 0.835, 0.914],\n 'ign-plan-grey': [0.792, 0.792, 0.792],\n 'ign-plan-vector': [0.667, 0.835, 0.914],\n 'ign-plan-grey-vector': [0.792, 0.792, 0.792],\n 'ign-ortho': [0.039, 0.231, 0.349],\n none: [0.85, 0.85, 0.83],\n};\n"]}
1
+ {"version":3,"file":"basemaps.js","sourceRoot":"","sources":["../src/basemaps.ts"],"names":[],"mappings":"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","sourcesContent":["/** The basemaps by name: OpenFreeMap's vector styles (OpenStreetMap data, worldwide) and the Géoplateforme's (IGN,\n * France), the credits of the sources, and the relief of each body */\nimport { geoplateformeWmts, IGN_ATTRIBUTION } from './geoplateforme.ts';\nimport type { BasemapName, RasterOptions } from './types.ts';\n\nexport { IGN_ATTRIBUTION };\n\nconst PLAN = 'GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2';\n\n/** The raster basemaps of the Géoplateforme (WMTS, Web Mercator), crediting the IGN */\nexport const BASEMAPS: Record<'ign-plan' | 'ign-plan-grey' | 'ign-ortho', RasterOptions> = {\n 'ign-plan': geoplateformeWmts(PLAN),\n 'ign-plan-grey': geoplateformeWmts(PLAN, { saturation: 0 }),\n 'ign-ortho': geoplateformeWmts('ORTHOIMAGERY.ORTHOPHOTOS', { format: 'image/jpeg' }),\n};\n\n/** The former names of the Géoplateforme basemaps (before 0.5), and their names now: an error tells it */\nexport const RENAMED_BASEMAPS: Record<string, BasemapName> = {\n plan: 'ign-plan',\n 'plan-grey': 'ign-plan-grey',\n ortho: 'ign-ortho',\n 'plan-vector': 'ign-plan-vector',\n 'plan-grey-vector': 'ign-plan-grey-vector',\n};\n\n/** Credits of OpenFreeMap's basemaps, as its TileJSON gives them */\nexport const OPENFREEMAP_ATTRIBUTION =\n '<a href=\"https://openfreemap.org\">OpenFreeMap</a> <a href=\"https://www.openmaptiles.org/\">© OpenMapTiles</a> ' +\n 'Data from <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a>';\n\n/** Credits of the Terrain Tiles of AWS's open data registry (Mapzen's Terrarium tiles) and of their sources */\nexport const TERRAIN_TILES_ATTRIBUTION =\n '<a href=\"https://github.com/tilezen/joerd/blob/master/docs/attribution.md\">Terrain Tiles</a> (Mapzen, AWS)';\n\n/** IGN hillshade, grey on transparent, zooms 6 to 17 */\nexport const HILLSHADE: RasterOptions = geoplateformeWmts('IGNF_ELEVATION.ELEVATIONGRIDCOVERAGE.SHADOW', {\n minZoom: 6,\n maxZoom: 17,\n});\n\n/** IGN terrain model (RGE ALTI and its fill-ins, France), raw altitudes in metres from the Géoplateforme WMS */\nexport const TERRAIN_URL =\n 'https://data.geopf.fr/wms-r/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=ELEVATION.ELEVATIONGRIDCOVERAGE.HIGHRES' +\n '&STYLES=&CRS=EPSG:3857&BBOX={bbox}&WIDTH=256&HEIGHT=256&FORMAT=image/x-bil;bits=32';\n\n/** The relief of the Moon and Mars by default: NASA's Trek image services (ArcGIS), raw 32-bit altitudes in metres\n * asked for in the body's Mercator, with their credits. The Moon: LOLA's global model, 128 pixels per degree (237 m);\n * Mars: MOLA's, 128 and 64 pixels per degree merged (463 m), above the areoid */\nexport const BODY_TERRAINS = {\n moon: {\n url: 'https://trek.nasa.gov/moon/trekarcgis/rest/services/LRO_LOLA_DEM_Global_128ppd_v04/ImageServer',\n maxZoom: 8,\n attribution: '<a href=\"https://trek.nasa.gov/moon/\">NASA Moon Trek</a>: LOLA terrain model, NASA/GSFC/MIT',\n },\n mars: {\n url: 'https://trek.nasa.gov/mars/trekarcgis/rest/services/mola128_mola64_merge_90Nto90S_SimpleC_clon0/ImageServer',\n maxZoom: 8,\n attribution: '<a href=\"https://trek.nasa.gov/mars/\">NASA Mars Trek</a>: MOLA terrain model, NASA/JPL/GSFC',\n },\n} as const;\n\n/** An ArcGIS image service (a URL ending in `/ImageServer`) */\nexport const IMAGE_SERVER = /\\/ImageServer\\/?$/;\n\n/**\n * The `exportImage` template of an ArcGIS image service for the relief: 256 × 256 raw 32-bit floats (`bsq`, followed\n * by its validity mask) of the box `{bbox}` in the Mercator of the body. On the Earth, Web Mercator (EPSG:3857);\n * elsewhere, a Mercator on the sphere of `radius` metres (Web Mercator's own formulas), given in WKT.\n */\nexport function imageServerTerrain(url: string, earth: boolean, radius: number): string {\n const crs = earth\n ? '3857'\n : encodeURIComponent(\n JSON.stringify({\n wkt:\n `PROJCS[\"Mercator\",GEOGCS[\"GCS\",DATUM[\"D\",SPHEROID[\"S\",${radius},0]],PRIMEM[\"Reference_Meridian\",0],` +\n 'UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Mercator\"],PARAMETER[\"False_Easting\",0],' +\n 'PARAMETER[\"False_Northing\",0],PARAMETER[\"Central_Meridian\",0],PARAMETER[\"Standard_Parallel_1\",0],' +\n 'UNIT[\"Meter\",1]]',\n }),\n );\n return (\n `${url.replace(/\\/$/, '')}/exportImage?f=image&format=bsq&pixelType=F32&size=256,256` +\n `&bboxSR=${crs}&imageSR=${crs}&bbox={bbox}`\n );\n}\n\n/** The Earth's relief for `terrain: true`: the Terrain Tiles of AWS's open data registry, worldwide (SRTM, EU-DEM,\n * GMTED… merged by Mapzen), Terrarium PNGs of 256 px to level 14, altitudes above the mean sea level */\nexport const TERRAIN_TILES = {\n url: 'https://s3.amazonaws.com/elevation-tiles-prod/terrarium/{z}/{x}/{y}.png',\n maxZoom: 14,\n} as const;\n\n/** Sea color of each basemap, for the globe under the tiles (polar caps), RGB 0-1 */\nexport const SEA: Record<BasemapName, [r: number, g: number, b: number]> = {\n 'osm-positron': [0.761, 0.784, 0.792],\n 'osm-liberty': [0.62, 0.741, 1],\n 'osm-bright': [0.682, 0.812, 0.886],\n 'ign-plan': [0.667, 0.835, 0.914],\n 'ign-plan-grey': [0.792, 0.792, 0.792],\n 'ign-plan-vector': [0.667, 0.835, 0.914],\n 'ign-plan-grey-vector': [0.792, 0.792, 0.792],\n 'ign-ortho': [0.039, 0.231, 0.349],\n none: [0.85, 0.85, 0.83],\n};\n"]}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Controls: elements in a corner of the map. A control is anything with `onAdd` and `onRemove`, as in MapLibre, so
3
+ * applications write their own; the navigation buttons and the attribution are built in.
4
+ */
1
5
  import type { GeoMap } from './map.ts';
2
6
  export type ControlPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
3
7
  export interface Control {
@@ -22,9 +26,6 @@ export declare class NavigationControl implements Control {
22
26
  onAdd(map: GeoMap): HTMLElement;
23
27
  onRemove(): void;
24
28
  }
25
- /** @deprecated The Géoplateforme's credits, now `IGN_ATTRIBUTION`: the attribution control shows those of the sources
26
- * in use */
27
- export declare const DEFAULT_ATTRIBUTION = "<a href=\"https://www.ign.fr/\">\u00A9 IGN</a> \u2013 <a href=\"https://geoservices.ign.fr/\">G\u00E9oplateforme</a>";
28
29
  export interface AttributionOptions {
29
30
  /** Folded into a small (i) button that shows the text on click (default: when the map is narrower than 640 px) */
30
31
  compact?: boolean;
package/dist/controls.js CHANGED
@@ -1,8 +1,3 @@
1
- /**
2
- * Controls: elements in a corner of the map. A control is anything with `onAdd` and `onRemove`, as in MapLibre, so
3
- * applications write their own; the navigation buttons and the attribution are built in.
4
- */
5
- import { IGN_ATTRIBUTION } from "./geoplateforme.js";
6
1
  const svg = (body) => `<svg width="29" height="29" viewBox="0 0 29 29" fill="currentColor" aria-hidden="true">${body}</svg>`;
7
2
  const PLUS = svg('<path d="M14.5 8.5a1 1 0 0 1 1 1v4h4a1 1 0 0 1 0 2h-4v4a1 1 0 0 1-2 0v-4h-4a1 1 0 0 1 0-2h4v-4a1 1 0 0 1 1-1z"/>');
8
3
  const MINUS = svg('<path d="M9.5 13.5h10a1 1 0 0 1 0 2h-10a1 1 0 0 1 0-2z"/>');
@@ -55,9 +50,6 @@ export class NavigationControl {
55
50
  this.stopListening = undefined;
56
51
  }
57
52
  }
58
- /** @deprecated The Géoplateforme's credits, now `IGN_ATTRIBUTION`: the attribution control shows those of the sources
59
- * in use */
60
- export const DEFAULT_ATTRIBUTION = IGN_ATTRIBUTION;
61
53
  /** Credits of the data shown: those of the map's basemap, hillshade and relief (OpenFreeMap and OpenStreetMap, IGN,
62
54
  * the Terrain Tiles…, followed as they change), then the page's own */
63
55
  export class AttributionControl {
@@ -1 +1 @@
1
- {"version":3,"file":"controls.js","sourceRoot":"","sources":["../src/controls.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Controls: elements in a corner of the map. A control is anything with `onAdd` and `onRemove`, as in MapLibre, so\n * applications write their own; the navigation buttons and the attribution are built in.\n */\nimport { IGN_ATTRIBUTION } from './geoplateforme.ts';\nimport type { GeoMap } from './map.ts';\n\nexport type ControlPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';\n\nexport interface Control {\n /** Builds the control's element; the map puts it in its corner */\n onAdd(map: GeoMap): HTMLElement;\n /** Cleans up (listeners); the map removes the element */\n onRemove(map: GeoMap): void;\n}\n\nconst svg = (body: string) =>\n `<svg width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"currentColor\" aria-hidden=\"true\">${body}</svg>`;\nconst PLUS = svg(\n '<path d=\"M14.5 8.5a1 1 0 0 1 1 1v4h4a1 1 0 0 1 0 2h-4v4a1 1 0 0 1-2 0v-4h-4a1 1 0 0 1 0-2h4v-4a1 1 0 0 1 1-1z\"/>',\n);\nconst MINUS = svg('<path d=\"M9.5 13.5h10a1 1 0 0 1 0 2h-10a1 1 0 0 1 0-2z\"/>');\n/** Needle: red half to the north, grey half to the south */\nconst COMPASS = svg(\n '<path d=\"M10.5 14 14.5 6.5 18.5 14z\" fill=\"#e3342f\"/><path d=\"M10.5 15 14.5 22.5 18.5 15z\" fill=\"currentColor\" opacity=\"0.5\"/>',\n);\nconst INFO =\n '<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" ' +\n 'd=\"M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14zm-1 5.5h2V14H9zM10 5.5a1.1 1.1 0 1 1 0 2.2 1.1 1.1 0 0 1 0-2.2z\"/></svg>';\n\nfunction button(className: string, label: string, icon: string, onClick: () => void): HTMLButtonElement {\n const element = document.createElement('button');\n element.type = 'button';\n element.className = className;\n element.title = label;\n element.setAttribute('aria-label', label);\n element.innerHTML = icon;\n element.addEventListener('click', onClick);\n return element;\n}\n\nexport interface NavigationOptions {\n /** Zoom in and out buttons (default true) */\n showZoom?: boolean;\n /** Compass turning with the bearing; a click faces north and levels the view (default true) */\n showCompass?: boolean;\n /** The compass also tilts with the pitch (default false) */\n visualizePitch?: boolean;\n}\n\n/** Zoom buttons and compass */\nexport class NavigationControl implements Control {\n private readonly options: Required<NavigationOptions>;\n private stopListening: (() => void) | undefined;\n\n constructor(options: NavigationOptions = {}) {\n this.options = { showZoom: true, showCompass: true, visualizePitch: false, ...options };\n }\n\n onAdd(map: GeoMap): HTMLElement {\n const group = document.createElement('div');\n group.className = 'isard-ctrl-group';\n const zoomBy = (delta: number) => map.easeTo({ zoom: map.getCamera().zoom + delta }, 300);\n if (this.options.showZoom) {\n group.append(\n button('isard-ctrl-zoom-in', 'Zoom in', PLUS, () => zoomBy(1)),\n button('isard-ctrl-zoom-out', 'Zoom out', MINUS, () => zoomBy(-1)),\n );\n }\n if (this.options.showCompass) {\n const compass = button('isard-ctrl-compass', 'Reset bearing to north', COMPASS, () =>\n map.easeTo({ bearing: 0, pitch: 0 }, 300),\n );\n const needle = compass.firstElementChild as SVGElement;\n const turn = () => {\n const { bearing, pitch } = map.getCamera();\n // Seen from above when tilted: the needle lies back with the ground, squashed by cos(pitch)\n needle.style.transform = this.options.visualizePitch\n ? `scale(${1 / Math.cos((pitch * Math.PI) / 180) ** 0.5}) rotateX(${pitch}deg) rotateZ(${-bearing}deg)`\n : `rotate(${-bearing}deg)`;\n };\n turn();\n this.stopListening = map.on('move', turn);\n group.append(compass);\n }\n return group;\n }\n\n onRemove(): void {\n this.stopListening?.();\n this.stopListening = undefined;\n }\n}\n\n/** @deprecated The Géoplateforme's credits, now `IGN_ATTRIBUTION`: the attribution control shows those of the sources\n * in use */\nexport const DEFAULT_ATTRIBUTION = IGN_ATTRIBUTION;\n\nexport interface AttributionOptions {\n /** Folded into a small (i) button that shows the text on click (default: when the map is narrower than 640 px) */\n compact?: boolean;\n /** Attributions shown after those of the map's sources, HTML allowed (links open in a new tab) */\n customAttribution?: string | string[];\n}\n\n/** Credits of the data shown: those of the map's basemap, hillshade and relief (OpenFreeMap and OpenStreetMap, IGN,\n * the Terrain Tiles…, followed as they change), then the page's own */\nexport class AttributionControl implements Control {\n private observer: ResizeObserver | undefined;\n private stopListening: (() => void) | undefined;\n\n constructor(private readonly options: AttributionOptions = {}) {}\n\n onAdd(map: GeoMap): HTMLElement {\n const element = document.createElement('div');\n element.className = 'isard-attrib';\n const inner = document.createElement('div');\n inner.className = 'isard-attrib-inner';\n const custom = this.options.customAttribution ?? [];\n const render = () => {\n inner.innerHTML = [...map.attributions(), ...(typeof custom === 'string' ? [custom] : custom)].join(' | ');\n for (const link of inner.querySelectorAll('a')) {\n link.target = '_blank';\n link.rel = 'noopener noreferrer';\n }\n };\n render();\n this.stopListening = map.onAttributionChange(render);\n const toggle = button('isard-attrib-button', 'Toggle attribution', INFO, () =>\n toggle.setAttribute('aria-expanded', String(element.classList.toggle('isard-attrib-open'))),\n );\n toggle.setAttribute('aria-expanded', 'false');\n element.append(inner, toggle);\n const { compact } = this.options;\n if (compact !== undefined) {\n element.classList.toggle('isard-attrib-compact', compact);\n } else {\n // Follows the map's width; a narrowed map folds the text, starting closed\n const fold = () => {\n const narrow = map.getContainer().clientWidth < 640;\n if (narrow !== element.classList.contains('isard-attrib-compact')) {\n element.classList.remove('isard-attrib-open');\n toggle.setAttribute('aria-expanded', 'false');\n }\n element.classList.toggle('isard-attrib-compact', narrow);\n };\n fold();\n this.observer = new ResizeObserver(fold);\n this.observer.observe(map.getContainer());\n }\n return element;\n }\n\n onRemove(): void {\n this.observer?.disconnect();\n this.observer = undefined;\n this.stopListening?.();\n this.stopListening = undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"controls.js","sourceRoot":"","sources":["../src/controls.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Controls: elements in a corner of the map. A control is anything with `onAdd` and `onRemove`, as in MapLibre, so\n * applications write their own; the navigation buttons and the attribution are built in.\n */\nimport type { GeoMap } from './map.ts';\n\nexport type ControlPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';\n\nexport interface Control {\n /** Builds the control's element; the map puts it in its corner */\n onAdd(map: GeoMap): HTMLElement;\n /** Cleans up (listeners); the map removes the element */\n onRemove(map: GeoMap): void;\n}\n\nconst svg = (body: string) =>\n `<svg width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"currentColor\" aria-hidden=\"true\">${body}</svg>`;\nconst PLUS = svg(\n '<path d=\"M14.5 8.5a1 1 0 0 1 1 1v4h4a1 1 0 0 1 0 2h-4v4a1 1 0 0 1-2 0v-4h-4a1 1 0 0 1 0-2h4v-4a1 1 0 0 1 1-1z\"/>',\n);\nconst MINUS = svg('<path d=\"M9.5 13.5h10a1 1 0 0 1 0 2h-10a1 1 0 0 1 0-2z\"/>');\n/** Needle: red half to the north, grey half to the south */\nconst COMPASS = svg(\n '<path d=\"M10.5 14 14.5 6.5 18.5 14z\" fill=\"#e3342f\"/><path d=\"M10.5 15 14.5 22.5 18.5 15z\" fill=\"currentColor\" opacity=\"0.5\"/>',\n);\nconst INFO =\n '<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" ' +\n 'd=\"M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14zm-1 5.5h2V14H9zM10 5.5a1.1 1.1 0 1 1 0 2.2 1.1 1.1 0 0 1 0-2.2z\"/></svg>';\n\nfunction button(className: string, label: string, icon: string, onClick: () => void): HTMLButtonElement {\n const element = document.createElement('button');\n element.type = 'button';\n element.className = className;\n element.title = label;\n element.setAttribute('aria-label', label);\n element.innerHTML = icon;\n element.addEventListener('click', onClick);\n return element;\n}\n\nexport interface NavigationOptions {\n /** Zoom in and out buttons (default true) */\n showZoom?: boolean;\n /** Compass turning with the bearing; a click faces north and levels the view (default true) */\n showCompass?: boolean;\n /** The compass also tilts with the pitch (default false) */\n visualizePitch?: boolean;\n}\n\n/** Zoom buttons and compass */\nexport class NavigationControl implements Control {\n private readonly options: Required<NavigationOptions>;\n private stopListening: (() => void) | undefined;\n\n constructor(options: NavigationOptions = {}) {\n this.options = { showZoom: true, showCompass: true, visualizePitch: false, ...options };\n }\n\n onAdd(map: GeoMap): HTMLElement {\n const group = document.createElement('div');\n group.className = 'isard-ctrl-group';\n const zoomBy = (delta: number) => map.easeTo({ zoom: map.getCamera().zoom + delta }, 300);\n if (this.options.showZoom) {\n group.append(\n button('isard-ctrl-zoom-in', 'Zoom in', PLUS, () => zoomBy(1)),\n button('isard-ctrl-zoom-out', 'Zoom out', MINUS, () => zoomBy(-1)),\n );\n }\n if (this.options.showCompass) {\n const compass = button('isard-ctrl-compass', 'Reset bearing to north', COMPASS, () =>\n map.easeTo({ bearing: 0, pitch: 0 }, 300),\n );\n const needle = compass.firstElementChild as SVGElement;\n const turn = () => {\n const { bearing, pitch } = map.getCamera();\n // Seen from above when tilted: the needle lies back with the ground, squashed by cos(pitch)\n needle.style.transform = this.options.visualizePitch\n ? `scale(${1 / Math.cos((pitch * Math.PI) / 180) ** 0.5}) rotateX(${pitch}deg) rotateZ(${-bearing}deg)`\n : `rotate(${-bearing}deg)`;\n };\n turn();\n this.stopListening = map.on('move', turn);\n group.append(compass);\n }\n return group;\n }\n\n onRemove(): void {\n this.stopListening?.();\n this.stopListening = undefined;\n }\n}\n\nexport interface AttributionOptions {\n /** Folded into a small (i) button that shows the text on click (default: when the map is narrower than 640 px) */\n compact?: boolean;\n /** Attributions shown after those of the map's sources, HTML allowed (links open in a new tab) */\n customAttribution?: string | string[];\n}\n\n/** Credits of the data shown: those of the map's basemap, hillshade and relief (OpenFreeMap and OpenStreetMap, IGN,\n * the Terrain Tiles…, followed as they change), then the page's own */\nexport class AttributionControl implements Control {\n private observer: ResizeObserver | undefined;\n private stopListening: (() => void) | undefined;\n\n constructor(private readonly options: AttributionOptions = {}) {}\n\n onAdd(map: GeoMap): HTMLElement {\n const element = document.createElement('div');\n element.className = 'isard-attrib';\n const inner = document.createElement('div');\n inner.className = 'isard-attrib-inner';\n const custom = this.options.customAttribution ?? [];\n const render = () => {\n inner.innerHTML = [...map.attributions(), ...(typeof custom === 'string' ? [custom] : custom)].join(' | ');\n for (const link of inner.querySelectorAll('a')) {\n link.target = '_blank';\n link.rel = 'noopener noreferrer';\n }\n };\n render();\n this.stopListening = map.onAttributionChange(render);\n const toggle = button('isard-attrib-button', 'Toggle attribution', INFO, () =>\n toggle.setAttribute('aria-expanded', String(element.classList.toggle('isard-attrib-open'))),\n );\n toggle.setAttribute('aria-expanded', 'false');\n element.append(inner, toggle);\n const { compact } = this.options;\n if (compact !== undefined) {\n element.classList.toggle('isard-attrib-compact', compact);\n } else {\n // Follows the map's width; a narrowed map folds the text, starting closed\n const fold = () => {\n const narrow = map.getContainer().clientWidth < 640;\n if (narrow !== element.classList.contains('isard-attrib-compact')) {\n element.classList.remove('isard-attrib-open');\n toggle.setAttribute('aria-expanded', 'false');\n }\n element.classList.toggle('isard-attrib-compact', narrow);\n };\n fold();\n this.observer = new ResizeObserver(fold);\n this.observer.observe(map.getContainer());\n }\n return element;\n }\n\n onRemove(): void {\n this.observer?.disconnect();\n this.observer = undefined;\n this.stopListening?.();\n this.stopListening = undefined;\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
- var ye={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/"};async function Ce(r,e){let t=await(await fetch(r)).text();return Function(`${t}
2
- return ${e};`)()}async function oe(r,e,t,n){let[_,o]=await Promise.all([Ce(`${r}${e}`,n),fetch(`${r}${t}`).then((a)=>a.arrayBuffer())]);return _({wasmBinary:o})}var we,me,pe;async function he(r,e){let t=e.some((o)=>!o.points);if(t)we??=oe(r.draco,"draco_wasm_wrapper_gltf.js","draco_decoder_gltf.wasm","DracoDecoderModule");if(e.some((o)=>o.points))me??=oe(r.draco,"draco_wasm_wrapper.js","draco_decoder.wasm","DracoDecoderModule");let[n,_]=await Promise.all([t?we:void 0,me]);return e.map((o)=>{let a=o.points?_:n,i=new a.Decoder,s=o.points?new a.PointCloud:new a.Mesh;try{let b=new Int8Array(o.data.buffer,o.data.byteOffset,o.data.byteLength),l=o.points?i.DecodeArrayToPointCloud(b,b.byteLength,s):i.DecodeArrayToMesh(b,b.byteLength,s);if(!l.ok())throw Error(`Draco: ${l.error_msg()}`);let d=(L)=>{let E=i.GetAttributeByUniqueId(s,L),k=s.num_points()*E.num_components(),h=a._malloc(k*4);try{return i.GetAttributeDataArrayForAllPoints(s,E,a.DT_FLOAT32,k*4,h),a.HEAPF32.slice(h/4,h/4+k)}finally{a._free(h)}};if(o.points){let L={mesh:o.mesh,primitive:o.primitive,positions:d(o.position)};if(o.color!==void 0)L.colors=d(o.color);if(o.normal!==void 0)L.normals=d(o.normal);return L}let g=s.num_faces()*3,m=a._malloc(g*4),I;try{i.GetTrianglesUInt32Array(s,g*4,m),I=a.HEAPU32.slice(m/4,m/4+g)}finally{a._free(m)}let R={mesh:o.mesh,primitive:o.primitive,positions:d(o.position),indices:I};if(o.uv!==void 0)R.uvs=d(o.uv);return R}finally{a.destroy(s),a.destroy(i)}})}function We(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}}async function Ae(r,e,t){pe??=oe(r.basis,"basis_transcoder.js","basis_transcoder.wasm","BASIS").then((o)=>(o.initializeBasis(),o));let _=new(await pe).KTX2File(t);try{if(!_.isValid()||!_.startTranscoding())throw Error("KTX2: invalid file");let{basis:o,gl:a}=We(e,_.getHasAlpha()),i=[];for(let s=0;s<_.getLevels();s++){let{origWidth:b,origHeight:l}=_.getImageLevelInfo(s,0,0),d=new Uint8Array(_.getImageTranscodedSizeInBytes(s,0,0,o));if(!_.transcodeImage(d,s,0,0,o,0,-1,-1))throw Error("KTX2: transcoding failed");i.push({width:b,height:l,data:d})}return{format:a,levels:i}}finally{_.close(),_.delete()}}class ie{__destroy_into_raw(){let r=this.__wbg_ptr;return this.__wbg_ptr=0,xe.unregister(this),r}free(){let r=this.__destroy_into_raw();c.__wbg_engine_free(r,0)}addCircles(r,e,t){let n=D(r,c.__wbindgen_malloc),_=f,o=x(e,c.__wbindgen_malloc),a=f,i=c.engine_addCircles(this.__wbg_ptr,n,_,o,a,t);if(i[2])throw y(i[1]);return i[0]>>>0}addCustomLayer(r,e){return c.engine_addCustomLayer(this.__wbg_ptr,r,e)>>>0}addExtrusions(){let r=c.engine_addExtrusions(this.__wbg_ptr);if(r[2])throw y(r[1]);return r[0]>>>0}addFills(r,e,t,n,_){let o=D(r,c.__wbindgen_malloc),a=f,i=x(e,c.__wbindgen_malloc),s=f,b=x(t,c.__wbindgen_malloc),l=f,d=x(n,c.__wbindgen_malloc),g=f,m=c.engine_addFills(this.__wbg_ptr,o,a,i,s,b,l,d,g,_);if(m[2])throw y(m[1]);return m[0]>>>0}addGround(r,e,t,n,_,o,a){let i=S(r,c.__wbindgen_malloc,c.__wbindgen_realloc),s=f,b=c.engine_addGround(this.__wbg_ptr,i,s,e,t,n,_,o,a);if(b[2])throw y(b[1]);return b[0]>>>0}addLines(r,e,t,n){let _=D(r,c.__wbindgen_malloc),o=f,a=x(e,c.__wbindgen_malloc),i=f,s=x(t,c.__wbindgen_malloc),b=f,l=c.engine_addLines(this.__wbg_ptr,_,o,a,i,s,b,n);if(l[2])throw y(l[1]);return l[0]>>>0}addModels(r,e,t){let n=S(r,c.__wbindgen_malloc,c.__wbindgen_realloc),_=f,o=D(e,c.__wbindgen_malloc),a=f,i=c.engine_addModels(this.__wbg_ptr,n,_,o,a,t);if(i[2])throw y(i[1]);return i[0]>>>0}addNetwork(r,e,t,n,_,o){let a=D(r,c.__wbindgen_malloc),i=f,s=x(e,c.__wbindgen_malloc),b=f;var l=u(t)?0:x(t,c.__wbindgen_malloc),d=f,g=u(n)?0:D(n,c.__wbindgen_malloc),m=f,I=u(_)?0:A(_,c.__wbindgen_malloc),R=f;let L=A(o,c.__wbindgen_malloc),E=f,k=c.engine_addNetwork(this.__wbg_ptr,a,i,s,b,l,d,g,m,I,R,L,E);if(k[2])throw y(k[1]);return k[0]>>>0}addPointCloud(r,e){let t=S(r,c.__wbindgen_malloc,c.__wbindgen_realloc),n=f,_=c.engine_addPointCloud(this.__wbg_ptr,t,n,e);if(_[2])throw y(_[1]);return _[0]>>>0}addRaster(r,e,t,n,_,o,a){let i=S(r,c.__wbindgen_malloc,c.__wbindgen_realloc),s=f,b=c.engine_addRaster(this.__wbg_ptr,i,s,e,t,n,_,u(o)?Number.MAX_SAFE_INTEGER:o>>0,u(a)?0:p(a));if(b[2])throw y(b[1]);return b[0]>>>0}addSymbols(){let r=c.engine_addSymbols(this.__wbg_ptr);if(r[2])throw y(r[1]);return r[0]>>>0}addTiles3d(r,e){let t=S(r,c.__wbindgen_malloc,c.__wbindgen_realloc),n=f,_=c.engine_addTiles3d(this.__wbg_ptr,t,n,e);if(_[2])throw y(_[1]);return _[0]>>>0}bounds(){let r=c.engine_bounds(this.__wbg_ptr);var e=fe(r[0],r[1]).slice();return c.__wbindgen_free(r[0],r[1]*8,8),e}camera(){return c.engine_camera(this.__wbg_ptr)}clearPreload(){c.engine_clearPreload(this.__wbg_ptr)}clearViewshed(){c.engine_clearViewshed(this.__wbg_ptr)}static customMatrix(r,e,t){let n=c.engine_customMatrix(r,e,t),_;if(n[0]!==0)_=F(n[0],n[1]).slice(),c.__wbindgen_free(n[0],n[1]*4,4);return _}ground(r,e){return c.engine_ground(this.__wbg_ptr,r,e)}linkExtrusionNetwork(r,e,t){c.engine_linkExtrusionNetwork(this.__wbg_ptr,r,u(e)?Number.MAX_SAFE_INTEGER:e>>>0,t)}moveLayer(r,e){c.engine_moveLayer(this.__wbg_ptr,r,e)}networkStats(r){return c.engine_networkStats(this.__wbg_ptr,r)}constructor(r,e){let t=c.engine_new(r,e);if(t[2])throw y(t[1]);return this.__wbg_ptr=t[0],xe.register(this,this.__wbg_ptr,this),this}pan(r,e,t,n){c.engine_pan(this.__wbg_ptr,r,e,t,n)}pick(r,e,t,n){var _=u(n)?0:x(n,c.__wbindgen_malloc),o=f;return c.engine_pick(this.__wbg_ptr,r,e,!u(t),u(t)?0:t,_,o)}pointCloudInfo(r){return c.engine_pointCloudInfo(this.__wbg_ptr,r)}pointCloudPoint(r,e){return c.engine_pointCloudPoint(this.__wbg_ptr,r,e)}pointCloudStats(r){return c.engine_pointCloudStats(this.__wbg_ptr,r)}pollPick(){return c.engine_pollPick(this.__wbg_ptr)}preload(r,e,t,n,_){c.engine_preload(this.__wbg_ptr,r,e,t,n,_)}project(r,e,t){return c.engine_project(this.__wbg_ptr,r,e,!u(t),u(t)?0:t)}removeExtrusionBatch(r,e){c.engine_removeExtrusionBatch(this.__wbg_ptr,r,e)}removeLayer(r){c.engine_removeLayer(this.__wbg_ptr,r)}render(){return c.engine_render(this.__wbg_ptr)!==0}requestPick(r,e,t,n){var _=u(n)?0:x(n,c.__wbindgen_malloc),o=f;return c.engine_requestPick(this.__wbg_ptr,r,e,!u(t),u(t)?0:t,_,o)!==0}resize(r,e,t){c.engine_resize(this.__wbg_ptr,r,e,t)}rotate(r,e){c.engine_rotate(this.__wbg_ptr,r,e)}setAtmosphere(r){var e=u(r)?0:A(r,c.__wbindgen_malloc),t=f;c.engine_setAtmosphere(this.__wbg_ptr,e,t)}setBackground(r,e,t){c.engine_setBackground(this.__wbg_ptr,r,e,t)}setBody(r,e,t,n,_){var o=u(t)?0:A(t,c.__wbindgen_malloc),a=f;c.engine_setBody(this.__wbg_ptr,r,e,o,a,n,_)}setCamera(r,e,t,n,_){c.engine_setCamera(this.__wbg_ptr,r,e,t,n,_)}setCircleAlignment(r,e){c.engine_setCircleAlignment(this.__wbg_ptr,r,e)}setCircles(r,e,t){let n=D(e,c.__wbindgen_malloc),_=f,o=x(t,c.__wbindgen_malloc),a=f;c.engine_setCircles(this.__wbg_ptr,r,n,_,o,a)}setExtrusionAnchors(r,e,t){let n=A(t,c.__wbindgen_malloc),_=f,o=c.engine_setExtrusionAnchors(this.__wbg_ptr,r,e,n,_);if(o[1])throw y(o[0])}setExtrusionBatch(r,e,t,n,_,o,a){let i=D(t,c.__wbindgen_malloc),s=f,b=x(n,c.__wbindgen_malloc),l=f,d=x(_,c.__wbindgen_malloc),g=f,m=x(o,c.__wbindgen_malloc),I=f,R=c.engine_setExtrusionBatch(this.__wbg_ptr,r,e,i,s,b,l,d,g,m,I,a);if(R[1])throw y(R[0])}setFeatureLayer(r,e,t,n,_){let o=A(e,c.__wbindgen_malloc),a=f;c.engine_setFeatureLayer(this.__wbg_ptr,r,o,a,t,n,_)}setFeatureMask(r,e,t){let n=M(e,c.__wbindgen_malloc),_=f;c.engine_setFeatureMask(this.__wbg_ptr,r,n,_,u(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFeatureRamp(r,e,t,n){var _=u(e)?0:M(e,c.__wbindgen_malloc),o=f;c.engine_setFeatureRamp(this.__wbg_ptr,r,_,o,t,n)}setFeatureStyle(r,e,t){let n=A(e,c.__wbindgen_malloc),_=f;c.engine_setFeatureStyle(this.__wbg_ptr,r,n,_,u(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFeatureValues(r,e,t){let n=A(e,c.__wbindgen_malloc),_=f;c.engine_setFeatureValues(this.__wbg_ptr,r,n,_,u(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFills(r,e,t,n,_){let o=D(e,c.__wbindgen_malloc),a=f,i=x(t,c.__wbindgen_malloc),s=f,b=x(n,c.__wbindgen_malloc),l=f,d=x(_,c.__wbindgen_malloc),g=f;c.engine_setFills(this.__wbg_ptr,r,o,a,i,s,b,l,d,g)}setGlobeColor(r,e,t){c.engine_setGlobeColor(this.__wbg_ptr,r,e,t)}setGlobe(r){c.engine_setGlobe(this.__wbg_ptr,r)}setGlyphAtlas(r,e,t){var n=u(t)?0:M(t,c.__wbindgen_malloc),_=f;let o=c.engine_setGlyphAtlas(this.__wbg_ptr,r,e,n,_);if(o[1])throw y(o[0])}setGlyphPages(r,e,t){let n=c.engine_setGlyphPages(this.__wbg_ptr,r,e,t);if(n[1])throw y(n[0])}setGroundBounds(r,e,t,n,_){c.engine_setGroundBounds(this.__wbg_ptr,r,e,t,n,_)}setGroundTexture(r,e,t,n,_,o,a,i){let s=S(e,c.__wbindgen_malloc,c.__wbindgen_realloc),b=f,l=S(t,c.__wbindgen_malloc,c.__wbindgen_realloc),d=f;var g=u(i)?0:M(i,c.__wbindgen_malloc),m=f;let I=c.engine_setGroundTexture(this.__wbg_ptr,r,s,b,l,d,n,_,o,a,g,m);if(I[1])throw y(I[0])}setGroundUniform(r,e,t){let n=S(e,c.__wbindgen_malloc,c.__wbindgen_realloc),_=f,o=D(t,c.__wbindgen_malloc),a=f,i=c.engine_setGroundUniform(this.__wbg_ptr,r,n,_,o,a);if(i[1])throw y(i[0])}setGroundVisible(r,e){c.engine_setGroundVisible(this.__wbg_ptr,r,e)}setIconAtlas(r,e){let t=c.engine_setIconAtlas(this.__wbg_ptr,r,e);if(t[1])throw y(t[0])}setImmediateLoading(r){c.engine_setImmediateLoading(this.__wbg_ptr,r)}setLineDash(r,e,t){c.engine_setLineDash(this.__wbg_ptr,r,e,t)}setLines(r,e,t,n){let _=D(e,c.__wbindgen_malloc),o=f,a=x(t,c.__wbindgen_malloc),i=f,s=x(n,c.__wbindgen_malloc),b=f,l=c.engine_setLines(this.__wbg_ptr,r,_,o,a,i,s,b);if(l[1])throw y(l[0])}setMaxPitch(r){c.engine_setMaxPitch(this.__wbg_ptr,r)}setModelInstances(r,e,t){let n=D(e,c.__wbindgen_malloc),_=f;c.engine_setModelInstances(this.__wbg_ptr,r,n,_,t)}setNetworkCosts(r,e){var t=u(e)?0:A(e,c.__wbindgen_malloc),n=f;c.engine_setNetworkCosts(this.__wbg_ptr,r,t,n)}setNetworkRamp(r,e){var t=u(e)?0:M(e,c.__wbindgen_malloc),n=f;c.engine_setNetworkRamp(this.__wbg_ptr,r,t,n)}setNetworkScales(r,e){var t=u(e)?0:A(e,c.__wbindgen_malloc),n=f;c.engine_setNetworkScales(this.__wbg_ptr,r,t,n)}setNetworkStyle(r,e){let t=A(e,c.__wbindgen_malloc),n=f;c.engine_setNetworkStyle(this.__wbg_ptr,r,t,n)}setNetworkValues(r,e){let t=A(e,c.__wbindgen_malloc),n=f;c.engine_setNetworkValues(this.__wbg_ptr,r,t,n)}setPointCloudStyle(r,e,t,n){let _=D(e,c.__wbindgen_malloc),o=f,a=M(t,c.__wbindgen_malloc),i=f,s=M(n,c.__wbindgen_malloc),b=f;c.engine_setPointCloudStyle(this.__wbg_ptr,r,_,o,a,i,s,b)}setRasterStyle(r,e,t){c.engine_setRasterStyle(this.__wbg_ptr,r,e,t)}setSky(r){c.engine_setSky(this.__wbg_ptr,r)}setSymbolLayer(r,e,t,n,_,o){let a=A(e,c.__wbindgen_malloc),i=f,s=A(t,c.__wbindgen_malloc),b=f;c.engine_setSymbolLayer(this.__wbg_ptr,r,a,i,s,b,n,_,o)}setSymbols(r,e,t,n,_){let o=D(e,c.__wbindgen_malloc),a=f,i=A(t,c.__wbindgen_malloc),s=f,b=A(n,c.__wbindgen_malloc),l=f,d=A(_,c.__wbindgen_malloc),g=f,m=c.engine_setSymbols(this.__wbg_ptr,r,o,a,i,s,b,l,d,g);if(m[1])throw y(m[0])}setTerrain(r,e,t,n,_){var o=u(r)?0:S(r,c.__wbindgen_malloc,c.__wbindgen_realloc),a=f;let i=c.engine_setTerrain(this.__wbg_ptr,o,a,e,u(t)?16777215:t,u(n)?16777215:n?1:0,u(_)?0:p(_));if(i[1])throw y(i[0])}setTileLoader(r){c.engine_setTileLoader(this.__wbg_ptr,r)}setTiles3dStyle(r,e,t,n){c.engine_setTiles3dStyle(this.__wbg_ptr,r,e,t,!u(n),u(n)?0:n)}setViewshed(r,e,t,n,_){let o=D(r,c.__wbindgen_malloc),a=f,i=A(e,c.__wbindgen_malloc),s=f,b=A(t,c.__wbindgen_malloc),l=f,d=A(_,c.__wbindgen_malloc),g=f,m=c.engine_setViewshed(this.__wbg_ptr,o,a,i,s,b,l,n,d,g);if(m[1])throw y(m[0])}setZoomRange(r,e){c.engine_setZoomRange(this.__wbg_ptr,r,e)}stats(){return c.engine_stats(this.__wbg_ptr)}surfaceAt(r,e){return c.engine_surfaceAt(this.__wbg_ptr,r,e)}surface(r,e){return c.engine_surface(this.__wbg_ptr,r,e)}textureFormats(){return c.engine_textureFormats(this.__wbg_ptr)}tiles3dStats(r){return c.engine_tiles3dStats(this.__wbg_ptr,r)}updateGlyphAtlas(r,e,t,n,_){let o=M(_,c.__wbindgen_malloc),a=f;c.engine_updateGlyphAtlas(this.__wbg_ptr,r,e,t,n,o,a)}updateGlyphPage(r,e,t,n,_,o){let a=M(o,c.__wbindgen_malloc),i=f;c.engine_updateGlyphPage(this.__wbg_ptr,r,e,t,n,_,a,i)}updateGroundTexture(r,e,t,n,_,o,a,i){let s=S(e,c.__wbindgen_malloc,c.__wbindgen_realloc),b=f,l=M(i,c.__wbindgen_malloc),d=f,g=c.engine_updateGroundTexture(this.__wbg_ptr,r,s,b,t,n,_,o,a,l,d);if(g[1])throw y(g[0])}updateIconAtlas(r,e,t,n,_){let o=M(_,c.__wbindgen_malloc),a=f;c.engine_updateIconAtlas(this.__wbg_ptr,r,e,t,n,o,a)}wantedTiles(r){let e=c.engine_wantedTiles(this.__wbg_ptr,r);var t=B(e[0],e[1]).slice();return c.__wbindgen_free(e[0],e[1]*4,4),t}zoomAt(r,e,t){c.engine_zoomAt(this.__wbg_ptr,r,e,t)}}if(Symbol.dispose)ie.prototype[Symbol.dispose]=ie.prototype.free;function Se(r,e,t,n){let _=M(r,c.__wbindgen_malloc),o=f,a=D(e,c.__wbindgen_malloc),i=f,s=c.decodeTile(_,o,a,i,t,n);if(s[2])throw y(s[1]);return y(s[0])}function Fe(r){let e=M(r,c.__wbindgen_malloc),t=f,n=c.dracoRequests(e,t);if(n[2])throw y(n[1]);return y(n[0])}function Oe(){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 u(n)?16777215:n?1:0},__wbg___wbindgen_debug_string_4687d8d8c2017d52:function(e,t){let n=se(t),_=S(n,c.__wbindgen_malloc,c.__wbindgen_realloc),o=f;v().setInt32(e+4,o,!0),v().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;v().setFloat64(e+8,u(_)?0:_,!0),v().setInt32(e+0,!u(_),!0)},__wbg___wbindgen_string_get_0380ccaa2f57f0d9:function(e,t){let n=t,_=typeof n==="string"?n:void 0;var o=u(_)?0:S(_,c.__wbindgen_malloc,c.__wbindgen_realloc),a=f;v().setInt32(e+4,a,!0),v().setInt32(e+0,o,!0)},__wbg___wbindgen_throw_41e9ee4f547fc59a:function(e,t){throw Error(P(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 w(function(e,t,n){return e.apply(t,n)},arguments)},__wbg_arrayBuffer_f07be74819944ea2:function(){return w(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,_,o){e.blendFuncSeparate(t>>>0,n>>>0,_>>>0,o>>>0)},__wbg_blendFuncSeparate_2af9d47f7efc0452:function(e,t,n,_,o){e.blendFuncSeparate(t>>>0,n>>>0,_>>>0,o>>>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 w(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 w(function(e,t,n,_,o,a){return e.call(t,n,_,o,a)},arguments)},__wbg_call_187d372bd5fdd4aa:function(){return w(function(e,t,n){return e.call(t,n)},arguments)},__wbg_call_6137034ef55c9d0f:function(){return w(function(e,t){return e.call(t)},arguments)},__wbg_clearColor_3f6aa096dc12e8b7:function(e,t,n,_,o){e.clearColor(t,n,_,o)},__wbg_clearColor_796427e8ac60fe14:function(e,t,n,_,o){e.clearColor(t,n,_,o)},__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,_,o){e.colorMask(t!==0,n!==0,_!==0,o!==0)},__wbg_colorMask_8c903995f6f873be:function(e,t,n,_,o){e.colorMask(t!==0,n!==0,_!==0,o!==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,_,o,a,i,s){e.compressedTexImage2D(t>>>0,n,_>>>0,o,a,i,s)},__wbg_createBuffer_d1dd23bf8704564c:function(e){let t=e.createBuffer();return u(t)?0:p(t)},__wbg_createBuffer_ffe613371d42cfd3:function(e){let t=e.createBuffer();return u(t)?0:p(t)},__wbg_createFramebuffer_2c6b5b0f49c88e5d:function(e){let t=e.createFramebuffer();return u(t)?0:p(t)},__wbg_createFramebuffer_d0969af4e9886297:function(e){let t=e.createFramebuffer();return u(t)?0:p(t)},__wbg_createImageBitmap_1b985e01e4c81baa:function(){return w(function(e,t,n){return e.createImageBitmap(t,n)},arguments)},__wbg_createImageBitmap_69996a36c51d409f:function(){return w(function(e,t,n){return e.createImageBitmap(t,n)},arguments)},__wbg_createProgram_cbf448e6f18a9402:function(e){let t=e.createProgram();return u(t)?0:p(t)},__wbg_createProgram_e0c81b0d2b8d0fd0:function(e){let t=e.createProgram();return u(t)?0:p(t)},__wbg_createRenderbuffer_2b17e9fe2e6fb4be:function(e){let t=e.createRenderbuffer();return u(t)?0:p(t)},__wbg_createRenderbuffer_c864095d6ebd60d0:function(e){let t=e.createRenderbuffer();return u(t)?0:p(t)},__wbg_createShader_6c1a2295587878a5:function(e,t){let n=e.createShader(t>>>0);return u(n)?0:p(n)},__wbg_createShader_7c9d99a21ecb08c0:function(e,t){let n=e.createShader(t>>>0);return u(n)?0:p(n)},__wbg_createTexture_01e8e591b64237de:function(e){let t=e.createTexture();return u(t)?0:p(t)},__wbg_createTexture_5f2583508ebe379b:function(e){let t=e.createTexture();return u(t)?0:p(t)},__wbg_createVertexArrayOES_a8dc8498b56df937:function(e){let t=e.createVertexArrayOES();return u(t)?0:p(t)},__wbg_createVertexArray_b223ea69dd08fcab:function(e){let t=e.createVertexArray();return u(t)?0:p(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,_,o){e.drawArraysInstancedANGLE(t>>>0,n,_,o)},__wbg_drawArraysInstanced_9b44aa78a087154d:function(e,t,n,_,o){e.drawArraysInstanced(t>>>0,n,_,o)},__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,_,o,a){e.drawElementsInstancedANGLE(t>>>0,n,_>>>0,o,a)},__wbg_drawElementsInstanced_d7c396aa034159b6:function(e,t,n,_,o,a){e.drawElementsInstanced(t>>>0,n,_>>>0,o,a)},__wbg_drawElements_c8988ba71de1101a:function(e,t,n,_,o){e.drawElements(t>>>0,n,_>>>0,o)},__wbg_drawElements_cc1e6c631e89eddf:function(e,t,n,_,o){e.drawElements(t>>>0,n,_>>>0,o)},__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 u(_)?0:p(_)},__wbg_fetch_b322877f1ed6457d:function(e,t,n,_){return e.fetch(P(t,n),_)},__wbg_flush_13b162660ad850d2:function(e){e.flush()},__wbg_flush_a5ad38200881ac35:function(e){e.flush()},__wbg_framebufferRenderbuffer_1c6337e0030411f3:function(e,t,n,_,o){e.framebufferRenderbuffer(t>>>0,n>>>0,_>>>0,o)},__wbg_framebufferRenderbuffer_f019e9231b142c0d:function(e,t,n,_,o){e.framebufferRenderbuffer(t>>>0,n>>>0,_>>>0,o)},__wbg_framebufferTexture2D_73c52f23ec33aa22:function(e,t,n,_,o,a){e.framebufferTexture2D(t>>>0,n>>>0,_>>>0,o,a)},__wbg_framebufferTexture2D_caddefa1f767646e:function(e,t,n,_,o,a){e.framebufferTexture2D(t>>>0,n>>>0,_>>>0,o,a)},__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 u(_)?0:p(_)},__wbg_getActiveUniform_f2052b3c57679fe2:function(e,t,n){let _=e.getActiveUniform(t,n>>>0);return u(_)?0:p(_)},__wbg_getBufferSubData_dd23246099b166d1:function(e,t,n,_){e.getBufferSubData(t>>>0,n,_)},__wbg_getContext_051324720aa5b7e8:function(){return w(function(e,t,n,_){let o=e.getContext(P(t,n),_);return u(o)?0:p(o)},arguments)},__wbg_getExtension_abfda2c5db286b07:function(){return w(function(e,t,n){let _=e.getExtension(P(t,n));return u(_)?0:p(_)},arguments)},__wbg_getParameter_974595a6624c6c10:function(){return w(function(e,t){return e.getParameter(t>>>0)},arguments)},__wbg_getParameter_a97f491753b05668:function(){return w(function(e,t){return e.getParameter(t>>>0)},arguments)},__wbg_getProgramInfoLog_208fb1ff31006495:function(e,t,n){let _=t.getProgramInfoLog(n);var o=u(_)?0:S(_,c.__wbindgen_malloc,c.__wbindgen_realloc),a=f;v().setInt32(e+4,a,!0),v().setInt32(e+0,o,!0)},__wbg_getProgramInfoLog_3276b294d6d42fe2:function(e,t,n){let _=t.getProgramInfoLog(n);var o=u(_)?0:S(_,c.__wbindgen_malloc,c.__wbindgen_realloc),a=f;v().setInt32(e+4,a,!0),v().setInt32(e+0,o,!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 o=u(_)?0:S(_,c.__wbindgen_malloc,c.__wbindgen_realloc),a=f;v().setInt32(e+4,a,!0),v().setInt32(e+0,o,!0)},__wbg_getShaderInfoLog_bb64c5a52df0b7a3:function(e,t,n){let _=t.getShaderInfoLog(n);var o=u(_)?0:S(_,c.__wbindgen_malloc,c.__wbindgen_realloc),a=f;v().setInt32(e+4,a,!0),v().setInt32(e+0,o,!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 u(t)?0:p(t)},__wbg_getSyncParameter_bb4be47b67bfa2f8:function(e,t,n){return e.getSyncParameter(t,n>>>0)},__wbg_getUniformLocation_50ba45dade572703:function(e,t,n,_){let o=e.getUniformLocation(t,P(n,_));return u(o)?0:p(o)},__wbg_getUniformLocation_cb4e3e121235f91a:function(e,t,n,_){let o=e.getUniformLocation(t,P(n,_));return u(o)?0:p(o)},__wbg_get_31af05bd4842a84f:function(){return w(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_f75619e20cb68514:function(){return w(function(e,t,n,_){let o=t.get(P(n,_));var a=u(o)?0:S(o,c.__wbindgen_malloc,c.__wbindgen_realloc),i=f;v().setInt32(e+4,i,!0),v().setInt32(e+0,a,!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,_=S(n,c.__wbindgen_malloc,c.__wbindgen_realloc),o=f;v().setInt32(e+4,o,!0),v().setInt32(e+0,_,!0)},__wbg_new_1dbf7428bba60a42:function(e){return new Uint8Array(e)},__wbg_new_2e41357094e99294:function(){return w(function(){return new AbortController},arguments)},__wbg_new_5502aad30c185fc8:function(e,t){try{var n={a:e,b:t},_=(a,i)=>{let s=n.a;n.a=0;try{return Ne(s,n.b,a,i)}finally{n.a=s}};return new Promise(_)}finally{n.a=0}},__wbg_new_617a8cdb8bb1130e:function(){return{}},__wbg_new_83ca405eae412a62:function(){return w(function(){return new Headers},arguments)},__wbg_new_ee2291f50781bf1d:function(){return[]},__wbg_new_from_slice_37a3c3a194266cb8:function(e,t){return new Uint32Array(B(e,t))},__wbg_new_from_slice_9a868026ffa4208a:function(e,t){return new Uint8Array(ce(e,t))},__wbg_new_from_slice_ca6ad97db1f4779a:function(e,t){return new Float32Array(F(e,t))},__wbg_new_from_slice_f545fd22ddc142b8:function(e,t){return new Float64Array(fe(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 w(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,_,o){return Array.of(e,t,n,_,o)},__wbg_ok_125878a7db256ecb:function(e){return e.ok},__wbg_performance_d0d7b03fc649b694:function(e){let t=e.performance;return u(t)?0:p(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_prototypesetcall_06eb15da165dee8f:function(e,t,n){Uint32Array.prototype.set.call(B(e,t),n)},__wbg_prototypesetcall_8b03c01e2c0f8066:function(e,t,n){Float32Array.prototype.set.call(F(e,t),n)},__wbg_prototypesetcall_bc27214492979395:function(e,t,n){Uint8Array.prototype.set.call(ce(e,t),n)},__wbg_prototypesetcall_d49a4fab5ca427bc:function(e,t,n){Float64Array.prototype.set.call(fe(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 w(function(e,t,n,_,o,a,i,s){e.readPixels(t,n,_,o,a>>>0,i>>>0,s)},arguments)},__wbg_readPixels_3321086a7818a739:function(){return w(function(e,t,n,_,o,a,i,s){e.readPixels(t,n,_,o,a>>>0,i>>>0,s)},arguments)},__wbg_readPixels_eb030cd9976eeca5:function(){return w(function(e,t,n,_,o,a,i,s){e.readPixels(t,n,_,o,a>>>0,i>>>0,s)},arguments)},__wbg_renderbufferStorage_52b131bbf3112b3a:function(e,t,n,_,o){e.renderbufferStorage(t>>>0,n>>>0,_,o)},__wbg_renderbufferStorage_bca487b0dea425b8:function(e,t,n,_,o){e.renderbufferStorage(t>>>0,n>>>0,_,o)},__wbg_resolve_0076e10020304ede:function(e){return Promise.resolve(e)},__wbg_scissor_12ddc324094acd50:function(e,t,n,_,o){e.scissor(t,n,_,o)},__wbg_scissor_a9468482697c2bdb:function(e,t,n,_,o){e.scissor(t,n,_,o)},__wbg_setTimeout_db7bbc18a17e152a:function(){return w(function(e,t,n){return e.setTimeout(t,n)},arguments)},__wbg_set_145a351398b48c65:function(){return w(function(e,t,n){return Reflect.set(e,t,n)},arguments)},__wbg_set_af5932e3f78b5648:function(){return w(function(e,t,n,_,o){e.set(P(t,n),P(_,o))},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=$e[t]},__wbg_set_color_space_conversion_f27e9d866a683b4b:function(e,t){e.colorSpaceConversion=je[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=ze[t]},__wbg_set_premultiply_alpha_45a4cf9a1e87bfbf:function(e,t){e.premultiplyAlpha=Ve[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=P(t,n)},__wbg_shaderSource_06379dac249994dd:function(e,t,n,_){e.shaderSource(t,P(n,_))},__wbg_shaderSource_c8812639b47d87b9:function(e,t,n,_){e.shaderSource(t,P(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 u(e)?0:p(e)},__wbg_static_accessor_GLOBAL_THIS_10fb7dc1ae063179:function(){let e=typeof globalThis>"u"?null:globalThis;return u(e)?0:p(e)},__wbg_static_accessor_SELF_0b583911f537483a:function(){let e=typeof self>"u"?null:self;return u(e)?0:p(e)},__wbg_static_accessor_WINDOW_d7f903d1508cbdc4:function(){let e=typeof window>"u"?null:window;return u(e)?0:p(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,_,o){e.stencilOpSeparate(t>>>0,n>>>0,_>>>0,o>>>0)},__wbg_stencilOpSeparate_c5af5f5dbd237bea:function(e,t,n,_,o){e.stencilOpSeparate(t>>>0,n>>>0,_>>>0,o>>>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 w(function(e,t,n,_,o,a,i){e.texImage2D(t>>>0,n,_,o>>>0,a>>>0,i)},arguments)},__wbg_texImage2D_82bf2b4c8aa9a1db:function(){return w(function(e,t,n,_,o,a,i,s,b,l){e.texImage2D(t>>>0,n,_,o,a,i,s>>>0,b>>>0,l)},arguments)},__wbg_texImage2D_8fc2f2fcca249b59:function(){return w(function(e,t,n,_,o,a,i){e.texImage2D(t>>>0,n,_,o>>>0,a>>>0,i)},arguments)},__wbg_texImage2D_a856af552acdc9d9:function(){return w(function(e,t,n,_,o,a,i,s,b,l){e.texImage2D(t>>>0,n,_,o,a,i,s>>>0,b>>>0,l)},arguments)},__wbg_texImage2D_ca3d0fe24620ec85:function(){return w(function(e,t,n,_,o,a,i,s,b,l){e.texImage2D(t>>>0,n,_,o,a,i,s>>>0,b>>>0,l)},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,_,o,a){e.texStorage2D(t>>>0,n,_>>>0,o,a)},__wbg_texStorage3D_74b701c2b176380c:function(e,t,n,_,o,a,i){e.texStorage3D(t>>>0,n,_>>>0,o,a,i)},__wbg_texSubImage2D_31a0c2797aa04f32:function(){return w(function(e,t,n,_,o,a,i,s,b,l){e.texSubImage2D(t>>>0,n,_,o,a,i,s>>>0,b>>>0,l)},arguments)},__wbg_texSubImage2D_5e90c7a719d40256:function(){return w(function(e,t,n,_,o,a,i,s,b,l){e.texSubImage2D(t>>>0,n,_,o,a,i,s>>>0,b>>>0,l)},arguments)},__wbg_texSubImage2D_bb322aae90f7657f:function(){return w(function(e,t,n,_,o,a,i,s,b,l){e.texSubImage2D(t>>>0,n,_,o,a,i,s>>>0,b>>>0,l)},arguments)},__wbg_texSubImage3D_5143d5af7e182ddc:function(){return w(function(e,t,n,_,o,a,i,s,b,l,d,g){e.texSubImage3D(t>>>0,n,_,o,a,i,s,b,l>>>0,d>>>0,g)},arguments)},__wbg_texSubImage3D_5d773fc7a8cd4d08:function(){return w(function(e,t,n,_,o,a,i,s,b,l,d,g){e.texSubImage3D(t>>>0,n,_,o,a,i,s,b,l>>>0,d>>>0,g)},arguments)},__wbg_texSubImage3D_e0d113b7047a5130:function(){return w(function(e,t,n,_,o,a,i,s,b,l,d,g){e.texSubImage3D(t>>>0,n,_,o,a,i,s,b,l>>>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,F(n,_))},__wbg_uniform1fv_1cc1d09bc13b03bf:function(e,t,n,_){e.uniform1fv(t,F(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,U(n,_))},__wbg_uniform1iv_8fc880ae80c77c74:function(e,t,n,_){e.uniform1iv(t,U(n,_))},__wbg_uniform1ui_353c67ec681b540c:function(e,t,n){e.uniform1ui(t,n>>>0)},__wbg_uniform1uiv_ad5e946730aacbec:function(e,t,n,_){e.uniform1uiv(t,B(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,F(n,_))},__wbg_uniform2fv_a7d3c1830d18c1b2:function(e,t,n,_){e.uniform2fv(t,F(n,_))},__wbg_uniform2iv_65f36fc9777697d7:function(e,t,n,_){e.uniform2iv(t,U(n,_))},__wbg_uniform2iv_ca9cb507409b9ad1:function(e,t,n,_){e.uniform2iv(t,U(n,_))},__wbg_uniform2uiv_c95af5fb653ccb86:function(e,t,n,_){e.uniform2uiv(t,B(n,_))},__wbg_uniform3f_1211579ff87ccfad:function(e,t,n,_,o){e.uniform3f(t,n,_,o)},__wbg_uniform3f_ee105161897ee48a:function(e,t,n,_,o){e.uniform3f(t,n,_,o)},__wbg_uniform3fv_055ea5ac38af4fce:function(e,t,n,_){e.uniform3fv(t,F(n,_))},__wbg_uniform3fv_58520ffe22a6e27c:function(e,t,n,_){e.uniform3fv(t,F(n,_))},__wbg_uniform3iv_0590e8b7eff2a791:function(e,t,n,_){e.uniform3iv(t,U(n,_))},__wbg_uniform3iv_e91b1410dc299f50:function(e,t,n,_){e.uniform3iv(t,U(n,_))},__wbg_uniform3uiv_9992491000463a52:function(e,t,n,_){e.uniform3uiv(t,B(n,_))},__wbg_uniform4f_22bfec882308eec2:function(e,t,n,_,o,a){e.uniform4f(t,n,_,o,a)},__wbg_uniform4f_8dd8f311e656ca0d:function(e,t,n,_,o,a){e.uniform4f(t,n,_,o,a)},__wbg_uniform4fv_3ef2f5121fcb78ae:function(e,t,n,_){e.uniform4fv(t,F(n,_))},__wbg_uniform4fv_cf8ff646c36232c8:function(e,t,n,_){e.uniform4fv(t,F(n,_))},__wbg_uniform4iv_6fc5436b4f876039:function(e,t,n,_){e.uniform4iv(t,U(n,_))},__wbg_uniform4iv_99c2b07787d362d6:function(e,t,n,_){e.uniform4iv(t,U(n,_))},__wbg_uniform4uiv_a6fb3237d9df7ed4:function(e,t,n,_){e.uniform4uiv(t,B(n,_))},__wbg_uniformMatrix3fv_472e7824735acce1:function(e,t,n,_,o){e.uniformMatrix3fv(t,n!==0,F(_,o))},__wbg_uniformMatrix3fv_83fdc9c3c0d43204:function(e,t,n,_,o){e.uniformMatrix3fv(t,n!==0,F(_,o))},__wbg_uniformMatrix4fv_dff9738d995fd0b1:function(e,t,n,_,o){e.uniformMatrix4fv(t,n!==0,F(_,o))},__wbg_uniformMatrix4fv_e691d7f14d3609f7:function(e,t,n,_,o){e.uniformMatrix4fv(t,n!==0,F(_,o))},__wbg_useProgram_5bdae58fd9f9826f:function(e,t){e.useProgram(t)},__wbg_useProgram_e075c2902e420761:function(e,t){e.useProgram(t)},__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,_,o,a){e.vertexAttribIPointer(t>>>0,n,_>>>0,o,a)},__wbg_vertexAttribPointer_24b495e18df325dc:function(e,t,n,_,o,a,i){e.vertexAttribPointer(t>>>0,n,_>>>0,o!==0,a,i)},__wbg_vertexAttribPointer_54d56b18f71a946d:function(e,t,n,_,o,a,i){e.vertexAttribPointer(t>>>0,n,_>>>0,o!==0,a,i)},__wbg_viewport_16936692526e2ce6:function(e,t,n,_,o){e.viewport(t,n,_,o)},__wbg_viewport_e35d16c542d2ce70:function(e,t,n,_,o){e.viewport(t,n,_,o)},__wbg_warn_13abc63e0d4b3527:function(e){console.warn(e)},__wbg_width_8a9cc26363f10d5f:function(e){return e.width},__wbindgen_generic_0000000000000001:function(e,t){return Qe(e,t,Ge)},__wbindgen_generic_0000000000000002:function(e){return e},__wbindgen_generic_0000000000000003:function(e,t){return F(e,t)},__wbindgen_generic_0000000000000004:function(e,t){return He(e,t)},__wbindgen_generic_0000000000000005:function(e,t){return U(e,t)},__wbindgen_generic_0000000000000006:function(e,t){return Xe(e,t)},__wbindgen_generic_0000000000000007:function(e,t){return qe(e,t)},__wbindgen_generic_0000000000000008:function(e,t){return B(e,t)},__wbindgen_generic_0000000000000009:function(e,t){return ce(e,t)},__wbindgen_generic_000000000000000a:function(e,t){return P(e,t)},__wbindgen_init_externref_table:function(){let e=c.__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 Ge(r,e,t){let n=c.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 y(n[0])}function Ne(r,e,t,n){c.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 je=["none","default"],Ve=["none","premultiply","default"],$e=["default","no-store","reload","no-cache","force-cache","only-if-cached"],ze=["default","low-power","high-performance"],xe=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((r)=>c.__wbg_engine_free(r,1));function p(r){let e=c.__externref_table_alloc();return c.__wbindgen_externrefs.set(e,r),e}var ve=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((r)=>c.__wbindgen_destroy_closure(r.a,r.b));function se(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,o="[";if(_>0)o+=se(r[0]);for(let a=1;a<_;a++)o+=", "+se(r[a]);return o+="]",o}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}
3
- ${r.stack}`;return n}function F(r,e){return r=r>>>0,De().subarray(r/4,r/4+e)}function fe(r,e){return r=r>>>0,Te().subarray(r/8,r/8+e)}function He(r,e){return r=r>>>0,Je().subarray(r/2,r/2+e)}function U(r,e){return r=r>>>0,Ke().subarray(r/4,r/4+e)}function Xe(r,e){return r=r>>>0,Ye().subarray(r/1,r/1+e)}function qe(r,e){return r=r>>>0,Ze().subarray(r/2,r/2+e)}function B(r,e){return r=r>>>0,Ie().subarray(r/4,r/4+e)}function ce(r,e){return r=r>>>0,G().subarray(r/1,r/1+e)}var W=null;function v(){if(W===null||W.buffer.detached===!0||W.buffer.detached===void 0&&W.buffer!==c.memory.buffer)W=new DataView(c.memory.buffer);return W}var V=null;function De(){if(V===null||V.byteLength===0)V=new Float32Array(c.memory.buffer);return V}var z=null;function Te(){if(z===null||z.byteLength===0)z=new Float64Array(c.memory.buffer);return z}var H=null;function Je(){if(H===null||H.byteLength===0)H=new Int16Array(c.memory.buffer);return H}var X=null;function Ke(){if(X===null||X.byteLength===0)X=new Int32Array(c.memory.buffer);return X}var q=null;function Ye(){if(q===null||q.byteLength===0)q=new Int8Array(c.memory.buffer);return q}function P(r,e){return tt(r>>>0,e)}var J=null;function Ze(){if(J===null||J.byteLength===0)J=new Uint16Array(c.memory.buffer);return J}var K=null;function Ie(){if(K===null||K.byteLength===0)K=new Uint32Array(c.memory.buffer);return K}var Y=null;function G(){if(Y===null||Y.byteLength===0)Y=new Uint8Array(c.memory.buffer);return Y}function w(r,e){try{return r.apply(this,e)}catch(t){let n=p(t);c.__wbindgen_exn_store(n)}}function u(r){return r===void 0||r===null}function Qe(r,e,t){let n={a:r,b:e,cnt:1},_=(...o)=>{n.cnt++;let a=n.a;n.a=0;try{return t(a,n.b,...o)}finally{n.a=a,_._wbg_cb_unref()}};return _._wbg_cb_unref=()=>{if(--n.cnt===0)c.__wbindgen_destroy_closure(n.a,n.b),n.a=0,ve.unregister(n)},ve.register(_,n,n),_}function x(r,e){let t=e(r.length*4,4)>>>0;return Ie().set(r,t/4),f=r.length,t}function M(r,e){let t=e(r.length*1,1)>>>0;return G().set(r,t/1),f=r.length,t}function A(r,e){let t=e(r.length*4,4)>>>0;return De().set(r,t/4),f=r.length,t}function D(r,e){let t=e(r.length*8,8)>>>0;return Te().set(r,t/8),f=r.length,t}function S(r,e,t){if(t===void 0){let i=Z.encode(r),s=e(i.length,1)>>>0;return G().subarray(s,s+i.length).set(i),f=i.length,s}let n=r.length,_=e(n,1)>>>0,o=G(),a=0;for(;a<n;a++){let i=r.charCodeAt(a);if(i>127)break;o[_+a]=i}if(a!==n){if(a!==0)r=r.slice(a);_=t(_,n,n=a+r.length*3,1)>>>0;let i=G().subarray(_+a,_+n),s=Z.encodeInto(r,i);a+=s.written,_=t(_,n,a,1)>>>0}return f=a,_}function y(r){let e=c.__wbindgen_externrefs.get(r);return c.__externref_table_dealloc(r),e}var ne=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});ne.decode();var et=2146435072,ae=0;function tt(r,e){if(ae+=e,ae>=et)ne=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),ne.decode(),ae=e;return ne.decode(G().subarray(r,r+e))}var Z=new TextEncoder;if(!("encodeInto"in Z))Z.encodeInto=function(r,e){let t=Z.encode(r);return e.set(t),{read:r.length,written:t.length}};var f=0,nt,rt,c;function _t(r,e){return rt=r,c=r.exports,nt=e,W=null,V=null,z=null,H=null,X=null,q=null,J=null,K=null,Y=null,c.__wbindgen_start(),c}async function ot(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 Pe(r){if(c!==void 0)return c;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=Oe();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 ot(await r,e);return _t(t,n)}function Re(r,e,t,n,_){let o=Me(r,T.__wbindgen_malloc),a=N,i=Me(e,T.__wbindgen_malloc),s=N,b=Ee(t,T.__wbindgen_malloc),l=N,d=Ee(n,T.__wbindgen_malloc),g=N,m=T.decodeCopc(o,a,i,s,b,l,d,g,_);if(m[3])throw ft(m[2]);var I=at(m[0],m[1]).slice();return T.__wbindgen_free(m[0],m[1]*1,1),I}function ct(){return{__proto__:null,"./isard_points_bg.js":{__proto__:null,__wbindgen_generic_0000000000000001:function(e,t){return st(e,t)},__wbindgen_init_externref_table:function(){let e=T.__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 at(r,e){return r=r>>>0,be().subarray(r/1,r/1+e)}var Q=null;function it(){if(Q===null||Q.byteLength===0)Q=new Float64Array(T.memory.buffer);return Q}function st(r,e){return bt(r>>>0,e)}var ee=null;function be(){if(ee===null||ee.byteLength===0)ee=new Uint8Array(T.memory.buffer);return ee}function Me(r,e){let t=e(r.length*1,1)>>>0;return be().set(r,t/1),N=r.length,t}function Ee(r,e){let t=e(r.length*8,8)>>>0;return it().set(r,t/8),N=r.length,t}function ft(r){let e=T.__wbindgen_externrefs.get(r);return T.__externref_table_dealloc(r),e}var re=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});re.decode();var ut=2146435072,ue=0;function bt(r,e){if(ue+=e,ue>=ut)re=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),re.decode(),ue=e;return re.decode(be().subarray(r,r+e))}var N=0,lt,dt,T;function gt(r,e){return dt=r,T=r.exports,lt=e,Q=null,ee=null,T.__wbindgen_start(),T}async function wt(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 Le(r){if(T!==void 0)return T;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=ct();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 wt(await r,e);return gt(t,n)}var ke,de=ye,Ue={astc:!1,bptc:!1,etc:!1,s3tc:!1},Be="",le,te=new Map,_e=(r,e=[])=>postMessage(r,e);addEventListener("message",(r)=>{let e=r.data;switch(e.type){case"init":ke=Pe({module_or_path:e.module}),de=e.decoders,Ue=e.formats,Be=e.points;break;case"points":xt(e);break;case"abort":te.get(e.id)?.abort();break;case"load":mt(e.id,e.url,e.transform,e.yUp,e.reload,e.priority);break}});async function mt(r,e,t,n,_,o){let a=new AbortController;te.set(r,a);try{await ke;let i={signal:a.signal,cache:_?"reload":"default",...o?{priority:o}:{}},s=await fetch(e,i);if(!s.ok)throw Error(`HTTP ${s.status}`);let b=new Uint8Array(await s.arrayBuffer()),l=Fe(b),d=l.length>0?await he(de,l):void 0,g=Se(b,t,n,d),m=new Map,I=(h,O)=>{let C=m.get(h);if(!C)C=O==="image/ktx2"?Ae(de,Ue,h).then((j)=>({bitmap:null,texture:j})):createImageBitmap(new Blob([h],{type:O??""}),{premultiplyAlpha:"none"}).then((j)=>({bitmap:j})),m.set(h,C);return C},R=g.points??[],L=await Promise.all(g.primitives.map(async({vertices:h,indices:O,image:C,mime:j,color:ge})=>({vertices:h,indices:O,...ge?{color:ge}:{},...C?await I(C,j):{bitmap:null}}))),E=new Set;for(let h of L){if(E.add(h.vertices.buffer),E.add(h.indices.buffer),h.color)E.add(h.color.buffer);if(h.bitmap)E.add(h.bitmap);for(let O of h.texture?.levels??[])E.add(O.data.buffer)}for(let h of R)E.add(h.buffer);let k={anchor:g.anchor,primitives:L,...R.length>0?{points:R}:{}};_e({type:"tile",id:r,tile:k},[...E])}catch(i){_e({type:"error",id:r,error:String(i),aborted:a.signal.aborted})}finally{te.delete(r)}}var pt=4,yt=1000,ht=(r,e)=>new Promise((t,n)=>{let _=setTimeout(t,r);e.addEventListener("abort",()=>{clearTimeout(_),n(new DOMException("aborted","AbortError"))})});async function At(r,e,t,n,_){for(let o=1;;o+=1){let a={signal:n,headers:{Range:`bytes=${e}-${e+Math.max(t,1)-1}`},..._?{priority:_}:{}},i=await fetch(r,a);if(i.status===429&&o<pt){let s=Number(i.headers.get("Retry-After"));await ht(s>0?s*1000:yt*2**(o-1),n);continue}if(!i.ok)throw Error(`HTTP ${i.status}`);if(i.status!==206){if(!(Number(i.headers.get("Content-Length"))<=t))throw await i.body?.cancel(),Error("the server ignores range requests (HTTP 206 expected)");return new Uint8Array(await i.arrayBuffer()).subarray(e,e+t)}return new Uint8Array(await i.arrayBuffer())}}async function xt(r){let{id:e,url:t,offset:n,size:_,laz:o,layout:a,grid:i,count:s,priority:b}=r,l=new AbortController;te.set(e,l);try{le??=Le({module_or_path:Be}).catch((m)=>{throw le=void 0,m});let[d]=await Promise.all([At(t,n,_,l.signal,b),le]),g=Re(d,o,a,i,s);_e({type:"points",id:e,vertices:g},[g.buffer])}catch(d){_e({type:"error",id:e,error:String(d),aborted:l.signal.aborted})}finally{te.delete(e)}}
1
+ var Ae={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/"};async function Ne(r,e){let t=await(await fetch(r)).text();return Function(`${t}
2
+ return ${e};`)()}async function oe(r,e,t,n){let[_,o]=await Promise.all([Ne(`${r}${e}`,n),fetch(`${r}${t}`).then((i)=>i.arrayBuffer())]);return _({wasmBinary:o})}var pe,ye,he;async function xe(r,e){let t=e.some((o)=>!o.points);if(t)pe??=oe(r.draco,"draco_wasm_wrapper_gltf.js","draco_decoder_gltf.wasm","DracoDecoderModule");if(e.some((o)=>o.points))ye??=oe(r.draco,"draco_wasm_wrapper.js","draco_decoder.wasm","DracoDecoderModule");let[n,_]=await Promise.all([t?pe:void 0,ye]);return e.map((o)=>{let i=o.points?_:n,a=new i.Decoder,f=o.points?new i.PointCloud:new i.Mesh;try{let b=new Int8Array(o.data.buffer,o.data.byteOffset,o.data.byteLength),l=o.points?a.DecodeArrayToPointCloud(b,b.byteLength,f):a.DecodeArrayToMesh(b,b.byteLength,f);if(!l.ok())throw Error(`Draco: ${l.error_msg()}`);let d=(L)=>{let D=a.GetAttributeByUniqueId(f,L),k=f.num_points()*D.num_components(),h=i._malloc(k*4);try{return a.GetAttributeDataArrayForAllPoints(f,D,i.DT_FLOAT32,k*4,h),i.HEAPF32.slice(h/4,h/4+k)}finally{i._free(h)}};if(o.points){let L={mesh:o.mesh,primitive:o.primitive,positions:d(o.position)};if(o.color!==void 0)L.colors=d(o.color);if(o.normal!==void 0)L.normals=d(o.normal);return L}let g=f.num_faces()*3,m=i._malloc(g*4),P;try{a.GetTrianglesUInt32Array(f,g*4,m),P=i.HEAPU32.slice(m/4,m/4+g)}finally{i._free(m)}let E={mesh:o.mesh,primitive:o.primitive,positions:d(o.position),indices:P};if(o.uv!==void 0)E.uvs=d(o.uv);return E}finally{i.destroy(f),i.destroy(a)}})}function Ve(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}}async function ve(r,e,t){he??=oe(r.basis,"basis_transcoder.js","basis_transcoder.wasm","BASIS").then((o)=>(o.initializeBasis(),o));let _=new(await he).KTX2File(t);try{if(!_.isValid()||!_.startTranscoding())throw Error("KTX2: invalid file");let{basis:o,gl:i}=Ve(e,_.getHasAlpha()),a=[];for(let f=0;f<_.getLevels();f++){let{origWidth:b,origHeight:l}=_.getImageLevelInfo(f,0,0),d=new Uint8Array(_.getImageTranscodedSizeInBytes(f,0,0,o));if(!_.transcodeImage(d,f,0,0,o,0,-1,-1))throw Error("KTX2: transcoding failed");a.push({width:b,height:l,data:d})}return{format:i,levels:a}}finally{_.close(),_.delete()}}var Se=[];function Fe(r){Se=r}function ce(r,e){let t=String(r),n=Se.filter(([o])=>t.startsWith(o));if(n.length===0)return e??{};let _=new Headers(e?.headers);for(let[,o]of n)for(let[i,a]of Object.entries(o))_.set(i,a);return{...e??{},headers:_}}class se{__destroy_into_raw(){let r=this.__wbg_ptr;return this.__wbg_ptr=0,Te.unregister(this),r}free(){let r=this.__destroy_into_raw();c.__wbg_engine_free(r,0)}addCircles(r,e,t){let n=S(r,c.__wbindgen_malloc),_=s,o=A(e,c.__wbindgen_malloc),i=s,a=c.engine_addCircles(this.__wbg_ptr,n,_,o,i,t);if(a[2])throw y(a[1]);return a[0]>>>0}addCustomLayer(r,e){return c.engine_addCustomLayer(this.__wbg_ptr,r,e)>>>0}addExtrusions(){let r=c.engine_addExtrusions(this.__wbg_ptr);if(r[2])throw y(r[1]);return r[0]>>>0}addFills(r,e,t,n,_){let o=S(r,c.__wbindgen_malloc),i=s,a=A(e,c.__wbindgen_malloc),f=s,b=A(t,c.__wbindgen_malloc),l=s,d=A(n,c.__wbindgen_malloc),g=s,m=c.engine_addFills(this.__wbg_ptr,o,i,a,f,b,l,d,g,_);if(m[2])throw y(m[1]);return m[0]>>>0}addGround(r,e,t,n,_,o,i){let a=F(r,c.__wbindgen_malloc,c.__wbindgen_realloc),f=s,b=c.engine_addGround(this.__wbg_ptr,a,f,e,t,n,_,o,i);if(b[2])throw y(b[1]);return b[0]>>>0}addLines(r,e,t,n){let _=S(r,c.__wbindgen_malloc),o=s,i=A(e,c.__wbindgen_malloc),a=s,f=A(t,c.__wbindgen_malloc),b=s,l=c.engine_addLines(this.__wbg_ptr,_,o,i,a,f,b,n);if(l[2])throw y(l[1]);return l[0]>>>0}addModels(r,e,t){let n=F(r,c.__wbindgen_malloc,c.__wbindgen_realloc),_=s,o=S(e,c.__wbindgen_malloc),i=s,a=c.engine_addModels(this.__wbg_ptr,n,_,o,i,t);if(a[2])throw y(a[1]);return a[0]>>>0}addNetwork(r,e,t,n,_,o){let i=S(r,c.__wbindgen_malloc),a=s,f=A(e,c.__wbindgen_malloc),b=s;var l=u(t)?0:A(t,c.__wbindgen_malloc),d=s,g=u(n)?0:S(n,c.__wbindgen_malloc),m=s,P=u(_)?0:x(_,c.__wbindgen_malloc),E=s;let L=x(o,c.__wbindgen_malloc),D=s,k=c.engine_addNetwork(this.__wbg_ptr,i,a,f,b,l,d,g,m,P,E,L,D);if(k[2])throw y(k[1]);return k[0]>>>0}addPointCloud(r,e){let t=F(r,c.__wbindgen_malloc,c.__wbindgen_realloc),n=s,_=c.engine_addPointCloud(this.__wbg_ptr,t,n,e);if(_[2])throw y(_[1]);return _[0]>>>0}addRaster(r,e,t,n,_,o,i){let a=F(r,c.__wbindgen_malloc,c.__wbindgen_realloc),f=s,b=c.engine_addRaster(this.__wbg_ptr,a,f,e,t,n,_,u(o)?Number.MAX_SAFE_INTEGER:o>>0,u(i)?0:p(i));if(b[2])throw y(b[1]);return b[0]>>>0}addSymbols(){let r=c.engine_addSymbols(this.__wbg_ptr);if(r[2])throw y(r[1]);return r[0]>>>0}addTiles3d(r,e,t){let n=F(r,c.__wbindgen_malloc,c.__wbindgen_realloc),_=s,o=c.engine_addTiles3d(this.__wbg_ptr,n,_,e,u(t)?16777215:t?1:0);if(o[2])throw y(o[1]);return o[0]>>>0}bounds(){let r=c.engine_bounds(this.__wbg_ptr);var e=ue(r[0],r[1]).slice();return c.__wbindgen_free(r[0],r[1]*8,8),e}camera(){return c.engine_camera(this.__wbg_ptr)}clearPanorama(){c.engine_clearPanorama(this.__wbg_ptr)}clearPreload(){c.engine_clearPreload(this.__wbg_ptr)}clearViewshed(){c.engine_clearViewshed(this.__wbg_ptr)}static customMatrix(r,e,t){let n=c.engine_customMatrix(r,e,t),_;if(n[0]!==0)_=T(n[0],n[1]).slice(),c.__wbindgen_free(n[0],n[1]*4,4);return _}elevationAt(r,e){let t=c.engine_elevationAt(this.__wbg_ptr,r,e);return t[0]===0?void 0:t[1]}static geoidHeight(r,e){return c.engine_geoidHeight(r,e)}ground(r,e){return c.engine_ground(this.__wbg_ptr,r,e)}linkExtrusionNetwork(r,e,t){c.engine_linkExtrusionNetwork(this.__wbg_ptr,r,u(e)?Number.MAX_SAFE_INTEGER:e>>>0,t)}localMatrix(r,e,t){let n=c.engine_localMatrix(this.__wbg_ptr,r,e,t);var _=T(n[0],n[1]).slice();return c.__wbindgen_free(n[0],n[1]*4,4),_}moveLayer(r,e){c.engine_moveLayer(this.__wbg_ptr,r,e)}networkStats(r){return c.engine_networkStats(this.__wbg_ptr,r)}constructor(r,e){let t=c.engine_new(r,e);if(t[2])throw y(t[1]);return this.__wbg_ptr=t[0],Te.register(this,this.__wbg_ptr,this),this}pan(r,e,t,n){c.engine_pan(this.__wbg_ptr,r,e,t,n)}pick(r,e,t,n){var _=u(n)?0:A(n,c.__wbindgen_malloc),o=s;return c.engine_pick(this.__wbg_ptr,r,e,!u(t),u(t)?0:t,_,o)}pointCloudInfo(r){return c.engine_pointCloudInfo(this.__wbg_ptr,r)}pointCloudPoint(r,e){return c.engine_pointCloudPoint(this.__wbg_ptr,r,e)}pointCloudStats(r){return c.engine_pointCloudStats(this.__wbg_ptr,r)}pollPick(){return c.engine_pollPick(this.__wbg_ptr)}preload(r,e,t,n,_){c.engine_preload(this.__wbg_ptr,r,e,t,n,_)}project(r,e,t){return c.engine_project(this.__wbg_ptr,r,e,!u(t),u(t)?0:t)}removeExtrusionBatch(r,e){c.engine_removeExtrusionBatch(this.__wbg_ptr,r,e)}removeLayer(r){c.engine_removeLayer(this.__wbg_ptr,r)}render(){return c.engine_render(this.__wbg_ptr)!==0}requestPick(r,e,t,n){var _=u(n)?0:A(n,c.__wbindgen_malloc),o=s;return c.engine_requestPick(this.__wbg_ptr,r,e,!u(t),u(t)?0:t,_,o)!==0}resize(r,e,t){c.engine_resize(this.__wbg_ptr,r,e,t)}rotate(r,e){c.engine_rotate(this.__wbg_ptr,r,e)}setAtmosphere(r){var e=u(r)?0:x(r,c.__wbindgen_malloc),t=s;c.engine_setAtmosphere(this.__wbg_ptr,e,t)}setBackground(r,e,t){c.engine_setBackground(this.__wbg_ptr,r,e,t)}setBody(r,e,t,n,_){var o=u(t)?0:x(t,c.__wbindgen_malloc),i=s;c.engine_setBody(this.__wbg_ptr,r,e,o,i,n,_)}setCamera(r,e,t,n,_){c.engine_setCamera(this.__wbg_ptr,r,e,t,n,_)}setCircleAlignment(r,e){c.engine_setCircleAlignment(this.__wbg_ptr,r,e)}setCircles(r,e,t){let n=S(e,c.__wbindgen_malloc),_=s,o=A(t,c.__wbindgen_malloc),i=s;c.engine_setCircles(this.__wbg_ptr,r,n,_,o,i)}setExtrusionAnchors(r,e,t){let n=x(t,c.__wbindgen_malloc),_=s,o=c.engine_setExtrusionAnchors(this.__wbg_ptr,r,e,n,_);if(o[1])throw y(o[0])}setExtrusionBatch(r,e,t,n,_,o,i){let a=S(t,c.__wbindgen_malloc),f=s,b=A(n,c.__wbindgen_malloc),l=s,d=A(_,c.__wbindgen_malloc),g=s,m=A(o,c.__wbindgen_malloc),P=s,E=c.engine_setExtrusionBatch(this.__wbg_ptr,r,e,a,f,b,l,d,g,m,P,i);if(E[1])throw y(E[0])}setFeatureLayer(r,e,t,n,_){let o=x(e,c.__wbindgen_malloc),i=s;c.engine_setFeatureLayer(this.__wbg_ptr,r,o,i,t,n,_)}setFeatureMask(r,e,t){let n=R(e,c.__wbindgen_malloc),_=s;c.engine_setFeatureMask(this.__wbg_ptr,r,n,_,u(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFeatureRamp(r,e,t,n){var _=u(e)?0:R(e,c.__wbindgen_malloc),o=s;c.engine_setFeatureRamp(this.__wbg_ptr,r,_,o,t,n)}setFeatureStyle(r,e,t){let n=x(e,c.__wbindgen_malloc),_=s;c.engine_setFeatureStyle(this.__wbg_ptr,r,n,_,u(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFeatureValues(r,e,t){let n=x(e,c.__wbindgen_malloc),_=s;c.engine_setFeatureValues(this.__wbg_ptr,r,n,_,u(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFills(r,e,t,n,_){let o=S(e,c.__wbindgen_malloc),i=s,a=A(t,c.__wbindgen_malloc),f=s,b=A(n,c.__wbindgen_malloc),l=s,d=A(_,c.__wbindgen_malloc),g=s;c.engine_setFills(this.__wbg_ptr,r,o,i,a,f,b,l,d,g)}setFirstPerson(r,e,t,n,_,o){c.engine_setFirstPerson(this.__wbg_ptr,r,e,t,n,_,o)}setGlobeColor(r,e,t){c.engine_setGlobeColor(this.__wbg_ptr,r,e,t)}setGlobe(r){c.engine_setGlobe(this.__wbg_ptr,r)}setGlyphAtlas(r,e,t){var n=u(t)?0:R(t,c.__wbindgen_malloc),_=s;let o=c.engine_setGlyphAtlas(this.__wbg_ptr,r,e,n,_);if(o[1])throw y(o[0])}setGlyphPages(r,e,t){let n=c.engine_setGlyphPages(this.__wbg_ptr,r,e,t);if(n[1])throw y(n[0])}setGroundBounds(r,e,t,n,_){c.engine_setGroundBounds(this.__wbg_ptr,r,e,t,n,_)}setGroundTexture(r,e,t,n,_,o,i,a){let f=F(e,c.__wbindgen_malloc,c.__wbindgen_realloc),b=s,l=F(t,c.__wbindgen_malloc,c.__wbindgen_realloc),d=s;var g=u(a)?0:R(a,c.__wbindgen_malloc),m=s;let P=c.engine_setGroundTexture(this.__wbg_ptr,r,f,b,l,d,n,_,o,i,g,m);if(P[1])throw y(P[0])}setGroundUniform(r,e,t){let n=F(e,c.__wbindgen_malloc,c.__wbindgen_realloc),_=s,o=S(t,c.__wbindgen_malloc),i=s,a=c.engine_setGroundUniform(this.__wbg_ptr,r,n,_,o,i);if(a[1])throw y(a[0])}setGroundVisible(r,e){c.engine_setGroundVisible(this.__wbg_ptr,r,e)}setIconAtlas(r,e){let t=c.engine_setIconAtlas(this.__wbg_ptr,r,e);if(t[1])throw y(t[0])}setImmediateLoading(r){c.engine_setImmediateLoading(this.__wbg_ptr,r)}setLineDash(r,e,t){c.engine_setLineDash(this.__wbg_ptr,r,e,t)}setLines(r,e,t,n){let _=S(e,c.__wbindgen_malloc),o=s,i=A(t,c.__wbindgen_malloc),a=s,f=A(n,c.__wbindgen_malloc),b=s,l=c.engine_setLines(this.__wbg_ptr,r,_,o,i,a,f,b);if(l[1])throw y(l[0])}setMaxPitch(r){c.engine_setMaxPitch(this.__wbg_ptr,r)}setModelInstances(r,e,t){let n=S(e,c.__wbindgen_malloc),_=s;c.engine_setModelInstances(this.__wbg_ptr,r,n,_,t)}setNetworkCosts(r,e){var t=u(e)?0:x(e,c.__wbindgen_malloc),n=s;c.engine_setNetworkCosts(this.__wbg_ptr,r,t,n)}setNetworkRamp(r,e){var t=u(e)?0:R(e,c.__wbindgen_malloc),n=s;c.engine_setNetworkRamp(this.__wbg_ptr,r,t,n)}setNetworkScales(r,e){var t=u(e)?0:x(e,c.__wbindgen_malloc),n=s;c.engine_setNetworkScales(this.__wbg_ptr,r,t,n)}setNetworkStyle(r,e){let t=x(e,c.__wbindgen_malloc),n=s;c.engine_setNetworkStyle(this.__wbg_ptr,r,t,n)}setNetworkValues(r,e){let t=x(e,c.__wbindgen_malloc),n=s;c.engine_setNetworkValues(this.__wbg_ptr,r,t,n)}setPanoramaImage(r,e){let t=c.engine_setPanoramaImage(this.__wbg_ptr,r,e);if(t[1])throw y(t[0])}setPanorama(r,e,t,n,_,o,i){let a=S(n,c.__wbindgen_malloc),f=s,b=S(_,c.__wbindgen_malloc),l=s,d=c.engine_setPanorama(this.__wbg_ptr,r,e,t,a,f,b,l,o,i);if(d[1])throw y(d[0])}setPointCloudStyle(r,e,t,n){let _=S(e,c.__wbindgen_malloc),o=s,i=R(t,c.__wbindgen_malloc),a=s,f=R(n,c.__wbindgen_malloc),b=s;c.engine_setPointCloudStyle(this.__wbg_ptr,r,_,o,i,a,f,b)}setRasterStyle(r,e,t){c.engine_setRasterStyle(this.__wbg_ptr,r,e,t)}setRequestHeaders(r,e,t){let n=Pe(r,c.__wbindgen_malloc),_=s,o=A(e,c.__wbindgen_malloc),i=s,a=Pe(t,c.__wbindgen_malloc),f=s;c.engine_setRequestHeaders(this.__wbg_ptr,n,_,o,i,a,f)}setSky(r){c.engine_setSky(this.__wbg_ptr,r)}setSwipe(r,e,t){let n=A(t,c.__wbindgen_malloc),_=s;c.engine_setSwipe(this.__wbg_ptr,r,e,n,_)}setSymbolLayer(r,e,t,n,_,o){let i=x(e,c.__wbindgen_malloc),a=s,f=x(t,c.__wbindgen_malloc),b=s;c.engine_setSymbolLayer(this.__wbg_ptr,r,i,a,f,b,n,_,o)}setSymbols(r,e,t,n,_){let o=S(e,c.__wbindgen_malloc),i=s,a=x(t,c.__wbindgen_malloc),f=s,b=x(n,c.__wbindgen_malloc),l=s,d=x(_,c.__wbindgen_malloc),g=s,m=c.engine_setSymbols(this.__wbg_ptr,r,o,i,a,f,b,l,d,g);if(m[1])throw y(m[0])}setTerrain(r,e,t,n,_){var o=u(r)?0:F(r,c.__wbindgen_malloc,c.__wbindgen_realloc),i=s;let a=c.engine_setTerrain(this.__wbg_ptr,o,i,e,u(t)?16777215:t,u(n)?16777215:n?1:0,u(_)?0:p(_));if(a[1])throw y(a[0])}setTileLoader(r){c.engine_setTileLoader(this.__wbg_ptr,r)}setTiles3dStyle(r,e,t,n,_){let o=x(_,c.__wbindgen_malloc),i=s;c.engine_setTiles3dStyle(this.__wbg_ptr,r,e,t,!u(n),u(n)?0:n,o,i)}setViewshed(r,e,t,n,_){let o=S(r,c.__wbindgen_malloc),i=s,a=x(e,c.__wbindgen_malloc),f=s,b=x(t,c.__wbindgen_malloc),l=s,d=x(_,c.__wbindgen_malloc),g=s,m=c.engine_setViewshed(this.__wbg_ptr,o,i,a,f,b,l,n,d,g);if(m[1])throw y(m[0])}setZoomRange(r,e){c.engine_setZoomRange(this.__wbg_ptr,r,e)}stats(){return c.engine_stats(this.__wbg_ptr)}surfaceAt(r,e){return c.engine_surfaceAt(this.__wbg_ptr,r,e)}surface(r,e){return c.engine_surface(this.__wbg_ptr,r,e)}textureFormats(){return c.engine_textureFormats(this.__wbg_ptr)}tiles3dFeature(r,e){return c.engine_tiles3dFeature(this.__wbg_ptr,r,e)}tiles3dStats(r){return c.engine_tiles3dStats(this.__wbg_ptr,r)}updateGlyphAtlas(r,e,t,n,_){let o=R(_,c.__wbindgen_malloc),i=s;c.engine_updateGlyphAtlas(this.__wbg_ptr,r,e,t,n,o,i)}updateGlyphPage(r,e,t,n,_,o){let i=R(o,c.__wbindgen_malloc),a=s;c.engine_updateGlyphPage(this.__wbg_ptr,r,e,t,n,_,i,a)}updateGroundTexture(r,e,t,n,_,o,i,a){let f=F(e,c.__wbindgen_malloc,c.__wbindgen_realloc),b=s,l=R(a,c.__wbindgen_malloc),d=s,g=c.engine_updateGroundTexture(this.__wbg_ptr,r,f,b,t,n,_,o,i,l,d);if(g[1])throw y(g[0])}updateIconAtlas(r,e,t,n,_){let o=R(_,c.__wbindgen_malloc),i=s;c.engine_updateIconAtlas(this.__wbg_ptr,r,e,t,n,o,i)}wantedTiles(r){let e=c.engine_wantedTiles(this.__wbg_ptr,r);var t=B(e[0],e[1]).slice();return c.__wbindgen_free(e[0],e[1]*4,4),t}zoomAt(r,e,t){c.engine_zoomAt(this.__wbg_ptr,r,e,t)}}if(Symbol.dispose)se.prototype[Symbol.dispose]=se.prototype.free;function De(r,e,t,n){let _=R(r,c.__wbindgen_malloc),o=s,i=S(e,c.__wbindgen_malloc),a=s,f=c.decodeTile(_,o,i,a,t,n);if(f[2])throw y(f[1]);return y(f[0])}function Me(r){let e=R(r,c.__wbindgen_malloc),t=s,n=c.dracoRequests(e,t);if(n[2])throw y(n[1]);return y(n[0])}function He(){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 u(n)?16777215:n?1:0},__wbg___wbindgen_debug_string_4687d8d8c2017d52:function(e,t){let n=fe(t),_=F(n,c.__wbindgen_malloc,c.__wbindgen_realloc),o=s;v().setInt32(e+4,o,!0),v().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;v().setFloat64(e+8,u(_)?0:_,!0),v().setInt32(e+0,!u(_),!0)},__wbg___wbindgen_string_get_0380ccaa2f57f0d9:function(e,t){let n=t,_=typeof n==="string"?n:void 0;var o=u(_)?0:F(_,c.__wbindgen_malloc,c.__wbindgen_realloc),i=s;v().setInt32(e+4,i,!0),v().setInt32(e+0,o,!0)},__wbg___wbindgen_throw_41e9ee4f547fc59a:function(e,t){throw Error(M(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 w(function(e,t,n){return e.apply(t,n)},arguments)},__wbg_arrayBuffer_f07be74819944ea2:function(){return w(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,_,o){e.blendFuncSeparate(t>>>0,n>>>0,_>>>0,o>>>0)},__wbg_blendFuncSeparate_2af9d47f7efc0452:function(e,t,n,_,o){e.blendFuncSeparate(t>>>0,n>>>0,_>>>0,o>>>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 w(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 w(function(e,t,n,_,o,i){return e.call(t,n,_,o,i)},arguments)},__wbg_call_187d372bd5fdd4aa:function(){return w(function(e,t,n){return e.call(t,n)},arguments)},__wbg_call_6137034ef55c9d0f:function(){return w(function(e,t){return e.call(t)},arguments)},__wbg_clearColor_3f6aa096dc12e8b7:function(e,t,n,_,o){e.clearColor(t,n,_,o)},__wbg_clearColor_796427e8ac60fe14:function(e,t,n,_,o){e.clearColor(t,n,_,o)},__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,_,o){e.colorMask(t!==0,n!==0,_!==0,o!==0)},__wbg_colorMask_8c903995f6f873be:function(e,t,n,_,o){e.colorMask(t!==0,n!==0,_!==0,o!==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,_,o,i,a,f){e.compressedTexImage2D(t>>>0,n,_>>>0,o,i,a,f)},__wbg_createBuffer_d1dd23bf8704564c:function(e){let t=e.createBuffer();return u(t)?0:p(t)},__wbg_createBuffer_ffe613371d42cfd3:function(e){let t=e.createBuffer();return u(t)?0:p(t)},__wbg_createFramebuffer_2c6b5b0f49c88e5d:function(e){let t=e.createFramebuffer();return u(t)?0:p(t)},__wbg_createFramebuffer_d0969af4e9886297:function(e){let t=e.createFramebuffer();return u(t)?0:p(t)},__wbg_createImageBitmap_1b985e01e4c81baa:function(){return w(function(e,t,n){return e.createImageBitmap(t,n)},arguments)},__wbg_createImageBitmap_69996a36c51d409f:function(){return w(function(e,t,n){return e.createImageBitmap(t,n)},arguments)},__wbg_createProgram_cbf448e6f18a9402:function(e){let t=e.createProgram();return u(t)?0:p(t)},__wbg_createProgram_e0c81b0d2b8d0fd0:function(e){let t=e.createProgram();return u(t)?0:p(t)},__wbg_createRenderbuffer_2b17e9fe2e6fb4be:function(e){let t=e.createRenderbuffer();return u(t)?0:p(t)},__wbg_createRenderbuffer_c864095d6ebd60d0:function(e){let t=e.createRenderbuffer();return u(t)?0:p(t)},__wbg_createShader_6c1a2295587878a5:function(e,t){let n=e.createShader(t>>>0);return u(n)?0:p(n)},__wbg_createShader_7c9d99a21ecb08c0:function(e,t){let n=e.createShader(t>>>0);return u(n)?0:p(n)},__wbg_createTexture_01e8e591b64237de:function(e){let t=e.createTexture();return u(t)?0:p(t)},__wbg_createTexture_5f2583508ebe379b:function(e){let t=e.createTexture();return u(t)?0:p(t)},__wbg_createVertexArrayOES_a8dc8498b56df937:function(e){let t=e.createVertexArrayOES();return u(t)?0:p(t)},__wbg_createVertexArray_b223ea69dd08fcab:function(e){let t=e.createVertexArray();return u(t)?0:p(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,_,o){e.drawArraysInstancedANGLE(t>>>0,n,_,o)},__wbg_drawArraysInstanced_9b44aa78a087154d:function(e,t,n,_,o){e.drawArraysInstanced(t>>>0,n,_,o)},__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,_,o,i){e.drawElementsInstancedANGLE(t>>>0,n,_>>>0,o,i)},__wbg_drawElementsInstanced_d7c396aa034159b6:function(e,t,n,_,o,i){e.drawElementsInstanced(t>>>0,n,_>>>0,o,i)},__wbg_drawElements_c8988ba71de1101a:function(e,t,n,_,o){e.drawElements(t>>>0,n,_>>>0,o)},__wbg_drawElements_cc1e6c631e89eddf:function(e,t,n,_,o){e.drawElements(t>>>0,n,_>>>0,o)},__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 u(_)?0:p(_)},__wbg_fetch_b322877f1ed6457d:function(e,t,n,_){return e.fetch(M(t,n),_)},__wbg_flush_13b162660ad850d2:function(e){e.flush()},__wbg_flush_a5ad38200881ac35:function(e){e.flush()},__wbg_framebufferRenderbuffer_1c6337e0030411f3:function(e,t,n,_,o){e.framebufferRenderbuffer(t>>>0,n>>>0,_>>>0,o)},__wbg_framebufferRenderbuffer_f019e9231b142c0d:function(e,t,n,_,o){e.framebufferRenderbuffer(t>>>0,n>>>0,_>>>0,o)},__wbg_framebufferTexture2D_73c52f23ec33aa22:function(e,t,n,_,o,i){e.framebufferTexture2D(t>>>0,n>>>0,_>>>0,o,i)},__wbg_framebufferTexture2D_caddefa1f767646e:function(e,t,n,_,o,i){e.framebufferTexture2D(t>>>0,n>>>0,_>>>0,o,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 u(_)?0:p(_)},__wbg_getActiveUniform_f2052b3c57679fe2:function(e,t,n){let _=e.getActiveUniform(t,n>>>0);return u(_)?0:p(_)},__wbg_getBufferSubData_dd23246099b166d1:function(e,t,n,_){e.getBufferSubData(t>>>0,n,_)},__wbg_getContext_051324720aa5b7e8:function(){return w(function(e,t,n,_){let o=e.getContext(M(t,n),_);return u(o)?0:p(o)},arguments)},__wbg_getExtension_abfda2c5db286b07:function(){return w(function(e,t,n){let _=e.getExtension(M(t,n));return u(_)?0:p(_)},arguments)},__wbg_getParameter_974595a6624c6c10:function(){return w(function(e,t){return e.getParameter(t>>>0)},arguments)},__wbg_getParameter_a97f491753b05668:function(){return w(function(e,t){return e.getParameter(t>>>0)},arguments)},__wbg_getProgramInfoLog_208fb1ff31006495:function(e,t,n){let _=t.getProgramInfoLog(n);var o=u(_)?0:F(_,c.__wbindgen_malloc,c.__wbindgen_realloc),i=s;v().setInt32(e+4,i,!0),v().setInt32(e+0,o,!0)},__wbg_getProgramInfoLog_3276b294d6d42fe2:function(e,t,n){let _=t.getProgramInfoLog(n);var o=u(_)?0:F(_,c.__wbindgen_malloc,c.__wbindgen_realloc),i=s;v().setInt32(e+4,i,!0),v().setInt32(e+0,o,!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 o=u(_)?0:F(_,c.__wbindgen_malloc,c.__wbindgen_realloc),i=s;v().setInt32(e+4,i,!0),v().setInt32(e+0,o,!0)},__wbg_getShaderInfoLog_bb64c5a52df0b7a3:function(e,t,n){let _=t.getShaderInfoLog(n);var o=u(_)?0:F(_,c.__wbindgen_malloc,c.__wbindgen_realloc),i=s;v().setInt32(e+4,i,!0),v().setInt32(e+0,o,!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 u(t)?0:p(t)},__wbg_getSyncParameter_bb4be47b67bfa2f8:function(e,t,n){return e.getSyncParameter(t,n>>>0)},__wbg_getUniformLocation_50ba45dade572703:function(e,t,n,_){let o=e.getUniformLocation(t,M(n,_));return u(o)?0:p(o)},__wbg_getUniformLocation_cb4e3e121235f91a:function(e,t,n,_){let o=e.getUniformLocation(t,M(n,_));return u(o)?0:p(o)},__wbg_get_31af05bd4842a84f:function(){return w(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_806853698d9fc227:function(){return w(function(e,t){return Reflect.get(e,t>>>0)},arguments)},__wbg_get_f75619e20cb68514:function(){return w(function(e,t,n,_){let o=t.get(M(n,_));var i=u(o)?0:F(o,c.__wbindgen_malloc,c.__wbindgen_realloc),a=s;v().setInt32(e+4,a,!0),v().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,_=F(n,c.__wbindgen_malloc,c.__wbindgen_realloc),o=s;v().setInt32(e+4,o,!0),v().setInt32(e+0,_,!0)},__wbg_new_1dbf7428bba60a42:function(e){return new Uint8Array(e)},__wbg_new_2e41357094e99294:function(){return w(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 ze(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 w(function(){return new Headers},arguments)},__wbg_new_ee2291f50781bf1d:function(){return[]},__wbg_new_from_slice_37a3c3a194266cb8:function(e,t){return new Uint32Array(B(e,t))},__wbg_new_from_slice_9a868026ffa4208a:function(e,t){return new Uint8Array(ie(e,t))},__wbg_new_from_slice_ca6ad97db1f4779a:function(e,t){return new Float32Array(T(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 w(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,_,o){return Array.of(e,t,n,_,o)},__wbg_ok_125878a7db256ecb:function(e){return e.ok},__wbg_performance_d0d7b03fc649b694:function(e){let t=e.performance;return u(t)?0:p(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_prototypesetcall_06eb15da165dee8f:function(e,t,n){Uint32Array.prototype.set.call(B(e,t),n)},__wbg_prototypesetcall_8b03c01e2c0f8066:function(e,t,n){Float32Array.prototype.set.call(T(e,t),n)},__wbg_prototypesetcall_bc27214492979395:function(e,t,n){Uint8Array.prototype.set.call(ie(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 w(function(e,t,n,_,o,i,a,f){e.readPixels(t,n,_,o,i>>>0,a>>>0,f)},arguments)},__wbg_readPixels_3321086a7818a739:function(){return w(function(e,t,n,_,o,i,a,f){e.readPixels(t,n,_,o,i>>>0,a>>>0,f)},arguments)},__wbg_readPixels_eb030cd9976eeca5:function(){return w(function(e,t,n,_,o,i,a,f){e.readPixels(t,n,_,o,i>>>0,a>>>0,f)},arguments)},__wbg_renderbufferStorage_52b131bbf3112b3a:function(e,t,n,_,o){e.renderbufferStorage(t>>>0,n>>>0,_,o)},__wbg_renderbufferStorage_bca487b0dea425b8:function(e,t,n,_,o){e.renderbufferStorage(t>>>0,n>>>0,_,o)},__wbg_resolve_0076e10020304ede:function(e){return Promise.resolve(e)},__wbg_scissor_12ddc324094acd50:function(e,t,n,_,o){e.scissor(t,n,_,o)},__wbg_scissor_a9468482697c2bdb:function(e,t,n,_,o){e.scissor(t,n,_,o)},__wbg_setTimeout_db7bbc18a17e152a:function(){return w(function(e,t,n){return e.setTimeout(t,n)},arguments)},__wbg_set_145a351398b48c65:function(){return w(function(e,t,n){return Reflect.set(e,t,n)},arguments)},__wbg_set_af5932e3f78b5648:function(){return w(function(e,t,n,_,o){e.set(M(t,n),M(_,o))},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=Je[t]},__wbg_set_color_space_conversion_f27e9d866a683b4b:function(e,t){e.colorSpaceConversion=qe[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=Ke[t]},__wbg_set_premultiply_alpha_45a4cf9a1e87bfbf:function(e,t){e.premultiplyAlpha=Xe[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=M(t,n)},__wbg_shaderSource_06379dac249994dd:function(e,t,n,_){e.shaderSource(t,M(n,_))},__wbg_shaderSource_c8812639b47d87b9:function(e,t,n,_){e.shaderSource(t,M(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 u(e)?0:p(e)},__wbg_static_accessor_GLOBAL_THIS_10fb7dc1ae063179:function(){let e=typeof globalThis>"u"?null:globalThis;return u(e)?0:p(e)},__wbg_static_accessor_SELF_0b583911f537483a:function(){let e=typeof self>"u"?null:self;return u(e)?0:p(e)},__wbg_static_accessor_WINDOW_d7f903d1508cbdc4:function(){let e=typeof window>"u"?null:window;return u(e)?0:p(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,_,o){e.stencilOpSeparate(t>>>0,n>>>0,_>>>0,o>>>0)},__wbg_stencilOpSeparate_c5af5f5dbd237bea:function(e,t,n,_,o){e.stencilOpSeparate(t>>>0,n>>>0,_>>>0,o>>>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 w(function(e,t,n,_,o,i,a){e.texImage2D(t>>>0,n,_,o>>>0,i>>>0,a)},arguments)},__wbg_texImage2D_82bf2b4c8aa9a1db:function(){return w(function(e,t,n,_,o,i,a,f,b,l){e.texImage2D(t>>>0,n,_,o,i,a,f>>>0,b>>>0,l)},arguments)},__wbg_texImage2D_8fc2f2fcca249b59:function(){return w(function(e,t,n,_,o,i,a){e.texImage2D(t>>>0,n,_,o>>>0,i>>>0,a)},arguments)},__wbg_texImage2D_a856af552acdc9d9:function(){return w(function(e,t,n,_,o,i,a,f,b,l){e.texImage2D(t>>>0,n,_,o,i,a,f>>>0,b>>>0,l)},arguments)},__wbg_texImage2D_ca3d0fe24620ec85:function(){return w(function(e,t,n,_,o,i,a,f,b,l){e.texImage2D(t>>>0,n,_,o,i,a,f>>>0,b>>>0,l)},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,_,o,i){e.texStorage2D(t>>>0,n,_>>>0,o,i)},__wbg_texStorage3D_74b701c2b176380c:function(e,t,n,_,o,i,a){e.texStorage3D(t>>>0,n,_>>>0,o,i,a)},__wbg_texSubImage2D_31a0c2797aa04f32:function(){return w(function(e,t,n,_,o,i,a,f,b,l){e.texSubImage2D(t>>>0,n,_,o,i,a,f>>>0,b>>>0,l)},arguments)},__wbg_texSubImage2D_5e90c7a719d40256:function(){return w(function(e,t,n,_,o,i,a,f,b,l){e.texSubImage2D(t>>>0,n,_,o,i,a,f>>>0,b>>>0,l)},arguments)},__wbg_texSubImage2D_bb322aae90f7657f:function(){return w(function(e,t,n,_,o,i,a,f,b,l){e.texSubImage2D(t>>>0,n,_,o,i,a,f>>>0,b>>>0,l)},arguments)},__wbg_texSubImage3D_5143d5af7e182ddc:function(){return w(function(e,t,n,_,o,i,a,f,b,l,d,g){e.texSubImage3D(t>>>0,n,_,o,i,a,f,b,l>>>0,d>>>0,g)},arguments)},__wbg_texSubImage3D_5d773fc7a8cd4d08:function(){return w(function(e,t,n,_,o,i,a,f,b,l,d,g){e.texSubImage3D(t>>>0,n,_,o,i,a,f,b,l>>>0,d>>>0,g)},arguments)},__wbg_texSubImage3D_e0d113b7047a5130:function(){return w(function(e,t,n,_,o,i,a,f,b,l,d,g){e.texSubImage3D(t>>>0,n,_,o,i,a,f,b,l>>>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,T(n,_))},__wbg_uniform1fv_1cc1d09bc13b03bf:function(e,t,n,_){e.uniform1fv(t,T(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,U(n,_))},__wbg_uniform1iv_8fc880ae80c77c74:function(e,t,n,_){e.uniform1iv(t,U(n,_))},__wbg_uniform1ui_353c67ec681b540c:function(e,t,n){e.uniform1ui(t,n>>>0)},__wbg_uniform1uiv_ad5e946730aacbec:function(e,t,n,_){e.uniform1uiv(t,B(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,T(n,_))},__wbg_uniform2fv_a7d3c1830d18c1b2:function(e,t,n,_){e.uniform2fv(t,T(n,_))},__wbg_uniform2iv_65f36fc9777697d7:function(e,t,n,_){e.uniform2iv(t,U(n,_))},__wbg_uniform2iv_ca9cb507409b9ad1:function(e,t,n,_){e.uniform2iv(t,U(n,_))},__wbg_uniform2uiv_c95af5fb653ccb86:function(e,t,n,_){e.uniform2uiv(t,B(n,_))},__wbg_uniform3f_1211579ff87ccfad:function(e,t,n,_,o){e.uniform3f(t,n,_,o)},__wbg_uniform3f_ee105161897ee48a:function(e,t,n,_,o){e.uniform3f(t,n,_,o)},__wbg_uniform3fv_055ea5ac38af4fce:function(e,t,n,_){e.uniform3fv(t,T(n,_))},__wbg_uniform3fv_58520ffe22a6e27c:function(e,t,n,_){e.uniform3fv(t,T(n,_))},__wbg_uniform3iv_0590e8b7eff2a791:function(e,t,n,_){e.uniform3iv(t,U(n,_))},__wbg_uniform3iv_e91b1410dc299f50:function(e,t,n,_){e.uniform3iv(t,U(n,_))},__wbg_uniform3uiv_9992491000463a52:function(e,t,n,_){e.uniform3uiv(t,B(n,_))},__wbg_uniform4f_22bfec882308eec2:function(e,t,n,_,o,i){e.uniform4f(t,n,_,o,i)},__wbg_uniform4f_8dd8f311e656ca0d:function(e,t,n,_,o,i){e.uniform4f(t,n,_,o,i)},__wbg_uniform4fv_3ef2f5121fcb78ae:function(e,t,n,_){e.uniform4fv(t,T(n,_))},__wbg_uniform4fv_cf8ff646c36232c8:function(e,t,n,_){e.uniform4fv(t,T(n,_))},__wbg_uniform4iv_6fc5436b4f876039:function(e,t,n,_){e.uniform4iv(t,U(n,_))},__wbg_uniform4iv_99c2b07787d362d6:function(e,t,n,_){e.uniform4iv(t,U(n,_))},__wbg_uniform4uiv_a6fb3237d9df7ed4:function(e,t,n,_){e.uniform4uiv(t,B(n,_))},__wbg_uniformMatrix3fv_472e7824735acce1:function(e,t,n,_,o){e.uniformMatrix3fv(t,n!==0,T(_,o))},__wbg_uniformMatrix3fv_83fdc9c3c0d43204:function(e,t,n,_,o){e.uniformMatrix3fv(t,n!==0,T(_,o))},__wbg_uniformMatrix4fv_dff9738d995fd0b1:function(e,t,n,_,o){e.uniformMatrix4fv(t,n!==0,T(_,o))},__wbg_uniformMatrix4fv_e691d7f14d3609f7:function(e,t,n,_,o){e.uniformMatrix4fv(t,n!==0,T(_,o))},__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,_,o,i){e.vertexAttribIPointer(t>>>0,n,_>>>0,o,i)},__wbg_vertexAttribPointer_24b495e18df325dc:function(e,t,n,_,o,i,a){e.vertexAttribPointer(t>>>0,n,_>>>0,o!==0,i,a)},__wbg_vertexAttribPointer_54d56b18f71a946d:function(e,t,n,_,o,i,a){e.vertexAttribPointer(t>>>0,n,_>>>0,o!==0,i,a)},__wbg_viewport_16936692526e2ce6:function(e,t,n,_,o){e.viewport(t,n,_,o)},__wbg_viewport_e35d16c542d2ce70:function(e,t,n,_,o){e.viewport(t,n,_,o)},__wbg_warn_13abc63e0d4b3527:function(e){console.warn(e)},__wbg_width_8a9cc26363f10d5f:function(e){return e.width},__wbindgen_generic_0000000000000001:function(e,t){return _t(e,t,$e)},__wbindgen_generic_0000000000000002:function(e){return e},__wbindgen_generic_0000000000000003:function(e,t){return T(e,t)},__wbindgen_generic_0000000000000004:function(e,t){return Ye(e,t)},__wbindgen_generic_0000000000000005:function(e,t){return U(e,t)},__wbindgen_generic_0000000000000006:function(e,t){return Ze(e,t)},__wbindgen_generic_0000000000000007:function(e,t){return Qe(e,t)},__wbindgen_generic_0000000000000008:function(e,t){return B(e,t)},__wbindgen_generic_0000000000000009:function(e,t){return ie(e,t)},__wbindgen_generic_000000000000000a:function(e,t){return M(e,t)},__wbindgen_init_externref_table:function(){let e=c.__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 $e(r,e,t){let n=c.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 y(n[0])}function ze(r,e,t,n){c.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 qe=["none","default"],Xe=["none","premultiply","default"],Je=["default","no-store","reload","no-cache","force-cache","only-if-cached"],Ke=["default","low-power","high-performance"],Te=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((r)=>c.__wbg_engine_free(r,1));function p(r){let e=c.__externref_table_alloc();return c.__wbindgen_externrefs.set(e,r),e}var Ie=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((r)=>c.__wbindgen_destroy_closure(r.a,r.b));function fe(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,o="[";if(_>0)o+=fe(r[0]);for(let i=1;i<_;i++)o+=", "+fe(r[i]);return o+="]",o}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}
3
+ ${r.stack}`;return n}function T(r,e){return r=r>>>0,Re().subarray(r/4,r/4+e)}function ue(r,e){return r=r>>>0,Ee().subarray(r/8,r/8+e)}function Ye(r,e){return r=r>>>0,et().subarray(r/2,r/2+e)}function U(r,e){return r=r>>>0,tt().subarray(r/4,r/4+e)}function Ze(r,e){return r=r>>>0,nt().subarray(r/1,r/1+e)}function Qe(r,e){return r=r>>>0,rt().subarray(r/2,r/2+e)}function B(r,e){return r=r>>>0,Le().subarray(r/4,r/4+e)}function ie(r,e){return r=r>>>0,G().subarray(r/1,r/1+e)}var W=null;function v(){if(W===null||W.buffer.detached===!0||W.buffer.detached===void 0&&W.buffer!==c.memory.buffer)W=new DataView(c.memory.buffer);return W}var V=null;function Re(){if(V===null||V.byteLength===0)V=new Float32Array(c.memory.buffer);return V}var H=null;function Ee(){if(H===null||H.byteLength===0)H=new Float64Array(c.memory.buffer);return H}var z=null;function et(){if(z===null||z.byteLength===0)z=new Int16Array(c.memory.buffer);return z}var q=null;function tt(){if(q===null||q.byteLength===0)q=new Int32Array(c.memory.buffer);return q}var X=null;function nt(){if(X===null||X.byteLength===0)X=new Int8Array(c.memory.buffer);return X}function M(r,e){return ct(r>>>0,e)}var J=null;function rt(){if(J===null||J.byteLength===0)J=new Uint16Array(c.memory.buffer);return J}var K=null;function Le(){if(K===null||K.byteLength===0)K=new Uint32Array(c.memory.buffer);return K}var Y=null;function G(){if(Y===null||Y.byteLength===0)Y=new Uint8Array(c.memory.buffer);return Y}function w(r,e){try{return r.apply(this,e)}catch(t){let n=p(t);c.__wbindgen_exn_store(n)}}function u(r){return r===void 0||r===null}function _t(r,e,t){let n={a:r,b:e,cnt:1},_=(...o)=>{n.cnt++;let i=n.a;n.a=0;try{return t(i,n.b,...o)}finally{n.a=i,_._wbg_cb_unref()}};return _._wbg_cb_unref=()=>{if(--n.cnt===0)c.__wbindgen_destroy_closure(n.a,n.b),n.a=0,Ie.unregister(n)},Ie.register(_,n,n),_}function A(r,e){let t=e(r.length*4,4)>>>0;return Le().set(r,t/4),s=r.length,t}function R(r,e){let t=e(r.length*1,1)>>>0;return G().set(r,t/1),s=r.length,t}function x(r,e){let t=e(r.length*4,4)>>>0;return Re().set(r,t/4),s=r.length,t}function S(r,e){let t=e(r.length*8,8)>>>0;return Ee().set(r,t/8),s=r.length,t}function Pe(r,e){let t=e(r.length*4,4)>>>0;for(let n=0;n<r.length;n++){let _=p(r[n]);v().setUint32(t+4*n,_,!0)}return s=r.length,t}function F(r,e,t){if(t===void 0){let a=Z.encode(r),f=e(a.length,1)>>>0;return G().subarray(f,f+a.length).set(a),s=a.length,f}let n=r.length,_=e(n,1)>>>0,o=G(),i=0;for(;i<n;i++){let a=r.charCodeAt(i);if(a>127)break;o[_+i]=a}if(i!==n){if(i!==0)r=r.slice(i);_=t(_,n,n=i+r.length*3,1)>>>0;let a=G().subarray(_+i,_+n),f=Z.encodeInto(r,a);i+=f.written,_=t(_,n,i,1)>>>0}return s=i,_}function y(r){let e=c.__wbindgen_externrefs.get(r);return c.__externref_table_dealloc(r),e}var ne=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});ne.decode();var ot=2146435072,ae=0;function ct(r,e){if(ae+=e,ae>=ot)ne=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),ne.decode(),ae=e;return ne.decode(G().subarray(r,r+e))}var Z=new TextEncoder;if(!("encodeInto"in Z))Z.encodeInto=function(r,e){let t=Z.encode(r);return e.set(t),{read:r.length,written:t.length}};var s=0,it,at,c;function st(r,e){return at=r,c=r.exports,it=e,W=null,V=null,H=null,z=null,q=null,X=null,J=null,K=null,Y=null,c.__wbindgen_start(),c}async function ft(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(c!==void 0)return c;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=He();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 ft(await r,e);return st(t,n)}function Ce(r,e,t,n,_){let o=Ue(r,I.__wbindgen_malloc),i=j,a=Ue(e,I.__wbindgen_malloc),f=j,b=Be(t,I.__wbindgen_malloc),l=j,d=Be(n,I.__wbindgen_malloc),g=j,m=I.decodeCopc(o,i,a,f,b,l,d,g,_);if(m[3])throw gt(m[2]);var P=bt(m[0],m[1]).slice();return I.__wbindgen_free(m[0],m[1]*1,1),P}function ut(){return{__proto__:null,"./isard_points_bg.js":{__proto__:null,__wbindgen_generic_0000000000000001:function(e,t){return dt(e,t)},__wbindgen_init_externref_table:function(){let e=I.__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 bt(r,e){return r=r>>>0,le().subarray(r/1,r/1+e)}var Q=null;function lt(){if(Q===null||Q.byteLength===0)Q=new Float64Array(I.memory.buffer);return Q}function dt(r,e){return mt(r>>>0,e)}var ee=null;function le(){if(ee===null||ee.byteLength===0)ee=new Uint8Array(I.memory.buffer);return ee}function Ue(r,e){let t=e(r.length*1,1)>>>0;return le().set(r,t/1),j=r.length,t}function Be(r,e){let t=e(r.length*8,8)>>>0;return lt().set(r,t/8),j=r.length,t}function gt(r){let e=I.__wbindgen_externrefs.get(r);return I.__externref_table_dealloc(r),e}var re=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});re.decode();var wt=2146435072,be=0;function mt(r,e){if(be+=e,be>=wt)re=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),re.decode(),be=e;return re.decode(le().subarray(r,r+e))}var j=0,pt,yt,I;function ht(r,e){return yt=r,I=r.exports,pt=e,Q=null,ee=null,I.__wbindgen_start(),I}async function At(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 We(r){if(I!==void 0)return I;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=ut();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 At(await r,e);return ht(t,n)}var Oe,ge=Ae,Ge={astc:!1,bptc:!1,etc:!1,s3tc:!1},je="",de,te=new Map,_e=(r,e=[])=>postMessage(r,e);addEventListener("message",(r)=>{let e=r.data;switch(e.type){case"headers":Fe(e.rules);break;case"init":Oe=ke({module_or_path:e.module}),ge=e.decoders,Ge=e.formats,je=e.points;break;case"points":It(e);break;case"abort":te.get(e.id)?.abort();break;case"load":xt(e.id,e.url,e.transform,e.yUp,e.reload,e.priority);break}});async function xt(r,e,t,n,_,o){let i=new AbortController;te.set(r,i);try{await Oe;let a={signal:i.signal,cache:_?"reload":"default",...o?{priority:o}:{}},f=await fetch(e,ce(e,a));if(!f.ok)throw Error(`HTTP ${f.status}`);let b=new Uint8Array(await f.arrayBuffer()),l=Me(b),d=l.length>0?await xe(ge,l):void 0,g=De(b,t,n,d),m=new Map,P=(h,O)=>{let C=m.get(h);if(!C)C=O==="image/ktx2"?ve(ge,Ge,h).then((N)=>({bitmap:null,texture:N})):createImageBitmap(new Blob([h],{type:O??""}),{premultiplyAlpha:"none"}).then((N)=>({bitmap:N})),m.set(h,C);return C},E=g.points??[],L=await Promise.all(g.primitives.map(async({vertices:h,indices:O,image:C,mime:N,color:we,features:me})=>({vertices:h,indices:O,...we?{color:we}:{},...me?{features:me}:{},...C?await P(C,N):{bitmap:null}}))),D=new Set;for(let h of L){if(D.add(h.vertices.buffer),D.add(h.indices.buffer),h.color)D.add(h.color.buffer);if(h.features)D.add(h.features.buffer);if(h.bitmap)D.add(h.bitmap);for(let O of h.texture?.levels??[])D.add(O.data.buffer)}for(let h of E)D.add(h.buffer);let k={anchor:g.anchor,primitives:L,...E.length>0?{points:E}:{},...g.properties?{properties:g.properties}:{}};_e({type:"tile",id:r,tile:k},[...D])}catch(a){_e({type:"error",id:r,error:String(a),aborted:i.signal.aborted})}finally{te.delete(r)}}var vt=4,St=1000,Ft=(r,e)=>new Promise((t,n)=>{let _=setTimeout(t,r);e.addEventListener("abort",()=>{clearTimeout(_),n(new DOMException("aborted","AbortError"))})});async function Tt(r,e,t,n,_){for(let o=1;;o+=1){let i={signal:n,headers:{Range:`bytes=${e}-${e+Math.max(t,1)-1}`},..._?{priority:_}:{}},a=await fetch(r,ce(r,i));if(a.status===429&&o<vt){let f=Number(a.headers.get("Retry-After"));await Ft(f>0?f*1000:St*2**(o-1),n);continue}if(!a.ok)throw Error(`HTTP ${a.status}`);if(a.status!==206){if(!(Number(a.headers.get("Content-Length"))<=t))throw await a.body?.cancel(),Error("the server ignores range requests (HTTP 206 expected)");return new Uint8Array(await a.arrayBuffer()).subarray(e,e+t)}return new Uint8Array(await a.arrayBuffer())}}async function It(r){let{id:e,url:t,offset:n,size:_,laz:o,layout:i,grid:a,count:f,priority:b}=r,l=new AbortController;te.set(e,l);try{de??=We({module_or_path:je}).catch((m)=>{throw de=void 0,m});let[d]=await Promise.all([Tt(t,n,_,l.signal,b),de]),g=Ce(d,o,i,a,f);_e({type:"points",id:e,vertices:g},[g.buffer])}catch(d){_e({type:"error",id:e,error:String(d),aborted:l.signal.aborted})}finally{te.delete(e)}}
4
4
 
5
- //# debugId=82D4EF41285B2BA064756E2164756E21
5
+ //# debugId=CC6E4522F7653C8F64756E2164756E21
6
6
  //# sourceMappingURL=decoder.worker.js.map