@loaders.gl/crypto 4.0.0-alpha.5 → 4.0.0-alpha.6

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 (116) hide show
  1. package/dist/bundle.js +2 -2
  2. package/dist/crypto-worker.js +2 -0
  3. package/dist/crypto-worker.js.map +7 -0
  4. package/dist/dist.min.js +1 -1
  5. package/dist/dist.min.js.map +2 -2
  6. package/dist/es5/bundle.js +6 -0
  7. package/dist/es5/bundle.js.map +1 -0
  8. package/dist/es5/index.js +83 -0
  9. package/dist/es5/index.js.map +1 -0
  10. package/dist/es5/lib/algorithms/crc32.js +41 -0
  11. package/dist/es5/lib/algorithms/crc32.js.map +1 -0
  12. package/dist/es5/lib/algorithms/crc32c.js +44 -0
  13. package/dist/es5/lib/algorithms/crc32c.js.map +1 -0
  14. package/dist/es5/lib/algorithms/md5-wasm.js +436 -0
  15. package/dist/es5/lib/algorithms/md5-wasm.js.map +1 -0
  16. package/dist/es5/lib/crc32-hash.js +150 -0
  17. package/dist/es5/lib/crc32-hash.js.map +1 -0
  18. package/dist/es5/lib/crc32c-hash.js +149 -0
  19. package/dist/es5/lib/crc32c-hash.js.map +1 -0
  20. package/dist/es5/lib/crypto-hash.js +186 -0
  21. package/dist/es5/lib/crypto-hash.js.map +1 -0
  22. package/dist/es5/lib/hash.js +149 -0
  23. package/dist/es5/lib/hash.js.map +1 -0
  24. package/dist/es5/lib/md5-hash.js +66 -0
  25. package/dist/es5/lib/md5-hash.js.map +1 -0
  26. package/dist/es5/lib/node-hash.js +147 -0
  27. package/dist/es5/lib/node-hash.js.map +1 -0
  28. package/dist/es5/lib/sha256-hash.js +33 -0
  29. package/dist/es5/lib/sha256-hash.js.map +1 -0
  30. package/dist/es5/lib/utils/base64-utils.js +55 -0
  31. package/dist/es5/lib/utils/base64-utils.js.map +1 -0
  32. package/dist/es5/lib/utils/digest-utils.js +23 -0
  33. package/dist/es5/lib/utils/digest-utils.js.map +1 -0
  34. package/dist/es5/types.js +2 -0
  35. package/dist/es5/types.js.map +1 -0
  36. package/dist/es5/workers/worker.js +65 -0
  37. package/dist/es5/workers/worker.js.map +1 -0
  38. package/dist/esm/bundle.js +4 -0
  39. package/dist/esm/bundle.js.map +1 -0
  40. package/dist/esm/index.js +27 -0
  41. package/dist/esm/index.js.map +1 -0
  42. package/dist/esm/lib/algorithms/crc32.js +24 -0
  43. package/dist/esm/lib/algorithms/crc32.js.map +1 -0
  44. package/dist/esm/lib/algorithms/crc32c.js +27 -0
  45. package/dist/esm/lib/algorithms/crc32c.js.map +1 -0
  46. package/dist/esm/lib/algorithms/md5-wasm.js +428 -0
  47. package/dist/esm/lib/algorithms/md5-wasm.js.map +1 -0
  48. package/dist/esm/lib/crc32-hash.js +43 -0
  49. package/dist/esm/lib/crc32-hash.js.map +1 -0
  50. package/dist/esm/lib/crc32c-hash.js +42 -0
  51. package/dist/esm/lib/crc32c-hash.js.map +1 -0
  52. package/dist/esm/lib/crypto-hash.js +54 -0
  53. package/dist/esm/lib/crypto-hash.js.map +1 -0
  54. package/dist/esm/lib/hash.js +30 -0
  55. package/dist/esm/lib/hash.js.map +1 -0
  56. package/dist/esm/lib/md5-hash.js +19 -0
  57. package/dist/esm/lib/md5-hash.js.map +1 -0
  58. package/dist/esm/lib/node-hash.js +38 -0
  59. package/dist/esm/lib/node-hash.js.map +1 -0
  60. package/dist/esm/lib/sha256-hash.js +13 -0
  61. package/dist/esm/lib/sha256-hash.js.map +1 -0
  62. package/dist/esm/lib/utils/base64-utils.js +49 -0
  63. package/dist/esm/lib/utils/base64-utils.js.map +1 -0
  64. package/dist/esm/lib/utils/digest-utils.js +14 -0
  65. package/dist/esm/lib/utils/digest-utils.js.map +1 -0
  66. package/dist/esm/types.js +2 -0
  67. package/dist/esm/types.js.map +1 -0
  68. package/dist/esm/workers/cryptojs-worker.ts.disabled +26 -0
  69. package/dist/esm/workers/worker.js +22 -0
  70. package/dist/esm/workers/worker.js.map +1 -0
  71. package/dist/index.js +45 -25
  72. package/dist/lib/algorithms/crc32.js +25 -26
  73. package/dist/lib/algorithms/crc32c.js +33 -29
  74. package/dist/lib/algorithms/md5-wasm.js +414 -449
  75. package/dist/lib/crc32-hash.js +45 -54
  76. package/dist/lib/crc32c-hash.js +49 -53
  77. package/dist/lib/crypto-hash.d.ts +1 -1
  78. package/dist/lib/crypto-hash.d.ts.map +1 -1
  79. package/dist/lib/crypto-hash.js +55 -70
  80. package/dist/lib/hash.d.ts +1 -1
  81. package/dist/lib/hash.d.ts.map +1 -1
  82. package/dist/lib/hash.js +27 -36
  83. package/dist/lib/md5-hash.js +31 -22
  84. package/dist/lib/node-hash.d.ts +1 -1
  85. package/dist/lib/node-hash.d.ts.map +1 -1
  86. package/dist/lib/node-hash.js +39 -49
  87. package/dist/lib/sha256-hash.d.ts +1 -1
  88. package/dist/lib/sha256-hash.d.ts.map +1 -1
  89. package/dist/lib/sha256-hash.js +13 -11
  90. package/dist/lib/utils/base64-utils.js +62 -57
  91. package/dist/lib/utils/digest-utils.js +25 -13
  92. package/dist/types.d.ts +1 -1
  93. package/dist/types.d.ts.map +1 -1
  94. package/dist/types.js +2 -2
  95. package/dist/workers/worker.js +22 -24
  96. package/package.json +8 -8
  97. package/src/lib/hash.ts +1 -1
  98. package/dist/bundle.js.map +0 -1
  99. package/dist/index.js.map +0 -1
  100. package/dist/lib/algorithms/crc32.js.map +0 -1
  101. package/dist/lib/algorithms/crc32c.js.map +0 -1
  102. package/dist/lib/algorithms/md5-wasm.js.map +0 -1
  103. package/dist/lib/crc32-hash.js.map +0 -1
  104. package/dist/lib/crc32c-hash.js.map +0 -1
  105. package/dist/lib/crypto-hash.js.map +0 -1
  106. package/dist/lib/hash.js.map +0 -1
  107. package/dist/lib/md5-hash.js.map +0 -1
  108. package/dist/lib/node-hash.js.map +0 -1
  109. package/dist/lib/sha256-hash.js.map +0 -1
  110. package/dist/lib/utils/base64-utils.js.map +0 -1
  111. package/dist/lib/utils/digest-utils.js.map +0 -1
  112. package/dist/types.js.map +0 -1
  113. package/dist/worker.js +0 -2
  114. package/dist/worker.js.map +0 -7
  115. package/dist/workers/worker.js.map +0 -1
  116. /package/dist/{workers → es5/workers}/cryptojs-worker.ts.disabled +0 -0
package/dist/worker.js DELETED
@@ -1,2 +0,0 @@
1
- (()=>{function oe(A,e=!0,x){let i=x||new Set;if(A){if(Be(A))i.add(A);else if(Be(A.buffer))i.add(A.buffer);else if(!ArrayBuffer.isView(A)){if(e&&typeof A=="object")for(let u in A)oe(A[u],e,i)}}return x===void 0?Array.from(i):[]}function Be(A){return A?A instanceof ArrayBuffer||typeof MessagePort!="undefined"&&A instanceof MessagePort||typeof ImageBitmap!="undefined"&&A instanceof ImageBitmap||typeof OffscreenCanvas!="undefined"&&A instanceof OffscreenCanvas:!1}var se=new Map,F=class{static set onmessage(e){self.onmessage=x=>{if(!me(x))return;let{type:i,payload:u}=x.data;e(i,u)}}static addEventListener(e){let x=se.get(e);x||(x=i=>{if(!me(i))return;let{type:u,payload:l}=i.data;e(u,l)}),self.addEventListener("message",x)}static removeEventListener(e){let x=se.get(e);se.delete(e),self.removeEventListener("message",x)}static postMessage(e,x){if(self){let i={source:"loaders.gl",type:e,payload:x},u=oe(x);self.postMessage(i,u)}}};function me(A){let{type:e,data:x}=A;return e==="message"&&x&&typeof x.source=="string"&&x.source.startsWith("loaders.gl")}var $=class{constructor(){this._values=[],this._settlers=[],this._closed=!1}[Symbol.asyncIterator](){return this}push(e){return this.enqueue(e)}enqueue(e){if(this._closed)throw new Error("Closed");if(this._settlers.length>0){if(this._values.length>0)throw new Error("Illegal internal state");let x=this._settlers.shift();e instanceof Error?x.reject(e):x.resolve({value:e})}else this._values.push(e)}close(){for(;this._settlers.length>0;)this._settlers.shift().resolve({done:!0});this._closed=!0}next(){if(this._values.length>0){let e=this._values.shift();return e instanceof Error?Promise.reject(e):Promise.resolve({done:!1,value:e})}if(this._closed){if(this._settlers.length>0)throw new Error("Illegal internal state");return Promise.resolve({done:!0,value:void 0})}return new Promise((e,x)=>{this._settlers.push({resolve:e,reject:x})})}};var ve=0,ee,pe;function fe(A,e){if(typeof self=="undefined")return;let x={process:We};F.onmessage=async(i,u)=>{try{switch(i){case"process":if(!A)throw new Error("Worker does not support atomic processing");let l=await A(u.input,u.options||{},x);F.postMessage("done",{result:l});break;case"process-in-batches":if(!e)throw new Error("Worker does not support batched processing");ee=new $,pe=u.options||{};let m=e(ee,pe,x);for await(let Q of m)F.postMessage("output-batch",{result:Q});F.postMessage("done",{});break;case"input-batch":ee.push(u.input);break;case"input-done":ee.close();break;default:}}catch(l){let m=l instanceof Error?l.message:"";F.postMessage("error",{error:m})}}}function We(A,e={}){return new Promise((x,i)=>{let u=ve++,l=(Q,C)=>{if(C.id===u)switch(Q){case"done":F.removeEventListener(l),x(C.result);break;case"error":F.removeEventListener(l),i(C.error);break;default:}};F.addEventListener(l);let m={id:u,input:A,options:e};F.postMessage("process",m)})}function ge(...A){let e=A.map(l=>l instanceof ArrayBuffer?new Uint8Array(l):l),x=e.reduce((l,m)=>l+m.byteLength,0),i=new Uint8Array(x),u=0;for(let l of e)i.set(l,u),u+=l.byteLength;return i.buffer}async function ne(A){let e=[];for await(let x of A)e.push(x);return ge(...e)}var Z=class{constructor(e={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(e){let x=[];for await(let l of e)x.push(l),yield l;let i=await this.concatenate(x),u=await this.hash(i);this.options?.crypto?.onEnd?.({hash:u})}async concatenate(e){return await ne(e)}};var re=class{constructor(){this.crc=~0}update(e){let x=Te(),i=new Uint8Array(e);for(let u=0;u<i.byteLength;u++)this.crc=this.crc>>>8^x[(this.crc^i[u])&255];return this}finalize(){return this.crc=Math.abs(this.crc^-1),this.crc}},Ge=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 Te(){return Ge}function we(A){A=`${A}`;for(let x=0;x<A.length;x++)if(A.charCodeAt(x)>255)return null;let e="";for(let x=0;x<A.length;x+=3){let i=[void 0,void 0,void 0,void 0];i[0]=A.charCodeAt(x)>>2,i[1]=(A.charCodeAt(x)&3)<<4,A.length>x+1&&(i[1]|=A.charCodeAt(x+1)>>4,i[2]=(A.charCodeAt(x+1)&15)<<2),A.length>x+2&&(i[2]|=A.charCodeAt(x+2)>>6,i[3]=A.charCodeAt(x+2)&63);for(let u=0;u<i.length;u++)typeof i[u]=="undefined"?e+="=":e+=Fe(i[u])}return e}function Fe(A){if(A<26)return String.fromCharCode(A+"A".charCodeAt(0));if(A<52)return String.fromCharCode(A-26+"a".charCodeAt(0));if(A<62)return String.fromCharCode(A-52+"0".charCodeAt(0));if(A===62)return"+";if(A===63)return"/"}function X(A){let e=A.toString(16);return e==="0"?`0${e}`:e}function V(A){A.length%2!=0&&(A=`0${A}`);let x=(A.match(/\w{2}/g)||[]).map(i=>String.fromCharCode(parseInt(i,16))).join("");return we(x)||""}var ce=class extends Z{constructor(e={}){super();this.name="crc32";this.options={crypto:{},...e},this._hash=new re,this.hashBatches=this.hashBatches.bind(this)}async hash(e){return this.hashSync(e)}hashSync(e){this._hash.update(e);let x=this._hash.finalize(),i=X(x);return V(i)}async*hashBatches(e){for await(let l of e)this._hash.update(l),yield l;let x=this._hash.finalize(),i=X(x),u=V(i);this.options.crypto?.onEnd?.({hash:u})}};var te=class{constructor(e={}){this.options=e,this.crc=~0}update(e){let x=new Uint8Array(e),i=Le();for(let u=0;u<x.length;u++)this.crc=i[(this.crc^x[u])&255]^this.crc>>>8;return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},De=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 Le(){return De}var xe=class extends Z{constructor(e={}){super();this.name="crc32c";this.options={crypto:{},...e},this._hash=new te(e)}async hash(e){return this.hashSync(e)}hashSync(e){this._hash.update(e);let x=this._hash.finalize(),i=X(x);return V(i)}async*hashBatches(e){for await(let l of e)this._hash.update(l),yield l;let x=this._hash.finalize(),i=X(x),u=V(i);this.options.crypto?.onEnd?.({hash:u})}};var Ee=typeof atob=="function"?atob:typeof Buffer=="function"?Je:Ie,qe=Ee("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"),Ae=WebAssembly&&Ee!==Ie?He(qe).buffer:!1,U=Pe(),ie=240*16*16,Qe=Math.floor(ie*16*1.066666667),je=268435456-65536,Ce="Parameter must be Buffer, ArrayBuffer or Uint8Array",Re="Parameter exceeds max size of 255.9 Mbytes";Ae||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function de(A){var e,x,i,u,l,m,Q,C,D,q;let S=Se(),v=Ue(),W={},T=new Date().getTime();return W.then=function(y){return Q=y,I(),W},W.catch=function(y){return C=y,W},A&&typeof A=="object"?typeof Buffer=="function"&&A.constructor===Buffer?m=A:A.constructor===Uint8Array||A.constructor===ArrayBuffer?m=A.constructor===ArrayBuffer?new Uint8Array(A):A:E(new TypeError(Ce)):E(new TypeError(Ce)),m&&(l=m.length,Ae&&l>Qe?l>je?E(new Error(Re)):(e=new WebAssembly.Memory({initial:l>32e6?l>64e6?l>128e6?4096:2048:1024:512}),x=new Uint32Array(e.buffer),u={mem:e,log:console.log},i={imports:u},WebAssembly.instantiate(Ae,i).then(B)):I(S(m))),W;function B(y){I(v(m,y.instance.exports,x))}function I(y){var L=Boolean(y)?y:D;Boolean(y)&&(q=new Date().getTime()),typeof Q=="function"?Boolean(L)&&(Q(L,q-T),Q=C=null):Boolean(y)&&(D=y)}function E(y){typeof C=="function"&&C(y)}}function Ue(){var A,e,x,i,u,l,m,Q,C,D,q,S,v,W=function(T){var B,I,E,y,L,H,J,P,h,_,r,t,a,o,j,G,g,d,z,O,w,Ve,Ze=new Date().getTime(),Me=0,s=1732584193,f=-271733879,n=-1732584194,c=271733878,p=0,N=T.length*8,Y;for(Y=ke(T,v),v[N>>>5]|=128<<N%32,v[(N+64>>>9<<4)+14]=N,Y=(N+64>>>9<<4)+15,w=v;p<Y;)Y>p+Qe?(i(s),l(f),Q(n),D(c),e(ie),p=p+ie*16,s=x(),f=u(),n=m(),c=C(),Me++):(g=s,d=f,z=n,O=c,B=w[p+0]>>>0,I=w[p+1]>>>0,E=w[p+2]>>>0,y=w[p+3]>>>0,L=w[p+4]>>>0,H=w[p+5]>>>0,J=w[p+6]>>>0,P=w[p+7]>>>0,h=w[p+8]>>>0,_=w[p+9]>>>0,r=w[p+10]>>>0,t=w[p+11]>>>0,a=w[p+12]>>>0,o=w[p+13]>>>0,j=w[p+14]>>>0,G=w[p+15]>>>0,s=b(7,25,s+(f&n|~f&c)+B-680876936)+f,c=b(12,20,c+(s&f|~s&n)+I-389564586)+s,n=b(17,15,n+(c&s|~c&f)+E+606105819)+c,f=b(22,10,f+(n&c|~n&s)+y-1044525330)+n,s=b(7,25,s+(f&n|~f&c)+L-176418897)+f,c=b(12,20,c+(s&f|~s&n)+H+1200080426)+s,n=b(17,15,n+(c&s|~c&f)+J-1473231341)+c,f=b(22,10,f+(n&c|~n&s)+P-45705983)+n,s=b(7,25,s+(f&n|~f&c)+h+1770035416)+f,c=b(12,20,c+(s&f|~s&n)+_-1958414417)+s,n=b(17,15,n+(c&s|~c&f)+r-42063)+c,f=b(22,10,f+(n&c|~n&s)+t-1990404162)+n,s=b(7,25,s+(f&n|~f&c)+a+1804603682)+f,c=b(12,20,c+(s&f|~s&n)+o-40341101)+s,n=b(17,15,n+(c&s|~c&f)+j-1502002290)+c,f=b(22,10,f+(n&c|~n&s)+G+1236535329)+n,s=b(5,27,s+(f&c|n&~c)+I-165796510)+f,c=b(9,23,c+(s&n|f&~n)+J-1069501632)+s,n=b(14,18,n+(c&f|s&~f)+t+643717713)+c,f=b(20,12,f+(n&s|c&~s)+B-373897302)+n,s=b(5,27,s+(f&c|n&~c)+H-701558691)+f,c=b(9,23,c+(s&n|f&~n)+r+38016083)+s,n=b(14,18,n+(c&f|s&~f)+G-660478335)+c,f=b(20,12,f+(n&s|c&~s)+L-405537848)+n,s=b(5,27,s+(f&c|n&~c)+_+568446438)+f,c=b(9,23,c+(s&n|f&~n)+j-1019803690)+s,n=b(14,18,n+(c&f|s&~f)+y-187363961)+c,f=b(20,12,f+(n&s|c&~s)+h+1163531501)+n,s=b(5,27,s+(f&c|n&~c)+o-1444681467)+f,c=b(9,23,c+(s&n|f&~n)+E-51403784)+s,n=b(14,18,n+(c&f|s&~f)+P+1735328473)+c,f=b(20,12,f+(n&s|c&~s)+a-1926607734)+n,s=b(4,28,s+(f^n^c)+H-378558)+f,c=b(11,21,c+(s^f^n)+h-2022574463)+s,n=b(16,16,n+(c^s^f)+t+1839030562)+c,f=b(23,9,f+(n^c^s)+j-35309556)+n,s=b(4,28,s+(f^n^c)+I-1530992060)+f,c=b(11,21,c+(s^f^n)+L+1272893353)+s,n=b(16,16,n+(c^s^f)+P-155497632)+c,f=b(23,9,f+(n^c^s)+r-1094730640)+n,s=b(4,28,s+(f^n^c)+o+681279174)+f,c=b(11,21,c+(s^f^n)+B-358537222)+s,n=b(16,16,n+(c^s^f)+y-722521979)+c,f=b(23,9,f+(n^c^s)+J+76029189)+n,s=b(4,28,s+(f^n^c)+_-640364487)+f,c=b(11,21,c+(s^f^n)+a-421815835)+s,n=b(16,16,n+(c^s^f)+G+530742520)+c,f=b(23,9,f+(n^c^s)+E-995338651)+n,s=b(6,26,s+(n^(f|~c))+B-198630844)+f,c=b(10,22,c+(f^(s|~n))+P+1126891415)+s,n=b(15,17,n+(s^(c|~f))+j-1416354905)+c,f=b(21,11,f+(c^(n|~s))+H-57434055)+n,s=b(6,26,s+(n^(f|~c))+a+1700485571)+f,c=b(10,22,c+(f^(s|~n))+y-1894986606)+s,n=b(15,17,n+(s^(c|~f))+r-1051523)+c,f=b(21,11,f+(c^(n|~s))+I-2054922799)+n,s=b(6,26,s+(n^(f|~c))+h+1873313359)+f,c=b(10,22,c+(f^(s|~n))+G-30611744)+s,n=b(15,17,n+(s^(c|~f))+J-1560198380)+c,f=b(21,11,f+(c^(n|~s))+o+1309151649)+n,s=b(6,26,s+(n^(f|~c))+L-145523070)+f,c=b(10,22,c+(f^(s|~n))+t-1120210379)+s,n=b(15,17,n+(s^(c|~f))+E+718787259)+c,f=b(21,11,f+(c^(n|~s))+_-343485551)+n,p=p+16,s=s+g>>>0,f=f+d>>>0,n=n+z>>>0,c=c+O>>>0);return U.endian([s,f,n,c]);function b(M,K,R){return R<<M|R>>>K}function ke(M,K){for(var R=-1,ae=Math.floor((M.length-1)/4),k=0,ue,le,he,ye;ae-8>R++;)k=R<<2,K[R]=M[k+0]|M[k+1]<<8|M[k+2]<<16|M[k+3]<<24;for(R--;ae>R++;)k=R<<2,ue=typeof M[k+0]=="undefined"?0:M[k+0],le=typeof M[k+1]=="undefined"?0:M[k+1],he=typeof M[k+2]=="undefined"?0:M[k+2],ye=typeof M[k+3]=="undefined"?0:M[k+3],K[R]=ue|le<<8|he<<16|ye<<24;return ae+1}};return function(T,B,I,E){var y;return e=B.loops,A=B.loop,x=B.getA,u=B.getB,m=B.getC,C=B.getD,q=B.getX,i=B.setA,l=B.setB,Q=B.setC,D=B.setD,S=B.setX,v=I,y=U.wordsToBytes(W(T)),E&&E.asBytes?y:U.bytesToHex(y)}}function Se(){var A=function(e,x){var i,u,l,m,Q,C,D,q,S,v,W,T,B,I,E,y,L,H,J,P,h,_=new Date().getTime(),r=1732584193,t=-271733879,a=-1732584194,o=271733878,j=e.length*8;h=U.bytesToWords(e);for(var G=0;G<h.length;G++)h[G]=(h[G]<<8|h[G]>>>24)&16711935|(h[G]<<24|h[G]>>>8)&4278255360;h[j>>>5]|=128<<j%32,h[(j+64>>>9<<4)+14]=j;for(var g=0;g<h.length;g+=16)L=r,H=t,J=a,P=o,i=h[g+0]>>>0,u=h[g+1]>>>0,l=h[g+2]>>>0,m=h[g+3]>>>0,Q=h[g+4]>>>0,C=h[g+5]>>>0,D=h[g+6]>>>0,q=h[g+7]>>>0,S=h[g+8]>>>0,v=h[g+9]>>>0,W=h[g+10]>>>0,T=h[g+11]>>>0,B=h[g+12]>>>0,I=h[g+13]>>>0,E=h[g+14]>>>0,y=h[g+15]>>>0,r=d(7,25,r+(t&a|~t&o)+i-680876936)+t,o=d(12,20,o+(r&t|~r&a)+u-389564586)+r,a=d(17,15,a+(o&r|~o&t)+l+606105819)+o,t=d(22,10,t+(a&o|~a&r)+m-1044525330)+a,r=d(7,25,r+(t&a|~t&o)+Q-176418897)+t,o=d(12,20,o+(r&t|~r&a)+C+1200080426)+r,a=d(17,15,a+(o&r|~o&t)+D-1473231341)+o,t=d(22,10,t+(a&o|~a&r)+q-45705983)+a,r=d(7,25,r+(t&a|~t&o)+S+1770035416)+t,o=d(12,20,o+(r&t|~r&a)+v-1958414417)+r,a=d(17,15,a+(o&r|~o&t)+W-42063)+o,t=d(22,10,t+(a&o|~a&r)+T-1990404162)+a,r=d(7,25,r+(t&a|~t&o)+B+1804603682)+t,o=d(12,20,o+(r&t|~r&a)+I-40341101)+r,a=d(17,15,a+(o&r|~o&t)+E-1502002290)+o,t=d(22,10,t+(a&o|~a&r)+y+1236535329)+a,r=d(5,27,r+(t&o|a&~o)+u-165796510)+t,o=d(9,23,o+(r&a|t&~a)+D-1069501632)+r,a=d(14,18,a+(o&t|r&~t)+T+643717713)+o,t=d(20,12,t+(a&r|o&~r)+i-373897302)+a,r=d(5,27,r+(t&o|a&~o)+C-701558691)+t,o=d(9,23,o+(r&a|t&~a)+W+38016083)+r,a=d(14,18,a+(o&t|r&~t)+y-660478335)+o,t=d(20,12,t+(a&r|o&~r)+Q-405537848)+a,r=d(5,27,r+(t&o|a&~o)+v+568446438)+t,o=d(9,23,o+(r&a|t&~a)+E-1019803690)+r,a=d(14,18,a+(o&t|r&~t)+m-187363961)+o,t=d(20,12,t+(a&r|o&~r)+S+1163531501)+a,r=d(5,27,r+(t&o|a&~o)+I-1444681467)+t,o=d(9,23,o+(r&a|t&~a)+l-51403784)+r,a=d(14,18,a+(o&t|r&~t)+q+1735328473)+o,t=d(20,12,t+(a&r|o&~r)+B-1926607734)+a,r=d(4,28,r+(t^a^o)+C-378558)+t,o=d(11,21,o+(r^t^a)+S-2022574463)+r,a=d(16,16,a+(o^r^t)+T+1839030562)+o,t=d(23,9,t+(a^o^r)+E-35309556)+a,r=d(4,28,r+(t^a^o)+u-1530992060)+t,o=d(11,21,o+(r^t^a)+Q+1272893353)+r,a=d(16,16,a+(o^r^t)+q-155497632)+o,t=d(23,9,t+(a^o^r)+W-1094730640)+a,r=d(4,28,r+(t^a^o)+I+681279174)+t,o=d(11,21,o+(r^t^a)+i-358537222)+r,a=d(16,16,a+(o^r^t)+m-722521979)+o,t=d(23,9,t+(a^o^r)+D+76029189)+a,r=d(4,28,r+(t^a^o)+v-640364487)+t,o=d(11,21,o+(r^t^a)+B-421815835)+r,a=d(16,16,a+(o^r^t)+y+530742520)+o,t=d(23,9,t+(a^o^r)+l-995338651)+a,r=d(6,26,r+(a^(t|~o))+i-198630844)+t,o=d(10,22,o+(t^(r|~a))+q+1126891415)+r,a=d(15,17,a+(r^(o|~t))+E-1416354905)+o,t=d(21,11,t+(o^(a|~r))+C-57434055)+a,r=d(6,26,r+(a^(t|~o))+B+1700485571)+t,o=d(10,22,o+(t^(r|~a))+m-1894986606)+r,a=d(15,17,a+(r^(o|~t))+W-1051523)+o,t=d(21,11,t+(o^(a|~r))+u-2054922799)+a,r=d(6,26,r+(a^(t|~o))+S+1873313359)+t,o=d(10,22,o+(t^(r|~a))+y-30611744)+r,a=d(15,17,a+(r^(o|~t))+D-1560198380)+o,t=d(21,11,t+(o^(a|~r))+I+1309151649)+a,r=d(6,26,r+(a^(t|~o))+Q-145523070)+t,o=d(10,22,o+(t^(r|~a))+T-1120210379)+r,a=d(15,17,a+(r^(o|~t))+l+718787259)+o,t=d(21,11,t+(o^(a|~r))+v-343485551)+a,r=r+L>>>0,t=t+H>>>0,a=a+J>>>0,o=o+P>>>0;return U.endian([r,t,a,o]);function d(z,O,w){return w<<z|w>>>O}};return function(e,x){var i=U.wordsToBytes(A(e,x)),u=x&&x.asBytes?i:U.bytesToHex(i);return u}}function He(A){var e,x,i,u=-1;for(e=A.length-1,x=new ArrayBuffer(A.length),i=new Uint8Array(x);e>u++;)i[u]=A.charCodeAt(u);return i}function Je(A){return Buffer.from(A,"base64").toString("binary")}function Ie(A){return A}function Pe(){var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(e,x){return e<<x|e>>>32-x},endian:function(e){if(e.constructor==Number)return U.rotl(e,8)&16711935|U.rotl(e,24)&4278255360;for(var x=0;x<e.length;x++)e[x]=U.endian(e[x]);return e},bytesToWords:function(e){for(var x=[],i=0,u=0;i<e.length;i++,u+=8)x[u>>>5]|=e[i]<<24-u%32;return x},wordsToBytes:function(e){for(var x=[],i=0;i<e.length*32;i+=8)x.push(e[i>>>5]>>>24-i%32&255);return x},bytesToHex:function(e){for(var x=[],i=0;i<e.length;i++)x.push((e[i]>>>4).toString(16)),x.push((e[i]&15).toString(16));return x.join("")}}}var be=class extends Z{constructor(e={}){super();this.name="md5";this.options=e}async hash(e){let i=await new Promise((u,l)=>de(e).then(u).catch(l));return V(i)}};fe(async(A,e={})=>{let{operation:x}=e;switch(x){case"crc32":return await new ce(e).hash(A);case"crc32c":return await new xe(e).hash(A);case"md5":return await new be(e).hash(A);default:throw new Error(`invalid option: ${x}`)}});})();
2
- //# sourceMappingURL=worker.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../worker-utils/src/lib/worker-utils/get-transfer-list.ts", "../../worker-utils/src/lib/worker-farm/worker-body.ts", "../../worker-utils/src/lib/async-queue/async-queue.ts", "../../worker-utils/src/lib/worker-api/create-worker.ts", "../../loader-utils/src/lib/binary-utils/array-buffer-utils.ts", "../../loader-utils/src/lib/iterators/async-iteration.ts", "../src/lib/hash.ts", "../src/lib/algorithms/crc32.ts", "../src/lib/utils/base64-utils.ts", "../src/lib/utils/digest-utils.ts", "../src/lib/crc32-hash.ts", "../src/lib/algorithms/crc32c.ts", "../src/lib/crc32c-hash.ts", "../src/lib/algorithms/md5-wasm.ts", "../src/lib/md5-hash.ts", "../src/workers/worker.ts"],
4
- "sourcesContent": ["// NOTE - there is a copy of this function is both in core and loader-utils\n// core does not need all the utils in loader-utils, just this one.\n\n/**\n * Returns an array of Transferrable objects that can be used with postMessage\n * https://developer.mozilla.org/en-US/docs/Web/API/Worker/postMessage\n * @param object data to be sent via postMessage\n * @param recursive - not for application use\n * @param transfers - not for application use\n * @returns a transfer list that can be passed to postMessage\n */\nexport function getTransferList(\n object: any,\n recursive: boolean = true,\n transfers?: Set<any>\n): Transferable[] {\n // Make sure that items in the transfer list is unique\n const transfersSet = transfers || new Set();\n\n if (!object) {\n // ignore\n } else if (isTransferable(object)) {\n transfersSet.add(object);\n } else if (isTransferable(object.buffer)) {\n // Typed array\n transfersSet.add(object.buffer);\n } else if (ArrayBuffer.isView(object)) {\n // object is a TypeArray viewing into a SharedArrayBuffer (not transferable)\n // Do not iterate through the content in this case\n } else if (recursive && typeof object === 'object') {\n for (const key in object) {\n // Avoid perf hit - only go one level deep\n getTransferList(object[key], recursive, transfersSet);\n }\n }\n\n // If transfers is defined, is internal recursive call\n // Otherwise it's called by the user\n return transfers === undefined ? Array.from(transfersSet) : [];\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Transferable\nfunction isTransferable(object: unknown) {\n if (!object) {\n return false;\n }\n if (object instanceof ArrayBuffer) {\n return true;\n }\n if (typeof MessagePort !== 'undefined' && object instanceof MessagePort) {\n return true;\n }\n if (typeof ImageBitmap !== 'undefined' && object instanceof ImageBitmap) {\n return true;\n }\n // @ts-ignore\n if (typeof OffscreenCanvas !== 'undefined' && object instanceof OffscreenCanvas) {\n return true;\n }\n return false;\n}\n", "import type {WorkerMessageData, WorkerMessageType, WorkerMessagePayload} from '../../types';\nimport {getTransferList} from '../worker-utils/get-transfer-list';\n\nconst onMessageWrapperMap = new Map();\n\n/**\n * Type safe wrapper for worker code\n */\nexport default class WorkerBody {\n /*\n * (type: WorkerMessageType, payload: WorkerMessagePayload) => any\n */\n static set onmessage(onMessage: (type: WorkerMessageType, payload: WorkerMessagePayload) => any) {\n // eslint-disable-next-line no-restricted-globals\n self.onmessage = (message) => {\n if (!isKnownMessage(message)) {\n return;\n }\n\n // Confusingly the message itself also has a 'type' field which is always set to 'message'\n const {type, payload} = message.data;\n onMessage(type, payload);\n };\n }\n\n static addEventListener(\n onMessage: (type: WorkerMessageType, payload: WorkerMessagePayload) => any\n ) {\n let onMessageWrapper = onMessageWrapperMap.get(onMessage);\n\n if (!onMessageWrapper) {\n onMessageWrapper = (message: MessageEvent<any>) => {\n if (!isKnownMessage(message)) {\n return;\n }\n\n // Confusingly the message itself also has a 'type' field which is always set to 'message'\n const {type, payload} = message.data;\n onMessage(type, payload);\n };\n }\n\n // eslint-disable-next-line no-restricted-globals\n self.addEventListener('message', onMessageWrapper);\n }\n\n static removeEventListener(\n onMessage: (type: WorkerMessageType, payload: WorkerMessagePayload) => any\n ) {\n const onMessageWrapper = onMessageWrapperMap.get(onMessage);\n onMessageWrapperMap.delete(onMessage);\n // eslint-disable-next-line no-restricted-globals\n self.removeEventListener('message', onMessageWrapper);\n }\n\n /**\n * Send a message from a worker to creating thread (main thread)\n * @param type\n * @param payload\n */\n static postMessage(type: WorkerMessageType, payload: WorkerMessagePayload): void {\n if (self) {\n const data: WorkerMessageData = {source: 'loaders.gl', type, payload};\n const transferList = getTransferList(payload);\n // eslint-disable-next-line no-restricted-globals\n // @ts-ignore\n self.postMessage(data, transferList);\n }\n }\n}\n\n// Filter out noise messages sent to workers\nfunction isKnownMessage(message: MessageEvent<any>) {\n const {type, data} = message;\n return (\n type === 'message' &&\n data &&\n typeof data.source === 'string' &&\n data.source.startsWith('loaders.gl')\n );\n}\n", "// From https://github.com/rauschma/async-iter-demo/tree/master/src under MIT license\n// http://2ality.com/2016/10/asynchronous-iteration.html\n\n/**\n * Async Queue\n * - AsyncIterable: An async iterator can be\n * - Values can be pushed onto the queue\n * @example\n * const asyncQueue = new AsyncQueue();\n * setTimeout(() => asyncQueue.enqueue('tick'), 1000);\n * setTimeout(() => asyncQueue.enqueue(new Error('done')), 10000);\n * for await (const value of asyncQueue) {\n * console.log(value); // tick\n * }\n */\nexport default class AsyncQueue<T> {\n private _values: any[];\n private _settlers: any[];\n private _closed: boolean;\n\n constructor() {\n this._values = []; // enqueues > dequeues\n this._settlers = []; // dequeues > enqueues\n this._closed = false;\n }\n\n /** Return an async iterator for this queue */\n [Symbol.asyncIterator](): AsyncIterator<T> {\n return this;\n }\n\n /** Push a new value - the async iterator will yield a promise resolved to this value */\n push(value: T): void {\n return this.enqueue(value);\n }\n\n /**\n * Push a new value - the async iterator will yield a promise resolved to this value\n * Add an error - the async iterator will yield a promise rejected with this value\n */\n enqueue(value: T | Error): void {\n if (this._closed) {\n throw new Error('Closed');\n }\n\n if (this._settlers.length > 0) {\n if (this._values.length > 0) {\n throw new Error('Illegal internal state');\n }\n const settler = this._settlers.shift();\n if (value instanceof Error) {\n settler.reject(value);\n } else {\n settler.resolve({value});\n }\n } else {\n this._values.push(value);\n }\n }\n\n /** Indicate that we not waiting for more values - The async iterator will be done */\n close(): void {\n while (this._settlers.length > 0) {\n const settler = this._settlers.shift();\n settler.resolve({done: true});\n }\n this._closed = true;\n }\n\n // ITERATOR IMPLEMENTATION\n\n /** @returns a Promise for an IteratorResult */\n next(): Promise<IteratorResult<T, any>> {\n // If values in queue, yield the first value\n if (this._values.length > 0) {\n const value = this._values.shift();\n if (value instanceof Error) {\n return Promise.reject(value);\n }\n return Promise.resolve({done: false, value});\n }\n\n // If queue is closed, the iterator is done\n if (this._closed) {\n if (this._settlers.length > 0) {\n throw new Error('Illegal internal state');\n }\n return Promise.resolve({done: true, value: undefined});\n }\n\n // Yield a promise that waits for new values to be enqueued\n return new Promise((resolve, reject) => {\n this._settlers.push({resolve, reject});\n });\n }\n}\n", "import type {\n WorkerMessageType,\n WorkerMessagePayload,\n WorkerContext,\n Process,\n ProcessInBatches\n} from '../../types';\nimport AsyncQueue from '../async-queue/async-queue';\nimport WorkerBody from '../worker-farm/worker-body';\n// import {validateWorkerVersion} from './validate-worker-version';\n\n/** Counter for jobs */\nlet requestId = 0;\nlet inputBatches: AsyncQueue<any>;\nlet options: {[key: string]: any};\n\nexport type ProcessOnMainThread = (\n data: any,\n options?: {[key: string]: any},\n context?: WorkerContext\n) => any;\n\n/**\n * Set up a WebWorkerGlobalScope to talk with the main thread\n */\nexport function createWorker(process: Process, processInBatches?: ProcessInBatches): void {\n // Check that we are actually in a worker thread\n if (typeof self === 'undefined') {\n return;\n }\n\n const context: WorkerContext = {\n process: processOnMainThread\n };\n\n // eslint-disable-next-line complexity\n WorkerBody.onmessage = async (type: WorkerMessageType, payload: WorkerMessagePayload) => {\n try {\n switch (type) {\n case 'process':\n if (!process) {\n throw new Error('Worker does not support atomic processing');\n }\n const result = await process(payload.input, payload.options || {}, context);\n WorkerBody.postMessage('done', {result});\n break;\n\n case 'process-in-batches':\n if (!processInBatches) {\n throw new Error('Worker does not support batched processing');\n }\n inputBatches = new AsyncQueue<any>();\n options = payload.options || {};\n const resultIterator = processInBatches(inputBatches, options, context);\n for await (const batch of resultIterator) {\n WorkerBody.postMessage('output-batch', {result: batch});\n }\n WorkerBody.postMessage('done', {});\n break;\n\n case 'input-batch':\n inputBatches.push(payload.input);\n break;\n\n case 'input-done':\n inputBatches.close();\n break;\n\n default:\n }\n } catch (error) {\n const message = error instanceof Error ? error.message : '';\n WorkerBody.postMessage('error', {error: message});\n }\n };\n}\n\nfunction processOnMainThread(arrayBuffer: ArrayBuffer, options = {}) {\n return new Promise((resolve, reject) => {\n const id = requestId++;\n\n /**\n */\n const onMessage = (type: string, payload: WorkerMessagePayload) => {\n if (payload.id !== id) {\n // not ours\n return;\n }\n\n switch (type) {\n case 'done':\n WorkerBody.removeEventListener(onMessage);\n resolve(payload.result);\n break;\n\n case 'error':\n WorkerBody.removeEventListener(onMessage);\n reject(payload.error);\n break;\n\n default:\n // ignore\n }\n };\n\n WorkerBody.addEventListener(onMessage);\n\n // Ask the main thread to decode data\n const payload = {id, input: arrayBuffer, options};\n WorkerBody.postMessage('process', payload);\n });\n}\n", "import {TypedArray} from '../../types';\nimport {isBuffer, bufferToArrayBuffer} from './buffer-utils';\n\n/**\n * Convert an object to an array buffer\n */\nexport function toArrayBuffer(data: any): ArrayBuffer {\n // Note: Should be called first, Buffers can trigger other detections below\n if (isBuffer(data)) {\n return bufferToArrayBuffer(data);\n }\n\n if (data instanceof ArrayBuffer) {\n return data;\n }\n\n // Careful - Node Buffers look like Uint8Arrays (keep after isBuffer)\n if (ArrayBuffer.isView(data)) {\n if (data.byteOffset === 0 && data.byteLength === data.buffer.byteLength) {\n return data.buffer;\n }\n return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);\n }\n\n if (typeof data === 'string') {\n const text = data;\n const uint8Array = new TextEncoder().encode(text);\n return uint8Array.buffer;\n }\n\n // HACK to support Blob polyfill\n if (data && typeof data === 'object' && data._toArrayBuffer) {\n return data._toArrayBuffer();\n }\n\n throw new Error('toArrayBuffer');\n}\n\n/**\n * compare two binary arrays for equality\n * @param {ArrayBuffer} a\n * @param {ArrayBuffer} b\n * @param {number} byteLength\n */\nexport function compareArrayBuffers(\n arrayBuffer1: ArrayBuffer,\n arrayBuffer2: ArrayBuffer,\n byteLength?: number\n): boolean {\n byteLength = byteLength || arrayBuffer1.byteLength;\n if (arrayBuffer1.byteLength < byteLength || arrayBuffer2.byteLength < byteLength) {\n return false;\n }\n const array1 = new Uint8Array(arrayBuffer1);\n const array2 = new Uint8Array(arrayBuffer2);\n for (let i = 0; i < array1.length; ++i) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Concatenate a sequence of ArrayBuffers\n * @return A concatenated ArrayBuffer\n */\nexport function concatenateArrayBuffers(...sources: (ArrayBuffer | Uint8Array)[]): ArrayBuffer {\n // Make sure all inputs are wrapped in typed arrays\n const sourceArrays = sources.map((source2) =>\n source2 instanceof ArrayBuffer ? new Uint8Array(source2) : source2\n );\n\n // Get length of all inputs\n const byteLength = sourceArrays.reduce((length, typedArray) => length + typedArray.byteLength, 0);\n\n // Allocate array with space for all inputs\n const result = new Uint8Array(byteLength);\n\n // Copy the subarrays\n let offset = 0;\n for (const sourceArray of sourceArrays) {\n result.set(sourceArray, offset);\n offset += sourceArray.byteLength;\n }\n\n // We work with ArrayBuffers, discard the typed array wrapper\n return result.buffer;\n}\n\n/**\n * Concatenate arbitrary count of typed arrays\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays\n * @param {...*} arrays - list of arrays. All arrays should be the same type\n * @return A concatenated TypedArray\n */\nexport function concatenateTypedArrays<T>(...typedArrays: T[]): T {\n // @ts-ignore\n const arrays = typedArrays as TypedArray[];\n // @ts-ignore\n const TypedArrayConstructor = (arrays && arrays.length > 1 && arrays[0].constructor) || null;\n if (!TypedArrayConstructor) {\n throw new Error(\n '\"concatenateTypedArrays\" - incorrect quantity of arguments or arguments have incompatible data types'\n );\n }\n\n const sumLength = arrays.reduce((acc, value) => acc + value.length, 0);\n // @ts-ignore typescript does not like dynamic constructors\n const result = new TypedArrayConstructor(sumLength);\n let offset = 0;\n for (const array of arrays) {\n result.set(array, offset);\n offset += array.length;\n }\n return result;\n}\n\n/**\n * Copy a view of an ArrayBuffer into new ArrayBuffer with byteOffset = 0\n * @param arrayBuffer\n * @param byteOffset\n * @param byteLength\n */\nexport function sliceArrayBuffer(\n arrayBuffer: ArrayBuffer,\n byteOffset: number,\n byteLength?: number\n): ArrayBuffer {\n const subArray =\n byteLength !== undefined\n ? new Uint8Array(arrayBuffer).subarray(byteOffset, byteOffset + byteLength)\n : new Uint8Array(arrayBuffer).subarray(byteOffset);\n const arrayCopy = new Uint8Array(subArray);\n return arrayCopy.buffer;\n}\n", "import {concatenateArrayBuffers} from '../binary-utils/array-buffer-utils';\n\n// GENERAL UTILITIES\n\n/**\n * Iterate over async iterator, without resetting iterator if end is not reached\n * - forEach intentionally does not reset iterator if exiting loop prematurely\n * so that iteration can continue in a second loop\n * - It is recommended to use a standard for-await as last loop to ensure\n * iterator gets properly reset\n *\n * TODO - optimize using sync iteration if argument is an Iterable?\n *\n * @param iterator\n * @param visitor\n */\nexport async function forEach(iterator, visitor) {\n // eslint-disable-next-line\n while (true) {\n const {done, value} = await iterator.next();\n if (done) {\n iterator.return();\n return;\n }\n const cancel = visitor(value);\n if (cancel) {\n return;\n }\n }\n}\n\n// Breaking big data into iterable chunks, concatenating iterable chunks into big data objects\n\n/**\n * Concatenates all data chunks yielded by an (async) iterator\n * This function can e.g. be used to enable atomic parsers to work on (async) iterator inputs\n */\n\nexport async function concatenateArrayBuffersAsync(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n): Promise<ArrayBuffer> {\n const arrayBuffers: ArrayBuffer[] = [];\n for await (const chunk of asyncIterator) {\n arrayBuffers.push(chunk);\n }\n return concatenateArrayBuffers(...arrayBuffers);\n}\n\nexport async function concatenateStringsAsync(\n asyncIterator: AsyncIterable<string> | Iterable<string>\n): Promise<string> {\n const strings: string[] = [];\n for await (const chunk of asyncIterator) {\n strings.push(chunk);\n }\n return strings.join('');\n}\n", "// Hash\nimport {concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\n\ntype HashOptions = {\n modules?: {[moduleName: string]: any};\n crypto?: {\n onEnd?: (result: {hash: string}) => any;\n };\n};\n\n/** Abstract hash base class */\nexport abstract class Hash {\n abstract readonly name: string;\n abstract readonly options: HashOptions;\n\n constructor(options: HashOptions = {}) {\n this.hashBatches = this.hashBatches.bind(this);\n }\n\n async preload(): Promise<void> {\n return;\n }\n\n abstract hash(arrayBuffer: ArrayBuffer): Promise<string>;\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n const arrayBuffers: ArrayBuffer[] = [];\n for await (const arrayBuffer of asyncIterator) {\n arrayBuffers.push(arrayBuffer);\n yield arrayBuffer;\n }\n const output = await this.concatenate(arrayBuffers);\n const hash = await this.hash(output);\n this.options?.crypto?.onEnd?.({hash});\n }\n\n // HELPERS\n\n protected async concatenate(asyncIterator): Promise<ArrayBuffer> {\n return await concatenateArrayBuffersAsync(asyncIterator);\n }\n}\n", "// Inspired by https://gist.github.com/wqli78/1330293/6d85cc967f32cccfcbad94ae7d088a3dcfc14bd9\n\n/**\n * Calculates the CRC32 checksum of a string.\n */\nexport default class CRC32 {\n crc: number;\n\n constructor() {\n this.crc = ~0;\n }\n\n update(arrayBuffer) {\n const CRC32_TABLE = getCRC32Table();\n const byteArray = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteArray.byteLength; i++) {\n this.crc = (this.crc >>> 8) ^ CRC32_TABLE[(this.crc ^ byteArray[i]) & 0xff];\n // strings: crc = (crc >>> 8) ^ CRC32TAB[(crc ^ str.charCodeAt(i)) & 0xff];\n }\n return this;\n }\n\n finalize() {\n this.crc = Math.abs(this.crc ^ -1);\n return this.crc;\n }\n}\n\n// Note: Using a typed array here doubles the speed of the cipher\nconst CRC32TAB = Uint32Array.of(\n 0x00000000,\n 0x77073096,\n 0xee0e612c,\n 0x990951ba,\n 0x076dc419,\n 0x706af48f,\n 0xe963a535,\n 0x9e6495a3,\n 0x0edb8832,\n 0x79dcb8a4,\n 0xe0d5e91e,\n 0x97d2d988,\n 0x09b64c2b,\n 0x7eb17cbd,\n 0xe7b82d07,\n 0x90bf1d91,\n 0x1db71064,\n 0x6ab020f2,\n 0xf3b97148,\n 0x84be41de,\n 0x1adad47d,\n 0x6ddde4eb,\n 0xf4d4b551,\n 0x83d385c7,\n 0x136c9856,\n 0x646ba8c0,\n 0xfd62f97a,\n 0x8a65c9ec,\n 0x14015c4f,\n 0x63066cd9,\n 0xfa0f3d63,\n 0x8d080df5,\n 0x3b6e20c8,\n 0x4c69105e,\n 0xd56041e4,\n 0xa2677172,\n 0x3c03e4d1,\n 0x4b04d447,\n 0xd20d85fd,\n 0xa50ab56b,\n 0x35b5a8fa,\n 0x42b2986c,\n 0xdbbbc9d6,\n 0xacbcf940,\n 0x32d86ce3,\n 0x45df5c75,\n 0xdcd60dcf,\n 0xabd13d59,\n 0x26d930ac,\n 0x51de003a,\n 0xc8d75180,\n 0xbfd06116,\n 0x21b4f4b5,\n 0x56b3c423,\n 0xcfba9599,\n 0xb8bda50f,\n 0x2802b89e,\n 0x5f058808,\n 0xc60cd9b2,\n 0xb10be924,\n 0x2f6f7c87,\n 0x58684c11,\n 0xc1611dab,\n 0xb6662d3d,\n 0x76dc4190,\n 0x01db7106,\n 0x98d220bc,\n 0xefd5102a,\n 0x71b18589,\n 0x06b6b51f,\n 0x9fbfe4a5,\n 0xe8b8d433,\n 0x7807c9a2,\n 0x0f00f934,\n 0x9609a88e,\n 0xe10e9818,\n 0x7f6a0dbb,\n 0x086d3d2d,\n 0x91646c97,\n 0xe6635c01,\n 0x6b6b51f4,\n 0x1c6c6162,\n 0x856530d8,\n 0xf262004e,\n 0x6c0695ed,\n 0x1b01a57b,\n 0x8208f4c1,\n 0xf50fc457,\n 0x65b0d9c6,\n 0x12b7e950,\n 0x8bbeb8ea,\n 0xfcb9887c,\n 0x62dd1ddf,\n 0x15da2d49,\n 0x8cd37cf3,\n 0xfbd44c65,\n 0x4db26158,\n 0x3ab551ce,\n 0xa3bc0074,\n 0xd4bb30e2,\n 0x4adfa541,\n 0x3dd895d7,\n 0xa4d1c46d,\n 0xd3d6f4fb,\n 0x4369e96a,\n 0x346ed9fc,\n 0xad678846,\n 0xda60b8d0,\n 0x44042d73,\n 0x33031de5,\n 0xaa0a4c5f,\n 0xdd0d7cc9,\n 0x5005713c,\n 0x270241aa,\n 0xbe0b1010,\n 0xc90c2086,\n 0x5768b525,\n 0x206f85b3,\n 0xb966d409,\n 0xce61e49f,\n 0x5edef90e,\n 0x29d9c998,\n 0xb0d09822,\n 0xc7d7a8b4,\n 0x59b33d17,\n 0x2eb40d81,\n 0xb7bd5c3b,\n 0xc0ba6cad,\n 0xedb88320,\n 0x9abfb3b6,\n 0x03b6e20c,\n 0x74b1d29a,\n 0xead54739,\n 0x9dd277af,\n 0x04db2615,\n 0x73dc1683,\n 0xe3630b12,\n 0x94643b84,\n 0x0d6d6a3e,\n 0x7a6a5aa8,\n 0xe40ecf0b,\n 0x9309ff9d,\n 0x0a00ae27,\n 0x7d079eb1,\n 0xf00f9344,\n 0x8708a3d2,\n 0x1e01f268,\n 0x6906c2fe,\n 0xf762575d,\n 0x806567cb,\n 0x196c3671,\n 0x6e6b06e7,\n 0xfed41b76,\n 0x89d32be0,\n 0x10da7a5a,\n 0x67dd4acc,\n 0xf9b9df6f,\n 0x8ebeeff9,\n 0x17b7be43,\n 0x60b08ed5,\n 0xd6d6a3e8,\n 0xa1d1937e,\n 0x38d8c2c4,\n 0x4fdff252,\n 0xd1bb67f1,\n 0xa6bc5767,\n 0x3fb506dd,\n 0x48b2364b,\n 0xd80d2bda,\n 0xaf0a1b4c,\n 0x36034af6,\n 0x41047a60,\n 0xdf60efc3,\n 0xa867df55,\n 0x316e8eef,\n 0x4669be79,\n 0xcb61b38c,\n 0xbc66831a,\n 0x256fd2a0,\n 0x5268e236,\n 0xcc0c7795,\n 0xbb0b4703,\n 0x220216b9,\n 0x5505262f,\n 0xc5ba3bbe,\n 0xb2bd0b28,\n 0x2bb45a92,\n 0x5cb36a04,\n 0xc2d7ffa7,\n 0xb5d0cf31,\n 0x2cd99e8b,\n 0x5bdeae1d,\n 0x9b64c2b0,\n 0xec63f226,\n 0x756aa39c,\n 0x026d930a,\n 0x9c0906a9,\n 0xeb0e363f,\n 0x72076785,\n 0x05005713,\n 0x95bf4a82,\n 0xe2b87a14,\n 0x7bb12bae,\n 0x0cb61b38,\n 0x92d28e9b,\n 0xe5d5be0d,\n 0x7cdcefb7,\n 0x0bdbdf21,\n 0x86d3d2d4,\n 0xf1d4e242,\n 0x68ddb3f8,\n 0x1fda836e,\n 0x81be16cd,\n 0xf6b9265b,\n 0x6fb077e1,\n 0x18b74777,\n 0x88085ae6,\n 0xff0f6a70,\n 0x66063bca,\n 0x11010b5c,\n 0x8f659eff,\n 0xf862ae69,\n 0x616bffd3,\n 0x166ccf45,\n 0xa00ae278,\n 0xd70dd2ee,\n 0x4e048354,\n 0x3903b3c2,\n 0xa7672661,\n 0xd06016f7,\n 0x4969474d,\n 0x3e6e77db,\n 0xaed16a4a,\n 0xd9d65adc,\n 0x40df0b66,\n 0x37d83bf0,\n 0xa9bcae53,\n 0xdebb9ec5,\n 0x47b2cf7f,\n 0x30b5ffe9,\n 0xbdbdf21c,\n 0xcabac28a,\n 0x53b39330,\n 0x24b4a3a6,\n 0xbad03605,\n 0xcdd70693,\n 0x54de5729,\n 0x23d967bf,\n 0xb3667a2e,\n 0xc4614ab8,\n 0x5d681b02,\n 0x2a6f2b94,\n 0xb40bbe37,\n 0xc30c8ea1,\n 0x5a05df1b,\n 0x2d02ef8d\n);\n\nfunction getCRC32Table() {\n return CRC32TAB;\n}\n", "/**\n * `btoa()` polyfill as defined by the HTML and Infra specs, which mostly just references\n * RFC 4648.\n */\nexport function toBase64(string: string): string | null {\n // String conversion as required by Web IDL.\n string = `${string}`;\n // \"The btoa() method must throw an \"InvalidCharacterError\" DOMException if\n // data contains any character whose code point is greater than U+00FF.\"\n for (let i = 0; i < string.length; i++) {\n if (string.charCodeAt(i) > 255) {\n return null;\n }\n }\n let out = '';\n for (let i = 0; i < string.length; i += 3) {\n /** @type {Array[4]} */\n const groupsOfSix: (number | undefined)[] = [undefined, undefined, undefined, undefined];\n groupsOfSix[0] = string.charCodeAt(i) >> 2;\n groupsOfSix[1] = (string.charCodeAt(i) & 0x03) << 4;\n if (string.length > i + 1) {\n groupsOfSix[1] |= string.charCodeAt(i + 1) >> 4;\n groupsOfSix[2] = (string.charCodeAt(i + 1) & 0x0f) << 2;\n }\n if (string.length > i + 2) {\n // @ts-expect-error\n groupsOfSix[2] |= string.charCodeAt(i + 2) >> 6;\n groupsOfSix[3] = string.charCodeAt(i + 2) & 0x3f;\n }\n for (let j = 0; j < groupsOfSix.length; j++) {\n if (typeof groupsOfSix[j] === 'undefined') {\n out += '=';\n } else {\n out += btoaLookup(groupsOfSix[j]);\n }\n }\n }\n return out;\n}\n\n/**\n * Lookup table for btoa(), which converts a six-bit number into the\n * corresponding ASCII character.\n */\nfunction btoaLookup(idx) {\n if (idx < 26) {\n return String.fromCharCode(idx + 'A'.charCodeAt(0));\n }\n if (idx < 52) {\n return String.fromCharCode(idx - 26 + 'a'.charCodeAt(0));\n }\n if (idx < 62) {\n return String.fromCharCode(idx - 52 + '0'.charCodeAt(0));\n }\n if (idx === 62) {\n return '+';\n }\n if (idx === 63) {\n return '/';\n }\n // Throw INVALID_CHARACTER_ERR exception here -- won't be hit in the teststring.\n return undefined;\n}\n", "import {toBase64} from './base64-utils';\n\n/**\n *\n */\nexport function toHex(cipher: number): string {\n const hexString = cipher.toString(16);\n return hexString === '0' ? `0${hexString}` : hexString;\n}\n\n/**\n * @see https://stackoverflow.com/questions/23190056/hex-to-base64-converter-for-javascript\n */\nexport function hexToBase64(hexstring: string): string {\n // Add leading zero to keep even count of digits\n // eg. f85d741 => 0f85d741\n if (hexstring.length % 2 !== 0) {\n hexstring = `0${hexstring}`;\n }\n const matches = hexstring.match(/\\w{2}/g) || [];\n const string = matches.map((a) => String.fromCharCode(parseInt(a, 16))).join('');\n // TODO - define how to handle failures\n return toBase64(string) || '';\n}\n", "// CRC32\nimport {Hash} from './hash';\nimport CRC32 from './algorithms/crc32';\nimport {toHex, hexToBase64} from './utils/digest-utils';\n\n/**\n * Calculates CRC32 Cryptographic Hash\n */\nexport class CRC32Hash extends Hash {\n readonly name = 'crc32';\n\n options;\n private _hash: CRC32;\n\n constructor(options = {}) {\n super();\n this.options = {crypto: {}, ...options};\n this._hash = new CRC32();\n this.hashBatches = this.hashBatches.bind(this);\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer): Promise<string> {\n return this.hashSync(input);\n }\n\n hashSync(input: ArrayBuffer): string {\n this._hash.update(input);\n const hashValue = this._hash.finalize();\n const hex = toHex(hashValue);\n const hash = hexToBase64(hex);\n return hash;\n }\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n for await (const chunk of asyncIterator) {\n this._hash.update(chunk);\n yield chunk;\n }\n const hashValue = this._hash.finalize();\n const hex = toHex(hashValue);\n const hash = hexToBase64(hex);\n this.options.crypto?.onEnd?.({hash});\n }\n}\n", "// From: https://gist.github.com/wqli78/1330293/6d85cc967f32cccfcbad94ae7d088a3dcfc14bd9\n// CRC32 doesn't appear to be supported natively by crypto-js\n\n// import {toBuffer} from '@loaders.gl/loader-utils';\n// import {calculate as sse4calculate} from 'sse4_crc32';\n\n/**\n * Calculates the CRC32C checksum of a string.\n */\nexport default class CRC32C {\n options;\n crc: number;\n\n constructor(options = {}) {\n this.options = options;\n this.crc = ~0;\n }\n\n update(arrayBuffer) {\n const byteArray = new Uint8Array(arrayBuffer);\n const CRC32_TABLE = getCRC32Table();\n for (let i = 0; i < byteArray.length; i++) {\n this.crc = CRC32_TABLE[(this.crc ^ byteArray[i]) & 0xff] ^ (this.crc >>> 8);\n }\n return this;\n }\n\n finalize() {\n this.crc = (this.crc ^ -1) >>> 0;\n return this.crc;\n }\n}\n\n/**\n * This code is a manual javascript translation of c code generated by\n * pycrc 0.7.1 (http://www.tty1.net/pycrc/). Command line used:\n * './pycrc.py --model=crc-32c --generate c --algorithm=table-driven'\n */\n\n// Note: Using a typed array here doubles the speed of the cipher\nconst CRC32C_TABLE = Int32Array.of(\n 0x00000000,\n 0xf26b8303,\n 0xe13b70f7,\n 0x1350f3f4,\n 0xc79a971f,\n 0x35f1141c,\n 0x26a1e7e8,\n 0xd4ca64eb,\n 0x8ad958cf,\n 0x78b2dbcc,\n 0x6be22838,\n 0x9989ab3b,\n 0x4d43cfd0,\n 0xbf284cd3,\n 0xac78bf27,\n 0x5e133c24,\n 0x105ec76f,\n 0xe235446c,\n 0xf165b798,\n 0x030e349b,\n 0xd7c45070,\n 0x25afd373,\n 0x36ff2087,\n 0xc494a384,\n 0x9a879fa0,\n 0x68ec1ca3,\n 0x7bbcef57,\n 0x89d76c54,\n 0x5d1d08bf,\n 0xaf768bbc,\n 0xbc267848,\n 0x4e4dfb4b,\n 0x20bd8ede,\n 0xd2d60ddd,\n 0xc186fe29,\n 0x33ed7d2a,\n 0xe72719c1,\n 0x154c9ac2,\n 0x061c6936,\n 0xf477ea35,\n 0xaa64d611,\n 0x580f5512,\n 0x4b5fa6e6,\n 0xb93425e5,\n 0x6dfe410e,\n 0x9f95c20d,\n 0x8cc531f9,\n 0x7eaeb2fa,\n 0x30e349b1,\n 0xc288cab2,\n 0xd1d83946,\n 0x23b3ba45,\n 0xf779deae,\n 0x05125dad,\n 0x1642ae59,\n 0xe4292d5a,\n 0xba3a117e,\n 0x4851927d,\n 0x5b016189,\n 0xa96ae28a,\n 0x7da08661,\n 0x8fcb0562,\n 0x9c9bf696,\n 0x6ef07595,\n 0x417b1dbc,\n 0xb3109ebf,\n 0xa0406d4b,\n 0x522bee48,\n 0x86e18aa3,\n 0x748a09a0,\n 0x67dafa54,\n 0x95b17957,\n 0xcba24573,\n 0x39c9c670,\n 0x2a993584,\n 0xd8f2b687,\n 0x0c38d26c,\n 0xfe53516f,\n 0xed03a29b,\n 0x1f682198,\n 0x5125dad3,\n 0xa34e59d0,\n 0xb01eaa24,\n 0x42752927,\n 0x96bf4dcc,\n 0x64d4cecf,\n 0x77843d3b,\n 0x85efbe38,\n 0xdbfc821c,\n 0x2997011f,\n 0x3ac7f2eb,\n 0xc8ac71e8,\n 0x1c661503,\n 0xee0d9600,\n 0xfd5d65f4,\n 0x0f36e6f7,\n 0x61c69362,\n 0x93ad1061,\n 0x80fde395,\n 0x72966096,\n 0xa65c047d,\n 0x5437877e,\n 0x4767748a,\n 0xb50cf789,\n 0xeb1fcbad,\n 0x197448ae,\n 0x0a24bb5a,\n 0xf84f3859,\n 0x2c855cb2,\n 0xdeeedfb1,\n 0xcdbe2c45,\n 0x3fd5af46,\n 0x7198540d,\n 0x83f3d70e,\n 0x90a324fa,\n 0x62c8a7f9,\n 0xb602c312,\n 0x44694011,\n 0x5739b3e5,\n 0xa55230e6,\n 0xfb410cc2,\n 0x092a8fc1,\n 0x1a7a7c35,\n 0xe811ff36,\n 0x3cdb9bdd,\n 0xceb018de,\n 0xdde0eb2a,\n 0x2f8b6829,\n 0x82f63b78,\n 0x709db87b,\n 0x63cd4b8f,\n 0x91a6c88c,\n 0x456cac67,\n 0xb7072f64,\n 0xa457dc90,\n 0x563c5f93,\n 0x082f63b7,\n 0xfa44e0b4,\n 0xe9141340,\n 0x1b7f9043,\n 0xcfb5f4a8,\n 0x3dde77ab,\n 0x2e8e845f,\n 0xdce5075c,\n 0x92a8fc17,\n 0x60c37f14,\n 0x73938ce0,\n 0x81f80fe3,\n 0x55326b08,\n 0xa759e80b,\n 0xb4091bff,\n 0x466298fc,\n 0x1871a4d8,\n 0xea1a27db,\n 0xf94ad42f,\n 0x0b21572c,\n 0xdfeb33c7,\n 0x2d80b0c4,\n 0x3ed04330,\n 0xccbbc033,\n 0xa24bb5a6,\n 0x502036a5,\n 0x4370c551,\n 0xb11b4652,\n 0x65d122b9,\n 0x97baa1ba,\n 0x84ea524e,\n 0x7681d14d,\n 0x2892ed69,\n 0xdaf96e6a,\n 0xc9a99d9e,\n 0x3bc21e9d,\n 0xef087a76,\n 0x1d63f975,\n 0x0e330a81,\n 0xfc588982,\n 0xb21572c9,\n 0x407ef1ca,\n 0x532e023e,\n 0xa145813d,\n 0x758fe5d6,\n 0x87e466d5,\n 0x94b49521,\n 0x66df1622,\n 0x38cc2a06,\n 0xcaa7a905,\n 0xd9f75af1,\n 0x2b9cd9f2,\n 0xff56bd19,\n 0x0d3d3e1a,\n 0x1e6dcdee,\n 0xec064eed,\n 0xc38d26c4,\n 0x31e6a5c7,\n 0x22b65633,\n 0xd0ddd530,\n 0x0417b1db,\n 0xf67c32d8,\n 0xe52cc12c,\n 0x1747422f,\n 0x49547e0b,\n 0xbb3ffd08,\n 0xa86f0efc,\n 0x5a048dff,\n 0x8ecee914,\n 0x7ca56a17,\n 0x6ff599e3,\n 0x9d9e1ae0,\n 0xd3d3e1ab,\n 0x21b862a8,\n 0x32e8915c,\n 0xc083125f,\n 0x144976b4,\n 0xe622f5b7,\n 0xf5720643,\n 0x07198540,\n 0x590ab964,\n 0xab613a67,\n 0xb831c993,\n 0x4a5a4a90,\n 0x9e902e7b,\n 0x6cfbad78,\n 0x7fab5e8c,\n 0x8dc0dd8f,\n 0xe330a81a,\n 0x115b2b19,\n 0x020bd8ed,\n 0xf0605bee,\n 0x24aa3f05,\n 0xd6c1bc06,\n 0xc5914ff2,\n 0x37faccf1,\n 0x69e9f0d5,\n 0x9b8273d6,\n 0x88d28022,\n 0x7ab90321,\n 0xae7367ca,\n 0x5c18e4c9,\n 0x4f48173d,\n 0xbd23943e,\n 0xf36e6f75,\n 0x0105ec76,\n 0x12551f82,\n 0xe03e9c81,\n 0x34f4f86a,\n 0xc69f7b69,\n 0xd5cf889d,\n 0x27a40b9e,\n 0x79b737ba,\n 0x8bdcb4b9,\n 0x988c474d,\n 0x6ae7c44e,\n 0xbe2da0a5,\n 0x4c4623a6,\n 0x5f16d052,\n 0xad7d5351\n);\n\nfunction getCRC32Table() {\n return CRC32C_TABLE;\n}\n", "// CRC32c\nimport {Hash} from './hash';\nimport CRC32C from './algorithms/crc32c';\nimport {toHex, hexToBase64} from './utils/digest-utils';\n\n/**\n * A transform that calculates CRC32c Hash\n */\nexport class CRC32CHash extends Hash {\n readonly name = 'crc32c';\n\n options;\n private _hash: CRC32C;\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n constructor(options = {}) {\n super();\n this.options = {crypto: {}, ...options};\n this._hash = new CRC32C(options);\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer): Promise<string> {\n return this.hashSync(input);\n }\n\n hashSync(input: ArrayBuffer): string {\n this._hash.update(input);\n const hashValue = this._hash.finalize();\n const hex = toHex(hashValue);\n const hash = hexToBase64(hex);\n return hash;\n }\n\n // runInBatches inherited\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n for await (const chunk of asyncIterator) {\n this._hash.update(chunk);\n yield chunk;\n }\n const hashValue = this._hash.finalize();\n const hex = toHex(hashValue);\n const hash = hexToBase64(hex);\n this.options.crypto?.onEnd?.({hash});\n }\n}\n", "/* eslint-disable */\n// @ts-nocheck\n/* !\n * MD5 WebAssembly\n * https://github.com/briantbutton/md5-wasm\n * (c) 2020 Brian Todd Button\n * Released under the MIT license\n */\n\n// *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-*\n// This contains two functions designed to achieve the same thing\n// -> A WebAssembly function for larger files\n// -> A JavaScript function for the others\n//\nconst atb = typeof atob === 'function' ? atob : typeof Buffer === 'function' ? nodeATOB : identity,\n wasmB64 = atb(\n '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'\n ),\n wasm = WebAssembly && atb !== identity ? str2AB(wasmB64).buffer : false,\n crypt = makeCrypt(),\n biteSize = 240 * 16 * 16,\n bounder = Math.floor(biteSize * 16 * 1.066666667),\n upperLimit = 268435456 - 65536,\n parmTypeErrStr = 'Parameter must be Buffer, ArrayBuffer or Uint8Array',\n tooBigErrStr = 'Parameter exceeds max size of 255.9 Mbytes';\n\nif (!wasm) {\n console.log(\n 'WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript'\n );\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// This returns a Promise-like object (I was farting around, so sue me)\n// which supports '.catch' and '.then'\nexport default function md5WASM(data) {\n var mem, memView, importObj, imports, len, buff, thenFun, catchFun, result, endTime;\n const md5JS = makeMD5JS(),\n md5WA = makeMD5WA(),\n returnObj = {},\n startTime = new Date().getTime();\n\n returnObj['then'] = function (fun) {\n thenFun = fun;\n getThen();\n return returnObj;\n };\n returnObj['catch'] = function (fun) {\n catchFun = fun;\n return returnObj;\n };\n\n // Sift the incoming parameter and the environment\n // If we are good, set buff\n if (true) {\n if (data && typeof data === 'object') {\n if (typeof Buffer === 'function' && data.constructor === Buffer) {\n buff = data;\n } else {\n if (data.constructor === Uint8Array || data.constructor === ArrayBuffer) {\n buff = data.constructor === ArrayBuffer ? new Uint8Array(data) : data;\n } else {\n getCatch(new TypeError(parmTypeErrStr));\n }\n }\n } else {\n getCatch(new TypeError(parmTypeErrStr));\n }\n }\n\n // - - - - - - - - - - - - - - - - - - - - - - - - - -\n // Make some choices based on the size of the incoming data\n // ~ Use WebAssembly or just JavaScript\n // ~ If Webassemly, allocate appropriate memory\n //\n if (buff) {\n len = buff.length;\n if (wasm && len > bounder) {\n if (len > upperLimit) {\n getCatch(new Error(tooBigErrStr));\n } else {\n mem = new WebAssembly.Memory({\n initial: len > 32000000 ? (len > 64000000 ? (len > 128000000 ? 4096 : 2048) : 1024) : 512\n });\n memView = new Uint32Array(mem.buffer);\n imports = {mem: mem, log: console.log};\n importObj = {imports};\n WebAssembly.instantiate(wasm, importObj).then(giterdone);\n }\n } else {\n getThen(md5JS(buff));\n }\n }\n return returnObj;\n\n function giterdone(obj) {\n getThen(md5WA(buff, obj.instance.exports, memView));\n }\n function getThen(r) {\n var res = Boolean(r) ? r : result;\n if (Boolean(r)) {\n endTime = new Date().getTime();\n }\n if (typeof thenFun === 'function') {\n if (Boolean(res)) {\n thenFun(res, endTime - startTime);\n thenFun = catchFun = null;\n }\n } else {\n if (Boolean(r)) {\n result = r;\n }\n }\n }\n function getCatch(err) {\n if (typeof catchFun === 'function') {\n catchFun(err);\n }\n }\n}\n\nfunction makeMD5WA() {\n var loop, loops;\n var getA, setA, getB, setB, getC, setC, getD, setD, getX, setX, memView;\n\n var md5WA = function (message) {\n var m00,\n m01,\n m02,\n m03,\n m04,\n m05,\n m06,\n m07,\n m08,\n m09,\n m10,\n m11,\n m12,\n m13,\n m14,\n m15,\n aa,\n bb,\n cc,\n dd,\n m,\n k;\n var qwerty = new Date().getTime();\n var md5Used = 0;\n\n var a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878,\n i = 0,\n l = message.length * 8,\n len;\n\n len = bytesToWordsNewer(message, memView);\n memView[l >>> 5] |= 0x80 << l % 32;\n memView[(((l + 64) >>> 9) << 4) + 14] = l;\n len = (((l + 64) >>> 9) << 4) + 15;\n m = memView;\n\n // console.log(\"first loop took \"+((new Date().getTime())-qwerty)+\"ms\");\n\n while (i < len) {\n if (len > i + bounder) {\n setA(a);\n setB(b);\n setC(c);\n setD(d);\n loops(biteSize);\n i = i + biteSize * 16;\n a = getA();\n b = getB();\n c = getC();\n d = getD();\n md5Used++;\n } else {\n aa = a;\n bb = b;\n cc = c;\n dd = d;\n m00 = m[i + 0] >>> 0;\n m01 = m[i + 1] >>> 0;\n m02 = m[i + 2] >>> 0;\n m03 = m[i + 3] >>> 0;\n m04 = m[i + 4] >>> 0;\n m05 = m[i + 5] >>> 0;\n m06 = m[i + 6] >>> 0;\n m07 = m[i + 7] >>> 0;\n m08 = m[i + 8] >>> 0;\n m09 = m[i + 9] >>> 0;\n m10 = m[i + 10] >>> 0;\n m11 = m[i + 11] >>> 0;\n m12 = m[i + 12] >>> 0;\n m13 = m[i + 13] >>> 0;\n m14 = m[i + 14] >>> 0;\n m15 = m[i + 15] >>> 0;\n\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m00 - 680876936) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m01 - 389564586) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m02 + 606105819) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m03 - 1044525330) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m04 - 176418897) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m05 + 1200080426) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m06 - 1473231341) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m07 - 45705983) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m08 + 1770035416) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m09 - 1958414417) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m10 - 42063) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m11 - 1990404162) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m12 + 1804603682) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m13 - 40341101) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m14 - 1502002290) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m15 + 1236535329) + c;\n\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m01 - 165796510) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m06 - 1069501632) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m11 + 643717713) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m00 - 373897302) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m05 - 701558691) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m10 + 38016083) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m15 - 660478335) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m04 - 405537848) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m09 + 568446438) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m14 - 1019803690) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m03 - 187363961) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m08 + 1163531501) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m13 - 1444681467) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m02 - 51403784) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m07 + 1735328473) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m12 - 1926607734) + c;\n\n a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;\n\n a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;\n\n i = i + 16;\n a = (a + aa) >>> 0;\n b = (b + bb) >>> 0;\n c = (c + cc) >>> 0;\n d = (d + dd) >>> 0;\n }\n }\n\n // console.log(\"md5WA, elapsed=\"+((new Date().getTime())-qwerty)+(md5Used?\", WebAssembly called \"+md5Used+\" times\":\", WebAssembly not called\"));\n\n return crypt.endian([a, b, c, d]);\n\n function ____(s, t, n) {\n return (n << s) | (n >>> t);\n }\n\n // Convert a byte array to big-endian 32-bit words\n function bytesToWordsNewer(bytes, words) {\n var i = -1,\n l = Math.floor((bytes.length - 1) / 4),\n j = 0,\n b0,\n b1,\n b2,\n b3;\n while (l - 8 > i++) {\n j = i << 2;\n words[i] = bytes[j + 0] | (bytes[j + 1] << 8) | (bytes[j + 2] << 16) | (bytes[j + 3] << 24);\n }\n i--;\n while (l > i++) {\n j = i << 2;\n b0 = typeof bytes[j + 0] === 'undefined' ? 0 : bytes[j + 0];\n b1 = typeof bytes[j + 1] === 'undefined' ? 0 : bytes[j + 1];\n b2 = typeof bytes[j + 2] === 'undefined' ? 0 : bytes[j + 2];\n b3 = typeof bytes[j + 3] === 'undefined' ? 0 : bytes[j + 3];\n words[i] = b0 | (b1 << 8) | (b2 << 16) | (b3 << 24);\n }\n return l + 1;\n }\n };\n\n return function (message, exports, mView, options) {\n var digestbytes;\n loops = exports.loops;\n loop = exports.loop;\n getA = exports.getA;\n getB = exports.getB;\n getC = exports.getC;\n getD = exports.getD;\n getX = exports.getX;\n setA = exports.setA;\n setB = exports.setB;\n setC = exports.setC;\n setD = exports.setD;\n setX = exports.setX;\n memView = mView;\n digestbytes = crypt.wordsToBytes(md5WA(message));\n return options && options.asBytes ? digestbytes : crypt.bytesToHex(digestbytes);\n };\n}\n\nfunction makeMD5JS() {\n var md5JS = function (message, options) {\n var m00,\n m01,\n m02,\n m03,\n m04,\n m05,\n m06,\n m07,\n m08,\n m09,\n m10,\n m11,\n m12,\n m13,\n m14,\n m15,\n aa,\n bb,\n cc,\n dd,\n m;\n var qwerty = new Date().getTime();\n\n // console.log(\"md5 start\");\n\n var a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878,\n l = message.length * 8;\n\n m = crypt.bytesToWords(message);\n\n // Swap endian\n for (var j = 0; j < m.length; j++) {\n m[j] =\n (((m[j] << 8) | (m[j] >>> 24)) & 0x00ff00ff) | (((m[j] << 24) | (m[j] >>> 8)) & 0xff00ff00);\n }\n\n // Padding\n m[l >>> 5] |= 0x80 << l % 32;\n m[(((l + 64) >>> 9) << 4) + 14] = l;\n\n for (var i = 0; i < m.length; i += 16) {\n aa = a;\n bb = b;\n cc = c;\n dd = d;\n m00 = m[i + 0] >>> 0;\n m01 = m[i + 1] >>> 0;\n m02 = m[i + 2] >>> 0;\n m03 = m[i + 3] >>> 0;\n m04 = m[i + 4] >>> 0;\n m05 = m[i + 5] >>> 0;\n m06 = m[i + 6] >>> 0;\n m07 = m[i + 7] >>> 0;\n m08 = m[i + 8] >>> 0;\n m09 = m[i + 9] >>> 0;\n m10 = m[i + 10] >>> 0;\n m11 = m[i + 11] >>> 0;\n m12 = m[i + 12] >>> 0;\n m13 = m[i + 13] >>> 0;\n m14 = m[i + 14] >>> 0;\n m15 = m[i + 15] >>> 0;\n\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m00 - 680876936) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m01 - 389564586) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m02 + 606105819) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m03 - 1044525330) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m04 - 176418897) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m05 + 1200080426) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m06 - 1473231341) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m07 - 45705983) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m08 + 1770035416) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m09 - 1958414417) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m10 - 42063) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m11 - 1990404162) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m12 + 1804603682) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m13 - 40341101) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m14 - 1502002290) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m15 + 1236535329) + c;\n\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m01 - 165796510) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m06 - 1069501632) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m11 + 643717713) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m00 - 373897302) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m05 - 701558691) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m10 + 38016083) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m15 - 660478335) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m04 - 405537848) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m09 + 568446438) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m14 - 1019803690) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m03 - 187363961) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m08 + 1163531501) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m13 - 1444681467) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m02 - 51403784) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m07 + 1735328473) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m12 - 1926607734) + c;\n\n a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;\n\n a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;\n\n a = (a + aa) >>> 0;\n b = (b + bb) >>> 0;\n c = (c + cc) >>> 0;\n d = (d + dd) >>> 0;\n }\n\n // console.log(\"md5JS, elapsed=\"+((new Date().getTime())-qwerty));\n\n return crypt.endian([a, b, c, d]);\n\n function ____(s, t, n) {\n return (n << s) | (n >>> t);\n }\n };\n\n return function (message, options) {\n var digestbytes = crypt.wordsToBytes(md5JS(message, options)),\n result = options && options.asBytes ? digestbytes : crypt.bytesToHex(digestbytes);\n return result;\n };\n}\nfunction str2AB(str) {\n var l,\n buff,\n buffView,\n i = -1;\n l = str.length - 1;\n buff = new ArrayBuffer(str.length);\n buffView = new Uint8Array(buff);\n while (l > i++) {\n buffView[i] = str.charCodeAt(i);\n }\n return buffView;\n}\nfunction nodeATOB(str) {\n return Buffer.from(str, 'base64').toString('binary');\n}\nfunction identity(x) {\n return x;\n}\n\nfunction makeCrypt() {\n var base64map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n return {\n rotl: function (n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n endian: function (n) {\n if (n.constructor == Number) {\n return (crypt.rotl(n, 8) & 0x00ff00ff) | (crypt.rotl(n, 24) & 0xff00ff00);\n }\n for (var i = 0; i < n.length; i++) n[i] = crypt.endian(n[i]);\n return n;\n },\n\n bytesToWords: function (bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - (b % 32));\n return words;\n },\n\n wordsToBytes: function (words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - (b % 32))) & 0xff);\n return bytes;\n },\n\n bytesToHex: function (bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xf).toString(16));\n }\n return hex.join('');\n }\n };\n}\n", "// Fork of https://github.com/briantbutton/md5-wasm under MIT license\nimport {Hash} from './hash';\nimport md5WASM from './algorithms/md5-wasm';\nimport {hexToBase64} from './utils/digest-utils';\n\n/**\n * A transform that calculates MD5 hashes, passing data through\n */\nexport class MD5Hash extends Hash {\n readonly name = 'md5';\n readonly options;\n\n constructor(options = {}) {\n super();\n this.options = options;\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer): Promise<string> {\n const md5Promise = new Promise<string>((resolve, reject) =>\n // @ts-expect-error\n md5WASM(input).then(resolve).catch(reject)\n );\n const hex = await md5Promise;\n return hexToBase64(hex);\n }\n}\n", "import {createWorker} from '@loaders.gl/worker-utils';\nimport {CRC32Hash} from '../lib/crc32-hash';\nimport {CRC32CHash} from '../lib/crc32c-hash';\nimport {MD5Hash} from '../lib/md5-hash';\n\n// Assuming we can bundle as module\nexport {CRC32Hash, CRC32CHash};\n\ncreateWorker(async (data, options = {}) => {\n // @ts-ignore\n const {operation} = options;\n\n switch (operation) {\n case 'crc32':\n return await new CRC32Hash(options).hash(data);\n case 'crc32c':\n return await new CRC32CHash(options).hash(data);\n case 'md5':\n return await new MD5Hash(options).hash(data);\n default:\n throw new Error(`invalid option: ${operation}`);\n }\n});\n"],
5
- "mappings": "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A,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WAGF,aAAyB,CACvB,MAAO,IC7RF,YAAkB,EAA+B,CAEtD,EAAS,GAAG,IAGZ,OAAS,GAAI,EAAG,EAAI,EAAO,OAAQ,IACjC,GAAI,EAAO,WAAW,GAAK,IACzB,MAAO,MAGX,GAAI,GAAM,GACV,OAAS,GAAI,EAAG,EAAI,EAAO,OAAQ,GAAK,EAAG,CAEzC,GAAM,GAAsC,CAAC,OAAW,OAAW,OAAW,QAC9E,EAAY,GAAK,EAAO,WAAW,IAAM,EACzC,EAAY,GAAM,GAAO,WAAW,GAAK,IAAS,EAC9C,EAAO,OAAS,EAAI,GACtB,GAAY,IAAM,EAAO,WAAW,EAAI,IAAM,EAC9C,EAAY,GAAM,GAAO,WAAW,EAAI,GAAK,KAAS,GAEpD,EAAO,OAAS,EAAI,GAEtB,GAAY,IAAM,EAAO,WAAW,EAAI,IAAM,EAC9C,EAAY,GAAK,EAAO,WAAW,EAAI,GAAK,IAE9C,OAAS,GAAI,EAAG,EAAI,EAAY,OAAQ,IACtC,AAAI,MAAO,GAAY,IAAO,YAC5B,GAAO,IAEP,GAAO,GAAW,EAAY,IAIpC,MAAO,GAOT,YAAoB,EAAK,CACvB,GAAI,EAAM,GACR,MAAO,QAAO,aAAa,EAAM,IAAI,WAAW,IAElD,GAAI,EAAM,GACR,MAAO,QAAO,aAAa,EAAM,GAAK,IAAI,WAAW,IAEvD,GAAI,EAAM,GACR,MAAO,QAAO,aAAa,EAAM,GAAK,IAAI,WAAW,IAEvD,GAAI,IAAQ,GACV,MAAO,IAET,GAAI,IAAQ,GACV,MAAO,ICrDJ,WAAe,EAAwB,CAC5C,GAAM,GAAY,EAAO,SAAS,IAClC,MAAO,KAAc,IAAM,IAAI,IAAc,EAMxC,WAAqB,EAA2B,CAGrD,AAAI,EAAU,OAAS,GAAM,GAC3B,GAAY,IAAI,KAGlB,GAAM,GAAS,AADC,GAAU,MAAM,WAAa,IACtB,IAAI,AAAC,GAAM,OAAO,aAAa,SAAS,EAAG,MAAM,KAAK,IAE7E,MAAO,IAAS,IAAW,GCdtB,oBAAwB,EAAK,CAMlC,YAAY,EAAU,GAAI,CACxB,QANO,UAAO,QAOd,KAAK,QAAU,CAAC,OAAQ,MAAO,GAC/B,KAAK,MAAQ,GAAI,IACjB,KAAK,YAAc,KAAK,YAAY,KAAK,WAOrC,MAAK,EAAqC,CAC9C,MAAO,MAAK,SAAS,GAGvB,SAAS,EAA4B,CACnC,KAAK,MAAM,OAAO,GAClB,GAAM,GAAY,KAAK,MAAM,WACvB,EAAM,EAAM,GAElB,MADa,GAAY,SAIpB,YACL,EAC4B,CAC5B,aAAiB,KAAS,GACxB,KAAK,MAAM,OAAO,GAClB,KAAM,GAER,GAAM,GAAY,KAAK,MAAM,WACvB,EAAM,EAAM,GACZ,EAAO,EAAY,GACzB,KAAK,QAAQ,QAAQ,QAAQ,CAAC,WCtClC,YAA4B,CAI1B,YAAY,EAAU,GAAI,CACxB,KAAK,QAAU,EACf,KAAK,IAAM,CAAC,EAGd,OAAO,EAAa,CAClB,GAAM,GAAY,GAAI,YAAW,GAC3B,EAAc,KACpB,OAAS,GAAI,EAAG,EAAI,EAAU,OAAQ,IACpC,KAAK,IAAM,EAAa,MAAK,IAAM,EAAU,IAAM,KAAS,KAAK,MAAQ,EAE3E,MAAO,MAGT,UAAW,CACT,YAAK,IAAO,MAAK,IAAM,MAAQ,EACxB,KAAK,MAWV,GAAe,WAAW,GAC9B,EACA,WACA,WACA,UACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,SACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,SACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,UACA,UACA,WACA,WACA,UACA,UACA,WACA,SACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,SACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,SACA,UACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YAGF,aAAyB,CACvB,MAAO,ICpSF,oBAAyB,EAAK,CAUnC,YAAY,EAAU,GAAI,CACxB,QAVO,UAAO,SAWd,KAAK,QAAU,CAAC,OAAQ,MAAO,GAC/B,KAAK,MAAQ,GAAI,IAAO,QAOpB,MAAK,EAAqC,CAC9C,MAAO,MAAK,SAAS,GAGvB,SAAS,EAA4B,CACnC,KAAK,MAAM,OAAO,GAClB,GAAM,GAAY,KAAK,MAAM,WACvB,EAAM,EAAM,GAElB,MADa,GAAY,SAMpB,YACL,EAC4B,CAC5B,aAAiB,KAAS,GACxB,KAAK,MAAM,OAAO,GAClB,KAAM,GAER,GAAM,GAAY,KAAK,MAAM,WACvB,EAAM,EAAM,GACZ,EAAO,EAAY,GACzB,KAAK,QAAQ,QAAQ,QAAQ,CAAC,WCtClC,GAAM,IAAM,MAAO,OAAS,WAAa,KAAO,MAAO,SAAW,WAAa,GAAW,GACxF,GAAU,GACR,w1HAEF,GAA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",
6
- "names": []
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/workers/worker.ts"],"names":["createWorker","CRC32Hash","CRC32CHash","MD5Hash","data","options","operation","hash","Error"],"mappings":"AAAA,SAAQA,YAAR,QAA2B,0BAA3B;AACA,SAAQC,SAAR,QAAwB,mBAAxB;AACA,SAAQC,UAAR,QAAyB,oBAAzB;AACA,SAAQC,OAAR,QAAsB,iBAAtB;AAGA,SAAQF,SAAR,EAAmBC,UAAnB;AAEAF,YAAY,CAAC,OAAOI,IAAP,EAAaC,OAAO,GAAG,EAAvB,KAA8B;AAEzC,QAAM;AAACC,IAAAA;AAAD,MAAcD,OAApB;;AAEA,UAAQC,SAAR;AACE,SAAK,OAAL;AACE,aAAO,MAAM,IAAIL,SAAJ,CAAcI,OAAd,EAAuBE,IAAvB,CAA4BH,IAA5B,CAAb;;AACF,SAAK,QAAL;AACE,aAAO,MAAM,IAAIF,UAAJ,CAAeG,OAAf,EAAwBE,IAAxB,CAA6BH,IAA7B,CAAb;;AACF,SAAK,KAAL;AACE,aAAO,MAAM,IAAID,OAAJ,CAAYE,OAAZ,EAAqBE,IAArB,CAA0BH,IAA1B,CAAb;;AACF;AACE,YAAM,IAAII,KAAJ,2BAA6BF,SAA7B,EAAN;AARJ;AAUD,CAdW,CAAZ","sourcesContent":["import {createWorker} from '@loaders.gl/worker-utils';\nimport {CRC32Hash} from '../lib/crc32-hash';\nimport {CRC32CHash} from '../lib/crc32c-hash';\nimport {MD5Hash} from '../lib/md5-hash';\n\n// Assuming we can bundle as module\nexport {CRC32Hash, CRC32CHash};\n\ncreateWorker(async (data, options = {}) => {\n // @ts-ignore\n const {operation} = options;\n\n switch (operation) {\n case 'crc32':\n return await new CRC32Hash(options).hash(data);\n case 'crc32c':\n return await new CRC32CHash(options).hash(data);\n case 'md5':\n return await new MD5Hash(options).hash(data);\n default:\n throw new Error(`invalid option: ${operation}`);\n }\n});\n"],"file":"worker.js"}