@loaders.gl/schema 4.4.0-alpha.13 → 4.4.0-alpha.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dist.dev.js CHANGED
@@ -147,7 +147,139 @@ var __exports__ = (() => {
147
147
  }
148
148
 
149
149
  // ../../node_modules/@probe.gl/env/dist/index.js
150
- var VERSION = true ? "4.0.7" : "untranspiled source";
150
+ var VERSION = true ? "4.1.1" : "untranspiled source";
151
+
152
+ // ../../node_modules/@probe.gl/log/dist/utils/assert.js
153
+ function assert2(condition, message) {
154
+ if (!condition) {
155
+ throw new Error(message || "Assertion failed");
156
+ }
157
+ }
158
+
159
+ // ../../node_modules/@probe.gl/log/dist/loggers/log-utils.js
160
+ function normalizeLogLevel(logLevel) {
161
+ if (!logLevel) {
162
+ return 0;
163
+ }
164
+ let resolvedLevel;
165
+ switch (typeof logLevel) {
166
+ case "number":
167
+ resolvedLevel = logLevel;
168
+ break;
169
+ case "object":
170
+ resolvedLevel = logLevel.logLevel || logLevel.priority || 0;
171
+ break;
172
+ default:
173
+ return 0;
174
+ }
175
+ assert2(Number.isFinite(resolvedLevel) && resolvedLevel >= 0);
176
+ return resolvedLevel;
177
+ }
178
+ function normalizeArguments(opts) {
179
+ const { logLevel, message } = opts;
180
+ opts.logLevel = normalizeLogLevel(logLevel);
181
+ const args = opts.args ? Array.from(opts.args) : [];
182
+ while (args.length && args.shift() !== message) {
183
+ }
184
+ switch (typeof logLevel) {
185
+ case "string":
186
+ case "function":
187
+ if (message !== void 0) {
188
+ args.unshift(message);
189
+ }
190
+ opts.message = logLevel;
191
+ break;
192
+ case "object":
193
+ Object.assign(opts, logLevel);
194
+ break;
195
+ default:
196
+ }
197
+ if (typeof opts.message === "function") {
198
+ opts.message = opts.message();
199
+ }
200
+ const messageType = typeof opts.message;
201
+ assert2(messageType === "string" || messageType === "object");
202
+ return Object.assign(opts, { args }, opts.opts);
203
+ }
204
+
205
+ // ../../node_modules/@probe.gl/log/dist/loggers/base-log.js
206
+ var noop = () => {
207
+ };
208
+ var BaseLog = class {
209
+ constructor({ level = 0 } = {}) {
210
+ this.userData = {};
211
+ this._onceCache = /* @__PURE__ */ new Set();
212
+ this._level = level;
213
+ }
214
+ set level(newLevel) {
215
+ this.setLevel(newLevel);
216
+ }
217
+ get level() {
218
+ return this.getLevel();
219
+ }
220
+ setLevel(level) {
221
+ this._level = level;
222
+ return this;
223
+ }
224
+ getLevel() {
225
+ return this._level;
226
+ }
227
+ // Unconditional logging
228
+ warn(message, ...args) {
229
+ return this._log("warn", 0, message, args, { once: true });
230
+ }
231
+ error(message, ...args) {
232
+ return this._log("error", 0, message, args);
233
+ }
234
+ // Conditional logging
235
+ log(logLevel, message, ...args) {
236
+ return this._log("log", logLevel, message, args);
237
+ }
238
+ info(logLevel, message, ...args) {
239
+ return this._log("info", logLevel, message, args);
240
+ }
241
+ once(logLevel, message, ...args) {
242
+ return this._log("once", logLevel, message, args, { once: true });
243
+ }
244
+ _log(type, logLevel, message, args, options = {}) {
245
+ const normalized = normalizeArguments({
246
+ logLevel,
247
+ message,
248
+ args: this._buildArgs(logLevel, message, args),
249
+ opts: options
250
+ });
251
+ return this._createLogFunction(type, normalized, options);
252
+ }
253
+ _buildArgs(logLevel, message, args) {
254
+ return [logLevel, message, ...args];
255
+ }
256
+ _createLogFunction(type, normalized, options) {
257
+ if (!this._shouldLog(normalized.logLevel)) {
258
+ return noop;
259
+ }
260
+ const tag = this._getOnceTag(options.tag ?? normalized.tag ?? normalized.message);
261
+ if ((options.once || normalized.once) && tag !== void 0) {
262
+ if (this._onceCache.has(tag)) {
263
+ return noop;
264
+ }
265
+ this._onceCache.add(tag);
266
+ }
267
+ return this._emit(type, normalized);
268
+ }
269
+ _shouldLog(logLevel) {
270
+ return this.getLevel() >= normalizeLogLevel(logLevel);
271
+ }
272
+ _getOnceTag(tag) {
273
+ if (tag === void 0) {
274
+ return void 0;
275
+ }
276
+ try {
277
+ return typeof tag === "string" ? tag : String(tag);
278
+ } catch {
279
+ return void 0;
280
+ }
281
+ }
282
+ };
151
283
 
152
284
  // ../../node_modules/@probe.gl/log/dist/utils/local-storage.js
153
285
  function getStorage(type) {
@@ -266,13 +398,6 @@ var __exports__ = (() => {
266
398
  }
267
399
  }
268
400
 
269
- // ../../node_modules/@probe.gl/log/dist/utils/assert.js
270
- function assert2(condition, message) {
271
- if (!condition) {
272
- throw new Error(message || "Assertion failed");
273
- }
274
- }
275
-
276
401
  // ../../node_modules/@probe.gl/log/dist/utils/hi-res-timestamp.js
277
402
  function getHiResTimestamp() {
278
403
  let timestamp;
@@ -287,7 +412,7 @@ var __exports__ = (() => {
287
412
  return timestamp;
288
413
  }
289
414
 
290
- // ../../node_modules/@probe.gl/log/dist/log.js
415
+ // ../../node_modules/@probe.gl/log/dist/loggers/probe-log.js
291
416
  var originalConsole = {
292
417
  debug: isBrowser2() ? console.debug || console.log : console.log,
293
418
  log: console.log,
@@ -299,12 +424,9 @@ var __exports__ = (() => {
299
424
  enabled: true,
300
425
  level: 0
301
426
  };
302
- function noop() {
303
- }
304
- var cache = {};
305
- var ONCE = { once: true };
306
- var Log = class {
427
+ var ProbeLog = class extends BaseLog {
307
428
  constructor({ id } = { id: "" }) {
429
+ super({ level: 0 });
308
430
  this.VERSION = VERSION;
309
431
  this._startTs = getHiResTimestamp();
310
432
  this._deltaTs = getHiResTimestamp();
@@ -312,22 +434,16 @@ var __exports__ = (() => {
312
434
  this.LOG_THROTTLE_TIMEOUT = 0;
313
435
  this.id = id;
314
436
  this.userData = {};
315
- this._storage = new LocalStorage(`__probe-${this.id}__`, DEFAULT_LOG_CONFIGURATION);
437
+ this._storage = new LocalStorage(`__probe-${this.id}__`, { [this.id]: DEFAULT_LOG_CONFIGURATION });
316
438
  this.timeStamp(`${this.id} started`);
317
439
  autobind(this);
318
440
  Object.seal(this);
319
441
  }
320
- set level(newLevel) {
321
- this.setLevel(newLevel);
322
- }
323
- get level() {
324
- return this.getLevel();
325
- }
326
442
  isEnabled() {
327
- return this._storage.config.enabled;
443
+ return this._getConfiguration().enabled;
328
444
  }
329
445
  getLevel() {
330
- return this._storage.config.level;
446
+ return this._getConfiguration().level;
331
447
  }
332
448
  /** @return milliseconds, with fractions */
333
449
  getTotal() {
@@ -351,20 +467,20 @@ var __exports__ = (() => {
351
467
  }
352
468
  // Configure
353
469
  enable(enabled = true) {
354
- this._storage.setConfiguration({ enabled });
470
+ this._updateConfiguration({ enabled });
355
471
  return this;
356
472
  }
357
473
  setLevel(level) {
358
- this._storage.setConfiguration({ level });
474
+ this._updateConfiguration({ level });
359
475
  return this;
360
476
  }
361
477
  /** return the current status of the setting */
362
478
  get(setting) {
363
- return this._storage.config[setting];
479
+ return this._getConfiguration()[setting];
364
480
  }
365
481
  // update the status of the setting
366
482
  set(setting, value) {
367
- this._storage.setConfiguration({ [setting]: value });
483
+ this._updateConfiguration({ [setting]: value });
368
484
  }
369
485
  /** Logs the current settings as a table */
370
486
  settings() {
@@ -380,11 +496,16 @@ var __exports__ = (() => {
380
496
  throw new Error(message || "Assertion failed");
381
497
  }
382
498
  }
383
- warn(message) {
384
- return this._getLogFunction(0, message, originalConsole.warn, arguments, ONCE);
499
+ warn(message, ...args) {
500
+ return this._log("warn", 0, message, args, {
501
+ method: originalConsole.warn,
502
+ once: true
503
+ });
385
504
  }
386
- error(message) {
387
- return this._getLogFunction(0, message, originalConsole.error, arguments);
505
+ error(message, ...args) {
506
+ return this._log("error", 0, message, args, {
507
+ method: originalConsole.error
508
+ });
388
509
  }
389
510
  /** Print a deprecation warning */
390
511
  deprecated(oldUsage, newUsage) {
@@ -394,50 +515,63 @@ var __exports__ = (() => {
394
515
  removed(oldUsage, newUsage) {
395
516
  return this.error(`\`${oldUsage}\` has been removed. Use \`${newUsage}\` instead`);
396
517
  }
397
- probe(logLevel, message) {
398
- return this._getLogFunction(logLevel, message, originalConsole.log, arguments, {
518
+ probe(logLevel, message, ...args) {
519
+ return this._log("log", logLevel, message, args, {
520
+ method: originalConsole.log,
399
521
  time: true,
400
522
  once: true
401
523
  });
402
524
  }
403
- log(logLevel, message) {
404
- return this._getLogFunction(logLevel, message, originalConsole.debug, arguments);
525
+ log(logLevel, message, ...args) {
526
+ return this._log("log", logLevel, message, args, {
527
+ method: originalConsole.debug
528
+ });
405
529
  }
406
- info(logLevel, message) {
407
- return this._getLogFunction(logLevel, message, console.info, arguments);
530
+ info(logLevel, message, ...args) {
531
+ return this._log("info", logLevel, message, args, { method: console.info });
408
532
  }
409
- once(logLevel, message) {
410
- return this._getLogFunction(logLevel, message, originalConsole.debug || originalConsole.info, arguments, ONCE);
533
+ once(logLevel, message, ...args) {
534
+ return this._log("once", logLevel, message, args, {
535
+ method: originalConsole.debug || originalConsole.info,
536
+ once: true
537
+ });
411
538
  }
412
539
  /** Logs an object as a table */
413
540
  table(logLevel, table, columns) {
414
541
  if (table) {
415
- return this._getLogFunction(logLevel, table, console.table || noop, columns && [columns], {
542
+ return this._log("table", logLevel, table, columns && [columns] || [], {
543
+ method: console.table || noop,
416
544
  tag: getTableHeader(table)
417
545
  });
418
546
  }
419
547
  return noop;
420
548
  }
421
549
  time(logLevel, message) {
422
- return this._getLogFunction(logLevel, message, console.time ? console.time : console.info);
550
+ return this._log("time", logLevel, message, [], {
551
+ method: console.time ? console.time : console.info
552
+ });
423
553
  }
424
554
  timeEnd(logLevel, message) {
425
- return this._getLogFunction(logLevel, message, console.timeEnd ? console.timeEnd : console.info);
555
+ return this._log("time", logLevel, message, [], {
556
+ method: console.timeEnd ? console.timeEnd : console.info
557
+ });
426
558
  }
427
559
  timeStamp(logLevel, message) {
428
- return this._getLogFunction(logLevel, message, console.timeStamp || noop);
560
+ return this._log("time", logLevel, message, [], {
561
+ method: console.timeStamp || noop
562
+ });
429
563
  }
430
564
  group(logLevel, message, opts = { collapsed: false }) {
431
- const options = normalizeArguments({ logLevel, message, opts });
432
- const { collapsed } = opts;
433
- options.method = (collapsed ? console.groupCollapsed : console.group) || console.info;
434
- return this._getLogFunction(options);
565
+ const method = (opts.collapsed ? console.groupCollapsed : console.group) || console.info;
566
+ return this._log("group", logLevel, message, [], { method });
435
567
  }
436
568
  groupCollapsed(logLevel, message, opts = {}) {
437
569
  return this.group(logLevel, message, Object.assign({}, opts, { collapsed: true }));
438
570
  }
439
571
  groupEnd(logLevel) {
440
- return this._getLogFunction(logLevel, "", console.groupEnd || noop);
572
+ return this._log("groupEnd", logLevel, "", [], {
573
+ method: console.groupEnd || noop
574
+ });
441
575
  }
442
576
  // EXPERIMENTAL
443
577
  withGroup(logLevel, message, func) {
@@ -453,78 +587,34 @@ var __exports__ = (() => {
453
587
  console.trace();
454
588
  }
455
589
  }
456
- // PRIVATE METHODS
457
- /** Deduces log level from a variety of arguments */
458
590
  _shouldLog(logLevel) {
459
- return this.isEnabled() && this.getLevel() >= normalizeLogLevel(logLevel);
460
- }
461
- _getLogFunction(logLevel, message, method, args, opts) {
462
- if (this._shouldLog(logLevel)) {
463
- opts = normalizeArguments({ logLevel, message, args, opts });
464
- method = method || opts.method;
465
- assert2(method);
466
- opts.total = this.getTotal();
467
- opts.delta = this.getDelta();
468
- this._deltaTs = getHiResTimestamp();
469
- const tag = opts.tag || opts.message;
470
- if (opts.once && tag) {
471
- if (!cache[tag]) {
472
- cache[tag] = getHiResTimestamp();
473
- } else {
474
- return noop;
475
- }
476
- }
477
- message = decorateMessage(this.id, opts.message, opts);
478
- return method.bind(console, message, ...opts.args);
479
- }
480
- return noop;
591
+ return this.isEnabled() && super._shouldLog(logLevel);
481
592
  }
482
- };
483
- Log.VERSION = VERSION;
484
- function normalizeLogLevel(logLevel) {
485
- if (!logLevel) {
486
- return 0;
487
- }
488
- let resolvedLevel;
489
- switch (typeof logLevel) {
490
- case "number":
491
- resolvedLevel = logLevel;
492
- break;
493
- case "object":
494
- resolvedLevel = logLevel.logLevel || logLevel.priority || 0;
495
- break;
496
- default:
497
- return 0;
498
- }
499
- assert2(Number.isFinite(resolvedLevel) && resolvedLevel >= 0);
500
- return resolvedLevel;
501
- }
502
- function normalizeArguments(opts) {
503
- const { logLevel, message } = opts;
504
- opts.logLevel = normalizeLogLevel(logLevel);
505
- const args = opts.args ? Array.from(opts.args) : [];
506
- while (args.length && args.shift() !== message) {
593
+ _emit(_type, normalized) {
594
+ const method = normalized.method;
595
+ assert2(method);
596
+ normalized.total = this.getTotal();
597
+ normalized.delta = this.getDelta();
598
+ this._deltaTs = getHiResTimestamp();
599
+ const message = decorateMessage(this.id, normalized.message, normalized);
600
+ return method.bind(console, message, ...normalized.args);
507
601
  }
508
- switch (typeof logLevel) {
509
- case "string":
510
- case "function":
511
- if (message !== void 0) {
512
- args.unshift(message);
513
- }
514
- opts.message = logLevel;
515
- break;
516
- case "object":
517
- Object.assign(opts, logLevel);
518
- break;
519
- default:
602
+ _getConfiguration() {
603
+ if (!this._storage.config[this.id]) {
604
+ this._updateConfiguration(DEFAULT_LOG_CONFIGURATION);
605
+ }
606
+ return this._storage.config[this.id];
520
607
  }
521
- if (typeof opts.message === "function") {
522
- opts.message = opts.message();
608
+ _updateConfiguration(configuration) {
609
+ const currentConfiguration = this._storage.config[this.id] || {
610
+ ...DEFAULT_LOG_CONFIGURATION
611
+ };
612
+ this._storage.setConfiguration({
613
+ [this.id]: { ...currentConfiguration, ...configuration }
614
+ });
523
615
  }
524
- const messageType = typeof opts.message;
525
- assert2(messageType === "string" || messageType === "object");
526
- return Object.assign(opts, { args }, opts.opts);
527
- }
616
+ };
617
+ ProbeLog.VERSION = VERSION;
528
618
  function decorateMessage(id, message, opts) {
529
619
  if (typeof message === "string") {
530
620
  const time = opts.time ? leftPad(formatTime(opts.total)) : "";
@@ -546,17 +636,17 @@ var __exports__ = (() => {
546
636
  globalThis.probe = {};
547
637
 
548
638
  // ../../node_modules/@probe.gl/log/dist/index.js
549
- var dist_default = new Log({ id: "@probe.gl/log" });
639
+ var dist_default = new ProbeLog({ id: "@probe.gl/log" });
550
640
 
551
641
  // ../loader-utils/src/lib/log-utils/log.ts
552
642
  var VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
553
643
  var version = VERSION2[0] >= "0" && VERSION2[0] <= "9" ? `v${VERSION2}` : "";
554
644
  function createLog() {
555
- const log2 = new Log({ id: "loaders.gl" });
556
- globalThis.loaders = globalThis.loaders || {};
645
+ const log2 = new ProbeLog({ id: "loaders.gl" });
646
+ globalThis.loaders ||= {};
557
647
  globalThis.loaders.log = log2;
558
648
  globalThis.loaders.version = version;
559
- globalThis.probe = globalThis.probe || {};
649
+ globalThis.probe ||= {};
560
650
  globalThis.probe.loaders = log2;
561
651
  return log2;
562
652
  }
@@ -2321,7 +2411,7 @@ var __exports__ = (() => {
2321
2411
  }
2322
2412
 
2323
2413
  // ../core/src/lib/loader-utils/loggers.ts
2324
- var probeLog = new Log({ id: "loaders.gl" });
2414
+ var probeLog = new ProbeLog({ id: "loaders.gl" });
2325
2415
  var NullLog = class {
2326
2416
  log() {
2327
2417
  return () => {
@@ -2423,18 +2513,18 @@ var __exports__ = (() => {
2423
2513
  dataType: "(no longer used)",
2424
2514
  uri: "baseUri",
2425
2515
  // Warn if fetch options are used on toplevel
2426
- method: "fetch.method",
2427
- headers: "fetch.headers",
2428
- body: "fetch.body",
2429
- mode: "fetch.mode",
2430
- credentials: "fetch.credentials",
2431
- cache: "fetch.cache",
2432
- redirect: "fetch.redirect",
2433
- referrer: "fetch.referrer",
2434
- referrerPolicy: "fetch.referrerPolicy",
2435
- integrity: "fetch.integrity",
2436
- keepalive: "fetch.keepalive",
2437
- signal: "fetch.signal"
2516
+ method: "core.fetch.method",
2517
+ headers: "core.fetch.headers",
2518
+ body: "core.fetch.body",
2519
+ mode: "core.fetch.mode",
2520
+ credentials: "core.fetch.credentials",
2521
+ cache: "core.fetch.cache",
2522
+ redirect: "core.fetch.redirect",
2523
+ referrer: "core.fetch.referrer",
2524
+ referrerPolicy: "core.fetch.referrerPolicy",
2525
+ integrity: "core.fetch.integrity",
2526
+ keepalive: "core.fetch.keepalive",
2527
+ signal: "core.fetch.signal"
2438
2528
  };
2439
2529
 
2440
2530
  // ../core/src/lib/loader-utils/option-utils.ts
@@ -2520,14 +2610,18 @@ var __exports__ = (() => {
2520
2610
  const isWorkerUrlOption = key === "workerUrl" && id;
2521
2611
  if (!(key in defaultOptions) && !isBaseUriOption && !isWorkerUrlOption) {
2522
2612
  if (key in deprecatedOptions) {
2523
- probeLog.warn(
2524
- `${loaderName} loader option '${prefix}${key}' no longer supported, use '${deprecatedOptions[key]}'`
2525
- )();
2613
+ if (probeLog.level > 0) {
2614
+ probeLog.warn(
2615
+ `${loaderName} loader option '${prefix}${key}' no longer supported, use '${deprecatedOptions[key]}'`
2616
+ )();
2617
+ }
2526
2618
  } else if (!isSubOptions) {
2527
- const suggestion = findSimilarOption(key, loaders);
2528
- probeLog.warn(
2529
- `${loaderName} loader option '${prefix}${key}' not recognized. ${suggestion}`
2530
- )();
2619
+ if (probeLog.level > 0) {
2620
+ const suggestion = findSimilarOption(key, loaders);
2621
+ probeLog.warn(
2622
+ `${loaderName} loader option '${prefix}${key}' not recognized. ${suggestion}`
2623
+ )();
2624
+ }
2531
2625
  }
2532
2626
  }
2533
2627
  }
package/dist/dist.min.js CHANGED
@@ -4,12 +4,12 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['loaders'] = factory();
6
6
  else root['loaders'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var Te=Object.defineProperty;var Yt=Object.getOwnPropertyDescriptor;var Zt=Object.getOwnPropertyNames;var Xt=Object.prototype.hasOwnProperty;var eo=(e,r,t)=>r in e?Te(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var Mr=(e,r)=>{for(var t in r)Te(e,t,{get:r[t],enumerable:!0})},ro=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Zt(r))!Xt.call(e,n)&&n!==t&&Te(e,n,{get:()=>r[n],enumerable:!(o=Yt(r,n))||o.enumerable});return e};var to=e=>ro(Te({},"__esModule",{value:!0}),e);var Wr=(e,r,t)=>(eo(e,typeof r!="symbol"?r+"":r,t),t);var An={};Mr(An,{FetchError:()=>Z,JSONLoader:()=>lr,NullLoader:()=>Qt,NullWorkerLoader:()=>Ht,RequestScheduler:()=>Y,_BrowserFileSystem:()=>Ne,_fetchProgress:()=>Jt,_selectSource:()=>qt,_unregisterLoaders:()=>kt,assert:()=>z,concatenateArrayBuffersAsync:()=>U,createDataSource:()=>zt,document:()=>Ue,encode:()=>$t,encodeInBatches:()=>vt,encodeSync:()=>Rr,encodeTable:()=>Er,encodeTableAsText:()=>Pt,encodeTableInBatches:()=>Lr,encodeText:()=>Dt,encodeTextSync:()=>jt,encodeURLtoURL:()=>Ir,fetchFile:()=>j,forEach:()=>ar,getLoaderOptions:()=>B,getPathPrefix:()=>ur,global:()=>Pe,isAsyncIterable:()=>H,isBrowser:()=>p,isIterable:()=>C,isIterator:()=>Q,isPromise:()=>ae,isPureObject:()=>G,isReadableStream:()=>L,isResponse:()=>l,isWorker:()=>$e,isWritableStream:()=>qe,load:()=>Nt,loadInBatches:()=>Ct,makeIterator:()=>oe,makeLineIterator:()=>sr,makeNumberedLineIterator:()=>ir,makeStream:()=>Vt,makeTextDecoderIterator:()=>or,makeTextEncoderIterator:()=>nr,parse:()=>k,parseInBatches:()=>M,parseSync:()=>Wt,readArrayBuffer:()=>ht,registerLoaders:()=>Tt,resolvePath:()=>I,selectLoader:()=>te,selectLoaderSync:()=>re,self:()=>Fe,setLoaderOptions:()=>br,setPathPrefix:()=>fr,window:()=>Ce});function z(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var x={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Fe=x.self||x.window||x.global||{},Ce=x.window||x.self||x.global||{},Pe=x.global||x.self||x.window||{},Ue=x.document||{};var p=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser),$e=typeof importScripts=="function",Nr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),oo=Nr&&parseFloat(Nr[1])||0;var Ae=globalThis,no=globalThis.document||{},ke=globalThis.process||{},so=globalThis.console,En=globalThis.navigator||{};function Fr(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let r=typeof navigator<"u"&&navigator.userAgent,t=e||r;return Boolean(t&&t.indexOf("Electron")>=0)}function W(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Fr()}var De="4.0.7";function ao(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var Se=class{constructor(r,t,o="sessionStorage"){this.storage=ao(o),this.id=r,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(r){if(Object.assign(this.config,r),this.storage){let t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let r={};if(this.storage){let t=this.storage.getItem(this.id);r=t?JSON.parse(t):{}}return Object.assign(this.config,r),this}};function Cr(e){let r;return e<10?r=`${e.toFixed(2)}ms`:e<100?r=`${e.toFixed(1)}ms`:e<1e3?r=`${e.toFixed(0)}ms`:r=`${(e/1e3).toFixed(2)}s`,r}function Pr(e,r=8){let t=Math.max(r-e.length,0);return`${" ".repeat(t)}${e}`}var _e;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(_e||(_e={}));var co=10;function Ur(e){return typeof e!="string"?e:(e=e.toUpperCase(),_e[e]||_e.WHITE)}function $r(e,r,t){return!W&&typeof e=="string"&&(r&&(e=`\x1B[${Ur(r)}m${e}\x1B[39m`),t&&(e=`\x1B[${Ur(t)+co}m${e}\x1B[49m`)),e}function Dr(e,r=["constructor"]){let t=Object.getPrototypeOf(e),o=Object.getOwnPropertyNames(t),n=e;for(let s of o){let i=n[s];typeof i=="function"&&(r.find(a=>s===a)||(n[s]=i.bind(e)))}}function ie(e,r){if(!e)throw new Error(r||"Assertion failed")}function N(){let e;if(W()&&Ae.performance)e=Ae?.performance?.now?.();else if("hrtime"in ke){let r=ke?.hrtime?.();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var q={debug:W()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},fo={enabled:!0,level:0};function V(){}var jr={},vr={once:!0},T=class{constructor({id:r}={id:""}){this.VERSION=De,this._startTs=N(),this._deltaTs=N(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new Se(`__probe-${this.id}__`,fo),this.timeStamp(`${this.id} started`),Dr(this),Object.seal(this)}set level(r){this.setLevel(r)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((N()-this._startTs).toPrecision(10))}getDelta(){return Number((N()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(r=!0){return this._storage.setConfiguration({enabled:r}),this}setLevel(r){return this._storage.setConfiguration({level:r}),this}get(r){return this._storage.config[r]}set(r,t){this._storage.setConfiguration({[r]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(r,t){if(!r)throw new Error(t||"Assertion failed")}warn(r){return this._getLogFunction(0,r,q.warn,arguments,vr)}error(r){return this._getLogFunction(0,r,q.error,arguments)}deprecated(r,t){return this.warn(`\`${r}\` is deprecated and will be removed in a later version. Use \`${t}\` instead`)}removed(r,t){return this.error(`\`${r}\` has been removed. Use \`${t}\` instead`)}probe(r,t){return this._getLogFunction(r,t,q.log,arguments,{time:!0,once:!0})}log(r,t){return this._getLogFunction(r,t,q.debug,arguments)}info(r,t){return this._getLogFunction(r,t,console.info,arguments)}once(r,t){return this._getLogFunction(r,t,q.debug||q.info,arguments,vr)}table(r,t,o){return t?this._getLogFunction(r,t,console.table||V,o&&[o],{tag:lo(t)}):V}time(r,t){return this._getLogFunction(r,t,console.time?console.time:console.info)}timeEnd(r,t){return this._getLogFunction(r,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(r,t){return this._getLogFunction(r,t,console.timeStamp||V)}group(r,t,o={collapsed:!1}){let n=zr({logLevel:r,message:t,opts:o}),{collapsed:s}=o;return n.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}groupCollapsed(r,t,o={}){return this.group(r,t,Object.assign({},o,{collapsed:!0}))}groupEnd(r){return this._getLogFunction(r,"",console.groupEnd||V)}withGroup(r,t,o){this.group(r,t)();try{o()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&this.getLevel()>=qr(r)}_getLogFunction(r,t,o,n,s){if(this._shouldLog(r)){s=zr({logLevel:r,message:t,args:n,opts:s}),o=o||s.method,ie(o),s.total=this.getTotal(),s.delta=this.getDelta(),this._deltaTs=N();let i=s.tag||s.message;if(s.once&&i)if(!jr[i])jr[i]=N();else return V;return t=uo(this.id,s.message,s),o.bind(console,t,...s.args)}return V}};T.VERSION=De;function qr(e){if(!e)return 0;let r;switch(typeof e){case"number":r=e;break;case"object":r=e.logLevel||e.priority||0;break;default:return 0}return ie(Number.isFinite(r)&&r>=0),r}function zr(e){let{logLevel:r,message:t}=e;e.logLevel=qr(r);let o=e.args?Array.from(e.args):[];for(;o.length&&o.shift()!==t;);switch(typeof r){case"string":case"function":t!==void 0&&o.unshift(t),e.message=r;break;case"object":Object.assign(e,r);break;default:}typeof e.message=="function"&&(e.message=e.message());let n=typeof e.message;return ie(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}function uo(e,r,t){if(typeof r=="string"){let o=t.time?Pr(Cr(t.total)):"";r=t.time?`${e}: ${o} ${r}`:`${e}: ${r}`,r=$r(r,t.color,t.background)}return r}function lo(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}globalThis.probe={};var Zn=new T({id:"@probe.gl/log"});var je="4.4.0-alpha.13",mo=je[0]>="0"&&je[0]<="9"?`v${je}`:"";function po(){let e=new T({id:"loaders.gl"});return globalThis.loaders=globalThis.loaders||{},globalThis.loaders.log=e,globalThis.loaders.version=mo,globalThis.probe=globalThis.probe||{},globalThis.probe.loaders=e,e}var ve=po();var Vr=e=>typeof e=="boolean",u=e=>typeof e=="function",d=e=>e!==null&&typeof e=="object",G=e=>d(e)&&e.constructor==={}.constructor;var ze=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,F=e=>d(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function",ae=e=>d(e)&&"then"in e&&u(e.then),C=e=>Boolean(e)&&u(e[Symbol.iterator]),H=e=>Boolean(e)&&u(e[Symbol.asyncIterator]),Q=e=>Boolean(e)&&u(e.next),l=e=>typeof Response<"u"&&e instanceof Response||d(e)&&u(e.arrayBuffer)&&u(e.text)&&u(e.json);var h=e=>typeof Blob<"u"&&e instanceof Blob;var Gr=e=>d(e)&&u(e.abort)&&u(e.getWriter),Hr=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||d(e)&&u(e.tee)&&u(e.cancel)&&u(e.getReader),Qr=e=>d(e)&&u(e.end)&&u(e.write)&&Vr(e.writable),Jr=e=>d(e)&&u(e.read)&&u(e.pipe)&&Vr(e.readable),L=e=>Hr(e)||Jr(e),qe=e=>Gr(e)||Qr(e);function Ve(e,r){return Kr(e||{},r)}function Kr(e,r,t=0){if(t>3)return r;let o={...e};for(let[n,s]of Object.entries(r))s&&typeof s=="object"&&!Array.isArray(s)?o[n]=Kr(o[n]||{},r[n],t+1):o[n]=r[n];return o}function Ge(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}var Yr="beta";function ho(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.13"),globalThis._loadersgl_.version}var ce=ho();function m(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var A={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},us=A.self||A.window||A.global||{},ls=A.window||A.self||A.global||{},ms=A.global||A.self||A.window||{},ps=A.document||{};var y=typeof process!="object"||String(process)!=="[object process]"||process.browser;var Xr=typeof window<"u"&&typeof window.orientation<"u",Zr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),hs=Zr&&parseFloat(Zr[1])||0;var fe=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(r,t){this.name=r,this.workerThread=t,this.result=new Promise((o,n)=>{this._resolve=o,this._reject=n})}postMessage(r,t){this.workerThread.postMessage({source:"loaders.gl",type:r,payload:t})}done(r){m(this.isRunning),this.isRunning=!1,this._resolve(r)}error(r){m(this.isRunning),this.isRunning=!1,this._reject(r)}};var J=class{terminate(){}};var He=new Map;function et(e){m(e.source&&!e.url||!e.source&&e.url);let r=He.get(e.source||e.url);return r||(e.url&&(r=yo(e.url),He.set(e.url,r)),e.source&&(r=rt(e.source),He.set(e.source,r))),m(r),r}function yo(e){if(!e.startsWith("http"))return e;let r=go(e);return rt(r)}function rt(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function go(e){return`try {
7
+ "use strict";var __exports__=(()=>{var Ae=Object.defineProperty;var Yt=Object.getOwnPropertyDescriptor;var Zt=Object.getOwnPropertyNames;var Xt=Object.prototype.hasOwnProperty;var eo=(e,r,t)=>r in e?Ae(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var Nr=(e,r)=>{for(var t in r)Ae(e,t,{get:r[t],enumerable:!0})},ro=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Zt(r))!Xt.call(e,n)&&n!==t&&Ae(e,n,{get:()=>r[n],enumerable:!(o=Yt(r,n))||o.enumerable});return e};var to=e=>ro(Ae({},"__esModule",{value:!0}),e);var Pr=(e,r,t)=>(eo(e,typeof r!="symbol"?r+"":r,t),t);var Tn={};Nr(Tn,{FetchError:()=>X,JSONLoader:()=>dr,NullLoader:()=>Qt,NullWorkerLoader:()=>Ht,RequestScheduler:()=>Z,_BrowserFileSystem:()=>Pe,_fetchProgress:()=>Jt,_selectSource:()=>qt,_unregisterLoaders:()=>_t,assert:()=>z,concatenateArrayBuffersAsync:()=>U,createDataSource:()=>zt,document:()=>ve,encode:()=>$t,encodeInBatches:()=>jt,encodeSync:()=>Cr,encodeTable:()=>Ir,encodeTableAsText:()=>Ft,encodeTableInBatches:()=>Or,encodeText:()=>vt,encodeTextSync:()=>Dt,encodeURLtoURL:()=>Mr,fetchFile:()=>D,forEach:()=>lr,getLoaderOptions:()=>B,getPathPrefix:()=>hr,global:()=>$e,isAsyncIterable:()=>Q,isBrowser:()=>p,isIterable:()=>P,isIterator:()=>J,isPromise:()=>ae,isPureObject:()=>H,isReadableStream:()=>L,isResponse:()=>l,isWorker:()=>De,isWritableStream:()=>Qe,load:()=>Wt,loadInBatches:()=>Pt,makeIterator:()=>ne,makeLineIterator:()=>fr,makeNumberedLineIterator:()=>ur,makeStream:()=>Vt,makeTextDecoderIterator:()=>ar,makeTextEncoderIterator:()=>cr,parse:()=>_,parseInBatches:()=>C,parseSync:()=>Mt,readArrayBuffer:()=>ht,registerLoaders:()=>Tt,resolvePath:()=>I,selectLoader:()=>oe,selectLoaderSync:()=>te,self:()=>Fe,setLoaderOptions:()=>Ar,setPathPrefix:()=>pr,window:()=>Ue});function z(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var T={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Fe=T.self||T.window||T.global||{},Ue=T.window||T.self||T.global||{},$e=T.global||T.self||T.window||{},ve=T.document||{};var p=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser),De=typeof importScripts=="function",Fr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),oo=Fr&&parseFloat(Fr[1])||0;var _e=globalThis,no=globalThis.document||{},ke=globalThis.process||{},so=globalThis.console,Bn=globalThis.navigator||{};function Ur(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let r=typeof navigator<"u"&&navigator.userAgent,t=e||r;return Boolean(t&&t.indexOf("Electron")>=0)}function M(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Ur()}var je="4.1.1";function q(e,r){if(!e)throw new Error(r||"Assertion failed")}function ze(e){if(!e)return 0;let r;switch(typeof e){case"number":r=e;break;case"object":r=e.logLevel||e.priority||0;break;default:return 0}return q(Number.isFinite(r)&&r>=0),r}function $r(e){let{logLevel:r,message:t}=e;e.logLevel=ze(r);let o=e.args?Array.from(e.args):[];for(;o.length&&o.shift()!==t;);switch(typeof r){case"string":case"function":t!==void 0&&o.unshift(t),e.message=r;break;case"object":Object.assign(e,r);break;default:}typeof e.message=="function"&&(e.message=e.message());let n=typeof e.message;return q(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}var W=()=>{},Se=class{constructor({level:r=0}={}){this.userData={},this._onceCache=new Set,this._level=r}set level(r){this.setLevel(r)}get level(){return this.getLevel()}setLevel(r){return this._level=r,this}getLevel(){return this._level}warn(r,...t){return this._log("warn",0,r,t,{once:!0})}error(r,...t){return this._log("error",0,r,t)}log(r,t,...o){return this._log("log",r,t,o)}info(r,t,...o){return this._log("info",r,t,o)}once(r,t,...o){return this._log("once",r,t,o,{once:!0})}_log(r,t,o,n,s={}){let i=$r({logLevel:t,message:o,args:this._buildArgs(t,o,n),opts:s});return this._createLogFunction(r,i,s)}_buildArgs(r,t,o){return[r,t,...o]}_createLogFunction(r,t,o){if(!this._shouldLog(t.logLevel))return W;let n=this._getOnceTag(o.tag??t.tag??t.message);if((o.once||t.once)&&n!==void 0){if(this._onceCache.has(n))return W;this._onceCache.add(n)}return this._emit(r,t)}_shouldLog(r){return this.getLevel()>=ze(r)}_getOnceTag(r){if(r!==void 0)try{return typeof r=="string"?r:String(r)}catch{return}}};function ao(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var Be=class{constructor(r,t,o="sessionStorage"){this.storage=ao(o),this.id=r,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(r){if(Object.assign(this.config,r),this.storage){let t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let r={};if(this.storage){let t=this.storage.getItem(this.id);r=t?JSON.parse(t):{}}return Object.assign(this.config,r),this}};function vr(e){let r;return e<10?r=`${e.toFixed(2)}ms`:e<100?r=`${e.toFixed(1)}ms`:e<1e3?r=`${e.toFixed(0)}ms`:r=`${(e/1e3).toFixed(2)}s`,r}function Dr(e,r=8){let t=Math.max(r-e.length,0);return`${" ".repeat(t)}${e}`}var Ee;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Ee||(Ee={}));var co=10;function jr(e){return typeof e!="string"?e:(e=e.toUpperCase(),Ee[e]||Ee.WHITE)}function zr(e,r,t){return!M&&typeof e=="string"&&(r&&(e=`\x1B[${jr(r)}m${e}\x1B[39m`),t&&(e=`\x1B[${jr(t)+co}m${e}\x1B[49m`)),e}function qr(e,r=["constructor"]){let t=Object.getPrototypeOf(e),o=Object.getOwnPropertyNames(t),n=e;for(let s of o){let i=n[s];typeof i=="function"&&(r.find(a=>s===a)||(n[s]=i.bind(e)))}}function V(){let e;if(M()&&_e.performance)e=_e?.performance?.now?.();else if("hrtime"in ke){let r=ke?.hrtime?.();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var G={debug:M()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},qe={enabled:!0,level:0},w=class extends Se{constructor({id:r}={id:""}){super({level:0}),this.VERSION=je,this._startTs=V(),this._deltaTs=V(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new Be(`__probe-${this.id}__`,{[this.id]:qe}),this.timeStamp(`${this.id} started`),qr(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((V()-this._startTs).toPrecision(10))}getDelta(){return Number((V()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(r=!0){return this._updateConfiguration({enabled:r}),this}setLevel(r){return this._updateConfiguration({level:r}),this}get(r){return this._getConfiguration()[r]}set(r,t){this._updateConfiguration({[r]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(r,t){if(!r)throw new Error(t||"Assertion failed")}warn(r,...t){return this._log("warn",0,r,t,{method:G.warn,once:!0})}error(r,...t){return this._log("error",0,r,t,{method:G.error})}deprecated(r,t){return this.warn(`\`${r}\` is deprecated and will be removed in a later version. Use \`${t}\` instead`)}removed(r,t){return this.error(`\`${r}\` has been removed. Use \`${t}\` instead`)}probe(r,t,...o){return this._log("log",r,t,o,{method:G.log,time:!0,once:!0})}log(r,t,...o){return this._log("log",r,t,o,{method:G.debug})}info(r,t,...o){return this._log("info",r,t,o,{method:console.info})}once(r,t,...o){return this._log("once",r,t,o,{method:G.debug||G.info,once:!0})}table(r,t,o){return t?this._log("table",r,t,o&&[o]||[],{method:console.table||W,tag:uo(t)}):W}time(r,t){return this._log("time",r,t,[],{method:console.time?console.time:console.info})}timeEnd(r,t){return this._log("time",r,t,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(r,t){return this._log("time",r,t,[],{method:console.timeStamp||W})}group(r,t,o={collapsed:!1}){let n=(o.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",r,t,[],{method:n})}groupCollapsed(r,t,o={}){return this.group(r,t,Object.assign({},o,{collapsed:!0}))}groupEnd(r){return this._log("groupEnd",r,"",[],{method:console.groupEnd||W})}withGroup(r,t,o){this.group(r,t)();try{o()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&super._shouldLog(r)}_emit(r,t){let o=t.method;q(o),t.total=this.getTotal(),t.delta=this.getDelta(),this._deltaTs=V();let n=fo(this.id,t.message,t);return o.bind(console,n,...t.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(qe),this._storage.config[this.id]}_updateConfiguration(r){let t=this._storage.config[this.id]||{...qe};this._storage.setConfiguration({[this.id]:{...t,...r}})}};w.VERSION=je;function fo(e,r,t){if(typeof r=="string"){let o=t.time?Dr(vr(t.total)):"";r=t.time?`${e}: ${o} ${r}`:`${e}: ${r}`,r=zr(r,t.color,t.background)}return r}function uo(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}globalThis.probe={};var ts=new w({id:"@probe.gl/log"});var Ve="4.4.0-alpha.14",lo=Ve[0]>="0"&&Ve[0]<="9"?`v${Ve}`:"";function mo(){let e=new w({id:"loaders.gl"});return globalThis.loaders||={},globalThis.loaders.log=e,globalThis.loaders.version=lo,globalThis.probe||={},globalThis.probe.loaders=e,e}var Ge=mo();var Vr=e=>typeof e=="boolean",u=e=>typeof e=="function",d=e=>e!==null&&typeof e=="object",H=e=>d(e)&&e.constructor==={}.constructor;var He=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,N=e=>d(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function",ae=e=>d(e)&&"then"in e&&u(e.then),P=e=>Boolean(e)&&u(e[Symbol.iterator]),Q=e=>Boolean(e)&&u(e[Symbol.asyncIterator]),J=e=>Boolean(e)&&u(e.next),l=e=>typeof Response<"u"&&e instanceof Response||d(e)&&u(e.arrayBuffer)&&u(e.text)&&u(e.json);var h=e=>typeof Blob<"u"&&e instanceof Blob;var Gr=e=>d(e)&&u(e.abort)&&u(e.getWriter),Hr=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||d(e)&&u(e.tee)&&u(e.cancel)&&u(e.getReader),Qr=e=>d(e)&&u(e.end)&&u(e.write)&&Vr(e.writable),Jr=e=>d(e)&&u(e.read)&&u(e.pipe)&&Vr(e.readable),L=e=>Hr(e)||Jr(e),Qe=e=>Gr(e)||Qr(e);function Je(e,r){return Kr(e||{},r)}function Kr(e,r,t=0){if(t>3)return r;let o={...e};for(let[n,s]of Object.entries(r))s&&typeof s=="object"&&!Array.isArray(s)?o[n]=Kr(o[n]||{},r[n],t+1):o[n]=r[n];return o}function Ke(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}var Yr="beta";function po(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.14"),globalThis._loadersgl_.version}var ce=po();function m(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var A={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},hs=A.self||A.window||A.global||{},ds=A.window||A.self||A.global||{},ys=A.global||A.self||A.window||{},gs=A.document||{};var y=typeof process!="object"||String(process)!=="[object process]"||process.browser;var Xr=typeof window<"u"&&typeof window.orientation<"u",Zr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),ws=Zr&&parseFloat(Zr[1])||0;var fe=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(r,t){this.name=r,this.workerThread=t,this.result=new Promise((o,n)=>{this._resolve=o,this._reject=n})}postMessage(r,t){this.workerThread.postMessage({source:"loaders.gl",type:r,payload:t})}done(r){m(this.isRunning),this.isRunning=!1,this._resolve(r)}error(r){m(this.isRunning),this.isRunning=!1,this._reject(r)}};var K=class{terminate(){}};var Ye=new Map;function et(e){m(e.source&&!e.url||!e.source&&e.url);let r=Ye.get(e.source||e.url);return r||(e.url&&(r=ho(e.url),Ye.set(e.url,r)),e.source&&(r=rt(e.source),Ye.set(e.source,r))),m(r),r}function ho(e){if(!e.startsWith("http"))return e;let r=yo(e);return rt(r)}function rt(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function yo(e){return`try {
8
8
  importScripts('${e}');
9
9
  } catch (error) {
10
10
  console.error(error);
11
11
  throw error;
12
- }`}function Qe(e,r=!0,t){let o=t||new Set;if(e){if(tt(e))o.add(e);else if(tt(e.buffer))o.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(r&&typeof e=="object")for(let n in e)Qe(e[n],r,o)}}return t===void 0?Array.from(o):[]}function tt(e){return e?e instanceof ArrayBuffer||typeof MessagePort<"u"&&e instanceof MessagePort||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas:!1}function Je(e){if(e===null)return{};let r=Object.assign({},e);return Object.keys(r).forEach(t=>{typeof e[t]=="object"&&!ArrayBuffer.isView(e[t])&&!(e[t]instanceof Array)?r[t]=Je(e[t]):typeof r[t]=="function"||r[t]instanceof RegExp?r[t]={}:r[t]=e[t]}),r}var Ke=()=>{},R=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&y||typeof J<"u"&&!y}constructor(r){let{name:t,source:o,url:n}=r;m(o||n),this.name=t,this.source=o,this.url=n,this.onMessage=Ke,this.onError=s=>console.log(s),this.worker=y?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=Ke,this.onError=Ke,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(r,t){t=t||Qe(r),this.worker.postMessage(r,t)}_getErrorFromErrorEvent(r){let t="Failed to load ";return t+=`worker ${this.name} from ${this.url}. `,r.message&&(t+=`${r.message} in `),r.lineno&&(t+=`:${r.lineno}:${r.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=et({source:this.source,url:this.url});let r=new Worker(this._loadableURL,{name:this.name});return r.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},r.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},r.onmessageerror=t=>console.error(t),r}_createNodeWorker(){let r;if(this.url){let o=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`,n=this.url.endsWith(".ts")||this.url.endsWith(".mjs")?"module":"commonjs";r=new J(o,{eval:!1,type:n})}else if(this.source)r=new J(this.source,{eval:!0});else throw new Error("no worker");return r.on("message",t=>{this.onMessage(t)}),r.on("error",t=>{this.onError(t)}),r.on("exit",t=>{}),r}};var ue=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return R.isSupported()}constructor(r){this.source=r.source,this.url=r.url,this.setProps(r)}destroy(){this.idleQueue.forEach(r=>r.destroy()),this.isDestroyed=!0}setProps(r){this.props={...this.props,...r},r.name!==void 0&&(this.name=r.name),r.maxConcurrency!==void 0&&(this.maxConcurrency=r.maxConcurrency),r.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=r.maxMobileConcurrency),r.reuseWorkers!==void 0&&(this.reuseWorkers=r.reuseWorkers),r.onDebug!==void 0&&(this.onDebug=r.onDebug)}async startJob(r,t=(n,s,i)=>n.done(i),o=(n,s)=>n.error(s)){let n=new Promise(s=>(this.jobQueue.push({name:r,onMessage:t,onError:o,onStart:s}),this));return this._startQueuedJob(),await n}async _startQueuedJob(){if(!this.jobQueue.length)return;let r=this._getAvailableWorker();if(!r)return;let t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:r,backlog:this.jobQueue.length});let o=new fe(t.name,r);r.onMessage=n=>t.onMessage(o,n.type,n.payload),r.onError=n=>t.onError(o,n),t.onStart(o);try{await o.result}catch(n){console.error(`Worker exception: ${n}`)}finally{this.returnWorkerToQueue(r)}}}returnWorkerToQueue(r){!y||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(r.destroy(),this.count--):this.idleQueue.push(r),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let r=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new R({name:r,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return Xr?this.maxMobileConcurrency:this.maxConcurrency}};var wo={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},P=class{props;workerPools=new Map;static isSupported(){return R.isSupported()}static getWorkerFarm(r={}){return P._workerFarm=P._workerFarm||new P({}),P._workerFarm.setProps(r),P._workerFarm}constructor(r){this.props={...wo},this.setProps(r),this.workerPools=new Map}destroy(){for(let r of this.workerPools.values())r.destroy();this.workerPools=new Map}setProps(r){this.props={...this.props,...r};for(let t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(r){let{name:t,source:o,url:n}=r,s=this.workerPools.get(t);return s||(s=new ue({name:t,source:o,url:n}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},g=P;Wr(g,"_workerFarm");function ot(e){let r=e.version!==ce?` (worker-utils@${ce})`:"";return`${e.name}@${e.version}${r}`}function le(e,r={}){let t=r[e.id]||{},o=y?`${e.id}-worker.js`:`${e.id}-worker-node.js`,n=t.workerUrl;if(!n&&e.id==="compression"&&(n=r.workerUrl),(r._workerType||r?.core?._workerType)==="test"&&(y?n=`modules/${e.module}/dist/${o}`:n=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!n){let i=e.version;i==="latest"&&(i=Yr);let a=i?`@${i}`:"";n=`https://unpkg.com/@loaders.gl/${e.module}${a}/dist/${o}`}return m(n),n}async function Ye(e,r,t={},o={}){let n=ot(e),s=g.getWorkerFarm(t),{source:i}=t,a={name:n,source:i};i||(a.url=le(e,t));let c=s.getWorkerPool(a),f=t.jobName||e.name,S=await c.startJob(f,bo.bind(null,o)),E=Je(t);return S.postMessage("process",{input:r,options:E}),(await S.result).result}async function bo(e,r,t,o){switch(t){case"done":r.done(o);break;case"error":r.error(new Error(o.error));break;case"process":let{id:n,input:s,options:i}=o;try{if(!e.process){r.postMessage("error",{id:n,error:"Worker not set up to process on main thread"});return}let a=await e.process(s,i);r.postMessage("done",{id:n,result:a})}catch(a){let c=a instanceof Error?a.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`process-on-worker: unknown message ${t}`)}}function Ze(e,r=ce){m(e,"no worker provided");let t=e.version;return!(!r||!t)}function Xe(e,r){if(!g.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers;if(!y&&!t)return!1;let o=r?.worker??r?.core?.worker;return Boolean(e.worker&&o)}async function er(e,r,t,o,n){let s=e.id,i=le(e,t),c=g.getWorkerFarm(t?.core).getWorkerPool({name:s,url:i});t=JSON.parse(JSON.stringify(t)),o=JSON.parse(JSON.stringify(o||{}));let f=await c.startJob("process-on-worker",xo.bind(null,n));return f.postMessage("process",{input:r,options:t,context:o}),await(await f.result).result}async function xo(e,r,t,o){switch(t){case"done":r.done(o);break;case"error":r.error(new Error(o.error));break;case"process":let{id:n,input:s,options:i}=o;try{let a=await e(s,i);r.postMessage("done",{id:n,result:a})}catch(a){let c=a instanceof Error?a.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}}function rr(e,r){if(!g.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers,o=r?.worker??r?.core?.worker;return!p&&!t?!1:Boolean(e.worker&&o)}function tr(e,r,t){if(t=t||e.byteLength,e.byteLength<t||r.byteLength<t)return!1;let o=new Uint8Array(e),n=new Uint8Array(r);for(let s=0;s<o.length;++s)if(o[s]!==n[s])return!1;return!0}function me(...e){return nt(e)}function nt(e){let r=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=r.reduce((s,i)=>s+i.byteLength,0),o=new Uint8Array(t),n=0;for(let s of r)o.set(s,n),n+=s.byteLength;return o.buffer}async function*or(e,r={}){let t=new TextDecoder(void 0,r);for await(let o of e)yield typeof o=="string"?o:t.decode(o,{stream:!0})}async function*nr(e){let r=new TextEncoder;for await(let t of e)yield typeof t=="string"?r.encode(t).buffer:t}async function*sr(e){let r="";for await(let t of e){r+=t;let o;for(;(o=r.indexOf(`
13
- `))>=0;){let n=r.slice(0,o+1);r=r.slice(o+1),yield n}}r.length>0&&(yield r)}async function*ir(e){let r=1;for await(let t of e)yield{counter:r,line:t},r++}async function ar(e,r){let t=Ao(e);for(;;){let{done:o,value:n}=await t.next();if(o){t.return&&t.return();return}if(r(n))return}}async function U(e){let r=[];for await(let t of e)r.push(To(t));return me(...r)}function To(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:t,byteLength:o}=e;return st(r,t,o)}return st(e)}function st(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function Ao(e){if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e[Symbol.iterator]=="function"){let r=e[Symbol.iterator]();return ko(r)}return e}function ko(e){return{next(r){return Promise.resolve(e.next(r))},return(r){return typeof e.return=="function"?Promise.resolve(e.return(r)):Promise.resolve({done:!0,value:r})},throw(r){return typeof e.throw=="function"?Promise.resolve(e.throw(r)):Promise.reject(r)}}}function pe(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let r=process.hrtime();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var $=class{constructor(r,t){this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=r,this.type=t,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(r){return this.sampleSize=r,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(r){return this._count+=r,this._samples++,this._checkSampling(),this}subtractCount(r){return this._count-=r,this._samples++,this._checkSampling(),this}addTime(r){return this._time+=r,this.lastTiming=r,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=pe(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(pe()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var K=class{constructor(r){this.stats={},this.id=r.id,this.stats={},this._initializeStats(r.stats),Object.seal(this)}get(r,t="count"){return this._getOrCreate({name:r,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(let r of Object.values(this.stats))r.reset();return this}forEach(r){for(let t of Object.values(this.stats))r(t)}getTable(){let r={};return this.forEach(t=>{r[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),r}_initializeStats(r=[]){r.forEach(t=>this._getOrCreate(t))}_getOrCreate(r){let{name:t,type:o}=r,n=this.stats[t];return n||(r instanceof $?n=r:n=new $(t,o),this.stats[t]=n),n}};var So="Queued Requests",_o="Active Requests",Bo="Cancelled Requests",Eo="Queued Requests Ever",Lo="Active Requests Ever",Ro={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0},Y=class{props;stats;activeRequestCount=0;requestQueue=[];requestMap=new Map;updateTimer=null;constructor(r={}){this.props={...Ro,...r},this.stats=new K({id:this.props.id}),this.stats.get(So),this.stats.get(_o),this.stats.get(Bo),this.stats.get(Eo),this.stats.get(Lo)}setProps(r){r.throttleRequests!==void 0&&(this.props.throttleRequests=r.throttleRequests),r.maxRequests!==void 0&&(this.props.maxRequests=r.maxRequests),r.debounceTime!==void 0&&(this.props.debounceTime=r.debounceTime)}scheduleRequest(r,t=()=>0){if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(r))return this.requestMap.get(r);let o={handle:r,priority:0,getPriority:t},n=new Promise(s=>(o.resolve=s,o));return this.requestQueue.push(o),this.requestMap.set(r,n),this._issueNewRequests(),n}_issueRequest(r){let{handle:t,resolve:o}=r,n=!1,s=()=>{n||(n=!0,this.requestMap.delete(t),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,o?o({done:s}):Promise.resolve({done:s})}_issueNewRequests(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=setTimeout(()=>this._issueNewRequestsAsync(),this.props.debounceTime)}_issueNewRequestsAsync(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=null;let r=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(r!==0){this._updateAllRequests();for(let t=0;t<r;++t){let o=this.requestQueue.shift();o&&this._issueRequest(o)}}}_updateAllRequests(){let r=this.requestQueue;for(let t=0;t<r.length;++t){let o=r[t];this._updateRequest(o)||(r.splice(t,1),this.requestMap.delete(o.handle),t--)}r.sort((t,o)=>t.priority-o.priority)}_updateRequest(r){return r.priority=r.getPriority(r.handle),r.priority<0?(r.resolve(null),!1):!0}};var cr="",it={};function fr(e){cr=e}function ur(){return cr}function I(e){for(let r in it)if(e.startsWith(r)){let t=it[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${cr}${e}`),e}var Io="4.4.0-alpha.13",lr={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:Io,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:at,parse:async e=>at(new TextDecoder().decode(e)),options:{}};function at(e){return JSON.parse(e)}function Ee(e){return e&&typeof e=="object"&&e.isBuffer}function O(e){if(Ee(e))return e;if(e instanceof ArrayBuffer)return e;if(ze(e))return Be(e);if(ArrayBuffer.isView(e)){let r=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?r:r.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(typeof e=="string"){let r=e;return new TextEncoder().encode(r).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function _(e){if(e instanceof ArrayBuffer)return e;if(ze(e))return Be(e);let{buffer:r,byteOffset:t,byteLength:o}=e;return r instanceof ArrayBuffer&&t===0&&o===r.byteLength?r:Be(r,t,o)}function Be(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function mr(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}var D={};Mr(D,{dirname:()=>Mo,filename:()=>Oo,join:()=>Wo,resolve:()=>No});function ct(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function Oo(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(r+1):e}function Mo(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function Wo(...e){let r="/";return e=e.map((t,o)=>(o&&(t=t.replace(new RegExp(`^${r}`),"")),o!==e.length-1&&(t=t.replace(new RegExp(`${r}$`),"")),t)),e.join(r)}function No(...e){let r=[];for(let s=0;s<e.length;s++)r[s]=e[s];let t="",o=!1,n;for(let s=r.length-1;s>=-1&&!o;s--){let i;s>=0?i=r[s]:(n===void 0&&(n=ct()),i=n),i.length!==0&&(t=`${i}/${t}`,o=i.charCodeAt(0)===he)}return t=Fo(t,!o),o?`/${t}`:t.length>0?t:"."}var he=47,pr=46;function Fo(e,r){let t="",o=-1,n=0,s,i=!1;for(let a=0;a<=e.length;++a){if(a<e.length)s=e.charCodeAt(a);else{if(s===he)break;s=he}if(s===he){if(!(o===a-1||n===1))if(o!==a-1&&n===2){if(t.length<2||!i||t.charCodeAt(t.length-1)!==pr||t.charCodeAt(t.length-2)!==pr){if(t.length>2){let c=t.length-1,f=c;for(;f>=0&&t.charCodeAt(f)!==he;--f);if(f!==c){t=f===-1?"":t.slice(0,f),o=a,n=0,i=!1;continue}}else if(t.length===2||t.length===1){t="",o=a,n=0,i=!1;continue}}r&&(t.length>0?t+="/..":t="..",i=!0)}else{let c=e.slice(o+1,a);t.length>0?t+=`/${c}`:t=c,i=!1}o=a,n=0}else s===pr&&n!==-1?++n:n=-1}return t}var de=class{handle;size;bigsize;url;constructor(r){this.handle=r instanceof ArrayBuffer?new Blob([r]):r,this.size=r instanceof ArrayBuffer?r.byteLength:r.size,this.bigsize=BigInt(this.size),this.url=r instanceof File?r.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(r,t){return await this.handle.slice(Number(r),Number(r)+Number(t)).arrayBuffer()}};var ye=new Error("Not implemented"),ge=class{handle;size=0;bigsize=0n;url="";constructor(r,t,o){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(r,t,o);throw p?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(r,t){throw ye}async write(r,t,o){throw ye}async stat(){throw ye}async truncate(r){throw ye}async append(r){throw ye}async close(){}};var Z=class extends Error{constructor(r,t){super(r),this.reason=t.reason,this.url=t.url,this.response=t.response}reason;url;response};var Co=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Po=/^([-\w.]+\/[-\w.+]+)/;function hr(e,r){return e.toLowerCase()===r.toLowerCase()}function ft(e){let r=Po.exec(e);return r?r[1]:e}function dr(e){let r=Co.exec(e);return r?r[1]:""}var ut=/\?.*/;function lt(e){let r=e.match(ut);return r&&r[0]}function X(e){return e.replace(ut,"")}function mt(e){if(e.length<50)return e;let r=e.slice(e.length-15);return`${e.substr(0,32)}...${r}`}function w(e){return l(e)?e.url:h(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function we(e){if(l(e)){let r=e.headers.get("content-type")||"",t=X(e.url);return ft(r)||dr(t)}return h(e)?e.type||"":typeof e=="string"?dr(e):""}function pt(e){return l(e)?e.headers["content-length"]||-1:h(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function Le(e){if(l(e))return e;let r={},t=pt(e);t>=0&&(r["content-length"]=String(t));let o=w(e),n=we(e);n&&(r["content-type"]=n);let s=await $o(e);s&&(r["x-first-bytes"]=s),typeof e=="string"&&(e=new TextEncoder().encode(e));let i=new Response(e,{headers:r});return Object.defineProperty(i,"url",{value:o}),i}async function yr(e){if(!e.ok)throw await Uo(e)}async function Uo(e){let r=mt(e.url),t=`Failed to fetch resource (${e.status}) ${e.statusText}: ${r}`;t=t.length>100?`${t.slice(0,100)}...`:t;let o={reason:e.statusText,url:e.url,response:e};try{let n=e.headers.get("Content-Type");o.reason=!e.bodyUsed&&n?.includes("application/json")?await e.json():await e.text()}catch{}return new Z(t,o)}async function $o(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let t=e.slice(0,5);return await new Promise(o=>{let n=new FileReader;n.onload=s=>o(s?.target?.result),n.readAsDataURL(t)})}if(e instanceof ArrayBuffer){let t=e.slice(0,5);return`data:base64,${Do(t)}`}return null}function Do(e){let r="",t=new Uint8Array(e);for(let o=0;o<t.byteLength;o++)r+=String.fromCharCode(t[o]);return btoa(r)}function jo(e){return!vo(e)&&!zo(e)}function vo(e){return e.startsWith("http:")||e.startsWith("https:")}function zo(e){return e.startsWith("data:")}async function j(e,r){if(typeof e=="string"){let t=I(e);return jo(t)&&globalThis.loaders?.fetchNode?globalThis.loaders?.fetchNode(t,r):await fetch(t,r)}return await Le(e)}async function ht(e,r,t){e instanceof Blob||(e=new Blob([e]));let o=e.slice(r,r+t);return await qo(o)}async function qo(e){return await new Promise((r,t)=>{let o=new FileReader;o.onload=n=>r(n?.target?.result),o.onerror=n=>t(n),o.readAsArrayBuffer(e)})}var gr=new T({id:"loaders.gl"}),Re=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},Ie=class{console;constructor(){this.console=console}log(...r){return this.console.log.bind(this.console,...r)}info(...r){return this.console.info.bind(this.console,...r)}warn(...r){return this.console.warn.bind(this.console,...r)}error(...r){return this.console.error.bind(this.console,...r)}};var Oe={core:{baseUri:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,log:new Ie,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:p,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},dt={baseUri:"core.baseUri",fetch:"core.fetch",mimeType:"core.mimeType",fallbackMimeType:"core.fallbackMimeType",ignoreRegisteredLoaders:"core.ignoreRegisteredLoaders",nothrow:"core.nothrow",log:"core.log",useLocalLibraries:"core.useLocalLibraries",CDN:"core.CDN",worker:"core.worker",maxConcurrency:"core.maxConcurrency",maxMobileConcurrency:"core.maxMobileConcurrency",reuseWorkers:"core.reuseWorkers",_nodeWorkers:"core.nodeWorkers",_workerType:"core._workerType",_worker:"core._workerType",limit:"core.limit",_limitMB:"core._limitMB",batchSize:"core.batchSize",batchDebounceMs:"core.batchDebounceMs",metadata:"core.metadata",transforms:"core.transforms",throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};var wr=["baseUri","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","maxConcurrency","maxMobileConcurrency","reuseWorkers","_nodeWorkers","_workerType","limit","_limitMB","batchSize","batchDebounceMs","metadata","transforms"];function be(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function B(){let e=be();return e.globalOptions=e.globalOptions||{...Oe,core:{...Oe.core}},v(e.globalOptions)}function br(e){let r=be(),t=B();r.globalOptions=wt(t,e),Ge(e.modules)}function ee(e,r,t,o){return t=t||[],t=Array.isArray(t)?t:[t],Vo(e,t),v(wt(r,e,o))}function v(e){let r=Qo(e);bt(r);for(let t of wr)r.core&&r.core[t]!==void 0&&delete r[t];return r.core&&r.core._workerType!==void 0&&delete r._worker,r}function Vo(e,r){yt(e,null,Oe,dt,r);for(let t of r){let o=e&&e[t.id]||{},n=t.options&&t.options[t.id]||{},s=t.deprecatedOptions&&t.deprecatedOptions[t.id]||{};yt(o,t.id,n,s,r)}}function yt(e,r,t,o,n){let s=r||"Top level",i=r?`${r}.`:"";for(let a in e){let c=!r&&d(e[a]),f=a==="baseUri"&&!r,S=a==="workerUrl"&&r;if(!(a in t)&&!f&&!S){if(a in o)gr.warn(`${s} loader option '${i}${a}' no longer supported, use '${o[a]}'`)();else if(!c){let E=Go(a,n);gr.warn(`${s} loader option '${i}${a}' not recognized. ${E}`)()}}}}function Go(e,r){let t=e.toLowerCase(),o="";for(let n of r)for(let s in n.options){if(e===s)return`Did you mean '${n.id}.${s}'?`;let i=s.toLowerCase();(t.startsWith(i)||i.startsWith(t))&&(o=o||`Did you mean '${n.id}.${s}'?`)}return o}function wt(e,r,t){let o=e.options||{},n={...o};o.core&&(n.core={...o.core}),bt(n),n.core?.log===null&&(n.core={...n.core,log:new Re}),gt(n,v(B()));let s=v(r);return gt(n,s),Ho(n,t),Jo(n),n}function gt(e,r){for(let t in r)if(t in r){let o=r[t];G(o)&&G(e[t])?e[t]={...e[t],...r[t]}:e[t]=r[t]}}function Ho(e,r){if(!r)return;let t=e.baseUri!==void 0,o=e.core?.baseUri!==void 0;!t&&!o&&(e.core||={},e.core.baseUri=r)}function Qo(e){let r={...e};return e.core&&(r.core={...e.core}),r}function bt(e){for(let t of wr)if(e[t]!==void 0){let n=e.core=e.core||{};n[t]===void 0&&(n[t]=e[t])}let r=e._worker;r!==void 0&&(e.core||={},e.core._workerType===void 0&&(e.core._workerType=r))}function Jo(e){let r=e.core;if(r)for(let t of wr)r[t]!==void 0&&(e[t]=r[t])}function b(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e?.extensions)):!1}function xe(e){z(e,"null loader"),z(b(e),"invalid loader");let r;return Array.isArray(e)&&(r=e[1],e=e[0],e={...e,options:{...e.options,...r}}),(e?.parseTextSync||e?.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var xt=()=>{let e=be();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Tt(e){let r=xt();e=Array.isArray(e)?e:[e];for(let t of e){let o=xe(t);r.find(n=>o===n)||r.unshift(o)}}function At(){return xt()}function kt(){let e=be();e.loaderRegistry=[]}var Ko=/\.([^.]+)$/;async function te(e,r=[],t,o){if(!_t(e))return null;let n=v(t||{});n.core||={};let s=re(e,r,{...n,core:{...n.core,nothrow:!0}},o);if(s)return s;if(h(e)&&(e=await e.slice(0,10).arrayBuffer(),s=re(e,r,n,o)),!s&&!n.core.nothrow)throw new Error(Bt(e));return s}function re(e,r=[],t,o){if(!_t(e))return null;let n=v(t||{});if(n.core||={},r&&!Array.isArray(r))return xe(r);let s=[];r&&(s=s.concat(r)),n.core.ignoreRegisteredLoaders||s.push(...At()),Zo(s);let i=Yo(e,s,n,o);if(!i&&!n.core.nothrow)throw new Error(Bt(e));return i}function Yo(e,r,t,o){let n=w(e),s=we(e),i=X(n)||o?.url,a=null,c="";return t?.core?.mimeType&&(a=xr(r,t?.core?.mimeType),c=`match forced by supplied MIME type ${t?.core?.mimeType}`),a=a||Xo(r,i),c=c||(a?`matched url ${i}`:""),a=a||xr(r,s),c=c||(a?`matched MIME type ${s}`:""),a=a||rn(r,e),c=c||(a?`matched initial data ${Et(e)}`:""),t?.core?.fallbackMimeType&&(a=a||xr(r,t?.core?.fallbackMimeType),c=c||(a?`matched fallback MIME type ${s}`:"")),c&&ve.log(1,`selectLoader selected ${a?.name}: ${c}.`),a}function _t(e){return!(e instanceof Response&&e.status===204)}function Bt(e){let r=w(e),t=we(e),o="No valid loader found (";o+=r?`${D.filename(r)}, `:"no url provided, ",o+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let n=e?Et(e):"";return o+=n?` first bytes: "${n}"`:"first bytes: not available",o+=")",o}function Zo(e){for(let r of e)xe(r)}function Xo(e,r){let t=r&&Ko.exec(r),o=t&&t[1];return o?en(e,o):null}function en(e,r){r=r.toLowerCase();for(let t of e)for(let o of t.extensions)if(o.toLowerCase()===r)return t;return null}function xr(e,r){for(let t of e)if(t.mimeTypes?.some(o=>hr(r,o))||hr(r,`application/x.${t.id}`))return t;return null}function rn(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(tn(r,t))return t}else if(ArrayBuffer.isView(r)){if(St(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&St(r,0,t))return t;return null}function tn(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(o=>e.startsWith(o))}function St(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>on(e,r,t,n))}function on(e,r,t,o){if(F(o))return tr(o,e,o.byteLength);switch(typeof o){case"function":return o(_(e));case"string":let n=Tr(e,r,o.length);return o===n;default:return!1}}function Et(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?Tr(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?Tr(e,0,r):""}function Tr(e,r,t){if(e.byteLength<r+t)return"";let o=new DataView(e),n="";for(let s=0;s<t;s++)n+=String.fromCharCode(o.getUint8(r+s));return n}var nn=256*1024;function*Lt(e,r){let t=r?.chunkSize||nn,o=0,n=new TextEncoder;for(;o<e.length;){let s=Math.min(e.length-o,t),i=e.slice(o,o+s);o+=s,yield _(n.encode(i))}}function*Rt(e,r={}){let{chunkSize:t=262144}=r,o=0;for(;o<e.byteLength;){let n=Math.min(e.byteLength-o,t),s=new ArrayBuffer(n),i=new Uint8Array(e,o,n);new Uint8Array(s).set(i),o+=n,yield s}}async function*It(e,r){let t=r?.chunkSize||1048576,o=0;for(;o<e.size;){let n=o+t,s=await e.slice(o,n).arrayBuffer();o=n,yield s}}function Ar(e,r){return p?sn(e,r):an(e,r)}async function*sn(e,r){let t=e.getReader(),o;try{for(;;){let n=o||t.read();r?._streamReadAhead&&(o=t.read());let{done:s,value:i}=await n;if(s)return;yield O(i)}}catch{t.releaseLock()}}async function*an(e,r){for await(let t of e)yield O(t)}function oe(e,r){if(typeof e=="string")return Lt(e,r);if(e instanceof ArrayBuffer)return Rt(e,r);if(h(e))return It(e,r);if(L(e))return Ar(e,r);if(l(e)){let t=e.body;if(!t)throw new Error("Readable stream not available on Response");return Ar(t,r)}throw new Error("makeIterator")}var Me="Cannot convert supplied data type";function kr(e,r,t){if(r.text&&typeof e=="string")return e;if(Ee(e)&&(e=e.buffer),F(e)){let o=mr(e);return r.text&&!r.binary?new TextDecoder("utf8").decode(o):O(o)}throw new Error(Me)}async function Ot(e,r,t){if(typeof e=="string"||F(e))return kr(e,r,t);if(h(e)&&(e=await Le(e)),l(e))return await yr(e),r.binary?await e.arrayBuffer():await e.text();if(L(e)&&(e=oe(e,t)),C(e)||H(e))return U(e);throw new Error(Me)}async function Mt(e,r){if(ae(e)&&(e=await e),Q(e))return e;if(l(e)){await yr(e);let t=await e.body;if(!t)throw new Error(Me);return oe(t,r)}return h(e)||L(e)?oe(e,r):H(e)||C(e)?e:cn(e)}function cn(e){if(ArrayBuffer.isView(e))return function*(){yield O(e)}();if(F(e))return function*(){yield O(e)}();if(Q(e))return e;if(C(e))return e[Symbol.iterator]();throw new Error(Me)}function ne(e,r){let t=B(),o=e||t,n=o.fetch??o.core?.fetch;return typeof n=="function"?n:d(n)?s=>j(s,n):r?.fetch?r?.fetch:j}function se(e,r,t){if(t)return t;let o={fetch:ne(r,e),...e};if(o.url){let n=X(o.url);o.baseUrl=n,o.queryString=lt(o.url),o.filename=D.filename(n),o.baseUrl=D.dirname(n)}return Array.isArray(o.loaders)||(o.loaders=null),o}function We(e,r){if(e&&!Array.isArray(e))return e;let t;if(e&&(t=Array.isArray(e)?e:[e]),r&&r.loaders){let o=Array.isArray(r.loaders)?r.loaders:[r.loaders];t=t?[...t,...o]:o}return t&&t.length?t:void 0}async function k(e,r,t,o){r&&!Array.isArray(r)&&!b(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let n=w(e),i=We(r,o),a=await te(e,i,t);if(!a)return null;let c=ee(t,a,i,n);return o=se({url:n,_parse:k,loaders:i},c,o||null),await fn(a,e,c,o)}async function fn(e,r,t,o){if(Ze(e),t=Ve(e.options,t),l(r)){let{ok:s,redirected:i,status:a,statusText:c,type:f,url:S}=r,E=Object.fromEntries(r.headers.entries());o.response={headers:E,ok:s,redirected:i,status:a,statusText:c,type:f,url:S}}r=await Ot(r,e,t);let n=e;if(n.parseTextSync&&typeof r=="string")return n.parseTextSync(r,t,o);if(Xe(e,t))return await er(e,r,t,o,k);if(n.parseText&&typeof r=="string")return await n.parseText(r,t,o);if(n.parse)return await n.parse(r,t,o);throw m(!n.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function Wt(e,r,t,o){!Array.isArray(r)&&!b(r)&&(o=void 0,t=r,r=void 0),t=t||{};let s=We(r,o),i=re(e,s,t);if(!i)return null;let a=ee(t,i,s),c=w(e),f=()=>{throw new Error("parseSync called parse (which is async")};return o=se({url:c,_parseSync:f,_parse:f,loaders:r},a,o||null),un(i,e,a,o)}function un(e,r,t,o){if(r=kr(r,e,t),e.parseTextSync&&typeof r=="string")return e.parseTextSync(r,t);if(e.parseSync&&r instanceof ArrayBuffer)return e.parseSync(r,t,o);throw new Error(`${e.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${o.url||""}`)}function Sr(e){switch(typeof e=="object"&&e?.shape){case"array-row-table":case"object-row-table":return Array.isArray(e.data);case"geojson-table":return Array.isArray(e.features);case"columnar-table":return e.data&&typeof e.data=="object";case"arrow-table":return Boolean(e?.data?.numRows!==void 0);default:return!1}}function _r(e){switch(e.shape){case"array-row-table":case"object-row-table":return e.data.length;case"geojson-table":return e.features.length;case"arrow-table":return e.data.numRows;case"columnar-table":for(let t of Object.values(e.data))return t.length||0;return 0;default:throw new Error("table")}}function Br(e){return{...e,length:_r(e),batchType:"data"}}async function M(e,r,t,o){let n=Array.isArray(r)?r:void 0;!Array.isArray(r)&&!b(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let s=w(e),i=await te(e,r,t);if(!i)return[];let a=ee(t,i,n,s);return o=se({url:s,_parseInBatches:M,_parse:k,loaders:n},a,o||null),await ln(i,e,a,o)}async function ln(e,r,t,o){let n=await mn(e,r,t,o);if(!t?.core?.metadata)return n;let s={shape:"metadata",batchType:"metadata",metadata:{_loader:e,_context:o},data:[],bytesUsed:0};async function*i(a){yield s,yield*a}return i(n)}async function mn(e,r,t,o){let n=await Mt(r,t),s=await dn(n,t?.core?.transforms||[]);return e.parseInBatches?e.parseInBatches(s,t,o):pn(s,e,t,o)}async function*pn(e,r,t,o){let n=await U(e),s=await k(n,r,{...t,core:{...t?.core,mimeType:r.mimeTypes[0]}},o);yield hn(s,r)}function hn(e,r){let t=Sr(e)?Br(e):{shape:"unknown",batchType:"data",data:e,length:Array.isArray(e)?e.length:1};return t.mimeType=r.mimeTypes[0],t}async function dn(e,r=[]){let t=e;for await(let o of r)t=o(t);return t}async function Nt(e,r,t,o){let n,s;!Array.isArray(r)&&!b(r)?(n=[],s=r,o=void 0):(n=r,s=t);let i=ne(s),a=e;return typeof e=="string"&&(a=await i(e)),h(e)&&(a=await i(e)),Array.isArray(n)?await k(a,n,s):await k(a,n,s)}function Ct(e,r,t,o){let n;!Array.isArray(r)&&!b(r)?(o=void 0,t=r,n=void 0):n=r;let s=ne(t||{});return Array.isArray(e)?e.map(a=>Ft(a,n,t||{},s)):Ft(e,n,t||{},s)}async function Ft(e,r,t,o){if(typeof e=="string"){let s=await o(e);return Array.isArray(r)?await M(s,r,t):await M(s,r,t)}return Array.isArray(r)?await M(e,r,t):await M(e,r,t)}async function Er(e,r,t){if(r.encode)return await r.encode(e,t);if(r.encodeText){let o=await r.encodeText(e,t);return _(new TextEncoder().encode(o))}if(r.encodeInBatches){let o=Lr(e,r,t),n=[];for await(let s of o)n.push(s);return me(...n)}throw new Error("Writer could not encode data")}async function Pt(e,r,t){if(r.text&&r.encodeText)return await r.encodeText(e,t);if(r.text){let o=await Er(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function Lr(e,r,t){if(r.encodeInBatches){let o=yn(e);return r.encodeInBatches(o,t)}throw new Error("Writer could not encode data in batches")}function yn(e){return[{...e,start:0,end:e.length}]}async function $t(e,r,t){let n={...B(),...t};return r.encodeURLtoURL?gn(r,e,n):rr(r,n)?await Ye(r,e,n):await r.encode(e,n)}function Rr(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeTextSync)return _(new TextEncoder().encode(r.encodeTextSync(e,t)));throw new Error(`Writer ${r.name} could not synchronously encode data`)}async function Dt(e,r,t){if(r.encodeText)return await r.encodeText(e,t);if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text){let o=await r.encode(e,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function jt(e,r,t){if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text&&r.encodeSync){let o=Rr(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function vt(e,r,t){if(r.encodeInBatches){let o=wn(e);return r.encodeInBatches(o,t)}throw new Error(`Writer ${r.name} could not encode in batches`)}async function Ir(e,r,t,o){if(e=I(e),r=I(r),p||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,o)}async function gn(e,r,t){if(p)throw new Error(`Writer ${e.name} not supported in browser`);let o=Ut("input");await new ge(o,"w").write(r);let s=Ut("output"),i=await Ir(o,s,e,t);return(await j(i)).arrayBuffer()}function wn(e){return[{...e,start:0,end:e.length}]}function Ut(e){return`/tmp/${e}`}function zt(e,r,t){let o=t?.core?.type||t.type||"auto",n=o==="auto"?bn(e,r):xn(o,r);if(!n)throw new Error("Not a valid source type");return n.createDataSource(e,t)}function bn(e,r){for(let t of r)if(t.testURL&&t.testURL(e))return t;return null}function xn(e,r){for(let t of r)if(t.type===e)return t;return null}function qt(e,r,t){let o=t?.type||"auto",n=null;if(o==="auto"){for(let s of r)if(typeof e=="string"&&s.testURL&&s.testURL(e))return s}else n=Tn(o,r);if(!n&&!t?.nothrow)throw new Error("Not a valid image source type");return n}function Tn(e,r){for(let t of r)if(t.type===e)return t;return null}function Vt(e,r){if(globalThis.loaders.makeNodeStream)return globalThis.loaders.makeNodeStream(e,r);let t=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new ReadableStream({type:"bytes",async pull(o){try{let{done:n,value:s}=await t.next();n?o.close():o.enqueue(new Uint8Array(s))}catch(n){o.error(n)}},async cancel(){await t?.return?.()}},{highWaterMark:2**24,...r})}var Gt="4.4.0-alpha.13",Ht={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:Gt,worker:!0,mimeTypes:["application/x.empty"],extensions:["null"],tests:[()=>!1],options:{null:{}}},Qt={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:Gt,mimeTypes:["application/x.empty"],extensions:["null"],parse:async(e,r,t)=>Or(e,r||{},t),parseSync:Or,parseInBatches:async function*(r,t,o){for await(let n of r)yield Or(n,t,o)},tests:[()=>!1],options:{null:{}}};function Or(e,r,t){return null}async function Jt(e,r,t=()=>{},o=()=>{}){if(e=await e,!e.ok)return e;let n=e.body;if(!n)return e;let s=e.headers.get("content-length")||0,i=s?parseInt(s):0;if(!(i>0)||typeof ReadableStream>"u"||!n.getReader)return e;let a=new ReadableStream({async start(c){let f=n.getReader();await Kt(c,f,0,i,r,t,o)}});return new Response(a)}async function Kt(e,r,t,o,n,s,i){try{let{done:a,value:c}=await r.read();if(a){s(),e.close();return}t+=c.byteLength;let f=Math.round(t/o*100);n(f,{loadedBytes:t,totalBytes:o}),e.enqueue(c),await Kt(e,r,t,o,n,s,i)}catch(a){e.error(a),i(a)}}var Ne=class{_fetch;files={};lowerCaseFiles={};usedFiles={};constructor(r,t){this._fetch=t?.fetch||fetch;for(let o=0;o<r.length;++o){let n=r[o];this.files[n.name]=n,this.lowerCaseFiles[n.name.toLowerCase()]=n,this.usedFiles[n.name]=!1}this.fetch=this.fetch.bind(this)}async fetch(r,t){if(r.includes("://"))return this._fetch(r,t);let o=this.files[r];if(!o)return new Response(r,{status:400,statusText:"NOT FOUND"});let s=new Headers(t?.headers).get("Range"),i=s&&/bytes=($1)-($2)/.exec(s);if(i){let c=parseInt(i[1]),f=parseInt(i[2]),S=await o.slice(c,f).arrayBuffer(),E=new Response(S);return Object.defineProperty(E,"url",{value:r}),E}let a=new Response(o);return Object.defineProperty(a,"url",{value:r}),a}async readdir(r){let t=[];for(let o in this.files)t.push(o);return t}async stat(r,t){let o=this.files[r];if(!o)throw new Error(r);return{size:o.size}}async unlink(r){delete this.files[r],delete this.lowerCaseFiles[r],this.usedFiles[r]=!0}async openReadableFile(r,t){return new de(this.files[r])}_getFile(r,t){let o=this.files[r]||this.lowerCaseFiles[r];return o&&t&&(this.usedFiles[r]=!0),o}};return to(An);})();
12
+ }`}function Ze(e,r=!0,t){let o=t||new Set;if(e){if(tt(e))o.add(e);else if(tt(e.buffer))o.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(r&&typeof e=="object")for(let n in e)Ze(e[n],r,o)}}return t===void 0?Array.from(o):[]}function tt(e){return e?e instanceof ArrayBuffer||typeof MessagePort<"u"&&e instanceof MessagePort||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas:!1}function Xe(e){if(e===null)return{};let r=Object.assign({},e);return Object.keys(r).forEach(t=>{typeof e[t]=="object"&&!ArrayBuffer.isView(e[t])&&!(e[t]instanceof Array)?r[t]=Xe(e[t]):typeof r[t]=="function"||r[t]instanceof RegExp?r[t]={}:r[t]=e[t]}),r}var er=()=>{},R=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&y||typeof K<"u"&&!y}constructor(r){let{name:t,source:o,url:n}=r;m(o||n),this.name=t,this.source=o,this.url=n,this.onMessage=er,this.onError=s=>console.log(s),this.worker=y?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=er,this.onError=er,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(r,t){t=t||Ze(r),this.worker.postMessage(r,t)}_getErrorFromErrorEvent(r){let t="Failed to load ";return t+=`worker ${this.name} from ${this.url}. `,r.message&&(t+=`${r.message} in `),r.lineno&&(t+=`:${r.lineno}:${r.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=et({source:this.source,url:this.url});let r=new Worker(this._loadableURL,{name:this.name});return r.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},r.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},r.onmessageerror=t=>console.error(t),r}_createNodeWorker(){let r;if(this.url){let o=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`,n=this.url.endsWith(".ts")||this.url.endsWith(".mjs")?"module":"commonjs";r=new K(o,{eval:!1,type:n})}else if(this.source)r=new K(this.source,{eval:!0});else throw new Error("no worker");return r.on("message",t=>{this.onMessage(t)}),r.on("error",t=>{this.onError(t)}),r.on("exit",t=>{}),r}};var ue=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return R.isSupported()}constructor(r){this.source=r.source,this.url=r.url,this.setProps(r)}destroy(){this.idleQueue.forEach(r=>r.destroy()),this.isDestroyed=!0}setProps(r){this.props={...this.props,...r},r.name!==void 0&&(this.name=r.name),r.maxConcurrency!==void 0&&(this.maxConcurrency=r.maxConcurrency),r.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=r.maxMobileConcurrency),r.reuseWorkers!==void 0&&(this.reuseWorkers=r.reuseWorkers),r.onDebug!==void 0&&(this.onDebug=r.onDebug)}async startJob(r,t=(n,s,i)=>n.done(i),o=(n,s)=>n.error(s)){let n=new Promise(s=>(this.jobQueue.push({name:r,onMessage:t,onError:o,onStart:s}),this));return this._startQueuedJob(),await n}async _startQueuedJob(){if(!this.jobQueue.length)return;let r=this._getAvailableWorker();if(!r)return;let t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:r,backlog:this.jobQueue.length});let o=new fe(t.name,r);r.onMessage=n=>t.onMessage(o,n.type,n.payload),r.onError=n=>t.onError(o,n),t.onStart(o);try{await o.result}catch(n){console.error(`Worker exception: ${n}`)}finally{this.returnWorkerToQueue(r)}}}returnWorkerToQueue(r){!y||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(r.destroy(),this.count--):this.idleQueue.push(r),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let r=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new R({name:r,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return Xr?this.maxMobileConcurrency:this.maxConcurrency}};var go={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},F=class{props;workerPools=new Map;static isSupported(){return R.isSupported()}static getWorkerFarm(r={}){return F._workerFarm=F._workerFarm||new F({}),F._workerFarm.setProps(r),F._workerFarm}constructor(r){this.props={...go},this.setProps(r),this.workerPools=new Map}destroy(){for(let r of this.workerPools.values())r.destroy();this.workerPools=new Map}setProps(r){this.props={...this.props,...r};for(let t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(r){let{name:t,source:o,url:n}=r,s=this.workerPools.get(t);return s||(s=new ue({name:t,source:o,url:n}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},g=F;Pr(g,"_workerFarm");function ot(e){let r=e.version!==ce?` (worker-utils@${ce})`:"";return`${e.name}@${e.version}${r}`}function le(e,r={}){let t=r[e.id]||{},o=y?`${e.id}-worker.js`:`${e.id}-worker-node.js`,n=t.workerUrl;if(!n&&e.id==="compression"&&(n=r.workerUrl),(r._workerType||r?.core?._workerType)==="test"&&(y?n=`modules/${e.module}/dist/${o}`:n=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!n){let i=e.version;i==="latest"&&(i=Yr);let a=i?`@${i}`:"";n=`https://unpkg.com/@loaders.gl/${e.module}${a}/dist/${o}`}return m(n),n}async function rr(e,r,t={},o={}){let n=ot(e),s=g.getWorkerFarm(t),{source:i}=t,a={name:n,source:i};i||(a.url=le(e,t));let c=s.getWorkerPool(a),f=t.jobName||e.name,k=await c.startJob(f,wo.bind(null,o)),E=Xe(t);return k.postMessage("process",{input:r,options:E}),(await k.result).result}async function wo(e,r,t,o){switch(t){case"done":r.done(o);break;case"error":r.error(new Error(o.error));break;case"process":let{id:n,input:s,options:i}=o;try{if(!e.process){r.postMessage("error",{id:n,error:"Worker not set up to process on main thread"});return}let a=await e.process(s,i);r.postMessage("done",{id:n,result:a})}catch(a){let c=a instanceof Error?a.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`process-on-worker: unknown message ${t}`)}}function tr(e,r=ce){m(e,"no worker provided");let t=e.version;return!(!r||!t)}function or(e,r){if(!g.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers;if(!y&&!t)return!1;let o=r?.worker??r?.core?.worker;return Boolean(e.worker&&o)}async function nr(e,r,t,o,n){let s=e.id,i=le(e,t),c=g.getWorkerFarm(t?.core).getWorkerPool({name:s,url:i});t=JSON.parse(JSON.stringify(t)),o=JSON.parse(JSON.stringify(o||{}));let f=await c.startJob("process-on-worker",bo.bind(null,n));return f.postMessage("process",{input:r,options:t,context:o}),await(await f.result).result}async function bo(e,r,t,o){switch(t){case"done":r.done(o);break;case"error":r.error(new Error(o.error));break;case"process":let{id:n,input:s,options:i}=o;try{let a=await e(s,i);r.postMessage("done",{id:n,result:a})}catch(a){let c=a instanceof Error?a.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}}function sr(e,r){if(!g.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers,o=r?.worker??r?.core?.worker;return!p&&!t?!1:Boolean(e.worker&&o)}function ir(e,r,t){if(t=t||e.byteLength,e.byteLength<t||r.byteLength<t)return!1;let o=new Uint8Array(e),n=new Uint8Array(r);for(let s=0;s<o.length;++s)if(o[s]!==n[s])return!1;return!0}function me(...e){return nt(e)}function nt(e){let r=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=r.reduce((s,i)=>s+i.byteLength,0),o=new Uint8Array(t),n=0;for(let s of r)o.set(s,n),n+=s.byteLength;return o.buffer}async function*ar(e,r={}){let t=new TextDecoder(void 0,r);for await(let o of e)yield typeof o=="string"?o:t.decode(o,{stream:!0})}async function*cr(e){let r=new TextEncoder;for await(let t of e)yield typeof t=="string"?r.encode(t).buffer:t}async function*fr(e){let r="";for await(let t of e){r+=t;let o;for(;(o=r.indexOf(`
13
+ `))>=0;){let n=r.slice(0,o+1);r=r.slice(o+1),yield n}}r.length>0&&(yield r)}async function*ur(e){let r=1;for await(let t of e)yield{counter:r,line:t},r++}async function lr(e,r){let t=To(e);for(;;){let{done:o,value:n}=await t.next();if(o){t.return&&t.return();return}if(r(n))return}}async function U(e){let r=[];for await(let t of e)r.push(xo(t));return me(...r)}function xo(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:t,byteLength:o}=e;return st(r,t,o)}return st(e)}function st(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function To(e){if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e[Symbol.iterator]=="function"){let r=e[Symbol.iterator]();return Ao(r)}return e}function Ao(e){return{next(r){return Promise.resolve(e.next(r))},return(r){return typeof e.return=="function"?Promise.resolve(e.return(r)):Promise.resolve({done:!0,value:r})},throw(r){return typeof e.throw=="function"?Promise.resolve(e.throw(r)):Promise.reject(r)}}}function pe(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let r=process.hrtime();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var $=class{constructor(r,t){this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=r,this.type=t,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(r){return this.sampleSize=r,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(r){return this._count+=r,this._samples++,this._checkSampling(),this}subtractCount(r){return this._count-=r,this._samples++,this._checkSampling(),this}addTime(r){return this._time+=r,this.lastTiming=r,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=pe(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(pe()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var Y=class{constructor(r){this.stats={},this.id=r.id,this.stats={},this._initializeStats(r.stats),Object.seal(this)}get(r,t="count"){return this._getOrCreate({name:r,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(let r of Object.values(this.stats))r.reset();return this}forEach(r){for(let t of Object.values(this.stats))r(t)}getTable(){let r={};return this.forEach(t=>{r[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),r}_initializeStats(r=[]){r.forEach(t=>this._getOrCreate(t))}_getOrCreate(r){let{name:t,type:o}=r,n=this.stats[t];return n||(r instanceof $?n=r:n=new $(t,o),this.stats[t]=n),n}};var _o="Queued Requests",ko="Active Requests",So="Cancelled Requests",Bo="Queued Requests Ever",Eo="Active Requests Ever",Lo={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0},Z=class{props;stats;activeRequestCount=0;requestQueue=[];requestMap=new Map;updateTimer=null;constructor(r={}){this.props={...Lo,...r},this.stats=new Y({id:this.props.id}),this.stats.get(_o),this.stats.get(ko),this.stats.get(So),this.stats.get(Bo),this.stats.get(Eo)}setProps(r){r.throttleRequests!==void 0&&(this.props.throttleRequests=r.throttleRequests),r.maxRequests!==void 0&&(this.props.maxRequests=r.maxRequests),r.debounceTime!==void 0&&(this.props.debounceTime=r.debounceTime)}scheduleRequest(r,t=()=>0){if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(r))return this.requestMap.get(r);let o={handle:r,priority:0,getPriority:t},n=new Promise(s=>(o.resolve=s,o));return this.requestQueue.push(o),this.requestMap.set(r,n),this._issueNewRequests(),n}_issueRequest(r){let{handle:t,resolve:o}=r,n=!1,s=()=>{n||(n=!0,this.requestMap.delete(t),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,o?o({done:s}):Promise.resolve({done:s})}_issueNewRequests(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=setTimeout(()=>this._issueNewRequestsAsync(),this.props.debounceTime)}_issueNewRequestsAsync(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=null;let r=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(r!==0){this._updateAllRequests();for(let t=0;t<r;++t){let o=this.requestQueue.shift();o&&this._issueRequest(o)}}}_updateAllRequests(){let r=this.requestQueue;for(let t=0;t<r.length;++t){let o=r[t];this._updateRequest(o)||(r.splice(t,1),this.requestMap.delete(o.handle),t--)}r.sort((t,o)=>t.priority-o.priority)}_updateRequest(r){return r.priority=r.getPriority(r.handle),r.priority<0?(r.resolve(null),!1):!0}};var mr="",it={};function pr(e){mr=e}function hr(){return mr}function I(e){for(let r in it)if(e.startsWith(r)){let t=it[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${mr}${e}`),e}var Ro="4.4.0-alpha.14",dr={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:Ro,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:at,parse:async e=>at(new TextDecoder().decode(e)),options:{}};function at(e){return JSON.parse(e)}function Re(e){return e&&typeof e=="object"&&e.isBuffer}function O(e){if(Re(e))return e;if(e instanceof ArrayBuffer)return e;if(He(e))return Le(e);if(ArrayBuffer.isView(e)){let r=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?r:r.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(typeof e=="string"){let r=e;return new TextEncoder().encode(r).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function S(e){if(e instanceof ArrayBuffer)return e;if(He(e))return Le(e);let{buffer:r,byteOffset:t,byteLength:o}=e;return r instanceof ArrayBuffer&&t===0&&o===r.byteLength?r:Le(r,t,o)}function Le(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function yr(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}var v={};Nr(v,{dirname:()=>Oo,filename:()=>Io,join:()=>Co,resolve:()=>Mo});function ct(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function Io(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(r+1):e}function Oo(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function Co(...e){let r="/";return e=e.map((t,o)=>(o&&(t=t.replace(new RegExp(`^${r}`),"")),o!==e.length-1&&(t=t.replace(new RegExp(`${r}$`),"")),t)),e.join(r)}function Mo(...e){let r=[];for(let s=0;s<e.length;s++)r[s]=e[s];let t="",o=!1,n;for(let s=r.length-1;s>=-1&&!o;s--){let i;s>=0?i=r[s]:(n===void 0&&(n=ct()),i=n),i.length!==0&&(t=`${i}/${t}`,o=i.charCodeAt(0)===he)}return t=Wo(t,!o),o?`/${t}`:t.length>0?t:"."}var he=47,gr=46;function Wo(e,r){let t="",o=-1,n=0,s,i=!1;for(let a=0;a<=e.length;++a){if(a<e.length)s=e.charCodeAt(a);else{if(s===he)break;s=he}if(s===he){if(!(o===a-1||n===1))if(o!==a-1&&n===2){if(t.length<2||!i||t.charCodeAt(t.length-1)!==gr||t.charCodeAt(t.length-2)!==gr){if(t.length>2){let c=t.length-1,f=c;for(;f>=0&&t.charCodeAt(f)!==he;--f);if(f!==c){t=f===-1?"":t.slice(0,f),o=a,n=0,i=!1;continue}}else if(t.length===2||t.length===1){t="",o=a,n=0,i=!1;continue}}r&&(t.length>0?t+="/..":t="..",i=!0)}else{let c=e.slice(o+1,a);t.length>0?t+=`/${c}`:t=c,i=!1}o=a,n=0}else s===gr&&n!==-1?++n:n=-1}return t}var de=class{handle;size;bigsize;url;constructor(r){this.handle=r instanceof ArrayBuffer?new Blob([r]):r,this.size=r instanceof ArrayBuffer?r.byteLength:r.size,this.bigsize=BigInt(this.size),this.url=r instanceof File?r.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(r,t){return await this.handle.slice(Number(r),Number(r)+Number(t)).arrayBuffer()}};var ye=new Error("Not implemented"),ge=class{handle;size=0;bigsize=0n;url="";constructor(r,t,o){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(r,t,o);throw p?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(r,t){throw ye}async write(r,t,o){throw ye}async stat(){throw ye}async truncate(r){throw ye}async append(r){throw ye}async close(){}};var X=class extends Error{constructor(r,t){super(r),this.reason=t.reason,this.url=t.url,this.response=t.response}reason;url;response};var No=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Po=/^([-\w.]+\/[-\w.+]+)/;function wr(e,r){return e.toLowerCase()===r.toLowerCase()}function ft(e){let r=Po.exec(e);return r?r[1]:e}function br(e){let r=No.exec(e);return r?r[1]:""}var ut=/\?.*/;function lt(e){let r=e.match(ut);return r&&r[0]}function ee(e){return e.replace(ut,"")}function mt(e){if(e.length<50)return e;let r=e.slice(e.length-15);return`${e.substr(0,32)}...${r}`}function b(e){return l(e)?e.url:h(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function we(e){if(l(e)){let r=e.headers.get("content-type")||"",t=ee(e.url);return ft(r)||br(t)}return h(e)?e.type||"":typeof e=="string"?br(e):""}function pt(e){return l(e)?e.headers["content-length"]||-1:h(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function Ie(e){if(l(e))return e;let r={},t=pt(e);t>=0&&(r["content-length"]=String(t));let o=b(e),n=we(e);n&&(r["content-type"]=n);let s=await Uo(e);s&&(r["x-first-bytes"]=s),typeof e=="string"&&(e=new TextEncoder().encode(e));let i=new Response(e,{headers:r});return Object.defineProperty(i,"url",{value:o}),i}async function xr(e){if(!e.ok)throw await Fo(e)}async function Fo(e){let r=mt(e.url),t=`Failed to fetch resource (${e.status}) ${e.statusText}: ${r}`;t=t.length>100?`${t.slice(0,100)}...`:t;let o={reason:e.statusText,url:e.url,response:e};try{let n=e.headers.get("Content-Type");o.reason=!e.bodyUsed&&n?.includes("application/json")?await e.json():await e.text()}catch{}return new X(t,o)}async function Uo(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let t=e.slice(0,5);return await new Promise(o=>{let n=new FileReader;n.onload=s=>o(s?.target?.result),n.readAsDataURL(t)})}if(e instanceof ArrayBuffer){let t=e.slice(0,5);return`data:base64,${$o(t)}`}return null}function $o(e){let r="",t=new Uint8Array(e);for(let o=0;o<t.byteLength;o++)r+=String.fromCharCode(t[o]);return btoa(r)}function vo(e){return!Do(e)&&!jo(e)}function Do(e){return e.startsWith("http:")||e.startsWith("https:")}function jo(e){return e.startsWith("data:")}async function D(e,r){if(typeof e=="string"){let t=I(e);return vo(t)&&globalThis.loaders?.fetchNode?globalThis.loaders?.fetchNode(t,r):await fetch(t,r)}return await Ie(e)}async function ht(e,r,t){e instanceof Blob||(e=new Blob([e]));let o=e.slice(r,r+t);return await zo(o)}async function zo(e){return await new Promise((r,t)=>{let o=new FileReader;o.onload=n=>r(n?.target?.result),o.onerror=n=>t(n),o.readAsArrayBuffer(e)})}var be=new w({id:"loaders.gl"}),Oe=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},Ce=class{console;constructor(){this.console=console}log(...r){return this.console.log.bind(this.console,...r)}info(...r){return this.console.info.bind(this.console,...r)}warn(...r){return this.console.warn.bind(this.console,...r)}error(...r){return this.console.error.bind(this.console,...r)}};var Me={core:{baseUri:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,log:new Ce,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:p,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},dt={baseUri:"core.baseUri",fetch:"core.fetch",mimeType:"core.mimeType",fallbackMimeType:"core.fallbackMimeType",ignoreRegisteredLoaders:"core.ignoreRegisteredLoaders",nothrow:"core.nothrow",log:"core.log",useLocalLibraries:"core.useLocalLibraries",CDN:"core.CDN",worker:"core.worker",maxConcurrency:"core.maxConcurrency",maxMobileConcurrency:"core.maxMobileConcurrency",reuseWorkers:"core.reuseWorkers",_nodeWorkers:"core.nodeWorkers",_workerType:"core._workerType",_worker:"core._workerType",limit:"core.limit",_limitMB:"core._limitMB",batchSize:"core.batchSize",batchDebounceMs:"core.batchDebounceMs",metadata:"core.metadata",transforms:"core.transforms",throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"core.fetch.method",headers:"core.fetch.headers",body:"core.fetch.body",mode:"core.fetch.mode",credentials:"core.fetch.credentials",cache:"core.fetch.cache",redirect:"core.fetch.redirect",referrer:"core.fetch.referrer",referrerPolicy:"core.fetch.referrerPolicy",integrity:"core.fetch.integrity",keepalive:"core.fetch.keepalive",signal:"core.fetch.signal"};var Tr=["baseUri","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","maxConcurrency","maxMobileConcurrency","reuseWorkers","_nodeWorkers","_workerType","limit","_limitMB","batchSize","batchDebounceMs","metadata","transforms"];function xe(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function B(){let e=xe();return e.globalOptions=e.globalOptions||{...Me,core:{...Me.core}},j(e.globalOptions)}function Ar(e){let r=xe(),t=B();r.globalOptions=wt(t,e),Ke(e.modules)}function re(e,r,t,o){return t=t||[],t=Array.isArray(t)?t:[t],qo(e,t),j(wt(r,e,o))}function j(e){let r=Ho(e);bt(r);for(let t of Tr)r.core&&r.core[t]!==void 0&&delete r[t];return r.core&&r.core._workerType!==void 0&&delete r._worker,r}function qo(e,r){yt(e,null,Me,dt,r);for(let t of r){let o=e&&e[t.id]||{},n=t.options&&t.options[t.id]||{},s=t.deprecatedOptions&&t.deprecatedOptions[t.id]||{};yt(o,t.id,n,s,r)}}function yt(e,r,t,o,n){let s=r||"Top level",i=r?`${r}.`:"";for(let a in e){let c=!r&&d(e[a]),f=a==="baseUri"&&!r,k=a==="workerUrl"&&r;if(!(a in t)&&!f&&!k){if(a in o)be.level>0&&be.warn(`${s} loader option '${i}${a}' no longer supported, use '${o[a]}'`)();else if(!c&&be.level>0){let E=Vo(a,n);be.warn(`${s} loader option '${i}${a}' not recognized. ${E}`)()}}}}function Vo(e,r){let t=e.toLowerCase(),o="";for(let n of r)for(let s in n.options){if(e===s)return`Did you mean '${n.id}.${s}'?`;let i=s.toLowerCase();(t.startsWith(i)||i.startsWith(t))&&(o=o||`Did you mean '${n.id}.${s}'?`)}return o}function wt(e,r,t){let o=e.options||{},n={...o};o.core&&(n.core={...o.core}),bt(n),n.core?.log===null&&(n.core={...n.core,log:new Oe}),gt(n,j(B()));let s=j(r);return gt(n,s),Go(n,t),Qo(n),n}function gt(e,r){for(let t in r)if(t in r){let o=r[t];H(o)&&H(e[t])?e[t]={...e[t],...r[t]}:e[t]=r[t]}}function Go(e,r){if(!r)return;let t=e.baseUri!==void 0,o=e.core?.baseUri!==void 0;!t&&!o&&(e.core||={},e.core.baseUri=r)}function Ho(e){let r={...e};return e.core&&(r.core={...e.core}),r}function bt(e){for(let t of Tr)if(e[t]!==void 0){let n=e.core=e.core||{};n[t]===void 0&&(n[t]=e[t])}let r=e._worker;r!==void 0&&(e.core||={},e.core._workerType===void 0&&(e.core._workerType=r))}function Qo(e){let r=e.core;if(r)for(let t of Tr)r[t]!==void 0&&(e[t]=r[t])}function x(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e?.extensions)):!1}function Te(e){z(e,"null loader"),z(x(e),"invalid loader");let r;return Array.isArray(e)&&(r=e[1],e=e[0],e={...e,options:{...e.options,...r}}),(e?.parseTextSync||e?.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var xt=()=>{let e=xe();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Tt(e){let r=xt();e=Array.isArray(e)?e:[e];for(let t of e){let o=Te(t);r.find(n=>o===n)||r.unshift(o)}}function At(){return xt()}function _t(){let e=xe();e.loaderRegistry=[]}var Jo=/\.([^.]+)$/;async function oe(e,r=[],t,o){if(!St(e))return null;let n=j(t||{});n.core||={};let s=te(e,r,{...n,core:{...n.core,nothrow:!0}},o);if(s)return s;if(h(e)&&(e=await e.slice(0,10).arrayBuffer(),s=te(e,r,n,o)),!s&&!n.core.nothrow)throw new Error(Bt(e));return s}function te(e,r=[],t,o){if(!St(e))return null;let n=j(t||{});if(n.core||={},r&&!Array.isArray(r))return Te(r);let s=[];r&&(s=s.concat(r)),n.core.ignoreRegisteredLoaders||s.push(...At()),Yo(s);let i=Ko(e,s,n,o);if(!i&&!n.core.nothrow)throw new Error(Bt(e));return i}function Ko(e,r,t,o){let n=b(e),s=we(e),i=ee(n)||o?.url,a=null,c="";return t?.core?.mimeType&&(a=_r(r,t?.core?.mimeType),c=`match forced by supplied MIME type ${t?.core?.mimeType}`),a=a||Zo(r,i),c=c||(a?`matched url ${i}`:""),a=a||_r(r,s),c=c||(a?`matched MIME type ${s}`:""),a=a||en(r,e),c=c||(a?`matched initial data ${Et(e)}`:""),t?.core?.fallbackMimeType&&(a=a||_r(r,t?.core?.fallbackMimeType),c=c||(a?`matched fallback MIME type ${s}`:"")),c&&Ge.log(1,`selectLoader selected ${a?.name}: ${c}.`),a}function St(e){return!(e instanceof Response&&e.status===204)}function Bt(e){let r=b(e),t=we(e),o="No valid loader found (";o+=r?`${v.filename(r)}, `:"no url provided, ",o+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let n=e?Et(e):"";return o+=n?` first bytes: "${n}"`:"first bytes: not available",o+=")",o}function Yo(e){for(let r of e)Te(r)}function Zo(e,r){let t=r&&Jo.exec(r),o=t&&t[1];return o?Xo(e,o):null}function Xo(e,r){r=r.toLowerCase();for(let t of e)for(let o of t.extensions)if(o.toLowerCase()===r)return t;return null}function _r(e,r){for(let t of e)if(t.mimeTypes?.some(o=>wr(r,o))||wr(r,`application/x.${t.id}`))return t;return null}function en(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(rn(r,t))return t}else if(ArrayBuffer.isView(r)){if(kt(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&kt(r,0,t))return t;return null}function rn(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(o=>e.startsWith(o))}function kt(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>tn(e,r,t,n))}function tn(e,r,t,o){if(N(o))return ir(o,e,o.byteLength);switch(typeof o){case"function":return o(S(e));case"string":let n=kr(e,r,o.length);return o===n;default:return!1}}function Et(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?kr(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?kr(e,0,r):""}function kr(e,r,t){if(e.byteLength<r+t)return"";let o=new DataView(e),n="";for(let s=0;s<t;s++)n+=String.fromCharCode(o.getUint8(r+s));return n}var on=256*1024;function*Lt(e,r){let t=r?.chunkSize||on,o=0,n=new TextEncoder;for(;o<e.length;){let s=Math.min(e.length-o,t),i=e.slice(o,o+s);o+=s,yield S(n.encode(i))}}function*Rt(e,r={}){let{chunkSize:t=262144}=r,o=0;for(;o<e.byteLength;){let n=Math.min(e.byteLength-o,t),s=new ArrayBuffer(n),i=new Uint8Array(e,o,n);new Uint8Array(s).set(i),o+=n,yield s}}async function*It(e,r){let t=r?.chunkSize||1048576,o=0;for(;o<e.size;){let n=o+t,s=await e.slice(o,n).arrayBuffer();o=n,yield s}}function Sr(e,r){return p?nn(e,r):sn(e,r)}async function*nn(e,r){let t=e.getReader(),o;try{for(;;){let n=o||t.read();r?._streamReadAhead&&(o=t.read());let{done:s,value:i}=await n;if(s)return;yield O(i)}}catch{t.releaseLock()}}async function*sn(e,r){for await(let t of e)yield O(t)}function ne(e,r){if(typeof e=="string")return Lt(e,r);if(e instanceof ArrayBuffer)return Rt(e,r);if(h(e))return It(e,r);if(L(e))return Sr(e,r);if(l(e)){let t=e.body;if(!t)throw new Error("Readable stream not available on Response");return Sr(t,r)}throw new Error("makeIterator")}var We="Cannot convert supplied data type";function Br(e,r,t){if(r.text&&typeof e=="string")return e;if(Re(e)&&(e=e.buffer),N(e)){let o=yr(e);return r.text&&!r.binary?new TextDecoder("utf8").decode(o):O(o)}throw new Error(We)}async function Ot(e,r,t){if(typeof e=="string"||N(e))return Br(e,r,t);if(h(e)&&(e=await Ie(e)),l(e))return await xr(e),r.binary?await e.arrayBuffer():await e.text();if(L(e)&&(e=ne(e,t)),P(e)||Q(e))return U(e);throw new Error(We)}async function Ct(e,r){if(ae(e)&&(e=await e),J(e))return e;if(l(e)){await xr(e);let t=await e.body;if(!t)throw new Error(We);return ne(t,r)}return h(e)||L(e)?ne(e,r):Q(e)||P(e)?e:an(e)}function an(e){if(ArrayBuffer.isView(e))return function*(){yield O(e)}();if(N(e))return function*(){yield O(e)}();if(J(e))return e;if(P(e))return e[Symbol.iterator]();throw new Error(We)}function se(e,r){let t=B(),o=e||t,n=o.fetch??o.core?.fetch;return typeof n=="function"?n:d(n)?s=>D(s,n):r?.fetch?r?.fetch:D}function ie(e,r,t){if(t)return t;let o={fetch:se(r,e),...e};if(o.url){let n=ee(o.url);o.baseUrl=n,o.queryString=lt(o.url),o.filename=v.filename(n),o.baseUrl=v.dirname(n)}return Array.isArray(o.loaders)||(o.loaders=null),o}function Ne(e,r){if(e&&!Array.isArray(e))return e;let t;if(e&&(t=Array.isArray(e)?e:[e]),r&&r.loaders){let o=Array.isArray(r.loaders)?r.loaders:[r.loaders];t=t?[...t,...o]:o}return t&&t.length?t:void 0}async function _(e,r,t,o){r&&!Array.isArray(r)&&!x(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let n=b(e),i=Ne(r,o),a=await oe(e,i,t);if(!a)return null;let c=re(t,a,i,n);return o=ie({url:n,_parse:_,loaders:i},c,o||null),await cn(a,e,c,o)}async function cn(e,r,t,o){if(tr(e),t=Je(e.options,t),l(r)){let{ok:s,redirected:i,status:a,statusText:c,type:f,url:k}=r,E=Object.fromEntries(r.headers.entries());o.response={headers:E,ok:s,redirected:i,status:a,statusText:c,type:f,url:k}}r=await Ot(r,e,t);let n=e;if(n.parseTextSync&&typeof r=="string")return n.parseTextSync(r,t,o);if(or(e,t))return await nr(e,r,t,o,_);if(n.parseText&&typeof r=="string")return await n.parseText(r,t,o);if(n.parse)return await n.parse(r,t,o);throw m(!n.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function Mt(e,r,t,o){!Array.isArray(r)&&!x(r)&&(o=void 0,t=r,r=void 0),t=t||{};let s=Ne(r,o),i=te(e,s,t);if(!i)return null;let a=re(t,i,s),c=b(e),f=()=>{throw new Error("parseSync called parse (which is async")};return o=ie({url:c,_parseSync:f,_parse:f,loaders:r},a,o||null),fn(i,e,a,o)}function fn(e,r,t,o){if(r=Br(r,e,t),e.parseTextSync&&typeof r=="string")return e.parseTextSync(r,t);if(e.parseSync&&r instanceof ArrayBuffer)return e.parseSync(r,t,o);throw new Error(`${e.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${o.url||""}`)}function Er(e){switch(typeof e=="object"&&e?.shape){case"array-row-table":case"object-row-table":return Array.isArray(e.data);case"geojson-table":return Array.isArray(e.features);case"columnar-table":return e.data&&typeof e.data=="object";case"arrow-table":return Boolean(e?.data?.numRows!==void 0);default:return!1}}function Lr(e){switch(e.shape){case"array-row-table":case"object-row-table":return e.data.length;case"geojson-table":return e.features.length;case"arrow-table":return e.data.numRows;case"columnar-table":for(let t of Object.values(e.data))return t.length||0;return 0;default:throw new Error("table")}}function Rr(e){return{...e,length:Lr(e),batchType:"data"}}async function C(e,r,t,o){let n=Array.isArray(r)?r:void 0;!Array.isArray(r)&&!x(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let s=b(e),i=await oe(e,r,t);if(!i)return[];let a=re(t,i,n,s);return o=ie({url:s,_parseInBatches:C,_parse:_,loaders:n},a,o||null),await un(i,e,a,o)}async function un(e,r,t,o){let n=await ln(e,r,t,o);if(!t?.core?.metadata)return n;let s={shape:"metadata",batchType:"metadata",metadata:{_loader:e,_context:o},data:[],bytesUsed:0};async function*i(a){yield s,yield*a}return i(n)}async function ln(e,r,t,o){let n=await Ct(r,t),s=await hn(n,t?.core?.transforms||[]);return e.parseInBatches?e.parseInBatches(s,t,o):mn(s,e,t,o)}async function*mn(e,r,t,o){let n=await U(e),s=await _(n,r,{...t,core:{...t?.core,mimeType:r.mimeTypes[0]}},o);yield pn(s,r)}function pn(e,r){let t=Er(e)?Rr(e):{shape:"unknown",batchType:"data",data:e,length:Array.isArray(e)?e.length:1};return t.mimeType=r.mimeTypes[0],t}async function hn(e,r=[]){let t=e;for await(let o of r)t=o(t);return t}async function Wt(e,r,t,o){let n,s;!Array.isArray(r)&&!x(r)?(n=[],s=r,o=void 0):(n=r,s=t);let i=se(s),a=e;return typeof e=="string"&&(a=await i(e)),h(e)&&(a=await i(e)),Array.isArray(n)?await _(a,n,s):await _(a,n,s)}function Pt(e,r,t,o){let n;!Array.isArray(r)&&!x(r)?(o=void 0,t=r,n=void 0):n=r;let s=se(t||{});return Array.isArray(e)?e.map(a=>Nt(a,n,t||{},s)):Nt(e,n,t||{},s)}async function Nt(e,r,t,o){if(typeof e=="string"){let s=await o(e);return Array.isArray(r)?await C(s,r,t):await C(s,r,t)}return Array.isArray(r)?await C(e,r,t):await C(e,r,t)}async function Ir(e,r,t){if(r.encode)return await r.encode(e,t);if(r.encodeText){let o=await r.encodeText(e,t);return S(new TextEncoder().encode(o))}if(r.encodeInBatches){let o=Or(e,r,t),n=[];for await(let s of o)n.push(s);return me(...n)}throw new Error("Writer could not encode data")}async function Ft(e,r,t){if(r.text&&r.encodeText)return await r.encodeText(e,t);if(r.text){let o=await Ir(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function Or(e,r,t){if(r.encodeInBatches){let o=dn(e);return r.encodeInBatches(o,t)}throw new Error("Writer could not encode data in batches")}function dn(e){return[{...e,start:0,end:e.length}]}async function $t(e,r,t){let n={...B(),...t};return r.encodeURLtoURL?yn(r,e,n):sr(r,n)?await rr(r,e,n):await r.encode(e,n)}function Cr(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeTextSync)return S(new TextEncoder().encode(r.encodeTextSync(e,t)));throw new Error(`Writer ${r.name} could not synchronously encode data`)}async function vt(e,r,t){if(r.encodeText)return await r.encodeText(e,t);if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text){let o=await r.encode(e,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function Dt(e,r,t){if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text&&r.encodeSync){let o=Cr(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function jt(e,r,t){if(r.encodeInBatches){let o=gn(e);return r.encodeInBatches(o,t)}throw new Error(`Writer ${r.name} could not encode in batches`)}async function Mr(e,r,t,o){if(e=I(e),r=I(r),p||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,o)}async function yn(e,r,t){if(p)throw new Error(`Writer ${e.name} not supported in browser`);let o=Ut("input");await new ge(o,"w").write(r);let s=Ut("output"),i=await Mr(o,s,e,t);return(await D(i)).arrayBuffer()}function gn(e){return[{...e,start:0,end:e.length}]}function Ut(e){return`/tmp/${e}`}function zt(e,r,t){let o=t?.core?.type||t.type||"auto",n=o==="auto"?wn(e,r):bn(o,r);if(!n)throw new Error("Not a valid source type");return n.createDataSource(e,t)}function wn(e,r){for(let t of r)if(t.testURL&&t.testURL(e))return t;return null}function bn(e,r){for(let t of r)if(t.type===e)return t;return null}function qt(e,r,t){let o=t?.type||"auto",n=null;if(o==="auto"){for(let s of r)if(typeof e=="string"&&s.testURL&&s.testURL(e))return s}else n=xn(o,r);if(!n&&!t?.nothrow)throw new Error("Not a valid image source type");return n}function xn(e,r){for(let t of r)if(t.type===e)return t;return null}function Vt(e,r){if(globalThis.loaders.makeNodeStream)return globalThis.loaders.makeNodeStream(e,r);let t=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new ReadableStream({type:"bytes",async pull(o){try{let{done:n,value:s}=await t.next();n?o.close():o.enqueue(new Uint8Array(s))}catch(n){o.error(n)}},async cancel(){await t?.return?.()}},{highWaterMark:2**24,...r})}var Gt="4.4.0-alpha.14",Ht={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:Gt,worker:!0,mimeTypes:["application/x.empty"],extensions:["null"],tests:[()=>!1],options:{null:{}}},Qt={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:Gt,mimeTypes:["application/x.empty"],extensions:["null"],parse:async(e,r,t)=>Wr(e,r||{},t),parseSync:Wr,parseInBatches:async function*(r,t,o){for await(let n of r)yield Wr(n,t,o)},tests:[()=>!1],options:{null:{}}};function Wr(e,r,t){return null}async function Jt(e,r,t=()=>{},o=()=>{}){if(e=await e,!e.ok)return e;let n=e.body;if(!n)return e;let s=e.headers.get("content-length")||0,i=s?parseInt(s):0;if(!(i>0)||typeof ReadableStream>"u"||!n.getReader)return e;let a=new ReadableStream({async start(c){let f=n.getReader();await Kt(c,f,0,i,r,t,o)}});return new Response(a)}async function Kt(e,r,t,o,n,s,i){try{let{done:a,value:c}=await r.read();if(a){s(),e.close();return}t+=c.byteLength;let f=Math.round(t/o*100);n(f,{loadedBytes:t,totalBytes:o}),e.enqueue(c),await Kt(e,r,t,o,n,s,i)}catch(a){e.error(a),i(a)}}var Pe=class{_fetch;files={};lowerCaseFiles={};usedFiles={};constructor(r,t){this._fetch=t?.fetch||fetch;for(let o=0;o<r.length;++o){let n=r[o];this.files[n.name]=n,this.lowerCaseFiles[n.name.toLowerCase()]=n,this.usedFiles[n.name]=!1}this.fetch=this.fetch.bind(this)}async fetch(r,t){if(r.includes("://"))return this._fetch(r,t);let o=this.files[r];if(!o)return new Response(r,{status:400,statusText:"NOT FOUND"});let s=new Headers(t?.headers).get("Range"),i=s&&/bytes=($1)-($2)/.exec(s);if(i){let c=parseInt(i[1]),f=parseInt(i[2]),k=await o.slice(c,f).arrayBuffer(),E=new Response(k);return Object.defineProperty(E,"url",{value:r}),E}let a=new Response(o);return Object.defineProperty(a,"url",{value:r}),a}async readdir(r){let t=[];for(let o in this.files)t.push(o);return t}async stat(r,t){let o=this.files[r];if(!o)throw new Error(r);return{size:o.size}}async unlink(r){delete this.files[r],delete this.lowerCaseFiles[r],this.usedFiles[r]=!0}async openReadableFile(r,t){return new de(this.files[r])}_getFile(r,t){let o=this.files[r]||this.lowerCaseFiles[r];return o&&t&&(this.usedFiles[r]=!0),o}};return to(Tn);})();
14
14
  return __exports__;
15
15
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/schema",
3
- "version": "4.4.0-alpha.13",
3
+ "version": "4.4.0-alpha.14",
4
4
  "description": "Table format APIs for JSON, CSV, etc...",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "@types/geojson": "^7946.0.7",
45
- "apache-arrow": ">= 15.0.0"
45
+ "apache-arrow": ">= 17.0.0"
46
46
  },
47
- "gitHead": "5145c7b32353d00f414b85773caa9064af412434"
47
+ "gitHead": "139714d328ba86acff50738576a663917f76db80"
48
48
  }