@loaders.gl/i3s 4.0.0-alpha.19 → 4.0.0-alpha.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/dist.min.js +300 -275
  2. package/dist/es5/arcgis-webscene-loader.js +1 -1
  3. package/dist/es5/i3s-attribute-loader.js +1 -1
  4. package/dist/es5/i3s-building-scene-layer-loader.js +1 -1
  5. package/dist/es5/i3s-content-loader.js +1 -1
  6. package/dist/es5/i3s-loader.js +1 -1
  7. package/dist/es5/i3s-node-page-loader.js +1 -1
  8. package/dist/es5/i3s-slpk-loader.js +3 -3
  9. package/dist/es5/i3s-slpk-loader.js.map +1 -1
  10. package/dist/es5/index.js +0 -7
  11. package/dist/es5/index.js.map +1 -1
  12. package/dist/es5/lib/parsers/parse-slpk/parse-slpk.js +6 -69
  13. package/dist/es5/lib/parsers/parse-slpk/parse-slpk.js.map +1 -1
  14. package/dist/es5/lib/parsers/parse-slpk/slpk-archieve.js +9 -33
  15. package/dist/es5/lib/parsers/parse-slpk/slpk-archieve.js.map +1 -1
  16. package/dist/esm/arcgis-webscene-loader.js +1 -1
  17. package/dist/esm/i3s-attribute-loader.js +1 -1
  18. package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
  19. package/dist/esm/i3s-content-loader.js +1 -1
  20. package/dist/esm/i3s-loader.js +1 -1
  21. package/dist/esm/i3s-node-page-loader.js +1 -1
  22. package/dist/esm/i3s-slpk-loader.js +3 -3
  23. package/dist/esm/i3s-slpk-loader.js.map +1 -1
  24. package/dist/esm/index.js +0 -1
  25. package/dist/esm/index.js.map +1 -1
  26. package/dist/esm/lib/parsers/parse-slpk/parse-slpk.js +2 -35
  27. package/dist/esm/lib/parsers/parse-slpk/parse-slpk.js.map +1 -1
  28. package/dist/esm/lib/parsers/parse-slpk/slpk-archieve.js +5 -29
  29. package/dist/esm/lib/parsers/parse-slpk/slpk-archieve.js.map +1 -1
  30. package/dist/i3s-content-worker-node.js +2 -2
  31. package/dist/i3s-content-worker-node.js.map +2 -2
  32. package/dist/i3s-content-worker.js +21 -21
  33. package/dist/i3s-slpk-loader.js +2 -2
  34. package/dist/index.d.ts +0 -2
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +1 -3
  37. package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts +1 -1
  38. package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts.map +1 -1
  39. package/dist/lib/parsers/parse-slpk/parse-slpk.js +6 -50
  40. package/dist/lib/parsers/parse-slpk/slpk-archieve.d.ts +2 -21
  41. package/dist/lib/parsers/parse-slpk/slpk-archieve.d.ts.map +1 -1
  42. package/dist/lib/parsers/parse-slpk/slpk-archieve.js +7 -46
  43. package/package.json +9 -9
  44. package/src/i3s-slpk-loader.ts +2 -2
  45. package/src/index.ts +0 -2
  46. package/src/lib/parsers/parse-slpk/parse-slpk.ts +11 -56
  47. package/src/lib/parsers/parse-slpk/slpk-archieve.ts +5 -54
  48. package/dist/es5/lib/parsers/parse-zip/cd-file-header.js +0 -121
  49. package/dist/es5/lib/parsers/parse-zip/cd-file-header.js.map +0 -1
  50. package/dist/es5/lib/parsers/parse-zip/data-view-file-provider.js +0 -129
  51. package/dist/es5/lib/parsers/parse-zip/data-view-file-provider.js.map +0 -1
  52. package/dist/es5/lib/parsers/parse-zip/end-of-central-directory.js +0 -100
  53. package/dist/es5/lib/parsers/parse-zip/end-of-central-directory.js.map +0 -1
  54. package/dist/es5/lib/parsers/parse-zip/file-provider.js +0 -2
  55. package/dist/es5/lib/parsers/parse-zip/file-provider.js.map +0 -1
  56. package/dist/es5/lib/parsers/parse-zip/local-file-header.js +0 -113
  57. package/dist/es5/lib/parsers/parse-zip/local-file-header.js.map +0 -1
  58. package/dist/es5/lib/parsers/parse-zip/search-from-the-end.js +0 -69
  59. package/dist/es5/lib/parsers/parse-zip/search-from-the-end.js.map +0 -1
  60. package/dist/esm/lib/parsers/parse-zip/cd-file-header.js +0 -45
  61. package/dist/esm/lib/parsers/parse-zip/cd-file-header.js.map +0 -1
  62. package/dist/esm/lib/parsers/parse-zip/data-view-file-provider.js +0 -32
  63. package/dist/esm/lib/parsers/parse-zip/data-view-file-provider.js.map +0 -1
  64. package/dist/esm/lib/parsers/parse-zip/end-of-central-directory.js +0 -33
  65. package/dist/esm/lib/parsers/parse-zip/end-of-central-directory.js.map +0 -1
  66. package/dist/esm/lib/parsers/parse-zip/file-provider.js +0 -2
  67. package/dist/esm/lib/parsers/parse-zip/file-provider.js.map +0 -1
  68. package/dist/esm/lib/parsers/parse-zip/local-file-header.js +0 -40
  69. package/dist/esm/lib/parsers/parse-zip/local-file-header.js.map +0 -1
  70. package/dist/esm/lib/parsers/parse-zip/search-from-the-end.js +0 -16
  71. package/dist/esm/lib/parsers/parse-zip/search-from-the-end.js.map +0 -1
  72. package/dist/lib/parsers/parse-zip/cd-file-header.d.ts +0 -31
  73. package/dist/lib/parsers/parse-zip/cd-file-header.d.ts.map +0 -1
  74. package/dist/lib/parsers/parse-zip/cd-file-header.js +0 -55
  75. package/dist/lib/parsers/parse-zip/data-view-file-provider.d.ts +0 -36
  76. package/dist/lib/parsers/parse-zip/data-view-file-provider.d.ts.map +0 -1
  77. package/dist/lib/parsers/parse-zip/data-view-file-provider.js +0 -61
  78. package/dist/lib/parsers/parse-zip/end-of-central-directory.d.ts +0 -18
  79. package/dist/lib/parsers/parse-zip/end-of-central-directory.d.ts.map +0 -1
  80. package/dist/lib/parsers/parse-zip/end-of-central-directory.js +0 -41
  81. package/dist/lib/parsers/parse-zip/file-provider.d.ts +0 -36
  82. package/dist/lib/parsers/parse-zip/file-provider.d.ts.map +0 -1
  83. package/dist/lib/parsers/parse-zip/file-provider.js +0 -2
  84. package/dist/lib/parsers/parse-zip/local-file-header.d.ts +0 -27
  85. package/dist/lib/parsers/parse-zip/local-file-header.d.ts.map +0 -1
  86. package/dist/lib/parsers/parse-zip/local-file-header.js +0 -53
  87. package/dist/lib/parsers/parse-zip/search-from-the-end.d.ts +0 -11
  88. package/dist/lib/parsers/parse-zip/search-from-the-end.d.ts.map +0 -1
  89. package/dist/lib/parsers/parse-zip/search-from-the-end.js +0 -31
  90. package/src/lib/parsers/parse-zip/cd-file-header.ts +0 -106
  91. package/src/lib/parsers/parse-zip/data-view-file-provider.ts +0 -69
  92. package/src/lib/parsers/parse-zip/end-of-central-directory.ts +0 -78
  93. package/src/lib/parsers/parse-zip/file-provider.ts +0 -40
  94. package/src/lib/parsers/parse-zip/local-file-header.ts +0 -91
  95. package/src/lib/parsers/parse-zip/search-from-the-end.ts +0 -38
package/dist/dist.min.js CHANGED
@@ -1789,7 +1789,7 @@
1789
1789
  isFunction = (x) => typeof x === "function";
1790
1790
  isObject = (x) => x !== null && typeof x === "object";
1791
1791
  isPureObject = (x) => isObject(x) && x.constructor === {}.constructor;
1792
- isIterable = (x) => x && typeof x[Symbol.iterator] === "function";
1792
+ isIterable = (x) => Boolean(x) && typeof x[Symbol.iterator] === "function";
1793
1793
  isAsyncIterable = (x) => x && typeof x[Symbol.asyncIterator] === "function";
1794
1794
  isResponse = (x) => typeof Response !== "undefined" && x instanceof Response || x && x.arrayBuffer && x.text && x.json;
1795
1795
  isBlob = (x) => typeof Blob !== "undefined" && x instanceof Blob;
@@ -3254,12 +3254,12 @@
3254
3254
  // ../core/src/lib/loader-utils/get-fetch-function.ts
3255
3255
  function getFetchFunction(options, context) {
3256
3256
  const globalOptions = getGlobalLoaderOptions();
3257
- const fetchOptions = options || globalOptions;
3258
- if (typeof fetchOptions.fetch === "function") {
3259
- return fetchOptions.fetch;
3257
+ const loaderOptions = options || globalOptions;
3258
+ if (typeof loaderOptions.fetch === "function") {
3259
+ return loaderOptions.fetch;
3260
3260
  }
3261
- if (isObject(fetchOptions.fetch)) {
3262
- return (url) => fetchFile(url, fetchOptions);
3261
+ if (isObject(loaderOptions.fetch)) {
3262
+ return (url) => fetchFile(url, loaderOptions.fetch);
3263
3263
  }
3264
3264
  if (context?.fetch) {
3265
3265
  return context?.fetch;
@@ -3347,26 +3347,26 @@
3347
3347
  context.response = { headers, ok, redirected, status, statusText, type, url };
3348
3348
  }
3349
3349
  data = await getArrayBufferOrStringFromData(data, loader, options);
3350
- if (loader.parseTextSync && typeof data === "string") {
3351
- options.dataType = "text";
3352
- return loader.parseTextSync(data, options, context, loader);
3350
+ const loaderWithParser = loader;
3351
+ if (loaderWithParser.parseTextSync && typeof data === "string") {
3352
+ return loaderWithParser.parseTextSync(data, options, context);
3353
3353
  }
3354
3354
  if (canParseWithWorker(loader, options)) {
3355
3355
  return await parseWithWorker(loader, data, options, context, parse);
3356
3356
  }
3357
- if (loader.parseText && typeof data === "string") {
3358
- return await loader.parseText(data, options, context, loader);
3357
+ if (loaderWithParser.parseText && typeof data === "string") {
3358
+ return await loaderWithParser.parseText(data, options, context);
3359
3359
  }
3360
- if (loader.parse) {
3361
- return await loader.parse(data, options, context, loader);
3360
+ if (loaderWithParser.parse) {
3361
+ return await loaderWithParser.parse(data, options, context);
3362
3362
  }
3363
- assert2(!loader.parseSync);
3363
+ assert2(!loaderWithParser.parseSync);
3364
3364
  throw new Error(`${loader.id} loader - no parser found and worker is disabled`);
3365
3365
  }
3366
3366
  var init_parse = __esm({
3367
3367
  "../core/src/lib/api/parse.ts"() {
3368
- init_src();
3369
3368
  init_src2();
3369
+ init_src();
3370
3370
  init_normalize_loader();
3371
3371
  init_is_type();
3372
3372
  init_option_utils();
@@ -10532,6 +10532,213 @@
10532
10532
  }
10533
10533
  });
10534
10534
 
10535
+ // ../zip/src/file-provider/data-view-file.ts
10536
+ var toNumber, DataViewFile;
10537
+ var init_data_view_file = __esm({
10538
+ "../zip/src/file-provider/data-view-file.ts"() {
10539
+ toNumber = (bigint) => {
10540
+ if (bigint > Number.MAX_SAFE_INTEGER) {
10541
+ throw new Error("Offset is out of bounds");
10542
+ }
10543
+ return Number(bigint);
10544
+ };
10545
+ DataViewFile = class {
10546
+ constructor(file) {
10547
+ this.file = file;
10548
+ }
10549
+ async destroy() {
10550
+ }
10551
+ async getUint8(offset) {
10552
+ return this.file.getUint8(toNumber(offset));
10553
+ }
10554
+ async getUint16(offset) {
10555
+ return this.file.getUint16(toNumber(offset), true);
10556
+ }
10557
+ async getUint32(offset) {
10558
+ return this.file.getUint32(toNumber(offset), true);
10559
+ }
10560
+ async getBigUint64(offset) {
10561
+ return this.file.getBigUint64(toNumber(offset), true);
10562
+ }
10563
+ async slice(startOffset, endOffset) {
10564
+ return this.file.buffer.slice(toNumber(startOffset), toNumber(endOffset));
10565
+ }
10566
+ get length() {
10567
+ return BigInt(this.file.byteLength);
10568
+ }
10569
+ };
10570
+ }
10571
+ });
10572
+
10573
+ // ../zip/src/parse-zip/search-from-the-end.ts
10574
+ var searchFromTheEnd;
10575
+ var init_search_from_the_end = __esm({
10576
+ "../zip/src/parse-zip/search-from-the-end.ts"() {
10577
+ searchFromTheEnd = async (file, target) => {
10578
+ const searchWindow = [
10579
+ await file.getUint8(file.length - 1n),
10580
+ await file.getUint8(file.length - 2n),
10581
+ await file.getUint8(file.length - 3n),
10582
+ void 0
10583
+ ];
10584
+ let targetOffset = 0n;
10585
+ for (let i2 = file.length - 4n; i2 > -1; i2--) {
10586
+ searchWindow[3] = searchWindow[2];
10587
+ searchWindow[2] = searchWindow[1];
10588
+ searchWindow[1] = searchWindow[0];
10589
+ searchWindow[0] = await file.getUint8(i2);
10590
+ if (searchWindow.every((val, index) => val === target[index])) {
10591
+ targetOffset = i2;
10592
+ break;
10593
+ }
10594
+ }
10595
+ return targetOffset;
10596
+ };
10597
+ }
10598
+ });
10599
+
10600
+ // ../zip/src/parse-zip/end-of-central-directory.ts
10601
+ var eoCDSignature, zip64EoCDLocatorSignature, zip64EoCDSignature, CD_RECORDS_NUMBER_OFFSET, CD_START_OFFSET_OFFSET, ZIP64_EOCD_START_OFFSET_OFFSET, ZIP64_CD_RECORDS_NUMBER_OFFSET, ZIP64_CD_START_OFFSET_OFFSET, parseEoCDRecord;
10602
+ var init_end_of_central_directory = __esm({
10603
+ "../zip/src/parse-zip/end-of-central-directory.ts"() {
10604
+ init_search_from_the_end();
10605
+ eoCDSignature = [80, 75, 5, 6];
10606
+ zip64EoCDLocatorSignature = Buffer.from([80, 75, 6, 7]);
10607
+ zip64EoCDSignature = Buffer.from([80, 75, 6, 6]);
10608
+ CD_RECORDS_NUMBER_OFFSET = 8n;
10609
+ CD_START_OFFSET_OFFSET = 16n;
10610
+ ZIP64_EOCD_START_OFFSET_OFFSET = 8n;
10611
+ ZIP64_CD_RECORDS_NUMBER_OFFSET = 24n;
10612
+ ZIP64_CD_START_OFFSET_OFFSET = 48n;
10613
+ parseEoCDRecord = async (fileProvider) => {
10614
+ const zipEoCDOffset = await searchFromTheEnd(fileProvider, eoCDSignature);
10615
+ let cdRecordsNumber = BigInt(await fileProvider.getUint16(zipEoCDOffset + CD_RECORDS_NUMBER_OFFSET));
10616
+ let cdStartOffset = BigInt(await fileProvider.getUint32(zipEoCDOffset + CD_START_OFFSET_OFFSET));
10617
+ if (cdStartOffset === BigInt(4294967295) || cdRecordsNumber === BigInt(4294967295)) {
10618
+ const zip64EoCDLocatorOffset = zipEoCDOffset - 20n;
10619
+ if (Buffer.from(await fileProvider.slice(zip64EoCDLocatorOffset, zip64EoCDLocatorOffset + 4n)).compare(zip64EoCDLocatorSignature) !== 0) {
10620
+ throw new Error("zip64 EoCD locator not found");
10621
+ }
10622
+ const zip64EoCDOffset = await fileProvider.getBigUint64(zip64EoCDLocatorOffset + ZIP64_EOCD_START_OFFSET_OFFSET);
10623
+ if (Buffer.from(await fileProvider.slice(zip64EoCDOffset, zip64EoCDOffset + 4n)).compare(zip64EoCDSignature) !== 0) {
10624
+ throw new Error("zip64 EoCD not found");
10625
+ }
10626
+ cdRecordsNumber = await fileProvider.getBigUint64(zip64EoCDOffset + ZIP64_CD_RECORDS_NUMBER_OFFSET);
10627
+ cdStartOffset = await fileProvider.getBigUint64(zip64EoCDOffset + ZIP64_CD_START_OFFSET_OFFSET);
10628
+ }
10629
+ return {
10630
+ cdRecordsNumber,
10631
+ cdStartOffset
10632
+ };
10633
+ };
10634
+ }
10635
+ });
10636
+
10637
+ // ../zip/src/parse-zip/cd-file-header.ts
10638
+ async function* zipCDFileHeaderGenerator(fileProvider) {
10639
+ const { cdStartOffset } = await parseEoCDRecord(fileProvider);
10640
+ let cdHeader = await parseZipCDFileHeader(cdStartOffset, fileProvider);
10641
+ while (cdHeader) {
10642
+ yield cdHeader;
10643
+ cdHeader = await parseZipCDFileHeader(cdHeader.extraOffset + BigInt(cdHeader.extraFieldLength), fileProvider);
10644
+ }
10645
+ }
10646
+ var CD_COMPRESSED_SIZE_OFFSET, CD_UNCOMPRESSED_SIZE_OFFSET, CD_FILE_NAME_LENGTH_OFFSET, CD_EXTRA_FIELD_LENGTH_OFFSET, CD_LOCAL_HEADER_OFFSET_OFFSET, CD_FILE_NAME_OFFSET, signature, parseZipCDFileHeader;
10647
+ var init_cd_file_header = __esm({
10648
+ "../zip/src/parse-zip/cd-file-header.ts"() {
10649
+ init_end_of_central_directory();
10650
+ CD_COMPRESSED_SIZE_OFFSET = 20n;
10651
+ CD_UNCOMPRESSED_SIZE_OFFSET = 24n;
10652
+ CD_FILE_NAME_LENGTH_OFFSET = 28n;
10653
+ CD_EXTRA_FIELD_LENGTH_OFFSET = 30n;
10654
+ CD_LOCAL_HEADER_OFFSET_OFFSET = 42n;
10655
+ CD_FILE_NAME_OFFSET = 46n;
10656
+ signature = [80, 75, 1, 2];
10657
+ parseZipCDFileHeader = async (headerOffset, buffer) => {
10658
+ if (Buffer.from(await buffer.slice(headerOffset, headerOffset + 4n)).compare(Buffer.from(signature)) !== 0) {
10659
+ return null;
10660
+ }
10661
+ let compressedSize = BigInt(await buffer.getUint32(headerOffset + CD_COMPRESSED_SIZE_OFFSET));
10662
+ let uncompressedSize = BigInt(await buffer.getUint32(headerOffset + CD_UNCOMPRESSED_SIZE_OFFSET));
10663
+ const extraFieldLength = await buffer.getUint16(headerOffset + CD_EXTRA_FIELD_LENGTH_OFFSET);
10664
+ const fileNameLength = await buffer.getUint16(headerOffset + CD_FILE_NAME_LENGTH_OFFSET);
10665
+ const fileName = new TextDecoder().decode(await buffer.slice(headerOffset + CD_FILE_NAME_OFFSET, headerOffset + CD_FILE_NAME_OFFSET + BigInt(fileNameLength)));
10666
+ const extraOffset = headerOffset + CD_FILE_NAME_OFFSET + BigInt(fileNameLength);
10667
+ const oldFormatOffset = await buffer.getUint32(headerOffset + CD_LOCAL_HEADER_OFFSET_OFFSET);
10668
+ let fileDataOffset = BigInt(oldFormatOffset);
10669
+ let offsetInZip64Data = 4n;
10670
+ if (uncompressedSize === BigInt(4294967295)) {
10671
+ uncompressedSize = await buffer.getBigUint64(extraOffset + offsetInZip64Data);
10672
+ offsetInZip64Data += 8n;
10673
+ }
10674
+ if (compressedSize === BigInt(4294967295)) {
10675
+ compressedSize = await buffer.getBigUint64(extraOffset + offsetInZip64Data);
10676
+ offsetInZip64Data += 8n;
10677
+ }
10678
+ if (fileDataOffset === BigInt(4294967295)) {
10679
+ fileDataOffset = await buffer.getBigUint64(extraOffset + offsetInZip64Data);
10680
+ }
10681
+ const localHeaderOffset = fileDataOffset;
10682
+ return {
10683
+ compressedSize,
10684
+ uncompressedSize,
10685
+ extraFieldLength,
10686
+ fileNameLength,
10687
+ fileName,
10688
+ extraOffset,
10689
+ localHeaderOffset
10690
+ };
10691
+ };
10692
+ }
10693
+ });
10694
+
10695
+ // ../zip/src/parse-zip/local-file-header.ts
10696
+ var COMPRESSION_METHOD_OFFSET, COMPRESSED_SIZE_OFFSET, UNCOMPRESSED_SIZE_OFFSET, FILE_NAME_LENGTH_OFFSET, EXTRA_FIELD_LENGTH_OFFSET, FILE_NAME_OFFSET, signature2, parseZipLocalFileHeader;
10697
+ var init_local_file_header = __esm({
10698
+ "../zip/src/parse-zip/local-file-header.ts"() {
10699
+ COMPRESSION_METHOD_OFFSET = 8n;
10700
+ COMPRESSED_SIZE_OFFSET = 18n;
10701
+ UNCOMPRESSED_SIZE_OFFSET = 22n;
10702
+ FILE_NAME_LENGTH_OFFSET = 26n;
10703
+ EXTRA_FIELD_LENGTH_OFFSET = 28n;
10704
+ FILE_NAME_OFFSET = 30n;
10705
+ signature2 = Buffer.from([80, 75, 3, 4]);
10706
+ parseZipLocalFileHeader = async (headerOffset, buffer) => {
10707
+ if (Buffer.from(await buffer.slice(headerOffset, headerOffset + 4n)).compare(signature2) !== 0) {
10708
+ return null;
10709
+ }
10710
+ const fileNameLength = await buffer.getUint16(headerOffset + FILE_NAME_LENGTH_OFFSET);
10711
+ const fileName = new TextDecoder().decode(await buffer.slice(headerOffset + FILE_NAME_OFFSET, headerOffset + FILE_NAME_OFFSET + BigInt(fileNameLength))).split("\\").join("/");
10712
+ const extraFieldLength = await buffer.getUint16(headerOffset + EXTRA_FIELD_LENGTH_OFFSET);
10713
+ let fileDataOffset = headerOffset + FILE_NAME_OFFSET + BigInt(fileNameLength + extraFieldLength);
10714
+ const compressionMethod = await buffer.getUint16(headerOffset + COMPRESSION_METHOD_OFFSET);
10715
+ let compressedSize = BigInt(await buffer.getUint32(headerOffset + COMPRESSED_SIZE_OFFSET));
10716
+ let uncompressedSize = BigInt(await buffer.getUint32(headerOffset + UNCOMPRESSED_SIZE_OFFSET));
10717
+ const extraOffset = headerOffset + FILE_NAME_OFFSET + BigInt(fileNameLength);
10718
+ let offsetInZip64Data = 4n;
10719
+ if (uncompressedSize === BigInt(4294967295)) {
10720
+ uncompressedSize = await buffer.getBigUint64(extraOffset + offsetInZip64Data);
10721
+ offsetInZip64Data += 8n;
10722
+ }
10723
+ if (compressedSize === BigInt(4294967295)) {
10724
+ compressedSize = await buffer.getBigUint64(extraOffset + offsetInZip64Data);
10725
+ offsetInZip64Data += 8n;
10726
+ }
10727
+ if (fileDataOffset === BigInt(4294967295)) {
10728
+ fileDataOffset = await buffer.getBigUint64(extraOffset + offsetInZip64Data);
10729
+ }
10730
+ return {
10731
+ fileNameLength,
10732
+ fileName,
10733
+ extraFieldLength,
10734
+ fileDataOffset,
10735
+ compressedSize,
10736
+ compressionMethod
10737
+ };
10738
+ };
10739
+ }
10740
+ });
10741
+
10535
10742
  // ../../node_modules/crypt/crypt.js
10536
10743
  var require_crypt = __commonJS({
10537
10744
  "../../node_modules/crypt/crypt.js"(exports, module) {
@@ -10770,166 +10977,75 @@
10770
10977
  }
10771
10978
  });
10772
10979
 
10773
- // src/lib/parsers/parse-zip/cd-file-header.ts
10774
- var offsets, signature, parseZipCDFileHeader;
10775
- var init_cd_file_header = __esm({
10776
- "src/lib/parsers/parse-zip/cd-file-header.ts"() {
10777
- offsets = {
10778
- CD_COMPRESSED_SIZE_OFFSET: 20n,
10779
- CD_UNCOMPRESSED_SIZE_OFFSET: 24n,
10780
- CD_FILE_NAME_LENGTH_OFFSET: 28n,
10781
- CD_EXTRA_FIELD_LENGTH_OFFSET: 30n,
10782
- CD_LOCAL_HEADER_OFFSET_OFFSET: 42n,
10783
- CD_FILE_NAME_OFFSET: 46n
10784
- };
10785
- signature = [80, 75, 1, 2];
10786
- parseZipCDFileHeader = async (headerOffset, buffer) => {
10787
- if (Buffer.from(await buffer.slice(headerOffset, headerOffset + 4n)).compare(Buffer.from(signature)) !== 0) {
10788
- return null;
10789
- }
10790
- let compressedSize = BigInt(await buffer.getUint32(headerOffset + offsets.CD_COMPRESSED_SIZE_OFFSET));
10791
- let uncompressedSize = BigInt(await buffer.getUint32(headerOffset + offsets.CD_UNCOMPRESSED_SIZE_OFFSET));
10792
- const extraFieldLength = await buffer.getUint16(headerOffset + offsets.CD_EXTRA_FIELD_LENGTH_OFFSET);
10793
- const fileNameLength = await buffer.getUint16(headerOffset + offsets.CD_FILE_NAME_LENGTH_OFFSET);
10794
- const fileName = new TextDecoder().decode(await buffer.slice(headerOffset + offsets.CD_FILE_NAME_OFFSET, headerOffset + offsets.CD_FILE_NAME_OFFSET + BigInt(fileNameLength)));
10795
- const extraOffset = headerOffset + offsets.CD_FILE_NAME_OFFSET + BigInt(fileNameLength);
10796
- const oldFormatOffset = await buffer.getUint32(headerOffset + offsets.CD_LOCAL_HEADER_OFFSET_OFFSET);
10797
- let fileDataOffset = BigInt(oldFormatOffset);
10798
- let offsetInZip64Data = 4n;
10799
- if (uncompressedSize === BigInt(4294967295)) {
10800
- uncompressedSize = await buffer.getBigUint64(extraOffset + offsetInZip64Data);
10801
- offsetInZip64Data += 8n;
10802
- }
10803
- if (compressedSize === BigInt(4294967295)) {
10804
- compressedSize = await buffer.getBigUint64(extraOffset + offsetInZip64Data);
10805
- offsetInZip64Data += 8n;
10980
+ // ../zip/src/hash-file-utility.ts
10981
+ var import_md5, compareHashes, parseHashFile, findBin, generateHashInfo;
10982
+ var init_hash_file_utility = __esm({
10983
+ "../zip/src/hash-file-utility.ts"() {
10984
+ import_md5 = __toModule(require_md5());
10985
+ init_cd_file_header();
10986
+ compareHashes = (hash1, hash2) => {
10987
+ const h1 = new BigUint64Array(hash1.buffer, hash1.byteOffset, 2);
10988
+ const h2 = new BigUint64Array(hash2.buffer, hash2.byteOffset, 2);
10989
+ const diff = h1[0] === h2[0] ? h1[1] - h2[1] : h1[0] - h2[0];
10990
+ if (diff < 0n) {
10991
+ return -1;
10992
+ } else if (diff === 0n) {
10993
+ return 0;
10806
10994
  }
10807
- if (fileDataOffset === BigInt(4294967295)) {
10808
- fileDataOffset = await buffer.getBigUint64(extraOffset + offsetInZip64Data);
10995
+ return 1;
10996
+ };
10997
+ parseHashFile = (hashFile) => {
10998
+ const hashFileBuffer = Buffer.from(hashFile);
10999
+ const hashArray = [];
11000
+ for (let i2 = 0; i2 < hashFileBuffer.buffer.byteLength; i2 = i2 + 24) {
11001
+ const offsetBuffer = new DataView(hashFileBuffer.buffer.slice(hashFileBuffer.byteOffset + i2 + 16, hashFileBuffer.byteOffset + i2 + 24));
11002
+ const offset = offsetBuffer.getBigUint64(offsetBuffer.byteOffset, true);
11003
+ hashArray.push({
11004
+ hash: Buffer.from(hashFileBuffer.subarray(hashFileBuffer.byteOffset + i2, hashFileBuffer.byteOffset + i2 + 16)),
11005
+ offset
11006
+ });
10809
11007
  }
10810
- const localHeaderOffset = fileDataOffset;
10811
- return {
10812
- compressedSize,
10813
- uncompressedSize,
10814
- extraFieldLength,
10815
- fileNameLength,
10816
- fileName,
10817
- extraOffset,
10818
- localHeaderOffset
10819
- };
11008
+ return hashArray;
10820
11009
  };
10821
- }
10822
- });
10823
-
10824
- // src/lib/parsers/parse-zip/search-from-the-end.ts
10825
- var searchFromTheEnd;
10826
- var init_search_from_the_end = __esm({
10827
- "src/lib/parsers/parse-zip/search-from-the-end.ts"() {
10828
- searchFromTheEnd = async (file, target) => {
10829
- const searchWindow = [
10830
- await file.getUint8(file.length - 1n),
10831
- await file.getUint8(file.length - 2n),
10832
- await file.getUint8(file.length - 3n),
10833
- void 0
10834
- ];
10835
- let targetOffset = 0n;
10836
- for (let i2 = file.length - 4n; i2 > -1; i2--) {
10837
- searchWindow[3] = searchWindow[2];
10838
- searchWindow[2] = searchWindow[1];
10839
- searchWindow[1] = searchWindow[0];
10840
- searchWindow[0] = await file.getUint8(i2);
10841
- if (searchWindow.every((val, index) => val === target[index])) {
10842
- targetOffset = i2;
10843
- break;
11010
+ findBin = (hashToSearch, hashArray) => {
11011
+ let lowerBorder = 0;
11012
+ let upperBorder = hashArray.length;
11013
+ while (upperBorder - lowerBorder > 1) {
11014
+ const middle = lowerBorder + Math.floor((upperBorder - lowerBorder) / 2);
11015
+ const value = compareHashes(hashArray[middle].hash, hashToSearch);
11016
+ if (value === 0) {
11017
+ return hashArray[middle];
11018
+ } else if (value < 0) {
11019
+ lowerBorder = middle;
11020
+ } else {
11021
+ upperBorder = middle;
10844
11022
  }
10845
11023
  }
10846
- return targetOffset;
10847
- };
10848
- }
10849
- });
10850
-
10851
- // src/lib/parsers/parse-zip/end-of-central-directory.ts
10852
- var eoCDSignature, zip64EoCDLocatorSignature, zip64EoCDSignature, offsets2, parseEoCDRecord;
10853
- var init_end_of_central_directory = __esm({
10854
- "src/lib/parsers/parse-zip/end-of-central-directory.ts"() {
10855
- init_search_from_the_end();
10856
- eoCDSignature = [80, 75, 5, 6];
10857
- zip64EoCDLocatorSignature = Buffer.from([80, 75, 6, 7]);
10858
- zip64EoCDSignature = Buffer.from([80, 75, 6, 6]);
10859
- offsets2 = {
10860
- CD_RECORDS_NUMBER_OFFSET: 8n,
10861
- CD_START_OFFSET_OFFSET: 16n,
10862
- ZIP64_EOCD_START_OFFSET_OFFSET: 8n,
10863
- ZIP64_CD_RECORDS_NUMBER_OFFSET: 24n,
10864
- ZIP64_CD_START_OFFSET_OFFSET: 48n
11024
+ return void 0;
10865
11025
  };
10866
- parseEoCDRecord = async (fileProvider) => {
10867
- const zipEoCDOffset = await searchFromTheEnd(fileProvider, eoCDSignature);
10868
- let cdRecordsNumber = BigInt(await fileProvider.getUint16(zipEoCDOffset + offsets2.CD_RECORDS_NUMBER_OFFSET));
10869
- let cdStartOffset = BigInt(await fileProvider.getUint32(zipEoCDOffset + offsets2.CD_START_OFFSET_OFFSET));
10870
- if (cdStartOffset === BigInt(4294967295) || cdRecordsNumber === BigInt(4294967295)) {
10871
- const zip64EoCDLocatorOffset = zipEoCDOffset - 20n;
10872
- if (Buffer.from(await fileProvider.slice(zip64EoCDLocatorOffset, zip64EoCDLocatorOffset + 4n)).compare(zip64EoCDLocatorSignature) !== 0) {
10873
- throw new Error("zip64 EoCD locator not found");
10874
- }
10875
- const zip64EoCDOffset = await fileProvider.getBigUint64(zip64EoCDLocatorOffset + offsets2.ZIP64_EOCD_START_OFFSET_OFFSET);
10876
- if (Buffer.from(await fileProvider.slice(zip64EoCDOffset, zip64EoCDOffset + 4n)).compare(zip64EoCDSignature) !== 0) {
10877
- throw new Error("zip64 EoCD not found");
10878
- }
10879
- cdRecordsNumber = await fileProvider.getBigUint64(zip64EoCDOffset + offsets2.ZIP64_CD_RECORDS_NUMBER_OFFSET);
10880
- cdStartOffset = await fileProvider.getBigUint64(zip64EoCDOffset + offsets2.ZIP64_CD_START_OFFSET_OFFSET);
11026
+ generateHashInfo = async (fileProvider) => {
11027
+ const zipCDIterator = zipCDFileHeaderGenerator(fileProvider);
11028
+ const hashInfo = [];
11029
+ for await (const cdHeader of zipCDIterator) {
11030
+ hashInfo.push({
11031
+ hash: Buffer.from((0, import_md5.default)(cdHeader.fileName.split("\\").join("/").toLocaleLowerCase()), "hex"),
11032
+ offset: cdHeader.localHeaderOffset
11033
+ });
10881
11034
  }
10882
- return {
10883
- cdRecordsNumber,
10884
- cdStartOffset
10885
- };
11035
+ hashInfo.sort((a2, b) => compareHashes(a2.hash, b.hash));
11036
+ return hashInfo;
10886
11037
  };
10887
11038
  }
10888
11039
  });
10889
11040
 
10890
- // src/lib/parsers/parse-zip/local-file-header.ts
10891
- var offsets3, signature2, parseZipLocalFileHeader;
10892
- var init_local_file_header = __esm({
10893
- "src/lib/parsers/parse-zip/local-file-header.ts"() {
10894
- offsets3 = {
10895
- COMPRESSED_SIZE_OFFSET: 18n,
10896
- UNCOMPRESSED_SIZE_OFFSET: 22n,
10897
- FILE_NAME_LENGTH_OFFSET: 26n,
10898
- EXTRA_FIELD_LENGTH_OFFSET: 28n,
10899
- FILE_NAME_OFFSET: 30n
10900
- };
10901
- signature2 = Buffer.from([80, 75, 3, 4]);
10902
- parseZipLocalFileHeader = async (headerOffset, buffer) => {
10903
- if (Buffer.from(await buffer.slice(headerOffset, headerOffset + 4n)).compare(signature2) !== 0) {
10904
- return null;
10905
- }
10906
- const fileNameLength = await buffer.getUint16(headerOffset + offsets3.FILE_NAME_LENGTH_OFFSET);
10907
- const fileName = new TextDecoder().decode(await buffer.slice(headerOffset + offsets3.FILE_NAME_OFFSET, headerOffset + offsets3.FILE_NAME_OFFSET + BigInt(fileNameLength))).split("\\").join("/");
10908
- const extraFieldLength = await buffer.getUint16(headerOffset + offsets3.EXTRA_FIELD_LENGTH_OFFSET);
10909
- let fileDataOffset = headerOffset + offsets3.FILE_NAME_OFFSET + BigInt(fileNameLength + extraFieldLength);
10910
- let compressedSize = BigInt(await buffer.getUint32(headerOffset + offsets3.COMPRESSED_SIZE_OFFSET));
10911
- let uncompressedSize = BigInt(await buffer.getUint32(headerOffset + offsets3.UNCOMPRESSED_SIZE_OFFSET));
10912
- const extraOffset = headerOffset + offsets3.FILE_NAME_OFFSET + BigInt(fileNameLength);
10913
- let offsetInZip64Data = 4n;
10914
- if (uncompressedSize === BigInt(4294967295)) {
10915
- uncompressedSize = await buffer.getBigUint64(extraOffset + offsetInZip64Data);
10916
- offsetInZip64Data += 8n;
10917
- }
10918
- if (compressedSize === BigInt(4294967295)) {
10919
- compressedSize = await buffer.getBigUint64(extraOffset + offsetInZip64Data);
10920
- offsetInZip64Data += 8n;
10921
- }
10922
- if (fileDataOffset === BigInt(4294967295)) {
10923
- fileDataOffset = await buffer.getBigUint64(extraOffset + offsetInZip64Data);
10924
- }
10925
- return {
10926
- fileNameLength,
10927
- fileName,
10928
- extraFieldLength,
10929
- fileDataOffset,
10930
- compressedSize
10931
- };
10932
- };
11041
+ // ../zip/src/index.ts
11042
+ var init_src9 = __esm({
11043
+ "../zip/src/index.ts"() {
11044
+ init_data_view_file();
11045
+ init_cd_file_header();
11046
+ init_local_file_header();
11047
+ init_search_from_the_end();
11048
+ init_hash_file_utility();
10933
11049
  }
10934
11050
  });
10935
11051
 
@@ -15125,7 +15241,8 @@
15125
15241
  }
15126
15242
  const pakoOptions = this.options?.deflate || {};
15127
15243
  const inputArray = new Uint8Array(input);
15128
- return import_pako.default.deflate(inputArray, pakoOptions).buffer;
15244
+ const deflate = this.options?.raw ? import_pako.default.deflateRaw : import_pako.default.deflate;
15245
+ return deflate(inputArray, pakoOptions).buffer;
15129
15246
  }
15130
15247
  decompressSync(input) {
15131
15248
  if (!isBrowser && this.options.deflate?.useZlib) {
@@ -15134,7 +15251,8 @@
15134
15251
  }
15135
15252
  const pakoOptions = this.options?.deflate || {};
15136
15253
  const inputArray = new Uint8Array(input);
15137
- return import_pako.default.inflate(inputArray, pakoOptions).buffer;
15254
+ const inflate = this.options?.raw ? import_pako.default.inflateRaw : import_pako.default.inflate;
15255
+ return inflate(inputArray, pakoOptions).buffer;
15138
15256
  }
15139
15257
  async *compressBatches(asyncIterator) {
15140
15258
  const pakoOptions = this.options?.deflate || {};
@@ -15214,30 +15332,19 @@
15214
15332
  });
15215
15333
 
15216
15334
  // ../compression/src/index.ts
15217
- var init_src9 = __esm({
15335
+ var init_src10 = __esm({
15218
15336
  "../compression/src/index.ts"() {
15219
15337
  init_gzip_compression();
15220
15338
  }
15221
15339
  });
15222
15340
 
15223
15341
  // src/lib/parsers/parse-slpk/slpk-archieve.ts
15224
- var import_md5, compareHashes, PATH_DESCRIPTIONS, SLPKArchive;
15342
+ var import_md52, PATH_DESCRIPTIONS, SLPKArchive;
15225
15343
  var init_slpk_archieve = __esm({
15226
15344
  "src/lib/parsers/parse-slpk/slpk-archieve.ts"() {
15227
- import_md5 = __toModule(require_md5());
15228
- init_local_file_header();
15345
+ import_md52 = __toModule(require_md5());
15229
15346
  init_src9();
15230
- compareHashes = (hash1, hash2) => {
15231
- const h1 = new BigUint64Array(hash1.buffer, hash1.byteOffset, 2);
15232
- const h2 = new BigUint64Array(hash2.buffer, hash2.byteOffset, 2);
15233
- const diff = h1[0] === h2[0] ? h1[1] - h2[1] : h1[0] - h2[0];
15234
- if (diff < 0n) {
15235
- return -1;
15236
- } else if (diff === 0n) {
15237
- return 0;
15238
- }
15239
- return 1;
15240
- };
15347
+ init_src10();
15241
15348
  PATH_DESCRIPTIONS = [
15242
15349
  {
15243
15350
  test: /^$/,
@@ -15274,22 +15381,6 @@
15274
15381
  ];
15275
15382
  SLPKArchive = class {
15276
15383
  constructor(slpkArchive, hashFile) {
15277
- this.findBin = (hashToSearch) => {
15278
- let lowerBorder = 0;
15279
- let upperBorder = this.hashArray.length;
15280
- while (upperBorder - lowerBorder > 1) {
15281
- const middle = lowerBorder + Math.floor((upperBorder - lowerBorder) / 2);
15282
- const value = compareHashes(this.hashArray[middle].hash, hashToSearch);
15283
- if (value === 0) {
15284
- return this.hashArray[middle];
15285
- } else if (value < 0) {
15286
- lowerBorder = middle;
15287
- } else {
15288
- upperBorder = middle;
15289
- }
15290
- }
15291
- return void 0;
15292
- };
15293
15384
  this.slpkArchive = slpkArchive;
15294
15385
  this.hashArray = hashFile;
15295
15386
  }
@@ -15337,8 +15428,8 @@
15337
15428
  return Buffer.from(data);
15338
15429
  }
15339
15430
  async getFileBytes(path) {
15340
- const nameHash = Buffer.from((0, import_md5.default)(path), "hex");
15341
- const fileInfo = this.findBin(nameHash);
15431
+ const nameHash = Buffer.from((0, import_md52.default)(path), "hex");
15432
+ const fileInfo = findBin(nameHash, this.hashArray);
15342
15433
  if (!fileInfo) {
15343
15434
  return void 0;
15344
15435
  }
@@ -15349,19 +15440,18 @@
15349
15440
  const compressedFile = this.slpkArchive.slice(localFileHeader.fileDataOffset, localFileHeader.fileDataOffset + localFileHeader.compressedSize);
15350
15441
  return compressedFile;
15351
15442
  }
15443
+ findBin(nameHash) {
15444
+ throw new Error("Method not implemented.");
15445
+ }
15352
15446
  };
15353
15447
  }
15354
15448
  });
15355
15449
 
15356
15450
  // src/lib/parsers/parse-slpk/parse-slpk.ts
15357
- var import_md52, parseSLPK, generateHashInfo, parseHashFile;
15451
+ var parseSLPK;
15358
15452
  var init_parse_slpk = __esm({
15359
15453
  "src/lib/parsers/parse-slpk/parse-slpk.ts"() {
15360
- import_md52 = __toModule(require_md5());
15361
- init_cd_file_header();
15362
- init_end_of_central_directory();
15363
- init_local_file_header();
15364
- init_search_from_the_end();
15454
+ init_src9();
15365
15455
  init_slpk_archieve();
15366
15456
  parseSLPK = async (fileProvider, cb) => {
15367
15457
  const hashCDOffset = await searchFromTheEnd(fileProvider, signature);
@@ -15383,81 +15473,18 @@
15383
15473
  }
15384
15474
  return new SLPKArchive(fileProvider, hashData);
15385
15475
  };
15386
- generateHashInfo = async (fileProvider) => {
15387
- const { cdStartOffset } = await parseEoCDRecord(fileProvider);
15388
- let cdHeader = await parseZipCDFileHeader(cdStartOffset, fileProvider);
15389
- const hashInfo = [];
15390
- while (cdHeader) {
15391
- hashInfo.push({
15392
- hash: Buffer.from((0, import_md52.default)(cdHeader.fileName.split("\\").join("/").toLocaleLowerCase()), "hex"),
15393
- offset: cdHeader.localHeaderOffset
15394
- });
15395
- cdHeader = await parseZipCDFileHeader(cdHeader.extraOffset + BigInt(cdHeader.extraFieldLength), fileProvider);
15396
- }
15397
- hashInfo.sort((a2, b) => compareHashes(a2.hash, b.hash));
15398
- return hashInfo;
15399
- };
15400
- parseHashFile = (hashFile) => {
15401
- const hashFileBuffer = Buffer.from(hashFile);
15402
- const hashArray = [];
15403
- for (let i2 = 0; i2 < hashFileBuffer.buffer.byteLength; i2 = i2 + 24) {
15404
- const offsetBuffer = new DataView(hashFileBuffer.buffer.slice(hashFileBuffer.byteOffset + i2 + 16, hashFileBuffer.byteOffset + i2 + 24));
15405
- const offset = offsetBuffer.getBigUint64(offsetBuffer.byteOffset, true);
15406
- hashArray.push({
15407
- hash: Buffer.from(hashFileBuffer.subarray(hashFileBuffer.byteOffset + i2, hashFileBuffer.byteOffset + i2 + 16)),
15408
- offset
15409
- });
15410
- }
15411
- return hashArray;
15412
- };
15413
- }
15414
- });
15415
-
15416
- // src/lib/parsers/parse-zip/data-view-file-provider.ts
15417
- var toNumber, DataViewFileProvider;
15418
- var init_data_view_file_provider = __esm({
15419
- "src/lib/parsers/parse-zip/data-view-file-provider.ts"() {
15420
- toNumber = (bigint) => {
15421
- if (bigint > Number.MAX_SAFE_INTEGER) {
15422
- throw new Error("Offset is out of bounds");
15423
- }
15424
- return Number(bigint);
15425
- };
15426
- DataViewFileProvider = class {
15427
- constructor(file) {
15428
- this.file = file;
15429
- }
15430
- async getUint8(offset) {
15431
- return this.file.getUint8(toNumber(offset));
15432
- }
15433
- async getUint16(offset) {
15434
- return this.file.getUint16(toNumber(offset), true);
15435
- }
15436
- async getUint32(offset) {
15437
- return this.file.getUint32(toNumber(offset), true);
15438
- }
15439
- async getBigUint64(offset) {
15440
- return this.file.getBigUint64(toNumber(offset), true);
15441
- }
15442
- async slice(startOffset, endOffset) {
15443
- return this.file.buffer.slice(toNumber(startOffset), toNumber(endOffset));
15444
- }
15445
- get length() {
15446
- return BigInt(this.file.byteLength);
15447
- }
15448
- };
15449
15476
  }
15450
15477
  });
15451
15478
 
15452
15479
  // src/i3s-slpk-loader.ts
15453
15480
  async function parseSLPK2(data, options = {}) {
15454
- return (await parseSLPK(new DataViewFileProvider(new DataView(data)))).getFile(options.slpk?.path ?? "", options.slpk?.pathMode);
15481
+ return (await parseSLPK(new DataViewFile(new DataView(data)))).getFile(options.slpk?.path ?? "", options.slpk?.pathMode);
15455
15482
  }
15456
15483
  var VERSION12, SLPKLoader;
15457
15484
  var init_i3s_slpk_loader = __esm({
15458
15485
  "src/i3s-slpk-loader.ts"() {
15486
+ init_src9();
15459
15487
  init_parse_slpk();
15460
- init_data_view_file_provider();
15461
15488
  VERSION12 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
15462
15489
  SLPKLoader = {
15463
15490
  name: "I3S SLPK (Scene Layer Package)",
@@ -15636,10 +15663,9 @@
15636
15663
  I3SNodePageLoader: () => I3SNodePageLoader,
15637
15664
  SLPKLoader: () => SLPKLoader,
15638
15665
  loadFeatureAttributes: () => loadFeatureAttributes,
15639
- parseSLPK: () => parseSLPK,
15640
- parseZipLocalFileHeader: () => parseZipLocalFileHeader
15666
+ parseSLPK: () => parseSLPK
15641
15667
  });
15642
- var init_src10 = __esm({
15668
+ var init_src11 = __esm({
15643
15669
  "src/index.ts"() {
15644
15670
  init_constants();
15645
15671
  init_i3s_loader();
@@ -15649,7 +15675,6 @@
15649
15675
  init_i3s_building_scene_layer_loader();
15650
15676
  init_i3s_node_page_loader();
15651
15677
  init_arcgis_webscene_loader();
15652
- init_local_file_header();
15653
15678
  init_parse_slpk();
15654
15679
  }
15655
15680
  });
@@ -15657,7 +15682,7 @@
15657
15682
  // src/bundle.ts
15658
15683
  var require_bundle = __commonJS({
15659
15684
  "src/bundle.ts"(exports, module) {
15660
- var moduleExports = (init_src10(), src_exports);
15685
+ var moduleExports = (init_src11(), src_exports);
15661
15686
  globalThis.loaders = globalThis.loaders || {};
15662
15687
  module.exports = Object.assign(globalThis.loaders, moduleExports);
15663
15688
  }