@loaders.gl/crypto 4.2.0-alpha.5 → 4.2.0-beta.1

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
@@ -65,6 +65,20 @@ var __exports__ = (() => {
65
65
  });
66
66
  __reExport(bundle_exports, __toESM(require_core(), 1));
67
67
 
68
+ // ../loader-utils/src/lib/module-utils/js-module-utils.ts
69
+ function registerJSModules(modules) {
70
+ globalThis.loaders ||= {};
71
+ globalThis.loaders.modules ||= {};
72
+ Object.assign(globalThis.loaders.modules, modules);
73
+ }
74
+ function getJSModule(name, caller) {
75
+ const module = globalThis.loaders?.modules?.[name];
76
+ if (!module) {
77
+ throw new Error(`${caller}: ${name} library not installed`);
78
+ }
79
+ return module;
80
+ }
81
+
68
82
  // ../loader-utils/src/lib/binary-utils/array-buffer-utils.ts
69
83
  function concatenateArrayBuffers(...sources) {
70
84
  return concatenateArrayBuffersFromArray(sources);
@@ -118,6 +132,7 @@ var __exports__ = (() => {
118
132
 
119
133
  // src/lib/algorithms/crc32.ts
120
134
  var CRC32 = class {
135
+ crc;
121
136
  constructor() {
122
137
  this.crc = ~0;
123
138
  }
@@ -533,9 +548,10 @@ var __exports__ = (() => {
533
548
 
534
549
  // src/lib/crc32-hash.ts
535
550
  var CRC32Hash = class extends Hash {
551
+ name = "crc32";
552
+ options;
536
553
  constructor(options = {}) {
537
554
  super();
538
- this.name = "crc32";
539
555
  this.options = { crypto: {}, ...options };
540
556
  this.hashBatches = this.hashBatches.bind(this);
541
557
  }
@@ -565,6 +581,8 @@ var __exports__ = (() => {
565
581
 
566
582
  // src/lib/algorithms/crc32c.ts
567
583
  var CRC32C = class {
584
+ options;
585
+ crc;
568
586
  constructor(options = {}) {
569
587
  this.options = options;
570
588
  this.crc = ~0;
@@ -846,13 +864,14 @@ var __exports__ = (() => {
846
864
 
847
865
  // src/lib/crc32c-hash.ts
848
866
  var CRC32CHash = class extends Hash {
867
+ name = "crc32c";
868
+ options;
849
869
  /**
850
870
  * Atomic hash calculation
851
871
  * @returns base64 encoded hash
852
872
  */
853
873
  constructor(options = {}) {
854
874
  super();
855
- this.name = "crc32c";
856
875
  this.options = { crypto: {}, ...options };
857
876
  }
858
877
  /**
@@ -1290,9 +1309,10 @@ var __exports__ = (() => {
1290
1309
 
1291
1310
  // src/lib/md5-hash.ts
1292
1311
  var MD5Hash = class extends Hash {
1312
+ name = "md5";
1313
+ options;
1293
1314
  constructor(options = {}) {
1294
1315
  super();
1295
- this.name = "md5";
1296
1316
  this.options = options;
1297
1317
  }
1298
1318
  /**
@@ -1312,11 +1332,17 @@ var __exports__ = (() => {
1312
1332
  };
1313
1333
 
1314
1334
  // src/lib/crypto-hash.ts
1315
- var CryptoJS;
1316
1335
  var CryptoHash = class extends Hash {
1336
+ name;
1337
+ options;
1338
+ /** Name of digest algorithm */
1339
+ _algorithm;
1340
+ /** CryptoJS algorithm */
1341
+ _algo;
1317
1342
  constructor(options) {
1318
1343
  super();
1319
1344
  this.options = options;
1345
+ registerJSModules(options?.modules);
1320
1346
  this._algorithm = this.options?.crypto?.algorithm;
1321
1347
  if (!this._algorithm) {
1322
1348
  throw new Error(this.name);
@@ -1324,12 +1350,7 @@ var __exports__ = (() => {
1324
1350
  this.name = this._algorithm.toLowerCase();
1325
1351
  }
1326
1352
  async preload() {
1327
- if (!CryptoJS) {
1328
- CryptoJS = this.options?.modules?.CryptoJS;
1329
- }
1330
- if (!CryptoJS) {
1331
- throw new Error(this.name);
1332
- }
1353
+ const CryptoJS = getJSModule("CryptoJS", this.name);
1333
1354
  this._algo = CryptoJS.algo[this._algorithm];
1334
1355
  }
1335
1356
  /**
@@ -1342,12 +1363,14 @@ var __exports__ = (() => {
1342
1363
  if (!hash) {
1343
1364
  throw new Error(this.name);
1344
1365
  }
1366
+ const CryptoJS = getJSModule("CryptoJS", this.name);
1345
1367
  const typedWordArray = CryptoJS.lib.WordArray.create(input);
1346
1368
  const enc = encoding === "base64" ? CryptoJS.enc.Base64 : CryptoJS.enc.Hex;
1347
1369
  return hash.update(typedWordArray).finalize().toString(enc);
1348
1370
  }
1349
1371
  async *hashBatches(asyncIterator, encoding = "base64") {
1350
1372
  await this.preload();
1373
+ const CryptoJS = getJSModule("CryptoJS", this.name);
1351
1374
  const hash = this._algo.create();
1352
1375
  if (!hash) {
1353
1376
  throw new Error(this.name);
@@ -1372,6 +1395,8 @@ var __exports__ = (() => {
1372
1395
 
1373
1396
  // src/lib/node-hash.ts
1374
1397
  var NodeHash = class extends Hash {
1398
+ name;
1399
+ options;
1375
1400
  constructor(options) {
1376
1401
  super();
1377
1402
  this.options = options;
package/dist/dist.min.js CHANGED
@@ -4,6 +4,6 @@
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 H0=Object.create;var a0=Object.defineProperty;var T0=Object.getOwnPropertyDescriptor;var q0=Object.getOwnPropertyNames;var k0=Object.getPrototypeOf,J0=Object.prototype.hasOwnProperty;var U0=(c,e)=>()=>(e||c((e={exports:{}}).exports,e),e.exports),R0=(c,e)=>{for(var d in e)a0(c,d,{get:e[d],enumerable:!0})},t0=(c,e,d,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let h of q0(e))!J0.call(c,h)&&h!==d&&a0(c,h,{get:()=>e[h],enumerable:!(s=T0(e,h))||s.enumerable});return c},o0=(c,e,d)=>(t0(c,e,"default"),d&&t0(d,e,"default")),L0=(c,e,d)=>(d=c!=null?H0(k0(c)):{},t0(e||!c||!c.__esModule?a0(d,"default",{value:c,enumerable:!0}):d,c)),Z0=c=>t0(a0({},"__esModule",{value:!0}),c);var C0=U0((be,E0)=>{E0.exports=globalThis.loaders});var _={};R0(_,{CRC32CHash:()=>n0,CRC32Hash:()=>A0,CryptoHash:()=>P,CryptoJSWorker:()=>Ae,CryptoWorker:()=>fe,Hash:()=>G,MD5Hash:()=>d0,NodeHash:()=>b0,SHA256Hash:()=>s0,asciiToBase64:()=>c0,base64ToAscii:()=>x0,encodeBase64:()=>I0,encodeHex:()=>f0,encodeNumber:()=>V});o0(_,L0(C0(),1));function w0(...c){return N0(c)}function N0(c){let e=c.map(B=>B instanceof ArrayBuffer?new Uint8Array(B):B),d=e.reduce((B,l)=>B+l.byteLength,0),s=new Uint8Array(d),h=0;for(let B of e)s.set(B,h),h+=B.byteLength;return s.buffer}async function h0(c){let e=[];for await(let d of c)e.push(d);return w0(...e)}var G=class{constructor(e={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(e,d="base64"){let s=[];for await(let l of e)s.push(l),yield l;let h=await this.concatenate(s),B=await this.hash(h,d);this.options.crypto?.onEnd?.({hash:B})}async concatenate(e){return await h0(e)}};var z=class{constructor(){this.crc=-1}update(e){let d=X0(),s=new Uint8Array(e);for(let h=0;h<s.byteLength;h++)this.crc=this.crc>>>8^d[(this.crc^s[h])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},V0=Uint32Array.of(0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117);function X0(){return V0}function c0(c){c=`${c}`;for(let d=0;d<c.length;d++)if(c.charCodeAt(d)>255)return null;let e="";for(let d=0;d<c.length;d+=3){let s=[void 0,void 0,void 0,void 0];s[0]=c.charCodeAt(d)>>2,s[1]=(c.charCodeAt(d)&3)<<4,c.length>d+1&&(s[1]|=c.charCodeAt(d+1)>>4,s[2]=(c.charCodeAt(d+1)&15)<<2),c.length>d+2&&(s[2]|=c.charCodeAt(d+2)>>6,s[3]=c.charCodeAt(d+2)&63);for(let h=0;h<s.length;h++)typeof s[h]>"u"?e+="=":e+=P0(s[h])}return e}function x0(c){if(c=`${c}`,c=c.replace(/[ \t\n\f\r]/g,""),c.length%4===0&&(c=c.replace(/[=]=?$/,"")),c.length%4===1||/[^+/0-9A-Za-z]/.test(c))return"";let e="",d=0,s=0;for(let h=0;h<c.length;h++)d<<=6,d|=Y0(c[h]),s+=6,s===24&&(e+=String.fromCharCode((d&16711680)>>16),e+=String.fromCharCode((d&65280)>>8),e+=String.fromCharCode(d&255),d=s=0);return s===12?(d>>=4,e+=String.fromCharCode(d)):s===18&&(d>>=2,e+=String.fromCharCode((d&65280)>>8),e+=String.fromCharCode(d&255)),e}var z0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Y0(c){let e=z0.indexOf(c);return e<0?void 0:e}function P0(c){if(c<26)return String.fromCharCode(c+"A".charCodeAt(0));if(c<52)return String.fromCharCode(c-26+"a".charCodeAt(0));if(c<62)return String.fromCharCode(c-52+"0".charCodeAt(0));if(c===62)return"+";if(c===63)return"/"}function V(c,e){switch(e){case"hex":return g0(c);case"base64":return M0(g0(c));default:throw new Error(e)}}function f0(c,e){switch(e){case"hex":return c;case"base64":return M0(c);default:throw new Error(e)}}function I0(c,e){switch(e){case"hex":return K0(c);case"base64":return c;default:throw new Error(e)}}function M0(c){c.length%2!==0&&(c=`0${c}`);let d=(c.match(/\w{2}/g)||[]).map(s=>String.fromCharCode(parseInt(s,16))).join("");return c0(d)||""}function K0(c){return[...x0(c)].map(e=>e.charCodeAt(0).toString(16).padStart(2,"0")).join("")}function g0(c){let e=c.toString(16);return e==="0"?`0${e}`:e}var A0=class extends G{constructor(e={}){super(),this.name="crc32",this.options={crypto:{},...e},this.hashBatches=this.hashBatches.bind(this)}async hash(e,d){return this.hashSync(e,d)}hashSync(e,d){let s=new z;s.update(e);let h=s.finalize();return V(h,d)}async*hashBatches(e,d="base64"){let s=new z;for await(let B of e)s.update(B),yield B;let h=s.finalize();this.options.crypto?.onEnd?.({hash:V(h,d)})}};var Y=class{constructor(e={}){this.options=e,this.crc=-1}update(e){let d=new Uint8Array(e),s=O0();for(let h=0;h<d.length;h++)this.crc=s[(this.crc^d[h])&255]^this.crc>>>8;return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},_0=Int32Array.of(0,4067132163,3778769143,324072436,3348797215,904991772,648144872,3570033899,2329499855,2024987596,1809983544,2575936315,1296289744,3207089363,2893594407,1578318884,274646895,3795141740,4049975192,51262619,3619967088,632279923,922689671,3298075524,2592579488,1760304291,2075979607,2312596564,1562183871,2943781820,3156637768,1313733451,549293790,3537243613,3246849577,871202090,3878099393,357341890,102525238,4101499445,2858735121,1477399826,1264559846,3107202533,1845379342,2677391885,2361733625,2125378298,820201905,3263744690,3520608582,598981189,4151959214,85089709,373468761,3827903834,3124367742,1213305469,1526817161,2842354314,2107672161,2412447074,2627466902,1861252501,1098587580,3004210879,2688576843,1378610760,2262928035,1955203488,1742404180,2511436119,3416409459,969524848,714683780,3639785095,205050476,4266873199,3976438427,526918040,1361435347,2739821008,2954799652,1114974503,2529119692,1691668175,2005155131,2247081528,3690758684,697762079,986182379,3366744552,476452099,3993867776,4250756596,255256311,1640403810,2477592673,2164122517,1922457750,2791048317,1412925310,1197962378,3037525897,3944729517,427051182,170179418,4165941337,746937522,3740196785,3451792453,1070968646,1905808397,2213795598,2426610938,1657317369,3053634322,1147748369,1463399397,2773627110,4215344322,153784257,444234805,3893493558,1021025245,3467647198,3722505002,797665321,2197175160,1889384571,1674398607,2443626636,1164749927,3070701412,2757221520,1446797203,137323447,4198817972,3910406976,461344835,3484808360,1037989803,781091935,3705997148,2460548119,1623424788,1939049696,2180517859,1429367560,2807687179,3020495871,1180866812,410100952,3927582683,4182430767,186734380,3756733383,763408580,1053836080,3434856499,2722870694,1344288421,1131464017,2971354706,1708204729,2545590714,2229949006,1988219213,680717673,3673779818,3383336350,1002577565,4010310262,493091189,238226049,4233660802,2987750089,1082061258,1395524158,2705686845,1972364758,2279892693,2494862625,1725896226,952904198,3399985413,3656866545,731699698,4283874585,222117402,510512622,3959836397,3280807620,837199303,582374963,3504198960,68661723,4135334616,3844915500,390545967,1230274059,3141532936,2825850620,1510247935,2395924756,2091215383,1878366691,2644384480,3553878443,565732008,854102364,3229815391,340358836,3861050807,4117890627,119113024,1493875044,2875275879,3090270611,1247431312,2660249211,1828433272,2141937292,2378227087,3811616794,291187481,34330861,4032846830,615137029,3603020806,3314634738,939183345,1776939221,2609017814,2295496738,2058945313,2926798794,1545135305,1330124605,3173225534,4084100981,17165430,307568514,3762199681,888469610,3332340585,3587147933,665062302,2042050490,2346497209,2559330125,1793573966,3190661285,1279665062,1595330642,2910671697);function O0(){return _0}var n0=class extends G{constructor(e={}){super(),this.name="crc32c",this.options={crypto:{},...e}}async hash(e,d){return this.hashSync(e,d)}hashSync(e,d){let s=new Y(this.options);s.update(e);let h=s.finalize();return V(h,d)}async*hashBatches(e,d="base64"){let s=new Y(this.options);for await(let B of e)s.update(B),yield B;let h=s.finalize();this.options.crypto?.onEnd?.({hash:V(h,d)})}};var F0=typeof atob=="function"?atob:typeof Buffer=="function"?ce:W0,$0=F0("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"),B0=WebAssembly&&F0!==W0?oe($0).buffer:!1,J=xe(),u0=240*16*16,v0=Math.floor(u0*16*1.066666667),ee=268435456-65536,G0="Parameter must be Buffer, ArrayBuffer or Uint8Array",re="Parameter exceeds max size of 255.9 Mbytes";B0||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function m0(c){var e,d,s,h,B,l,g,F,S,T;let R=ae(),v=te(),W={},D=new Date().getTime();return W.then=function(m){return g=m,w(),W},W.catch=function(m){return F=m,W},c&&typeof c=="object"?typeof Buffer=="function"&&c.constructor===Buffer?l=c:c.constructor===Uint8Array||c.constructor===ArrayBuffer?l=c.constructor===ArrayBuffer?new Uint8Array(c):c:C(new TypeError(G0)):C(new TypeError(G0)),l&&(B=l.length,B0&&B>v0?B>ee?C(new Error(re)):(e=new WebAssembly.Memory({initial:B>32e6?B>64e6?B>128e6?4096:2048:1024:512}),d=new Uint32Array(e.buffer),h={mem:e,log:console.log},s={imports:h},WebAssembly.instantiate(B0,s).then(p)):w(R(l))),W;function p(m){w(v(l,m.instance.exports,d))}function w(m){var H=Boolean(m)?m:S;Boolean(m)&&(T=new Date().getTime()),typeof g=="function"?Boolean(H)&&(g(H,T-D),g=F=null):Boolean(m)&&(S=m)}function C(m){typeof F=="function"&&F(m)}}function te(){var c,e,d,s,h,B,l,g,F,S,T,R,v,W=function(D){var p,w,C,m,H,L,Z,N,u,X,r,t,a,o,q,j,Q,b,O,$,E,ne,de=new Date().getTime(),D0=0,x=1732584193,f=-271733879,A=-1732584194,n=271733878,y=0,K=D.length*8,e0;for(e0=S0(D,v),v[K>>>5]|=128<<K%32,v[(K+64>>>9<<4)+14]=K,e0=(K+64>>>9<<4)+15,E=v;y<e0;)e0>y+v0?(s(x),B(f),g(A),S(n),e(u0),y=y+u0*16,x=d(),f=h(),A=l(),n=F(),D0++):(Q=x,b=f,O=A,$=n,p=E[y+0]>>>0,w=E[y+1]>>>0,C=E[y+2]>>>0,m=E[y+3]>>>0,H=E[y+4]>>>0,L=E[y+5]>>>0,Z=E[y+6]>>>0,N=E[y+7]>>>0,u=E[y+8]>>>0,X=E[y+9]>>>0,r=E[y+10]>>>0,t=E[y+11]>>>0,a=E[y+12]>>>0,o=E[y+13]>>>0,q=E[y+14]>>>0,j=E[y+15]>>>0,x=i(7,25,x+(f&A|~f&n)+p-680876936)+f,n=i(12,20,n+(x&f|~x&A)+w-389564586)+x,A=i(17,15,A+(n&x|~n&f)+C+606105819)+n,f=i(22,10,f+(A&n|~A&x)+m-1044525330)+A,x=i(7,25,x+(f&A|~f&n)+H-176418897)+f,n=i(12,20,n+(x&f|~x&A)+L+1200080426)+x,A=i(17,15,A+(n&x|~n&f)+Z-1473231341)+n,f=i(22,10,f+(A&n|~A&x)+N-45705983)+A,x=i(7,25,x+(f&A|~f&n)+u+1770035416)+f,n=i(12,20,n+(x&f|~x&A)+X-1958414417)+x,A=i(17,15,A+(n&x|~n&f)+r-42063)+n,f=i(22,10,f+(A&n|~A&x)+t-1990404162)+A,x=i(7,25,x+(f&A|~f&n)+a+1804603682)+f,n=i(12,20,n+(x&f|~x&A)+o-40341101)+x,A=i(17,15,A+(n&x|~n&f)+q-1502002290)+n,f=i(22,10,f+(A&n|~A&x)+j+1236535329)+A,x=i(5,27,x+(f&n|A&~n)+w-165796510)+f,n=i(9,23,n+(x&A|f&~A)+Z-1069501632)+x,A=i(14,18,A+(n&f|x&~f)+t+643717713)+n,f=i(20,12,f+(A&x|n&~x)+p-373897302)+A,x=i(5,27,x+(f&n|A&~n)+L-701558691)+f,n=i(9,23,n+(x&A|f&~A)+r+38016083)+x,A=i(14,18,A+(n&f|x&~f)+j-660478335)+n,f=i(20,12,f+(A&x|n&~x)+H-405537848)+A,x=i(5,27,x+(f&n|A&~n)+X+568446438)+f,n=i(9,23,n+(x&A|f&~A)+q-1019803690)+x,A=i(14,18,A+(n&f|x&~f)+m-187363961)+n,f=i(20,12,f+(A&x|n&~x)+u+1163531501)+A,x=i(5,27,x+(f&n|A&~n)+o-1444681467)+f,n=i(9,23,n+(x&A|f&~A)+C-51403784)+x,A=i(14,18,A+(n&f|x&~f)+N+1735328473)+n,f=i(20,12,f+(A&x|n&~x)+a-1926607734)+A,x=i(4,28,x+(f^A^n)+L-378558)+f,n=i(11,21,n+(x^f^A)+u-2022574463)+x,A=i(16,16,A+(n^x^f)+t+1839030562)+n,f=i(23,9,f+(A^n^x)+q-35309556)+A,x=i(4,28,x+(f^A^n)+w-1530992060)+f,n=i(11,21,n+(x^f^A)+H+1272893353)+x,A=i(16,16,A+(n^x^f)+N-155497632)+n,f=i(23,9,f+(A^n^x)+r-1094730640)+A,x=i(4,28,x+(f^A^n)+o+681279174)+f,n=i(11,21,n+(x^f^A)+p-358537222)+x,A=i(16,16,A+(n^x^f)+m-722521979)+n,f=i(23,9,f+(A^n^x)+Z+76029189)+A,x=i(4,28,x+(f^A^n)+X-640364487)+f,n=i(11,21,n+(x^f^A)+a-421815835)+x,A=i(16,16,A+(n^x^f)+j+530742520)+n,f=i(23,9,f+(A^n^x)+C-995338651)+A,x=i(6,26,x+(A^(f|~n))+p-198630844)+f,n=i(10,22,n+(f^(x|~A))+N+1126891415)+x,A=i(15,17,A+(x^(n|~f))+q-1416354905)+n,f=i(21,11,f+(n^(A|~x))+L-57434055)+A,x=i(6,26,x+(A^(f|~n))+a+1700485571)+f,n=i(10,22,n+(f^(x|~A))+m-1894986606)+x,A=i(15,17,A+(x^(n|~f))+r-1051523)+n,f=i(21,11,f+(n^(A|~x))+w-2054922799)+A,x=i(6,26,x+(A^(f|~n))+u+1873313359)+f,n=i(10,22,n+(f^(x|~A))+j-30611744)+x,A=i(15,17,A+(x^(n|~f))+Z-1560198380)+n,f=i(21,11,f+(n^(A|~x))+o+1309151649)+A,x=i(6,26,x+(A^(f|~n))+H-145523070)+f,n=i(10,22,n+(f^(x|~A))+t-1120210379)+x,A=i(15,17,A+(x^(n|~f))+C+718787259)+n,f=i(21,11,f+(n^(A|~x))+X-343485551)+A,y=y+16,x=x+Q>>>0,f=f+b>>>0,A=A+O>>>0,n=n+$>>>0);return J.endian([x,f,A,n]);function i(I,r0,k){return k<<I|k>>>r0}function S0(I,r0){for(var k=-1,i0=Math.floor((I.length-1)/4),M=0,p0,l0,y0,Q0;i0-8>k++;)M=k<<2,r0[k]=I[M+0]|I[M+1]<<8|I[M+2]<<16|I[M+3]<<24;for(k--;i0>k++;)M=k<<2,p0=typeof I[M+0]>"u"?0:I[M+0],l0=typeof I[M+1]>"u"?0:I[M+1],y0=typeof I[M+2]>"u"?0:I[M+2],Q0=typeof I[M+3]>"u"?0:I[M+3],r0[k]=p0|l0<<8|y0<<16|Q0<<24;return i0+1}};return function(D,p,w,C){var m;return e=p.loops,c=p.loop,d=p.getA,h=p.getB,l=p.getC,F=p.getD,T=p.getX,s=p.setA,B=p.setB,g=p.setC,S=p.setD,R=p.setX,v=w,m=J.wordsToBytes(W(D)),C&&C.asBytes?m:J.bytesconvertNumberToHex(m)}}function ae(){var c=function(e,d){var s,h,B,l,g,F,S,T,R,v,W,D,p,w,C,m,H,L,Z,N,u,X=new Date().getTime(),r=1732584193,t=-271733879,a=-1732584194,o=271733878,q=e.length*8;u=J.bytesToWords(e);for(var j=0;j<u.length;j++)u[j]=(u[j]<<8|u[j]>>>24)&16711935|(u[j]<<24|u[j]>>>8)&4278255360;u[q>>>5]|=128<<q%32,u[(q+64>>>9<<4)+14]=q;for(var Q=0;Q<u.length;Q+=16)H=r,L=t,Z=a,N=o,s=u[Q+0]>>>0,h=u[Q+1]>>>0,B=u[Q+2]>>>0,l=u[Q+3]>>>0,g=u[Q+4]>>>0,F=u[Q+5]>>>0,S=u[Q+6]>>>0,T=u[Q+7]>>>0,R=u[Q+8]>>>0,v=u[Q+9]>>>0,W=u[Q+10]>>>0,D=u[Q+11]>>>0,p=u[Q+12]>>>0,w=u[Q+13]>>>0,C=u[Q+14]>>>0,m=u[Q+15]>>>0,r=b(7,25,r+(t&a|~t&o)+s-680876936)+t,o=b(12,20,o+(r&t|~r&a)+h-389564586)+r,a=b(17,15,a+(o&r|~o&t)+B+606105819)+o,t=b(22,10,t+(a&o|~a&r)+l-1044525330)+a,r=b(7,25,r+(t&a|~t&o)+g-176418897)+t,o=b(12,20,o+(r&t|~r&a)+F+1200080426)+r,a=b(17,15,a+(o&r|~o&t)+S-1473231341)+o,t=b(22,10,t+(a&o|~a&r)+T-45705983)+a,r=b(7,25,r+(t&a|~t&o)+R+1770035416)+t,o=b(12,20,o+(r&t|~r&a)+v-1958414417)+r,a=b(17,15,a+(o&r|~o&t)+W-42063)+o,t=b(22,10,t+(a&o|~a&r)+D-1990404162)+a,r=b(7,25,r+(t&a|~t&o)+p+1804603682)+t,o=b(12,20,o+(r&t|~r&a)+w-40341101)+r,a=b(17,15,a+(o&r|~o&t)+C-1502002290)+o,t=b(22,10,t+(a&o|~a&r)+m+1236535329)+a,r=b(5,27,r+(t&o|a&~o)+h-165796510)+t,o=b(9,23,o+(r&a|t&~a)+S-1069501632)+r,a=b(14,18,a+(o&t|r&~t)+D+643717713)+o,t=b(20,12,t+(a&r|o&~r)+s-373897302)+a,r=b(5,27,r+(t&o|a&~o)+F-701558691)+t,o=b(9,23,o+(r&a|t&~a)+W+38016083)+r,a=b(14,18,a+(o&t|r&~t)+m-660478335)+o,t=b(20,12,t+(a&r|o&~r)+g-405537848)+a,r=b(5,27,r+(t&o|a&~o)+v+568446438)+t,o=b(9,23,o+(r&a|t&~a)+C-1019803690)+r,a=b(14,18,a+(o&t|r&~t)+l-187363961)+o,t=b(20,12,t+(a&r|o&~r)+R+1163531501)+a,r=b(5,27,r+(t&o|a&~o)+w-1444681467)+t,o=b(9,23,o+(r&a|t&~a)+B-51403784)+r,a=b(14,18,a+(o&t|r&~t)+T+1735328473)+o,t=b(20,12,t+(a&r|o&~r)+p-1926607734)+a,r=b(4,28,r+(t^a^o)+F-378558)+t,o=b(11,21,o+(r^t^a)+R-2022574463)+r,a=b(16,16,a+(o^r^t)+D+1839030562)+o,t=b(23,9,t+(a^o^r)+C-35309556)+a,r=b(4,28,r+(t^a^o)+h-1530992060)+t,o=b(11,21,o+(r^t^a)+g+1272893353)+r,a=b(16,16,a+(o^r^t)+T-155497632)+o,t=b(23,9,t+(a^o^r)+W-1094730640)+a,r=b(4,28,r+(t^a^o)+w+681279174)+t,o=b(11,21,o+(r^t^a)+s-358537222)+r,a=b(16,16,a+(o^r^t)+l-722521979)+o,t=b(23,9,t+(a^o^r)+S+76029189)+a,r=b(4,28,r+(t^a^o)+v-640364487)+t,o=b(11,21,o+(r^t^a)+p-421815835)+r,a=b(16,16,a+(o^r^t)+m+530742520)+o,t=b(23,9,t+(a^o^r)+B-995338651)+a,r=b(6,26,r+(a^(t|~o))+s-198630844)+t,o=b(10,22,o+(t^(r|~a))+T+1126891415)+r,a=b(15,17,a+(r^(o|~t))+C-1416354905)+o,t=b(21,11,t+(o^(a|~r))+F-57434055)+a,r=b(6,26,r+(a^(t|~o))+p+1700485571)+t,o=b(10,22,o+(t^(r|~a))+l-1894986606)+r,a=b(15,17,a+(r^(o|~t))+W-1051523)+o,t=b(21,11,t+(o^(a|~r))+h-2054922799)+a,r=b(6,26,r+(a^(t|~o))+R+1873313359)+t,o=b(10,22,o+(t^(r|~a))+m-30611744)+r,a=b(15,17,a+(r^(o|~t))+S-1560198380)+o,t=b(21,11,t+(o^(a|~r))+w+1309151649)+a,r=b(6,26,r+(a^(t|~o))+g-145523070)+t,o=b(10,22,o+(t^(r|~a))+D-1120210379)+r,a=b(15,17,a+(r^(o|~t))+B+718787259)+o,t=b(21,11,t+(o^(a|~r))+v-343485551)+a,r=r+H>>>0,t=t+L>>>0,a=a+Z>>>0,o=o+N>>>0;return J.endian([r,t,a,o]);function b(O,$,E){return E<<O|E>>>$}};return function(e,d){var s=J.wordsToBytes(c(e,d)),h=d&&d.asBytes?s:J.bytesconvertNumberToHex(s);return h}}function oe(c){var e,d,s,h=-1;for(e=c.length-1,d=new ArrayBuffer(c.length),s=new Uint8Array(d);e>h++;)s[h]=c.charCodeAt(h);return s}function ce(c){return Buffer.from(c,"base64").toString("binary")}function W0(c){return c}function xe(){var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(e,d){return e<<d|e>>>32-d},endian:function(e){if(e.constructor==Number)return J.rotl(e,8)&16711935|J.rotl(e,24)&4278255360;for(var d=0;d<e.length;d++)e[d]=J.endian(e[d]);return e},bytesToWords:function(e){for(var d=[],s=0,h=0;s<e.length;s++,h+=8)d[h>>>5]|=e[s]<<24-h%32;return d},wordsToBytes:function(e){for(var d=[],s=0;s<e.length*32;s+=8)d.push(e[s>>>5]>>>24-s%32&255);return d},bytesconvertNumberToHex:function(e){for(var d=[],s=0;s<e.length;s++)d.push((e[s]>>>4).toString(16)),d.push((e[s]&15).toString(16));return d.join("")}}}var d0=class extends G{constructor(e={}){super(),this.name="md5",this.options=e}async hash(e,d){let h=await new Promise((B,l)=>m0(e).then(B).catch(l));return f0(h,d)}};var U,P=class extends G{constructor(e){if(super(),this.options=e,this._algorithm=this.options?.crypto?.algorithm,!this._algorithm)throw new Error(this.name);this.name=this._algorithm.toLowerCase()}async preload(){if(U||(U=this.options?.modules?.CryptoJS),!U)throw new Error(this.name);this._algo=U.algo[this._algorithm]}async hash(e,d){await this.preload();let s=this._algo.create();if(!s)throw new Error(this.name);let h=U.lib.WordArray.create(e),B=d==="base64"?U.enc.Base64:U.enc.Hex;return s.update(h).finalize().toString(B)}async*hashBatches(e,d="base64"){await this.preload();let s=this._algo.create();if(!s)throw new Error(this.name);for await(let l of e){let g=U.lib.WordArray.create(l);s.update(g),yield l}let h=d==="base64"?U.enc.Base64:U.enc.Hex,B=s.finalize().toString(h);this.options?.crypto?.onEnd?.({hash:B})}};var s0=class extends P{constructor(e){super({...e,crypto:{...e.crypto,algorithm:"SHA256"}})}};var b0=class extends G{constructor(e){if(super(),this.options=e,!globalThis.loaders.NodeHash)throw new Error("install @loaders.gl/crypto on Node.js to use NodeHash");return new globalThis.loaders.NodeHash(e)}async hash(e,d){throw new Error("Not implemented")}};var j0="4.2.0-alpha.4",fe={id:"crypto",name:"CRC32, CRC32c and MD5 Hashes",module:"crypto",version:j0,options:{crypto:{}}},Ae={id:"cryptojs",name:"Cryptographic Hashes",module:"crypto",version:j0,options:{cryptojs:{}}};return Z0(_);})();
7
+ "use strict";var __exports__=(()=>{var D0=Object.create;var o0=Object.defineProperty;var H0=Object.getOwnPropertyDescriptor;var k0=Object.getOwnPropertyNames;var q0=Object.getPrototypeOf,U0=Object.prototype.hasOwnProperty;var R0=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),L0=(r,e)=>{for(var d in e)o0(r,d,{get:e[d],enumerable:!0})},t0=(r,e,d,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let b of k0(e))!U0.call(r,b)&&b!==d&&o0(r,b,{get:()=>e[b],enumerable:!(s=H0(e,b))||s.enumerable});return r},a0=(r,e,d)=>(t0(r,e,"default"),d&&t0(d,e,"default")),N0=(r,e,d)=>(d=r!=null?D0(q0(r)):{},t0(e||!r||!r.__esModule?o0(d,"default",{value:r,enumerable:!0}):d,r)),Z0=r=>t0(o0({},"__esModule",{value:!0}),r);var g0=R0((ie,C0)=>{C0.exports=globalThis.loaders});var _={};L0(_,{CRC32CHash:()=>A0,CRC32Hash:()=>n0,CryptoHash:()=>Y,CryptoJSWorker:()=>Ae,CryptoWorker:()=>ne,Hash:()=>F,MD5Hash:()=>d0,NodeHash:()=>b0,SHA256Hash:()=>s0,asciiToBase64:()=>c0,base64ToAscii:()=>x0,encodeBase64:()=>M0,encodeHex:()=>f0,encodeNumber:()=>Z});a0(_,N0(g0(),1));function u0(r){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,r)}function K(r,e){let d=globalThis.loaders?.modules?.[r];if(!d)throw new Error(`${e}: ${r} library not installed`);return d}function w0(...r){return V0(r)}function V0(r){let e=r.map(h=>h instanceof ArrayBuffer?new Uint8Array(h):h),d=e.reduce((h,l)=>h+l.byteLength,0),s=new Uint8Array(d),b=0;for(let h of e)s.set(h,b),b+=h.byteLength;return s.buffer}async function h0(r){let e=[];for await(let d of r)e.push(d);return w0(...e)}var F=class{constructor(e={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(e,d="base64"){let s=[];for await(let l of e)s.push(l),yield l;let b=await this.concatenate(s),h=await this.hash(b,d);this.options.crypto?.onEnd?.({hash:h})}async concatenate(e){return await h0(e)}};var X=class{crc;constructor(){this.crc=-1}update(e){let d=z0(),s=new Uint8Array(e);for(let b=0;b<s.byteLength;b++)this.crc=this.crc>>>8^d[(this.crc^s[b])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},X0=Uint32Array.of(0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117);function z0(){return X0}function c0(r){r=`${r}`;for(let d=0;d<r.length;d++)if(r.charCodeAt(d)>255)return null;let e="";for(let d=0;d<r.length;d+=3){let s=[void 0,void 0,void 0,void 0];s[0]=r.charCodeAt(d)>>2,s[1]=(r.charCodeAt(d)&3)<<4,r.length>d+1&&(s[1]|=r.charCodeAt(d+1)>>4,s[2]=(r.charCodeAt(d+1)&15)<<2),r.length>d+2&&(s[2]|=r.charCodeAt(d+2)>>6,s[3]=r.charCodeAt(d+2)&63);for(let b=0;b<s.length;b++)typeof s[b]>"u"?e+="=":e+=K0(s[b])}return e}function x0(r){if(r=`${r}`,r=r.replace(/[ \t\n\f\r]/g,""),r.length%4===0&&(r=r.replace(/[=]=?$/,"")),r.length%4===1||/[^+/0-9A-Za-z]/.test(r))return"";let e="",d=0,s=0;for(let b=0;b<r.length;b++)d<<=6,d|=P0(r[b]),s+=6,s===24&&(e+=String.fromCharCode((d&16711680)>>16),e+=String.fromCharCode((d&65280)>>8),e+=String.fromCharCode(d&255),d=s=0);return s===12?(d>>=4,e+=String.fromCharCode(d)):s===18&&(d>>=2,e+=String.fromCharCode((d&65280)>>8),e+=String.fromCharCode(d&255)),e}var Y0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function P0(r){let e=Y0.indexOf(r);return e<0?void 0:e}function K0(r){if(r<26)return String.fromCharCode(r+"A".charCodeAt(0));if(r<52)return String.fromCharCode(r-26+"a".charCodeAt(0));if(r<62)return String.fromCharCode(r-52+"0".charCodeAt(0));if(r===62)return"+";if(r===63)return"/"}function Z(r,e){switch(e){case"hex":return I0(r);case"base64":return G0(I0(r));default:throw new Error(e)}}function f0(r,e){switch(e){case"hex":return r;case"base64":return G0(r);default:throw new Error(e)}}function M0(r,e){switch(e){case"hex":return _0(r);case"base64":return r;default:throw new Error(e)}}function G0(r){r.length%2!==0&&(r=`0${r}`);let d=(r.match(/\w{2}/g)||[]).map(s=>String.fromCharCode(parseInt(s,16))).join("");return c0(d)||""}function _0(r){return[...x0(r)].map(e=>e.charCodeAt(0).toString(16).padStart(2,"0")).join("")}function I0(r){let e=r.toString(16);return e==="0"?`0${e}`:e}var n0=class extends F{name="crc32";options;constructor(e={}){super(),this.options={crypto:{},...e},this.hashBatches=this.hashBatches.bind(this)}async hash(e,d){return this.hashSync(e,d)}hashSync(e,d){let s=new X;s.update(e);let b=s.finalize();return Z(b,d)}async*hashBatches(e,d="base64"){let s=new X;for await(let h of e)s.update(h),yield h;let b=s.finalize();this.options.crypto?.onEnd?.({hash:Z(b,d)})}};var z=class{options;crc;constructor(e={}){this.options=e,this.crc=-1}update(e){let d=new Uint8Array(e),s=$0();for(let b=0;b<d.length;b++)this.crc=s[(this.crc^d[b])&255]^this.crc>>>8;return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},O0=Int32Array.of(0,4067132163,3778769143,324072436,3348797215,904991772,648144872,3570033899,2329499855,2024987596,1809983544,2575936315,1296289744,3207089363,2893594407,1578318884,274646895,3795141740,4049975192,51262619,3619967088,632279923,922689671,3298075524,2592579488,1760304291,2075979607,2312596564,1562183871,2943781820,3156637768,1313733451,549293790,3537243613,3246849577,871202090,3878099393,357341890,102525238,4101499445,2858735121,1477399826,1264559846,3107202533,1845379342,2677391885,2361733625,2125378298,820201905,3263744690,3520608582,598981189,4151959214,85089709,373468761,3827903834,3124367742,1213305469,1526817161,2842354314,2107672161,2412447074,2627466902,1861252501,1098587580,3004210879,2688576843,1378610760,2262928035,1955203488,1742404180,2511436119,3416409459,969524848,714683780,3639785095,205050476,4266873199,3976438427,526918040,1361435347,2739821008,2954799652,1114974503,2529119692,1691668175,2005155131,2247081528,3690758684,697762079,986182379,3366744552,476452099,3993867776,4250756596,255256311,1640403810,2477592673,2164122517,1922457750,2791048317,1412925310,1197962378,3037525897,3944729517,427051182,170179418,4165941337,746937522,3740196785,3451792453,1070968646,1905808397,2213795598,2426610938,1657317369,3053634322,1147748369,1463399397,2773627110,4215344322,153784257,444234805,3893493558,1021025245,3467647198,3722505002,797665321,2197175160,1889384571,1674398607,2443626636,1164749927,3070701412,2757221520,1446797203,137323447,4198817972,3910406976,461344835,3484808360,1037989803,781091935,3705997148,2460548119,1623424788,1939049696,2180517859,1429367560,2807687179,3020495871,1180866812,410100952,3927582683,4182430767,186734380,3756733383,763408580,1053836080,3434856499,2722870694,1344288421,1131464017,2971354706,1708204729,2545590714,2229949006,1988219213,680717673,3673779818,3383336350,1002577565,4010310262,493091189,238226049,4233660802,2987750089,1082061258,1395524158,2705686845,1972364758,2279892693,2494862625,1725896226,952904198,3399985413,3656866545,731699698,4283874585,222117402,510512622,3959836397,3280807620,837199303,582374963,3504198960,68661723,4135334616,3844915500,390545967,1230274059,3141532936,2825850620,1510247935,2395924756,2091215383,1878366691,2644384480,3553878443,565732008,854102364,3229815391,340358836,3861050807,4117890627,119113024,1493875044,2875275879,3090270611,1247431312,2660249211,1828433272,2141937292,2378227087,3811616794,291187481,34330861,4032846830,615137029,3603020806,3314634738,939183345,1776939221,2609017814,2295496738,2058945313,2926798794,1545135305,1330124605,3173225534,4084100981,17165430,307568514,3762199681,888469610,3332340585,3587147933,665062302,2042050490,2346497209,2559330125,1793573966,3190661285,1279665062,1595330642,2910671697);function $0(){return O0}var A0=class extends F{name="crc32c";options;constructor(e={}){super(),this.options={crypto:{},...e}}async hash(e,d){return this.hashSync(e,d)}hashSync(e,d){let s=new z(this.options);s.update(e);let b=s.finalize();return Z(b,d)}async*hashBatches(e,d="base64"){let s=new z(this.options);for await(let h of e)s.update(h),yield h;let b=s.finalize();this.options.crypto?.onEnd?.({hash:Z(b,d)})}};var v0=typeof atob=="function"?atob:typeof Buffer=="function"?xe:W0,ee=v0("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"),B0=WebAssembly&&v0!==W0?ce(ee).buffer:!1,q=fe(),m0=240*16*16,S0=Math.floor(m0*16*1.066666667),re=268435456-65536,F0="Parameter must be Buffer, ArrayBuffer or Uint8Array",te="Parameter exceeds max size of 255.9 Mbytes";B0||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function l0(r){var e,d,s,b,h,l,w,I,J,D;let U=ae(),v=oe(),S={},j=new Date().getTime();return S.then=function(m){return w=m,g(),S},S.catch=function(m){return I=m,S},r&&typeof r=="object"?typeof Buffer=="function"&&r.constructor===Buffer?l=r:r.constructor===Uint8Array||r.constructor===ArrayBuffer?l=r.constructor===ArrayBuffer?new Uint8Array(r):r:C(new TypeError(F0)):C(new TypeError(F0)),l&&(h=l.length,B0&&h>S0?h>re?C(new Error(te)):(e=new WebAssembly.Memory({initial:h>32e6?h>64e6?h>128e6?4096:2048:1024:512}),d=new Uint32Array(e.buffer),b={mem:e,log:console.log},s={imports:b},WebAssembly.instantiate(B0,s).then(p)):g(U(l))),S;function p(m){g(v(l,m.instance.exports,d))}function g(m){var T=Boolean(m)?m:J;Boolean(m)&&(D=new Date().getTime()),typeof w=="function"?Boolean(T)&&(w(T,D-j),w=I=null):Boolean(m)&&(J=m)}function C(m){typeof I=="function"&&I(m)}}function oe(){var r,e,d,s,b,h,l,w,I,J,D,U,v,S=function(j){var p,g,C,m,T,R,L,N,B,V,t,o,a,c,H,W,Q,i,O,$,E,de,se=new Date().getTime(),J0=0,x=1732584193,f=-271733879,n=-1732584194,A=271733878,y=0,P=j.length*8,e0;for(e0=T0(j,v),v[P>>>5]|=128<<P%32,v[(P+64>>>9<<4)+14]=P,e0=(P+64>>>9<<4)+15,E=v;y<e0;)e0>y+S0?(s(x),h(f),w(n),J(A),e(m0),y=y+m0*16,x=d(),f=b(),n=l(),A=I(),J0++):(Q=x,i=f,O=n,$=A,p=E[y+0]>>>0,g=E[y+1]>>>0,C=E[y+2]>>>0,m=E[y+3]>>>0,T=E[y+4]>>>0,R=E[y+5]>>>0,L=E[y+6]>>>0,N=E[y+7]>>>0,B=E[y+8]>>>0,V=E[y+9]>>>0,t=E[y+10]>>>0,o=E[y+11]>>>0,a=E[y+12]>>>0,c=E[y+13]>>>0,H=E[y+14]>>>0,W=E[y+15]>>>0,x=u(7,25,x+(f&n|~f&A)+p-680876936)+f,A=u(12,20,A+(x&f|~x&n)+g-389564586)+x,n=u(17,15,n+(A&x|~A&f)+C+606105819)+A,f=u(22,10,f+(n&A|~n&x)+m-1044525330)+n,x=u(7,25,x+(f&n|~f&A)+T-176418897)+f,A=u(12,20,A+(x&f|~x&n)+R+1200080426)+x,n=u(17,15,n+(A&x|~A&f)+L-1473231341)+A,f=u(22,10,f+(n&A|~n&x)+N-45705983)+n,x=u(7,25,x+(f&n|~f&A)+B+1770035416)+f,A=u(12,20,A+(x&f|~x&n)+V-1958414417)+x,n=u(17,15,n+(A&x|~A&f)+t-42063)+A,f=u(22,10,f+(n&A|~n&x)+o-1990404162)+n,x=u(7,25,x+(f&n|~f&A)+a+1804603682)+f,A=u(12,20,A+(x&f|~x&n)+c-40341101)+x,n=u(17,15,n+(A&x|~A&f)+H-1502002290)+A,f=u(22,10,f+(n&A|~n&x)+W+1236535329)+n,x=u(5,27,x+(f&A|n&~A)+g-165796510)+f,A=u(9,23,A+(x&n|f&~n)+L-1069501632)+x,n=u(14,18,n+(A&f|x&~f)+o+643717713)+A,f=u(20,12,f+(n&x|A&~x)+p-373897302)+n,x=u(5,27,x+(f&A|n&~A)+R-701558691)+f,A=u(9,23,A+(x&n|f&~n)+t+38016083)+x,n=u(14,18,n+(A&f|x&~f)+W-660478335)+A,f=u(20,12,f+(n&x|A&~x)+T-405537848)+n,x=u(5,27,x+(f&A|n&~A)+V+568446438)+f,A=u(9,23,A+(x&n|f&~n)+H-1019803690)+x,n=u(14,18,n+(A&f|x&~f)+m-187363961)+A,f=u(20,12,f+(n&x|A&~x)+B+1163531501)+n,x=u(5,27,x+(f&A|n&~A)+c-1444681467)+f,A=u(9,23,A+(x&n|f&~n)+C-51403784)+x,n=u(14,18,n+(A&f|x&~f)+N+1735328473)+A,f=u(20,12,f+(n&x|A&~x)+a-1926607734)+n,x=u(4,28,x+(f^n^A)+R-378558)+f,A=u(11,21,A+(x^f^n)+B-2022574463)+x,n=u(16,16,n+(A^x^f)+o+1839030562)+A,f=u(23,9,f+(n^A^x)+H-35309556)+n,x=u(4,28,x+(f^n^A)+g-1530992060)+f,A=u(11,21,A+(x^f^n)+T+1272893353)+x,n=u(16,16,n+(A^x^f)+N-155497632)+A,f=u(23,9,f+(n^A^x)+t-1094730640)+n,x=u(4,28,x+(f^n^A)+c+681279174)+f,A=u(11,21,A+(x^f^n)+p-358537222)+x,n=u(16,16,n+(A^x^f)+m-722521979)+A,f=u(23,9,f+(n^A^x)+L+76029189)+n,x=u(4,28,x+(f^n^A)+V-640364487)+f,A=u(11,21,A+(x^f^n)+a-421815835)+x,n=u(16,16,n+(A^x^f)+W+530742520)+A,f=u(23,9,f+(n^A^x)+C-995338651)+n,x=u(6,26,x+(n^(f|~A))+p-198630844)+f,A=u(10,22,A+(f^(x|~n))+N+1126891415)+x,n=u(15,17,n+(x^(A|~f))+H-1416354905)+A,f=u(21,11,f+(A^(n|~x))+R-57434055)+n,x=u(6,26,x+(n^(f|~A))+a+1700485571)+f,A=u(10,22,A+(f^(x|~n))+m-1894986606)+x,n=u(15,17,n+(x^(A|~f))+t-1051523)+A,f=u(21,11,f+(A^(n|~x))+g-2054922799)+n,x=u(6,26,x+(n^(f|~A))+B+1873313359)+f,A=u(10,22,A+(f^(x|~n))+W-30611744)+x,n=u(15,17,n+(x^(A|~f))+L-1560198380)+A,f=u(21,11,f+(A^(n|~x))+c+1309151649)+n,x=u(6,26,x+(n^(f|~A))+T-145523070)+f,A=u(10,22,A+(f^(x|~n))+o-1120210379)+x,n=u(15,17,n+(x^(A|~f))+C+718787259)+A,f=u(21,11,f+(A^(n|~x))+V-343485551)+n,y=y+16,x=x+Q>>>0,f=f+i>>>0,n=n+O>>>0,A=A+$>>>0);return q.endian([x,f,n,A]);function u(M,r0,k){return k<<M|k>>>r0}function T0(M,r0){for(var k=-1,i0=Math.floor((M.length-1)/4),G=0,p0,y0,Q0,E0;i0-8>k++;)G=k<<2,r0[k]=M[G+0]|M[G+1]<<8|M[G+2]<<16|M[G+3]<<24;for(k--;i0>k++;)G=k<<2,p0=typeof M[G+0]>"u"?0:M[G+0],y0=typeof M[G+1]>"u"?0:M[G+1],Q0=typeof M[G+2]>"u"?0:M[G+2],E0=typeof M[G+3]>"u"?0:M[G+3],r0[k]=p0|y0<<8|Q0<<16|E0<<24;return i0+1}};return function(j,p,g,C){var m;return e=p.loops,r=p.loop,d=p.getA,b=p.getB,l=p.getC,I=p.getD,D=p.getX,s=p.setA,h=p.setB,w=p.setC,J=p.setD,U=p.setX,v=g,m=q.wordsToBytes(S(j)),C&&C.asBytes?m:q.bytesconvertNumberToHex(m)}}function ae(){var r=function(e,d){var s,b,h,l,w,I,J,D,U,v,S,j,p,g,C,m,T,R,L,N,B,V=new Date().getTime(),t=1732584193,o=-271733879,a=-1732584194,c=271733878,H=e.length*8;B=q.bytesToWords(e);for(var W=0;W<B.length;W++)B[W]=(B[W]<<8|B[W]>>>24)&16711935|(B[W]<<24|B[W]>>>8)&4278255360;B[H>>>5]|=128<<H%32,B[(H+64>>>9<<4)+14]=H;for(var Q=0;Q<B.length;Q+=16)T=t,R=o,L=a,N=c,s=B[Q+0]>>>0,b=B[Q+1]>>>0,h=B[Q+2]>>>0,l=B[Q+3]>>>0,w=B[Q+4]>>>0,I=B[Q+5]>>>0,J=B[Q+6]>>>0,D=B[Q+7]>>>0,U=B[Q+8]>>>0,v=B[Q+9]>>>0,S=B[Q+10]>>>0,j=B[Q+11]>>>0,p=B[Q+12]>>>0,g=B[Q+13]>>>0,C=B[Q+14]>>>0,m=B[Q+15]>>>0,t=i(7,25,t+(o&a|~o&c)+s-680876936)+o,c=i(12,20,c+(t&o|~t&a)+b-389564586)+t,a=i(17,15,a+(c&t|~c&o)+h+606105819)+c,o=i(22,10,o+(a&c|~a&t)+l-1044525330)+a,t=i(7,25,t+(o&a|~o&c)+w-176418897)+o,c=i(12,20,c+(t&o|~t&a)+I+1200080426)+t,a=i(17,15,a+(c&t|~c&o)+J-1473231341)+c,o=i(22,10,o+(a&c|~a&t)+D-45705983)+a,t=i(7,25,t+(o&a|~o&c)+U+1770035416)+o,c=i(12,20,c+(t&o|~t&a)+v-1958414417)+t,a=i(17,15,a+(c&t|~c&o)+S-42063)+c,o=i(22,10,o+(a&c|~a&t)+j-1990404162)+a,t=i(7,25,t+(o&a|~o&c)+p+1804603682)+o,c=i(12,20,c+(t&o|~t&a)+g-40341101)+t,a=i(17,15,a+(c&t|~c&o)+C-1502002290)+c,o=i(22,10,o+(a&c|~a&t)+m+1236535329)+a,t=i(5,27,t+(o&c|a&~c)+b-165796510)+o,c=i(9,23,c+(t&a|o&~a)+J-1069501632)+t,a=i(14,18,a+(c&o|t&~o)+j+643717713)+c,o=i(20,12,o+(a&t|c&~t)+s-373897302)+a,t=i(5,27,t+(o&c|a&~c)+I-701558691)+o,c=i(9,23,c+(t&a|o&~a)+S+38016083)+t,a=i(14,18,a+(c&o|t&~o)+m-660478335)+c,o=i(20,12,o+(a&t|c&~t)+w-405537848)+a,t=i(5,27,t+(o&c|a&~c)+v+568446438)+o,c=i(9,23,c+(t&a|o&~a)+C-1019803690)+t,a=i(14,18,a+(c&o|t&~o)+l-187363961)+c,o=i(20,12,o+(a&t|c&~t)+U+1163531501)+a,t=i(5,27,t+(o&c|a&~c)+g-1444681467)+o,c=i(9,23,c+(t&a|o&~a)+h-51403784)+t,a=i(14,18,a+(c&o|t&~o)+D+1735328473)+c,o=i(20,12,o+(a&t|c&~t)+p-1926607734)+a,t=i(4,28,t+(o^a^c)+I-378558)+o,c=i(11,21,c+(t^o^a)+U-2022574463)+t,a=i(16,16,a+(c^t^o)+j+1839030562)+c,o=i(23,9,o+(a^c^t)+C-35309556)+a,t=i(4,28,t+(o^a^c)+b-1530992060)+o,c=i(11,21,c+(t^o^a)+w+1272893353)+t,a=i(16,16,a+(c^t^o)+D-155497632)+c,o=i(23,9,o+(a^c^t)+S-1094730640)+a,t=i(4,28,t+(o^a^c)+g+681279174)+o,c=i(11,21,c+(t^o^a)+s-358537222)+t,a=i(16,16,a+(c^t^o)+l-722521979)+c,o=i(23,9,o+(a^c^t)+J+76029189)+a,t=i(4,28,t+(o^a^c)+v-640364487)+o,c=i(11,21,c+(t^o^a)+p-421815835)+t,a=i(16,16,a+(c^t^o)+m+530742520)+c,o=i(23,9,o+(a^c^t)+h-995338651)+a,t=i(6,26,t+(a^(o|~c))+s-198630844)+o,c=i(10,22,c+(o^(t|~a))+D+1126891415)+t,a=i(15,17,a+(t^(c|~o))+C-1416354905)+c,o=i(21,11,o+(c^(a|~t))+I-57434055)+a,t=i(6,26,t+(a^(o|~c))+p+1700485571)+o,c=i(10,22,c+(o^(t|~a))+l-1894986606)+t,a=i(15,17,a+(t^(c|~o))+S-1051523)+c,o=i(21,11,o+(c^(a|~t))+b-2054922799)+a,t=i(6,26,t+(a^(o|~c))+U+1873313359)+o,c=i(10,22,c+(o^(t|~a))+m-30611744)+t,a=i(15,17,a+(t^(c|~o))+J-1560198380)+c,o=i(21,11,o+(c^(a|~t))+g+1309151649)+a,t=i(6,26,t+(a^(o|~c))+w-145523070)+o,c=i(10,22,c+(o^(t|~a))+j-1120210379)+t,a=i(15,17,a+(t^(c|~o))+h+718787259)+c,o=i(21,11,o+(c^(a|~t))+v-343485551)+a,t=t+T>>>0,o=o+R>>>0,a=a+L>>>0,c=c+N>>>0;return q.endian([t,o,a,c]);function i(O,$,E){return E<<O|E>>>$}};return function(e,d){var s=q.wordsToBytes(r(e,d)),b=d&&d.asBytes?s:q.bytesconvertNumberToHex(s);return b}}function ce(r){var e,d,s,b=-1;for(e=r.length-1,d=new ArrayBuffer(r.length),s=new Uint8Array(d);e>b++;)s[b]=r.charCodeAt(b);return s}function xe(r){return Buffer.from(r,"base64").toString("binary")}function W0(r){return r}function fe(){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(e,d){return e<<d|e>>>32-d},endian:function(e){if(e.constructor==Number)return q.rotl(e,8)&16711935|q.rotl(e,24)&4278255360;for(var d=0;d<e.length;d++)e[d]=q.endian(e[d]);return e},bytesToWords:function(e){for(var d=[],s=0,b=0;s<e.length;s++,b+=8)d[b>>>5]|=e[s]<<24-b%32;return d},wordsToBytes:function(e){for(var d=[],s=0;s<e.length*32;s+=8)d.push(e[s>>>5]>>>24-s%32&255);return d},bytesconvertNumberToHex:function(e){for(var d=[],s=0;s<e.length;s++)d.push((e[s]>>>4).toString(16)),d.push((e[s]&15).toString(16));return d.join("")}}}var d0=class extends F{name="md5";options;constructor(e={}){super(),this.options=e}async hash(e,d){let b=await new Promise((h,l)=>l0(e).then(h).catch(l));return f0(b,d)}};var Y=class extends F{name;options;_algorithm;_algo;constructor(e){if(super(),this.options=e,u0(e?.modules),this._algorithm=this.options?.crypto?.algorithm,!this._algorithm)throw new Error(this.name);this.name=this._algorithm.toLowerCase()}async preload(){let e=K("CryptoJS",this.name);this._algo=e.algo[this._algorithm]}async hash(e,d){await this.preload();let s=this._algo.create();if(!s)throw new Error(this.name);let b=K("CryptoJS",this.name),h=b.lib.WordArray.create(e),l=d==="base64"?b.enc.Base64:b.enc.Hex;return s.update(h).finalize().toString(l)}async*hashBatches(e,d="base64"){await this.preload();let s=K("CryptoJS",this.name),b=this._algo.create();if(!b)throw new Error(this.name);for await(let w of e){let I=s.lib.WordArray.create(w);b.update(I),yield w}let h=d==="base64"?s.enc.Base64:s.enc.Hex,l=b.finalize().toString(h);this.options?.crypto?.onEnd?.({hash:l})}};var s0=class extends Y{constructor(e){super({...e,crypto:{...e.crypto,algorithm:"SHA256"}})}};var b0=class extends F{name;options;constructor(e){if(super(),this.options=e,!globalThis.loaders.NodeHash)throw new Error("install @loaders.gl/crypto on Node.js to use NodeHash");return new globalThis.loaders.NodeHash(e)}async hash(e,d){throw new Error("Not implemented")}};var j0="4.2.0-alpha.6",ne={id:"crypto",name:"CRC32, CRC32c and MD5 Hashes",module:"crypto",version:j0,options:{crypto:{}}},Ae={id:"cryptojs",name:"Cryptographic Hashes",module:"crypto",version:j0,options:{cryptojs:{}}};return Z0(_);})();
8
8
  return __exports__;
9
9
  });
package/dist/index.cjs CHANGED
@@ -65,6 +65,7 @@ var Hash = class {
65
65
 
66
66
  // dist/lib/algorithms/crc32.js
67
67
  var CRC32 = class {
68
+ crc;
68
69
  constructor() {
69
70
  this.crc = ~0;
70
71
  }
@@ -223,9 +224,10 @@ function convertNumberToHex(cipher) {
223
224
 
224
225
  // dist/lib/crc32-hash.js
225
226
  var CRC32Hash = class extends Hash {
227
+ name = "crc32";
228
+ options;
226
229
  constructor(options = {}) {
227
230
  super();
228
- this.name = "crc32";
229
231
  this.options = { crypto: {}, ...options };
230
232
  this.hashBatches = this.hashBatches.bind(this);
231
233
  }
@@ -256,6 +258,8 @@ var CRC32Hash = class extends Hash {
256
258
 
257
259
  // dist/lib/algorithms/crc32c.js
258
260
  var CRC32C = class {
261
+ options;
262
+ crc;
259
263
  constructor(options = {}) {
260
264
  this.options = options;
261
265
  this.crc = ~0;
@@ -280,13 +284,14 @@ function getCRC32Table2() {
280
284
 
281
285
  // dist/lib/crc32c-hash.js
282
286
  var CRC32CHash = class extends Hash {
287
+ name = "crc32c";
288
+ options;
283
289
  /**
284
290
  * Atomic hash calculation
285
291
  * @returns base64 encoded hash
286
292
  */
287
293
  constructor(options = {}) {
288
294
  super();
289
- this.name = "crc32c";
290
295
  this.options = { crypto: {}, ...options };
291
296
  }
292
297
  /**
@@ -721,9 +726,10 @@ function makeCrypt() {
721
726
 
722
727
  // dist/lib/md5-hash.js
723
728
  var MD5Hash = class extends Hash {
729
+ name = "md5";
730
+ options;
724
731
  constructor(options = {}) {
725
732
  super();
726
- this.name = "md5";
727
733
  this.options = options;
728
734
  }
729
735
  /**
@@ -741,12 +747,19 @@ var MD5Hash = class extends Hash {
741
747
  };
742
748
 
743
749
  // dist/lib/crypto-hash.js
744
- var CryptoJS;
750
+ var import_loader_utils2 = require("@loaders.gl/loader-utils");
745
751
  var CryptoHash = class extends Hash {
752
+ name;
753
+ options;
754
+ /** Name of digest algorithm */
755
+ _algorithm;
756
+ /** CryptoJS algorithm */
757
+ _algo;
746
758
  constructor(options) {
747
759
  var _a, _b;
748
760
  super();
749
761
  this.options = options;
762
+ (0, import_loader_utils2.registerJSModules)(options == null ? void 0 : options.modules);
750
763
  this._algorithm = (_b = (_a = this.options) == null ? void 0 : _a.crypto) == null ? void 0 : _b.algorithm;
751
764
  if (!this._algorithm) {
752
765
  throw new Error(this.name);
@@ -754,13 +767,7 @@ var CryptoHash = class extends Hash {
754
767
  this.name = this._algorithm.toLowerCase();
755
768
  }
756
769
  async preload() {
757
- var _a, _b;
758
- if (!CryptoJS) {
759
- CryptoJS = (_b = (_a = this.options) == null ? void 0 : _a.modules) == null ? void 0 : _b.CryptoJS;
760
- }
761
- if (!CryptoJS) {
762
- throw new Error(this.name);
763
- }
770
+ const CryptoJS = (0, import_loader_utils2.getJSModule)("CryptoJS", this.name);
764
771
  this._algo = CryptoJS.algo[this._algorithm];
765
772
  }
766
773
  /**
@@ -773,6 +780,7 @@ var CryptoHash = class extends Hash {
773
780
  if (!hash) {
774
781
  throw new Error(this.name);
775
782
  }
783
+ const CryptoJS = (0, import_loader_utils2.getJSModule)("CryptoJS", this.name);
776
784
  const typedWordArray = CryptoJS.lib.WordArray.create(input);
777
785
  const enc = encoding === "base64" ? CryptoJS.enc.Base64 : CryptoJS.enc.Hex;
778
786
  return hash.update(typedWordArray).finalize().toString(enc);
@@ -780,6 +788,7 @@ var CryptoHash = class extends Hash {
780
788
  async *hashBatches(asyncIterator, encoding = "base64") {
781
789
  var _a, _b, _c;
782
790
  await this.preload();
791
+ const CryptoJS = (0, import_loader_utils2.getJSModule)("CryptoJS", this.name);
783
792
  const hash = this._algo.create();
784
793
  if (!hash) {
785
794
  throw new Error(this.name);
@@ -804,6 +813,8 @@ var SHA256Hash = class extends CryptoHash {
804
813
 
805
814
  // dist/lib/node-hash.js
806
815
  var NodeHash = class extends Hash {
816
+ name;
817
+ options;
807
818
  constructor(options) {
808
819
  super();
809
820
  this.options = options;
@@ -822,7 +833,7 @@ var NodeHash = class extends Hash {
822
833
  };
823
834
 
824
835
  // dist/index.js
825
- var VERSION = true ? "4.2.0-alpha.4" : "latest";
836
+ var VERSION = true ? "4.2.0-alpha.6" : "latest";
826
837
  var CryptoWorker = {
827
838
  id: "crypto",
828
839
  name: "CRC32, CRC32c and MD5 Hashes",