@loaders.gl/crypto 4.4.0-alpha.9 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 D0=Object.create;var o0=Object.defineProperty;var H0=Object.getOwnPropertyDescriptor;var U0=Object.getOwnPropertyNames;var q0=Object.getPrototypeOf,R0=Object.prototype.hasOwnProperty;var k0=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),L0=(r,e)=>{for(var n in e)o0(r,n,{get:e[n],enumerable:!0})},t0=(r,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of U0(e))!R0.call(r,i)&&i!==n&&o0(r,i,{get:()=>e[i],enumerable:!(s=H0(e,i))||s.enumerable});return r},a0=(r,e,n)=>(t0(r,e,"default"),n&&t0(n,e,"default")),N0=(r,e,n)=>(n=r!=null?D0(q0(r)):{},t0(e||!r||!r.__esModule?o0(n,"default",{value:r,enumerable:!0}):n,r)),Z0=r=>t0(o0({},"__esModule",{value:!0}),r);var C0=k0((me,E0)=>{E0.exports=globalThis.loaders});var K={};L0(K,{CRC32CHash:()=>A0,CRC32Hash:()=>f0,CryptoHash:()=>P,CryptoJSWorker:()=>be,CryptoWorker:()=>ie,Hash:()=>S,MD5Hash:()=>s0,NodeHash:()=>b0,SHA256Hash:()=>i0,asciiToBase64:()=>c0,base64ToAscii:()=>n0,encodeBase64:()=>F0,encodeHex:()=>x0,encodeNumber:()=>Z});a0(K,N0(C0(),1));function h0(r){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,r)}function Y(r,e){let n=globalThis.loaders?.modules?.[r];if(!n)throw new Error(`${e}: ${r} library not installed`);return n}function I0(...r){return V0(r)}function V0(r){let e=r.map(h=>h instanceof ArrayBuffer?new Uint8Array(h):h),n=e.reduce((h,m)=>h+m.byteLength,0),s=new Uint8Array(n),i=0;for(let h of e)s.set(h,i),i+=h.byteLength;return s.buffer}async function B0(r){let e=[];for await(let n of r)e.push(X0(n));return I0(...e)}function X0(r){if(r instanceof ArrayBuffer)return r;if(ArrayBuffer.isView(r)){let{buffer:e,byteOffset:n,byteLength:s}=r;return M0(e,n,s)}return M0(r)}function M0(r,e=0,n=r.byteLength-e){let s=new Uint8Array(r,e,n),i=new Uint8Array(s.length);return i.set(s),i.buffer}var S=class{constructor(e={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(e,n="base64"){let s=[];for await(let m of e)s.push(m),yield m;let i=await this.concatenate(s),h=await this.hash(i,n);this.options.crypto?.onEnd?.({hash:h})}async concatenate(e){return await B0(e)}};var X=class{crc;constructor(){this.crc=-1}update(e){let n=P0(),s=new Uint8Array(e);for(let i=0;i<s.byteLength;i++)this.crc=this.crc>>>8^n[(this.crc^s[i])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},z0=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 P0(){return z0}function c0(r){r=`${r}`;for(let n=0;n<r.length;n++)if(r.charCodeAt(n)>255)return null;let e="";for(let n=0;n<r.length;n+=3){let s=[void 0,void 0,void 0,void 0];s[0]=r.charCodeAt(n)>>2,s[1]=(r.charCodeAt(n)&3)<<4,r.length>n+1&&(s[1]|=r.charCodeAt(n+1)>>4,s[2]=(r.charCodeAt(n+1)&15)<<2),r.length>n+2&&(s[2]|=r.charCodeAt(n+2)>>6,s[3]=r.charCodeAt(n+2)&63);for(let i=0;i<s.length;i++)typeof s[i]>"u"?e+="=":e+=K0(s[i])}return e}function n0(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="",n=0,s=0;for(let i=0;i<r.length;i++)n<<=6,n|=Y0(r[i]),s+=6,s===24&&(e+=String.fromCharCode((n&16711680)>>16),e+=String.fromCharCode((n&65280)>>8),e+=String.fromCharCode(n&255),n=s=0);return s===12?(n>>=4,e+=String.fromCharCode(n)):s===18&&(n>>=2,e+=String.fromCharCode((n&65280)>>8),e+=String.fromCharCode(n&255)),e}var O0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Y0(r){let e=O0.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 G0(r);case"base64":return S0(G0(r));default:throw new Error(e)}}function x0(r,e){switch(e){case"hex":return r;case"base64":return S0(r);default:throw new Error(e)}}function F0(r,e){switch(e){case"hex":return _0(r);case"base64":return r;default:throw new Error(e)}}function S0(r){r.length%2!==0&&(r=`0${r}`);let n=(r.match(/\w{2}/g)||[]).map(s=>String.fromCharCode(parseInt(s,16))).join("");return c0(n)||""}function _0(r){return[...n0(r)].map(e=>e.charCodeAt(0).toString(16).padStart(2,"0")).join("")}function G0(r){let e=r.toString(16);return e==="0"?`0${e}`:e}var f0=class extends S{name="crc32";options;constructor(e={}){super(),this.options={crypto:{},...e},this.hashBatches=this.hashBatches.bind(this)}async hash(e,n){return this.hashSync(e,n)}hashSync(e,n){let s=new X;s.update(e);let i=s.finalize();return Z(i,n)}async*hashBatches(e,n="base64"){let s=new X;for await(let h of e)s.update(h),yield h;let i=s.finalize();this.options.crypto?.onEnd?.({hash:Z(i,n)})}};var z=class{options;crc;constructor(e={}){this.options=e,this.crc=-1}update(e){let n=new Uint8Array(e),s=ee();for(let i=0;i<n.length;i++)this.crc=s[(this.crc^n[i])&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 ee(){return $0}var A0=class extends S{name="crc32c";options;constructor(e={}){super(),this.options={crypto:{},...e}}async hash(e,n){return this.hashSync(e,n)}hashSync(e,n){let s=new z(this.options);s.update(e);let i=s.finalize();return Z(i,n)}async*hashBatches(e,n="base64"){let s=new z(this.options);for await(let h of e)s.update(h),yield h;let i=s.finalize();this.options.crypto?.onEnd?.({hash:Z(i,n)})}};var d0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",v0=ne("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"),m0=typeof WebAssembly<"u"&&v0?v0.buffer:!1,q=se(),l0=240*16*16,W0=Math.floor(l0*16*1.066666667),re=268435456-65536,te="Parameter must be ArrayBuffer, ArrayBufferView or string",oe="Parameter exceeds max size of 255.9 Mbytes";m0||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function y0(r){var e,n,s,i,h,m,g,w,M,D;let R=ce(),v=ae(),W={},T=new Date().getTime();return W.then=function(l){return g=l,C(),W},W.catch=function(l){return w=l,W},m=de(r),m||I(new TypeError(te)),m&&(h=m.length,m0&&h>W0?h>re?I(new Error(oe)):(e=new WebAssembly.Memory({initial:h>32e6?h>64e6?h>128e6?4096:2048:1024:512}),n=new Uint32Array(e.buffer),i={mem:e,log:console.log},s={imports:i},WebAssembly.instantiate(m0,s).then(y)):C(R(m))),W;function y(l){C(v(m,l.instance.exports,n))}function C(l){var J=Boolean(l)?l:M;Boolean(l)&&(D=new Date().getTime()),typeof g=="function"?Boolean(J)&&(g(J,D-T),g=w=null):Boolean(l)&&(M=l)}function I(l){typeof w=="function"&&w(l)}}function ae(){var r,e,n,s,i,h,m,g,w,M,D,R,v,W=function(T){var y,C,I,l,J,k,L,N,B,V,t,o,a,c,H,j,Q,b,_,$,E,ue,he=new Date().getTime(),T0=0,x=1732584193,f=-271733879,A=-1732584194,d=271733878,p=0,O=T.length*8,e0;for(e0=J0(T,v),v[O>>>5]|=128<<O%32,v[(O+64>>>9<<4)+14]=O,e0=(O+64>>>9<<4)+15,E=v;p<e0;)e0>p+W0?(s(x),h(f),g(A),M(d),e(l0),p=p+l0*16,x=n(),f=i(),A=m(),d=w(),T0++):(Q=x,b=f,_=A,$=d,y=E[p+0]>>>0,C=E[p+1]>>>0,I=E[p+2]>>>0,l=E[p+3]>>>0,J=E[p+4]>>>0,k=E[p+5]>>>0,L=E[p+6]>>>0,N=E[p+7]>>>0,B=E[p+8]>>>0,V=E[p+9]>>>0,t=E[p+10]>>>0,o=E[p+11]>>>0,a=E[p+12]>>>0,c=E[p+13]>>>0,H=E[p+14]>>>0,j=E[p+15]>>>0,x=u(7,25,x+(f&A|~f&d)+y-680876936)+f,d=u(12,20,d+(x&f|~x&A)+C-389564586)+x,A=u(17,15,A+(d&x|~d&f)+I+606105819)+d,f=u(22,10,f+(A&d|~A&x)+l-1044525330)+A,x=u(7,25,x+(f&A|~f&d)+J-176418897)+f,d=u(12,20,d+(x&f|~x&A)+k+1200080426)+x,A=u(17,15,A+(d&x|~d&f)+L-1473231341)+d,f=u(22,10,f+(A&d|~A&x)+N-45705983)+A,x=u(7,25,x+(f&A|~f&d)+B+1770035416)+f,d=u(12,20,d+(x&f|~x&A)+V-1958414417)+x,A=u(17,15,A+(d&x|~d&f)+t-42063)+d,f=u(22,10,f+(A&d|~A&x)+o-1990404162)+A,x=u(7,25,x+(f&A|~f&d)+a+1804603682)+f,d=u(12,20,d+(x&f|~x&A)+c-40341101)+x,A=u(17,15,A+(d&x|~d&f)+H-1502002290)+d,f=u(22,10,f+(A&d|~A&x)+j+1236535329)+A,x=u(5,27,x+(f&d|A&~d)+C-165796510)+f,d=u(9,23,d+(x&A|f&~A)+L-1069501632)+x,A=u(14,18,A+(d&f|x&~f)+o+643717713)+d,f=u(20,12,f+(A&x|d&~x)+y-373897302)+A,x=u(5,27,x+(f&d|A&~d)+k-701558691)+f,d=u(9,23,d+(x&A|f&~A)+t+38016083)+x,A=u(14,18,A+(d&f|x&~f)+j-660478335)+d,f=u(20,12,f+(A&x|d&~x)+J-405537848)+A,x=u(5,27,x+(f&d|A&~d)+V+568446438)+f,d=u(9,23,d+(x&A|f&~A)+H-1019803690)+x,A=u(14,18,A+(d&f|x&~f)+l-187363961)+d,f=u(20,12,f+(A&x|d&~x)+B+1163531501)+A,x=u(5,27,x+(f&d|A&~d)+c-1444681467)+f,d=u(9,23,d+(x&A|f&~A)+I-51403784)+x,A=u(14,18,A+(d&f|x&~f)+N+1735328473)+d,f=u(20,12,f+(A&x|d&~x)+a-1926607734)+A,x=u(4,28,x+(f^A^d)+k-378558)+f,d=u(11,21,d+(x^f^A)+B-2022574463)+x,A=u(16,16,A+(d^x^f)+o+1839030562)+d,f=u(23,9,f+(A^d^x)+H-35309556)+A,x=u(4,28,x+(f^A^d)+C-1530992060)+f,d=u(11,21,d+(x^f^A)+J+1272893353)+x,A=u(16,16,A+(d^x^f)+N-155497632)+d,f=u(23,9,f+(A^d^x)+t-1094730640)+A,x=u(4,28,x+(f^A^d)+c+681279174)+f,d=u(11,21,d+(x^f^A)+y-358537222)+x,A=u(16,16,A+(d^x^f)+l-722521979)+d,f=u(23,9,f+(A^d^x)+L+76029189)+A,x=u(4,28,x+(f^A^d)+V-640364487)+f,d=u(11,21,d+(x^f^A)+a-421815835)+x,A=u(16,16,A+(d^x^f)+j+530742520)+d,f=u(23,9,f+(A^d^x)+I-995338651)+A,x=u(6,26,x+(A^(f|~d))+y-198630844)+f,d=u(10,22,d+(f^(x|~A))+N+1126891415)+x,A=u(15,17,A+(x^(d|~f))+H-1416354905)+d,f=u(21,11,f+(d^(A|~x))+k-57434055)+A,x=u(6,26,x+(A^(f|~d))+a+1700485571)+f,d=u(10,22,d+(f^(x|~A))+l-1894986606)+x,A=u(15,17,A+(x^(d|~f))+t-1051523)+d,f=u(21,11,f+(d^(A|~x))+C-2054922799)+A,x=u(6,26,x+(A^(f|~d))+B+1873313359)+f,d=u(10,22,d+(f^(x|~A))+j-30611744)+x,A=u(15,17,A+(x^(d|~f))+L-1560198380)+d,f=u(21,11,f+(d^(A|~x))+c+1309151649)+A,x=u(6,26,x+(A^(f|~d))+J-145523070)+f,d=u(10,22,d+(f^(x|~A))+o-1120210379)+x,A=u(15,17,A+(x^(d|~f))+I+718787259)+d,f=u(21,11,f+(d^(A|~x))+V-343485551)+A,p=p+16,x=x+Q>>>0,f=f+b>>>0,A=A+_>>>0,d=d+$>>>0);return q.endian([x,f,A,d]);function u(G,r0,U){return U<<G|U>>>r0}function J0(G,r0){for(var U=-1,u0=Math.floor((G.length-1)/4),F=0,p0,g0,w0,Q0;u0-8>U++;)F=U<<2,r0[U]=G[F+0]|G[F+1]<<8|G[F+2]<<16|G[F+3]<<24;for(U--;u0>U++;)F=U<<2,p0=typeof G[F+0]>"u"?0:G[F+0],g0=typeof G[F+1]>"u"?0:G[F+1],w0=typeof G[F+2]>"u"?0:G[F+2],Q0=typeof G[F+3]>"u"?0:G[F+3],r0[U]=p0|g0<<8|w0<<16|Q0<<24;return u0+1}};return function(T,y,C,I){var l;return e=y.loops,r=y.loop,n=y.getA,i=y.getB,m=y.getC,w=y.getD,D=y.getX,s=y.setA,h=y.setB,g=y.setC,M=y.setD,R=y.setX,v=C,l=q.wordsToBytes(W(T)),I&&I.asBytes?l:q.bytesconvertNumberToHex(l)}}function ce(){var r=function(e,n){var s,i,h,m,g,w,M,D,R,v,W,T,y,C,I,l,J,k,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 j=0;j<B.length;j++)B[j]=(B[j]<<8|B[j]>>>24)&16711935|(B[j]<<24|B[j]>>>8)&4278255360;B[H>>>5]|=128<<H%32,B[(H+64>>>9<<4)+14]=H;for(var Q=0;Q<B.length;Q+=16)J=t,k=o,L=a,N=c,s=B[Q+0]>>>0,i=B[Q+1]>>>0,h=B[Q+2]>>>0,m=B[Q+3]>>>0,g=B[Q+4]>>>0,w=B[Q+5]>>>0,M=B[Q+6]>>>0,D=B[Q+7]>>>0,R=B[Q+8]>>>0,v=B[Q+9]>>>0,W=B[Q+10]>>>0,T=B[Q+11]>>>0,y=B[Q+12]>>>0,C=B[Q+13]>>>0,I=B[Q+14]>>>0,l=B[Q+15]>>>0,t=b(7,25,t+(o&a|~o&c)+s-680876936)+o,c=b(12,20,c+(t&o|~t&a)+i-389564586)+t,a=b(17,15,a+(c&t|~c&o)+h+606105819)+c,o=b(22,10,o+(a&c|~a&t)+m-1044525330)+a,t=b(7,25,t+(o&a|~o&c)+g-176418897)+o,c=b(12,20,c+(t&o|~t&a)+w+1200080426)+t,a=b(17,15,a+(c&t|~c&o)+M-1473231341)+c,o=b(22,10,o+(a&c|~a&t)+D-45705983)+a,t=b(7,25,t+(o&a|~o&c)+R+1770035416)+o,c=b(12,20,c+(t&o|~t&a)+v-1958414417)+t,a=b(17,15,a+(c&t|~c&o)+W-42063)+c,o=b(22,10,o+(a&c|~a&t)+T-1990404162)+a,t=b(7,25,t+(o&a|~o&c)+y+1804603682)+o,c=b(12,20,c+(t&o|~t&a)+C-40341101)+t,a=b(17,15,a+(c&t|~c&o)+I-1502002290)+c,o=b(22,10,o+(a&c|~a&t)+l+1236535329)+a,t=b(5,27,t+(o&c|a&~c)+i-165796510)+o,c=b(9,23,c+(t&a|o&~a)+M-1069501632)+t,a=b(14,18,a+(c&o|t&~o)+T+643717713)+c,o=b(20,12,o+(a&t|c&~t)+s-373897302)+a,t=b(5,27,t+(o&c|a&~c)+w-701558691)+o,c=b(9,23,c+(t&a|o&~a)+W+38016083)+t,a=b(14,18,a+(c&o|t&~o)+l-660478335)+c,o=b(20,12,o+(a&t|c&~t)+g-405537848)+a,t=b(5,27,t+(o&c|a&~c)+v+568446438)+o,c=b(9,23,c+(t&a|o&~a)+I-1019803690)+t,a=b(14,18,a+(c&o|t&~o)+m-187363961)+c,o=b(20,12,o+(a&t|c&~t)+R+1163531501)+a,t=b(5,27,t+(o&c|a&~c)+C-1444681467)+o,c=b(9,23,c+(t&a|o&~a)+h-51403784)+t,a=b(14,18,a+(c&o|t&~o)+D+1735328473)+c,o=b(20,12,o+(a&t|c&~t)+y-1926607734)+a,t=b(4,28,t+(o^a^c)+w-378558)+o,c=b(11,21,c+(t^o^a)+R-2022574463)+t,a=b(16,16,a+(c^t^o)+T+1839030562)+c,o=b(23,9,o+(a^c^t)+I-35309556)+a,t=b(4,28,t+(o^a^c)+i-1530992060)+o,c=b(11,21,c+(t^o^a)+g+1272893353)+t,a=b(16,16,a+(c^t^o)+D-155497632)+c,o=b(23,9,o+(a^c^t)+W-1094730640)+a,t=b(4,28,t+(o^a^c)+C+681279174)+o,c=b(11,21,c+(t^o^a)+s-358537222)+t,a=b(16,16,a+(c^t^o)+m-722521979)+c,o=b(23,9,o+(a^c^t)+M+76029189)+a,t=b(4,28,t+(o^a^c)+v-640364487)+o,c=b(11,21,c+(t^o^a)+y-421815835)+t,a=b(16,16,a+(c^t^o)+l+530742520)+c,o=b(23,9,o+(a^c^t)+h-995338651)+a,t=b(6,26,t+(a^(o|~c))+s-198630844)+o,c=b(10,22,c+(o^(t|~a))+D+1126891415)+t,a=b(15,17,a+(t^(c|~o))+I-1416354905)+c,o=b(21,11,o+(c^(a|~t))+w-57434055)+a,t=b(6,26,t+(a^(o|~c))+y+1700485571)+o,c=b(10,22,c+(o^(t|~a))+m-1894986606)+t,a=b(15,17,a+(t^(c|~o))+W-1051523)+c,o=b(21,11,o+(c^(a|~t))+i-2054922799)+a,t=b(6,26,t+(a^(o|~c))+R+1873313359)+o,c=b(10,22,c+(o^(t|~a))+l-30611744)+t,a=b(15,17,a+(t^(c|~o))+M-1560198380)+c,o=b(21,11,o+(c^(a|~t))+C+1309151649)+a,t=b(6,26,t+(a^(o|~c))+g-145523070)+o,c=b(10,22,c+(o^(t|~a))+T-1120210379)+t,a=b(15,17,a+(t^(c|~o))+h+718787259)+c,o=b(21,11,o+(c^(a|~t))+v-343485551)+a,t=t+J>>>0,o=o+k>>>0,a=a+L>>>0,c=c+N>>>0;return q.endian([t,o,a,c]);function b(_,$,E){return E<<_|E>>>$}};return function(e,n){var s=q.wordsToBytes(r(e,n)),i=n&&n.asBytes?s:q.bytesconvertNumberToHex(s);return i}}function ne(r){try{return xe(r)}catch{return null}}function xe(r){var e=r.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?Ae(atob(e)):fe(e)}function fe(r){for(var e=r.endsWith("==")?2:r.endsWith("=")?1:0,n=r.length*3/4-e,s=new Uint8Array(n),i=0,h=0,m,g,w,M;h<r.length;){if(m=d0.indexOf(r.charAt(h++)),g=d0.indexOf(r.charAt(h++)),w=d0.indexOf(r.charAt(h++)),M=d0.indexOf(r.charAt(h++)),m<0||g<0||w<0||M<0)throw new TypeError("Invalid base64 input");s[i++]=m<<2|g>>4,w<64&&i<n&&(s[i++]=(g&15)<<4|w>>2),M<64&&i<n&&(s[i++]=(w&3)<<6|M)}return s}function Ae(r){for(var e=r.length,n=new Uint8Array(e),s=0;s<e;)n[s]=r.charCodeAt(s),s++;return n}function de(r){return r instanceof Uint8Array?r:typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer?new Uint8Array(r):r&&typeof r=="object"&&ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):typeof r=="string"?new TextEncoder().encode(r):null}function se(){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(e,n){return e<<n|e>>>32-n},endian:function(e){if(e.constructor==Number)return q.rotl(e,8)&16711935|q.rotl(e,24)&4278255360;for(var n=0;n<e.length;n++)e[n]=q.endian(e[n]);return e},bytesToWords:function(e){for(var n=[],s=0,i=0;s<e.length;s++,i+=8)n[i>>>5]|=e[s]<<24-i%32;return n},wordsToBytes:function(e){for(var n=[],s=0;s<e.length*32;s+=8)n.push(e[s>>>5]>>>24-s%32&255);return n},bytesconvertNumberToHex:function(e){for(var n=[],s=0;s<e.length;s++)n.push((e[s]>>>4).toString(16)),n.push((e[s]&15).toString(16));return n.join("")}}}var s0=class extends S{name="md5";options;constructor(e={}){super(),this.options=e}async hash(e,n){let i=await new Promise((h,m)=>y0(e).then(h).catch(m));return x0(i,n)}};var P=class extends S{name;options;_algorithm;_algo;constructor(e){if(super(),this.options=e,h0(e?.modules),this._algorithm=this.options?.crypto?.algorithm,!this._algorithm)throw new Error(this.name);this.name=this._algorithm.toLowerCase()}async preload(){let e=Y("CryptoJS",this.name);this._algo=e.algo[this._algorithm]}async hash(e,n){await this.preload();let s=this._algo.create();if(!s)throw new Error(this.name);let i=Y("CryptoJS",this.name),h=i.lib.WordArray.create(e),m=n==="base64"?i.enc.Base64:i.enc.Hex;return s.update(h).finalize().toString(m)}async*hashBatches(e,n="base64"){await this.preload();let s=Y("CryptoJS",this.name),i=this._algo.create();if(!i)throw new Error(this.name);for await(let g of e){let w=s.lib.WordArray.create(g);i.update(w),yield g}let h=n==="base64"?s.enc.Base64:s.enc.Hex,m=i.finalize().toString(h);this.options?.crypto?.onEnd?.({hash:m})}};var i0=class extends P{constructor(e){super({...e,crypto:{...e.crypto,algorithm:"SHA256"}})}};var b0=class extends S{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,n){throw new Error("Not implemented")}};var j0="4.4.0-alpha.9",ie={id:"crypto",name:"CRC32, CRC32c and MD5 Hashes",module:"crypto",version:j0,options:{crypto:{}}},be={id:"cryptojs",name:"Cryptographic Hashes",module:"crypto",version:j0,options:{cryptojs:{}}};return Z0(K);})();
7
+ "use strict";var __exports__=(()=>{var D0=Object.create;var o0=Object.defineProperty;var H0=Object.getOwnPropertyDescriptor;var U0=Object.getOwnPropertyNames;var q0=Object.getPrototypeOf,R0=Object.prototype.hasOwnProperty;var k0=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),L0=(r,e)=>{for(var n in e)o0(r,n,{get:e[n],enumerable:!0})},t0=(r,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of U0(e))!R0.call(r,i)&&i!==n&&o0(r,i,{get:()=>e[i],enumerable:!(s=H0(e,i))||s.enumerable});return r},a0=(r,e,n)=>(t0(r,e,"default"),n&&t0(n,e,"default")),N0=(r,e,n)=>(n=r!=null?D0(q0(r)):{},t0(e||!r||!r.__esModule?o0(n,"default",{value:r,enumerable:!0}):n,r)),Z0=r=>t0(o0({},"__esModule",{value:!0}),r);var C0=k0((me,E0)=>{E0.exports=globalThis.loaders});var K={};L0(K,{CRC32CHash:()=>A0,CRC32Hash:()=>f0,CryptoHash:()=>P,CryptoJSWorker:()=>be,CryptoWorker:()=>ie,Hash:()=>S,MD5Hash:()=>s0,NodeHash:()=>b0,SHA256Hash:()=>i0,asciiToBase64:()=>c0,base64ToAscii:()=>n0,encodeBase64:()=>F0,encodeHex:()=>x0,encodeNumber:()=>Z});a0(K,N0(C0(),1));function h0(r){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,r)}function Y(r,e){let n=globalThis.loaders?.modules?.[r];if(!n)throw new Error(`${e}: ${r} library not installed`);return n}function I0(...r){return V0(r)}function V0(r){let e=r.map(h=>h instanceof ArrayBuffer?new Uint8Array(h):h),n=e.reduce((h,m)=>h+m.byteLength,0),s=new Uint8Array(n),i=0;for(let h of e)s.set(h,i),i+=h.byteLength;return s.buffer}async function B0(r){let e=[];for await(let n of r)e.push(X0(n));return I0(...e)}function X0(r){if(r instanceof ArrayBuffer)return r;if(ArrayBuffer.isView(r)){let{buffer:e,byteOffset:n,byteLength:s}=r;return M0(e,n,s)}return M0(r)}function M0(r,e=0,n=r.byteLength-e){let s=new Uint8Array(r,e,n),i=new Uint8Array(s.length);return i.set(s),i.buffer}var S=class{constructor(e={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(e,n="base64"){let s=[];for await(let m of e)s.push(m),yield m;let i=await this.concatenate(s),h=await this.hash(i,n);this.options.crypto?.onEnd?.({hash:h})}async concatenate(e){return await B0(e)}};var X=class{crc;constructor(){this.crc=-1}update(e){let n=P0(),s=new Uint8Array(e);for(let i=0;i<s.byteLength;i++)this.crc=this.crc>>>8^n[(this.crc^s[i])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},z0=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 P0(){return z0}function c0(r){r=`${r}`;for(let n=0;n<r.length;n++)if(r.charCodeAt(n)>255)return null;let e="";for(let n=0;n<r.length;n+=3){let s=[void 0,void 0,void 0,void 0];s[0]=r.charCodeAt(n)>>2,s[1]=(r.charCodeAt(n)&3)<<4,r.length>n+1&&(s[1]|=r.charCodeAt(n+1)>>4,s[2]=(r.charCodeAt(n+1)&15)<<2),r.length>n+2&&(s[2]|=r.charCodeAt(n+2)>>6,s[3]=r.charCodeAt(n+2)&63);for(let i=0;i<s.length;i++)typeof s[i]>"u"?e+="=":e+=K0(s[i])}return e}function n0(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="",n=0,s=0;for(let i=0;i<r.length;i++)n<<=6,n|=Y0(r[i]),s+=6,s===24&&(e+=String.fromCharCode((n&16711680)>>16),e+=String.fromCharCode((n&65280)>>8),e+=String.fromCharCode(n&255),n=s=0);return s===12?(n>>=4,e+=String.fromCharCode(n)):s===18&&(n>>=2,e+=String.fromCharCode((n&65280)>>8),e+=String.fromCharCode(n&255)),e}var O0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Y0(r){let e=O0.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 G0(r);case"base64":return S0(G0(r));default:throw new Error(e)}}function x0(r,e){switch(e){case"hex":return r;case"base64":return S0(r);default:throw new Error(e)}}function F0(r,e){switch(e){case"hex":return _0(r);case"base64":return r;default:throw new Error(e)}}function S0(r){r.length%2!==0&&(r=`0${r}`);let n=(r.match(/\w{2}/g)||[]).map(s=>String.fromCharCode(parseInt(s,16))).join("");return c0(n)||""}function _0(r){return[...n0(r)].map(e=>e.charCodeAt(0).toString(16).padStart(2,"0")).join("")}function G0(r){let e=r.toString(16);return e==="0"?`0${e}`:e}var f0=class extends S{name="crc32";options;constructor(e={}){super(),this.options={crypto:{},...e},this.hashBatches=this.hashBatches.bind(this)}async hash(e,n){return this.hashSync(e,n)}hashSync(e,n){let s=new X;s.update(e);let i=s.finalize();return Z(i,n)}async*hashBatches(e,n="base64"){let s=new X;for await(let h of e)s.update(h),yield h;let i=s.finalize();this.options.crypto?.onEnd?.({hash:Z(i,n)})}};var z=class{options;crc;constructor(e={}){this.options=e,this.crc=-1}update(e){let n=new Uint8Array(e),s=ee();for(let i=0;i<n.length;i++)this.crc=s[(this.crc^n[i])&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 ee(){return $0}var A0=class extends S{name="crc32c";options;constructor(e={}){super(),this.options={crypto:{},...e}}async hash(e,n){return this.hashSync(e,n)}hashSync(e,n){let s=new z(this.options);s.update(e);let i=s.finalize();return Z(i,n)}async*hashBatches(e,n="base64"){let s=new z(this.options);for await(let h of e)s.update(h),yield h;let i=s.finalize();this.options.crypto?.onEnd?.({hash:Z(i,n)})}};var d0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",v0=ne("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"),m0=typeof WebAssembly<"u"&&v0?v0.buffer:!1,q=se(),l0=240*16*16,W0=Math.floor(l0*16*1.066666667),re=268435456-65536,te="Parameter must be ArrayBuffer, ArrayBufferView or string",oe="Parameter exceeds max size of 255.9 Mbytes";m0||console.log("WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript");function y0(r){var e,n,s,i,h,m,g,w,M,D;let R=ce(),v=ae(),W={},T=new Date().getTime();return W.then=function(l){return g=l,C(),W},W.catch=function(l){return w=l,W},m=de(r),m||I(new TypeError(te)),m&&(h=m.length,m0&&h>W0?h>re?I(new Error(oe)):(e=new WebAssembly.Memory({initial:h>32e6?h>64e6?h>128e6?4096:2048:1024:512}),n=new Uint32Array(e.buffer),i={mem:e,log:console.log},s={imports:i},WebAssembly.instantiate(m0,s).then(y)):C(R(m))),W;function y(l){C(v(m,l.instance.exports,n))}function C(l){var J=Boolean(l)?l:M;Boolean(l)&&(D=new Date().getTime()),typeof g=="function"?Boolean(J)&&(g(J,D-T),g=w=null):Boolean(l)&&(M=l)}function I(l){typeof w=="function"&&w(l)}}function ae(){var r,e,n,s,i,h,m,g,w,M,D,R,v,W=function(T){var y,C,I,l,J,k,L,N,B,V,t,o,a,c,H,j,Q,b,_,$,E,ue,he=new Date().getTime(),T0=0,x=1732584193,f=-271733879,A=-1732584194,d=271733878,p=0,O=T.length*8,e0;for(e0=J0(T,v),v[O>>>5]|=128<<O%32,v[(O+64>>>9<<4)+14]=O,e0=(O+64>>>9<<4)+15,E=v;p<e0;)e0>p+W0?(s(x),h(f),g(A),M(d),e(l0),p=p+l0*16,x=n(),f=i(),A=m(),d=w(),T0++):(Q=x,b=f,_=A,$=d,y=E[p+0]>>>0,C=E[p+1]>>>0,I=E[p+2]>>>0,l=E[p+3]>>>0,J=E[p+4]>>>0,k=E[p+5]>>>0,L=E[p+6]>>>0,N=E[p+7]>>>0,B=E[p+8]>>>0,V=E[p+9]>>>0,t=E[p+10]>>>0,o=E[p+11]>>>0,a=E[p+12]>>>0,c=E[p+13]>>>0,H=E[p+14]>>>0,j=E[p+15]>>>0,x=u(7,25,x+(f&A|~f&d)+y-680876936)+f,d=u(12,20,d+(x&f|~x&A)+C-389564586)+x,A=u(17,15,A+(d&x|~d&f)+I+606105819)+d,f=u(22,10,f+(A&d|~A&x)+l-1044525330)+A,x=u(7,25,x+(f&A|~f&d)+J-176418897)+f,d=u(12,20,d+(x&f|~x&A)+k+1200080426)+x,A=u(17,15,A+(d&x|~d&f)+L-1473231341)+d,f=u(22,10,f+(A&d|~A&x)+N-45705983)+A,x=u(7,25,x+(f&A|~f&d)+B+1770035416)+f,d=u(12,20,d+(x&f|~x&A)+V-1958414417)+x,A=u(17,15,A+(d&x|~d&f)+t-42063)+d,f=u(22,10,f+(A&d|~A&x)+o-1990404162)+A,x=u(7,25,x+(f&A|~f&d)+a+1804603682)+f,d=u(12,20,d+(x&f|~x&A)+c-40341101)+x,A=u(17,15,A+(d&x|~d&f)+H-1502002290)+d,f=u(22,10,f+(A&d|~A&x)+j+1236535329)+A,x=u(5,27,x+(f&d|A&~d)+C-165796510)+f,d=u(9,23,d+(x&A|f&~A)+L-1069501632)+x,A=u(14,18,A+(d&f|x&~f)+o+643717713)+d,f=u(20,12,f+(A&x|d&~x)+y-373897302)+A,x=u(5,27,x+(f&d|A&~d)+k-701558691)+f,d=u(9,23,d+(x&A|f&~A)+t+38016083)+x,A=u(14,18,A+(d&f|x&~f)+j-660478335)+d,f=u(20,12,f+(A&x|d&~x)+J-405537848)+A,x=u(5,27,x+(f&d|A&~d)+V+568446438)+f,d=u(9,23,d+(x&A|f&~A)+H-1019803690)+x,A=u(14,18,A+(d&f|x&~f)+l-187363961)+d,f=u(20,12,f+(A&x|d&~x)+B+1163531501)+A,x=u(5,27,x+(f&d|A&~d)+c-1444681467)+f,d=u(9,23,d+(x&A|f&~A)+I-51403784)+x,A=u(14,18,A+(d&f|x&~f)+N+1735328473)+d,f=u(20,12,f+(A&x|d&~x)+a-1926607734)+A,x=u(4,28,x+(f^A^d)+k-378558)+f,d=u(11,21,d+(x^f^A)+B-2022574463)+x,A=u(16,16,A+(d^x^f)+o+1839030562)+d,f=u(23,9,f+(A^d^x)+H-35309556)+A,x=u(4,28,x+(f^A^d)+C-1530992060)+f,d=u(11,21,d+(x^f^A)+J+1272893353)+x,A=u(16,16,A+(d^x^f)+N-155497632)+d,f=u(23,9,f+(A^d^x)+t-1094730640)+A,x=u(4,28,x+(f^A^d)+c+681279174)+f,d=u(11,21,d+(x^f^A)+y-358537222)+x,A=u(16,16,A+(d^x^f)+l-722521979)+d,f=u(23,9,f+(A^d^x)+L+76029189)+A,x=u(4,28,x+(f^A^d)+V-640364487)+f,d=u(11,21,d+(x^f^A)+a-421815835)+x,A=u(16,16,A+(d^x^f)+j+530742520)+d,f=u(23,9,f+(A^d^x)+I-995338651)+A,x=u(6,26,x+(A^(f|~d))+y-198630844)+f,d=u(10,22,d+(f^(x|~A))+N+1126891415)+x,A=u(15,17,A+(x^(d|~f))+H-1416354905)+d,f=u(21,11,f+(d^(A|~x))+k-57434055)+A,x=u(6,26,x+(A^(f|~d))+a+1700485571)+f,d=u(10,22,d+(f^(x|~A))+l-1894986606)+x,A=u(15,17,A+(x^(d|~f))+t-1051523)+d,f=u(21,11,f+(d^(A|~x))+C-2054922799)+A,x=u(6,26,x+(A^(f|~d))+B+1873313359)+f,d=u(10,22,d+(f^(x|~A))+j-30611744)+x,A=u(15,17,A+(x^(d|~f))+L-1560198380)+d,f=u(21,11,f+(d^(A|~x))+c+1309151649)+A,x=u(6,26,x+(A^(f|~d))+J-145523070)+f,d=u(10,22,d+(f^(x|~A))+o-1120210379)+x,A=u(15,17,A+(x^(d|~f))+I+718787259)+d,f=u(21,11,f+(d^(A|~x))+V-343485551)+A,p=p+16,x=x+Q>>>0,f=f+b>>>0,A=A+_>>>0,d=d+$>>>0);return q.endian([x,f,A,d]);function u(G,r0,U){return U<<G|U>>>r0}function J0(G,r0){for(var U=-1,u0=Math.floor((G.length-1)/4),F=0,p0,g0,w0,Q0;u0-8>U++;)F=U<<2,r0[U]=G[F+0]|G[F+1]<<8|G[F+2]<<16|G[F+3]<<24;for(U--;u0>U++;)F=U<<2,p0=typeof G[F+0]>"u"?0:G[F+0],g0=typeof G[F+1]>"u"?0:G[F+1],w0=typeof G[F+2]>"u"?0:G[F+2],Q0=typeof G[F+3]>"u"?0:G[F+3],r0[U]=p0|g0<<8|w0<<16|Q0<<24;return u0+1}};return function(T,y,C,I){var l;return e=y.loops,r=y.loop,n=y.getA,i=y.getB,m=y.getC,w=y.getD,D=y.getX,s=y.setA,h=y.setB,g=y.setC,M=y.setD,R=y.setX,v=C,l=q.wordsToBytes(W(T)),I&&I.asBytes?l:q.bytesconvertNumberToHex(l)}}function ce(){var r=function(e,n){var s,i,h,m,g,w,M,D,R,v,W,T,y,C,I,l,J,k,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 j=0;j<B.length;j++)B[j]=(B[j]<<8|B[j]>>>24)&16711935|(B[j]<<24|B[j]>>>8)&4278255360;B[H>>>5]|=128<<H%32,B[(H+64>>>9<<4)+14]=H;for(var Q=0;Q<B.length;Q+=16)J=t,k=o,L=a,N=c,s=B[Q+0]>>>0,i=B[Q+1]>>>0,h=B[Q+2]>>>0,m=B[Q+3]>>>0,g=B[Q+4]>>>0,w=B[Q+5]>>>0,M=B[Q+6]>>>0,D=B[Q+7]>>>0,R=B[Q+8]>>>0,v=B[Q+9]>>>0,W=B[Q+10]>>>0,T=B[Q+11]>>>0,y=B[Q+12]>>>0,C=B[Q+13]>>>0,I=B[Q+14]>>>0,l=B[Q+15]>>>0,t=b(7,25,t+(o&a|~o&c)+s-680876936)+o,c=b(12,20,c+(t&o|~t&a)+i-389564586)+t,a=b(17,15,a+(c&t|~c&o)+h+606105819)+c,o=b(22,10,o+(a&c|~a&t)+m-1044525330)+a,t=b(7,25,t+(o&a|~o&c)+g-176418897)+o,c=b(12,20,c+(t&o|~t&a)+w+1200080426)+t,a=b(17,15,a+(c&t|~c&o)+M-1473231341)+c,o=b(22,10,o+(a&c|~a&t)+D-45705983)+a,t=b(7,25,t+(o&a|~o&c)+R+1770035416)+o,c=b(12,20,c+(t&o|~t&a)+v-1958414417)+t,a=b(17,15,a+(c&t|~c&o)+W-42063)+c,o=b(22,10,o+(a&c|~a&t)+T-1990404162)+a,t=b(7,25,t+(o&a|~o&c)+y+1804603682)+o,c=b(12,20,c+(t&o|~t&a)+C-40341101)+t,a=b(17,15,a+(c&t|~c&o)+I-1502002290)+c,o=b(22,10,o+(a&c|~a&t)+l+1236535329)+a,t=b(5,27,t+(o&c|a&~c)+i-165796510)+o,c=b(9,23,c+(t&a|o&~a)+M-1069501632)+t,a=b(14,18,a+(c&o|t&~o)+T+643717713)+c,o=b(20,12,o+(a&t|c&~t)+s-373897302)+a,t=b(5,27,t+(o&c|a&~c)+w-701558691)+o,c=b(9,23,c+(t&a|o&~a)+W+38016083)+t,a=b(14,18,a+(c&o|t&~o)+l-660478335)+c,o=b(20,12,o+(a&t|c&~t)+g-405537848)+a,t=b(5,27,t+(o&c|a&~c)+v+568446438)+o,c=b(9,23,c+(t&a|o&~a)+I-1019803690)+t,a=b(14,18,a+(c&o|t&~o)+m-187363961)+c,o=b(20,12,o+(a&t|c&~t)+R+1163531501)+a,t=b(5,27,t+(o&c|a&~c)+C-1444681467)+o,c=b(9,23,c+(t&a|o&~a)+h-51403784)+t,a=b(14,18,a+(c&o|t&~o)+D+1735328473)+c,o=b(20,12,o+(a&t|c&~t)+y-1926607734)+a,t=b(4,28,t+(o^a^c)+w-378558)+o,c=b(11,21,c+(t^o^a)+R-2022574463)+t,a=b(16,16,a+(c^t^o)+T+1839030562)+c,o=b(23,9,o+(a^c^t)+I-35309556)+a,t=b(4,28,t+(o^a^c)+i-1530992060)+o,c=b(11,21,c+(t^o^a)+g+1272893353)+t,a=b(16,16,a+(c^t^o)+D-155497632)+c,o=b(23,9,o+(a^c^t)+W-1094730640)+a,t=b(4,28,t+(o^a^c)+C+681279174)+o,c=b(11,21,c+(t^o^a)+s-358537222)+t,a=b(16,16,a+(c^t^o)+m-722521979)+c,o=b(23,9,o+(a^c^t)+M+76029189)+a,t=b(4,28,t+(o^a^c)+v-640364487)+o,c=b(11,21,c+(t^o^a)+y-421815835)+t,a=b(16,16,a+(c^t^o)+l+530742520)+c,o=b(23,9,o+(a^c^t)+h-995338651)+a,t=b(6,26,t+(a^(o|~c))+s-198630844)+o,c=b(10,22,c+(o^(t|~a))+D+1126891415)+t,a=b(15,17,a+(t^(c|~o))+I-1416354905)+c,o=b(21,11,o+(c^(a|~t))+w-57434055)+a,t=b(6,26,t+(a^(o|~c))+y+1700485571)+o,c=b(10,22,c+(o^(t|~a))+m-1894986606)+t,a=b(15,17,a+(t^(c|~o))+W-1051523)+c,o=b(21,11,o+(c^(a|~t))+i-2054922799)+a,t=b(6,26,t+(a^(o|~c))+R+1873313359)+o,c=b(10,22,c+(o^(t|~a))+l-30611744)+t,a=b(15,17,a+(t^(c|~o))+M-1560198380)+c,o=b(21,11,o+(c^(a|~t))+C+1309151649)+a,t=b(6,26,t+(a^(o|~c))+g-145523070)+o,c=b(10,22,c+(o^(t|~a))+T-1120210379)+t,a=b(15,17,a+(t^(c|~o))+h+718787259)+c,o=b(21,11,o+(c^(a|~t))+v-343485551)+a,t=t+J>>>0,o=o+k>>>0,a=a+L>>>0,c=c+N>>>0;return q.endian([t,o,a,c]);function b(_,$,E){return E<<_|E>>>$}};return function(e,n){var s=q.wordsToBytes(r(e,n)),i=n&&n.asBytes?s:q.bytesconvertNumberToHex(s);return i}}function ne(r){try{return xe(r)}catch{return null}}function xe(r){var e=r.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?Ae(atob(e)):fe(e)}function fe(r){for(var e=r.endsWith("==")?2:r.endsWith("=")?1:0,n=r.length*3/4-e,s=new Uint8Array(n),i=0,h=0,m,g,w,M;h<r.length;){if(m=d0.indexOf(r.charAt(h++)),g=d0.indexOf(r.charAt(h++)),w=d0.indexOf(r.charAt(h++)),M=d0.indexOf(r.charAt(h++)),m<0||g<0||w<0||M<0)throw new TypeError("Invalid base64 input");s[i++]=m<<2|g>>4,w<64&&i<n&&(s[i++]=(g&15)<<4|w>>2),M<64&&i<n&&(s[i++]=(w&3)<<6|M)}return s}function Ae(r){for(var e=r.length,n=new Uint8Array(e),s=0;s<e;)n[s]=r.charCodeAt(s),s++;return n}function de(r){return r instanceof Uint8Array?r:typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer?new Uint8Array(r):r&&typeof r=="object"&&ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):typeof r=="string"?new TextEncoder().encode(r):null}function se(){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(e,n){return e<<n|e>>>32-n},endian:function(e){if(e.constructor==Number)return q.rotl(e,8)&16711935|q.rotl(e,24)&4278255360;for(var n=0;n<e.length;n++)e[n]=q.endian(e[n]);return e},bytesToWords:function(e){for(var n=[],s=0,i=0;s<e.length;s++,i+=8)n[i>>>5]|=e[s]<<24-i%32;return n},wordsToBytes:function(e){for(var n=[],s=0;s<e.length*32;s+=8)n.push(e[s>>>5]>>>24-s%32&255);return n},bytesconvertNumberToHex:function(e){for(var n=[],s=0;s<e.length;s++)n.push((e[s]>>>4).toString(16)),n.push((e[s]&15).toString(16));return n.join("")}}}var s0=class extends S{name="md5";options;constructor(e={}){super(),this.options=e}async hash(e,n){let i=await new Promise((h,m)=>y0(e).then(h).catch(m));return x0(i,n)}};var P=class extends S{name;options;_algorithm;_algo;constructor(e){if(super(),this.options=e,h0(e?.modules),this._algorithm=this.options?.crypto?.algorithm,!this._algorithm)throw new Error(this.name);this.name=this._algorithm.toLowerCase()}async preload(){let e=Y("CryptoJS",this.name);this._algo=e.algo[this._algorithm]}async hash(e,n){await this.preload();let s=this._algo.create();if(!s)throw new Error(this.name);let i=Y("CryptoJS",this.name),h=i.lib.WordArray.create(e),m=n==="base64"?i.enc.Base64:i.enc.Hex;return s.update(h).finalize().toString(m)}async*hashBatches(e,n="base64"){await this.preload();let s=Y("CryptoJS",this.name),i=this._algo.create();if(!i)throw new Error(this.name);for await(let g of e){let w=s.lib.WordArray.create(g);i.update(w),yield g}let h=n==="base64"?s.enc.Base64:s.enc.Hex,m=i.finalize().toString(h);this.options?.crypto?.onEnd?.({hash:m})}};var i0=class extends P{constructor(e){super({...e,crypto:{...e.crypto,algorithm:"SHA256"}})}};var b0=class extends S{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,n){throw new Error("Not implemented")}};var j0="4.4.0",ie={id:"crypto",name:"CRC32, CRC32c and MD5 Hashes",module:"crypto",version:j0,options:{crypto:{}}},be={id:"cryptojs",name:"Cryptographic Hashes",module:"crypto",version:j0,options:{cryptojs:{}}};return Z0(K);})();
8
8
  return __exports__;
9
9
  });
package/dist/index.cjs CHANGED
@@ -863,7 +863,7 @@ var NodeHash = class extends Hash {
863
863
  };
864
864
 
865
865
  // dist/index.js
866
- var VERSION = true ? "4.4.0-alpha.9" : "latest";
866
+ var VERSION = true ? "4.4.0" : "latest";
867
867
  var CryptoWorker = {
868
868
  id: "crypto",
869
869
  name: "CRC32, CRC32c and MD5 Hashes",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.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/lib/crypto-hash.ts", "../src/lib/sha256-hash.ts", "../src/lib/node-hash.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport {Hash} from './lib/hash';\n\nexport {CRC32Hash} from './lib/crc32-hash';\nexport {CRC32CHash} from './lib/crc32c-hash';\nexport {MD5Hash} from './lib/md5-hash';\nexport {SHA256Hash} from './lib/sha256-hash';\n\nexport {CryptoHash} from './lib/crypto-hash';\nexport {NodeHash} from './lib/node-hash';\n\n/**\n * Small, fast worker for CRC32, CRC32c and MD5 Hashes\n */\nexport const CryptoWorker = {\n id: 'crypto',\n name: 'CRC32, CRC32c and MD5 Hashes',\n module: 'crypto',\n version: VERSION,\n options: {\n crypto: {}\n }\n};\n\n/**\n * Large worker for full complement of Cryptographic Hashes\n * bundles the full crypto.js library\n */\nexport const CryptoJSWorker = {\n id: 'cryptojs',\n name: 'Cryptographic Hashes',\n module: 'crypto',\n version: VERSION,\n options: {\n cryptojs: {}\n }\n};\n\n// EXPERIMENTAL\n\nexport {encodeNumber, encodeHex, encodeBase64} from './lib/utils/digest-utils';\nexport {asciiToBase64, base64ToAscii} from './lib/utils/base64-utils';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\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, encoding: 'hex' | 'base64'): Promise<string>;\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n encoding: 'hex' | 'base64' = 'base64'\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, encoding);\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", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// Inspired by https://gist.github.com/wqli78/1330293/6d85cc967f32cccfcbad94ae7d088a3dcfc14bd9\n// Full crc32 docs: https://www.kernel.org/doc/Documentation/crc32.txt\n// Better JS implementation: https://stackoverflow.com/a/18639999\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 // performing final division and making crc unsigned.\n // The reason why we can't use Math.abs() ther is that 1 in bite representation is 00000000000000000000000000000001\n // and -1 is 11111111111111111111111111111111. So Math.abs() completely changes the bits there,\n // but what we need is just make JS count first 1 bit as a part of a number and not the sign marker.\n // We don't need to change anything else in this bit representation. And that's exactly what >>> does.\n this.crc = (this.crc ^ -1) >>> 0;\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", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/**\n * `btoa()` polyfill as defined by the HTML and Infra specs, which mostly just references\n * RFC 4648.\n */\nexport function asciiToBase64(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 * Implementation of atob() according to the HTML and Infra specs, except that\n * instead of throwing INVALID_CHARACTER_ERR we return null.\n *\n * @note Forked from https://github.com/jsdom/abab under BSD 3 clause license\n */\nexport function base64ToAscii(data: string): string {\n // Web IDL requires DOMStrings to just be converted using ECMAScript\n // ToString, which in our case amounts to using a template literal.\n data = `${data}`;\n // \"Remove all ASCII whitespace from data.\"\n data = data.replace(/[ \\t\\n\\f\\r]/g, '');\n // \"If data's code point length divides by 4 leaving no remainder, then: if data ends\n // with one or two U+003D (=) code points, then remove them from data.\"\n if (data.length % 4 === 0) {\n data = data.replace(/[=]=?$/, '');\n }\n // \"If data's code point length divides by 4 leaving a remainder of 1, then return\n // failure.\"\n //\n // \"If data contains a code point that is not one of\n //\n // U+002B (+)\n // U+002F (/)\n // ASCII alphanumeric\n //\n // then return failure.\"\n if (data.length % 4 === 1 || /[^+/0-9A-Za-z]/.test(data)) {\n return '';\n }\n // \"Let output be an empty byte sequence.\"\n let output = '';\n // \"Let buffer be an empty buffer that can have bits appended to it.\"\n //\n // We append bits via left-shift and or. accumulatedBits is used to track\n // when we've gotten to 24 bits.\n let buffer = 0;\n let accumulatedBits = 0;\n // \"Let position be a position variable for data, initially pointing at the\n // start of data.\"\n //\n // \"While position does not point past the end of data:\"\n for (let i = 0; i < data.length; i++) {\n // \"Find the code point pointed to by position in the second column of\n // Table 1: The Base 64 Alphabet of RFC 4648. Let n be the number given in\n // the first cell of the same row.\n //\n // \"Append to buffer the six bits corresponding to n, most significant bit\n // first.\"\n //\n // atobLookup() implements the table from RFC 4648.\n buffer <<= 6;\n // @ts-expect-error\n buffer |= atobLookup(data[i]);\n accumulatedBits += 6;\n // \"If buffer has accumulated 24 bits, interpret them as three 8-bit\n // big-endian numbers. Append three bytes with values equal to those\n // numbers to output, in the same order, and then empty buffer.\"\n if (accumulatedBits === 24) {\n output += String.fromCharCode((buffer & 0xff0000) >> 16);\n output += String.fromCharCode((buffer & 0xff00) >> 8);\n output += String.fromCharCode(buffer & 0xff);\n buffer = accumulatedBits = 0;\n }\n // \"Advance position by 1.\"\n }\n // \"If buffer is not empty, it contains either 12 or 18 bits. If it contains\n // 12 bits, then discard the last four and interpret the remaining eight as\n // an 8-bit big-endian number. If it contains 18 bits, then discard the last\n // two and interpret the remaining 16 as two 8-bit big-endian numbers. Append\n // the one or two bytes with values equal to those one or two numbers to\n // output, in the same order.\"\n if (accumulatedBits === 12) {\n buffer >>= 4;\n output += String.fromCharCode(buffer);\n } else if (accumulatedBits === 18) {\n buffer >>= 2;\n output += String.fromCharCode((buffer & 0xff00) >> 8);\n output += String.fromCharCode(buffer & 0xff);\n }\n // \"Return output.\"\n return output;\n}\n/**\n * A lookup table for atob(), which converts an ASCII character to the\n * corresponding six-bit number.\n */\n\nconst keystr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nfunction atobLookup(chr: string): number | undefined {\n const index = keystr.indexOf(chr);\n // Throw exception if character is not in the lookup string; should not be hit in tests\n return index < 0 ? undefined : index;\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", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {asciiToBase64, base64ToAscii} from './base64-utils';\n\n/**\n * Encode a number (usually a digest from a hash function / cipher) as either hex or base64\n * Suitable for hashes like CRC32 where the number of required bits fit withing a JavaScript number.\n */\nexport function encodeNumber(number: number, encoding: 'hex' | 'base64'): string {\n switch (encoding) {\n case 'hex':\n return convertNumberToHex(number);\n case 'base64':\n return convertHexToBase64(convertNumberToHex(number));\n default:\n throw new Error(encoding);\n }\n}\n\n/** Encode a hex string, aeither return hex or re-encode as base64 */\nexport function encodeHex(hex: string, encoding: 'hex' | 'base64'): string {\n switch (encoding) {\n case 'hex':\n return hex;\n case 'base64':\n return convertHexToBase64(hex);\n default:\n throw new Error(encoding);\n }\n}\n\nexport function encodeBase64(base64: string, encoding: 'hex' | 'base64'): string {\n switch (encoding) {\n case 'hex':\n return convertBase64ToHex(base64);\n case 'base64':\n return base64;\n default:\n throw new Error(encoding);\n }\n}\n\n/**\n * Convert a hexadecimal string to base64 encoded string representation\n */\nfunction convertHexToBase64(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 asciiToBase64(string) || '';\n}\n\n/**\n * Convert a base64 encoded string to hexadecimal encoded string representation\n */\nfunction convertBase64ToHex(base64String: string): string {\n return [...base64ToAscii(base64String)]\n .map((c) => c.charCodeAt(0).toString(16).padStart(2, '0'))\n .join('');\n}\n\n/**\n * Converts a number to hex\n */\nfunction convertNumberToHex(cipher: number): string {\n const hexString = cipher.toString(16);\n return hexString === '0' ? `0${hexString}` : hexString;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Hash} from './hash';\nimport CRC32 from './algorithms/crc32';\nimport {encodeNumber} 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\n constructor(options = {}) {\n super();\n this.options = {crypto: {}, ...options};\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, encoding: 'hex' | 'base64'): Promise<string> {\n return this.hashSync(input, encoding);\n }\n\n hashSync(input: ArrayBuffer, encoding: 'hex' | 'base64'): string {\n const hash = new CRC32();\n hash.update(input);\n const digest = hash.finalize();\n return encodeNumber(digest, encoding);\n }\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n encoding: 'hex' | 'base64' = 'base64'\n ): AsyncIterable<ArrayBuffer> {\n const hash = new CRC32();\n for await (const chunk of asyncIterator) {\n hash.update(chunk);\n yield chunk;\n }\n const digest = hash.finalize();\n this.options.crypto?.onEnd?.({hash: encodeNumber(digest, encoding)});\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\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", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Hash} from './hash';\nimport CRC32C from './algorithms/crc32c';\nimport {encodeNumber} 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\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n constructor(options = {}) {\n super();\n this.options = {crypto: {}, ...options};\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer, encoding: 'hex' | 'base64'): Promise<string> {\n return this.hashSync(input, encoding);\n }\n\n hashSync(input: ArrayBuffer, encoding: 'hex' | 'base64'): string {\n const hash = new CRC32C(this.options);\n hash.update(input);\n const digest = hash.finalize();\n return encodeNumber(digest, encoding);\n }\n\n // runInBatches inherited\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n encoding: 'hex' | 'base64' = 'base64'\n ): AsyncIterable<ArrayBuffer> {\n const hash = new CRC32C(this.options);\n for await (const chunk of asyncIterator) {\n hash.update(chunk);\n yield chunk;\n }\n const digest = hash.finalize();\n this.options.crypto?.onEnd?.({hash: encodeNumber(digest, encoding)});\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\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 BASE64_LOOKUP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n wasmB64Bytes = decodeBase64Safely(\n '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'\n ),\n wasm = typeof WebAssembly !== 'undefined' && wasmB64Bytes ? wasmB64Bytes.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 ArrayBuffer, ArrayBufferView or string',\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 buff = normalizeInput(data);\n\n if (!buff) {\n getCatch(new TypeError(parmTypeErrStr));\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.bytesconvertNumberToHex(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 =\n options && options.asBytes ? digestbytes : crypt.bytesconvertNumberToHex(digestbytes);\n return result;\n };\n}\nfunction decodeBase64Safely(str) {\n try {\n return decodeBase64ToUint8Array(str);\n } catch (error) {\n return null;\n }\n}\n\nfunction decodeBase64ToUint8Array(base64) {\n var sanitized = base64.replace(/-/g, '+').replace(/_/g, '/');\n\n if (typeof atob === 'function') {\n return binaryStringToUint8Array(atob(sanitized));\n }\n\n return decodeBase64WithoutAtob(sanitized);\n}\n\nfunction decodeBase64WithoutAtob(base64) {\n var paddingLength = base64.endsWith('==') ? 2 : base64.endsWith('=') ? 1 : 0,\n byteLength = (base64.length * 3) / 4 - paddingLength,\n bytes = new Uint8Array(byteLength),\n byteIndex = 0,\n i = 0,\n enc1,\n enc2,\n enc3,\n enc4;\n\n while (i < base64.length) {\n enc1 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n enc2 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n enc3 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n enc4 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n\n if (enc1 < 0 || enc2 < 0 || enc3 < 0 || enc4 < 0) {\n throw new TypeError('Invalid base64 input');\n }\n\n bytes[byteIndex++] = (enc1 << 2) | (enc2 >> 4);\n if (enc3 < 64 && byteIndex < byteLength) {\n bytes[byteIndex++] = ((enc2 & 15) << 4) | (enc3 >> 2);\n }\n if (enc4 < 64 && byteIndex < byteLength) {\n bytes[byteIndex++] = ((enc3 & 3) << 6) | enc4;\n }\n }\n\n return bytes;\n}\n\nfunction binaryStringToUint8Array(str) {\n var length = str.length,\n view = new Uint8Array(length),\n i = 0;\n\n while (i < length) {\n view[i] = str.charCodeAt(i);\n i++;\n }\n\n return view;\n}\n\nfunction normalizeInput(data) {\n if (data instanceof Uint8Array) {\n return data;\n }\n\n if (typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n\n if (data && typeof data === 'object' && ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n\n if (typeof data === 'string') {\n return new TextEncoder().encode(data);\n }\n\n return null;\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 bytesconvertNumberToHex: 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", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// Fork of https://github.com/briantbutton/md5-wasm under MIT license\nimport {Hash} from './hash';\nimport md5WASM from './algorithms/md5-wasm';\nimport {encodeHex} 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, encoding: 'hex' | 'base64'): 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 encodeHex(hex, encoding);\n }\n}\n", "import {getJSModule, registerJSModules} from '@loaders.gl/loader-utils';\nimport {Hash} from './hash';\n\ntype CryptoHashOptions = {\n modules?: {[moduleName: string]: any};\n crypto: {\n algorithm: string;\n onEnd?: (result: {hash: string}) => any;\n };\n};\n\n/**\n * A transform that calculates Cryptographic Hash using Crypto JS library\n * @deprecated Warning, experimental class\n */\nexport class CryptoHash extends Hash {\n readonly name;\n\n options: CryptoHashOptions;\n /** Name of digest algorithm */\n private _algorithm;\n /** CryptoJS algorithm */\n private _algo;\n\n constructor(options: CryptoHashOptions) {\n super();\n this.options = options;\n registerJSModules(options?.modules);\n\n this._algorithm = this.options?.crypto?.algorithm;\n if (!this._algorithm) {\n throw new Error(this.name);\n }\n this.name = this._algorithm.toLowerCase();\n }\n\n async preload(): Promise<void> {\n const CryptoJS = getJSModule('CryptoJS', this.name);\n this._algo = CryptoJS.algo[this._algorithm];\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer, encoding: 'hex' | 'base64'): Promise<string> {\n await this.preload();\n\n const hash = this._algo.create();\n if (!hash) {\n throw new Error(this.name);\n }\n\n const CryptoJS = getJSModule('CryptoJS', this.name);\n // arrayBuffer is accepted, even though types and docs say no\n // https://stackoverflow.com/questions/25567468/how-to-decrypt-an-arraybuffer\n const typedWordArray = CryptoJS.lib.WordArray.create(input);\n // Map our encoding constant to Crypto library\n const enc = encoding === 'base64' ? CryptoJS.enc.Base64 : CryptoJS.enc.Hex;\n return hash.update(typedWordArray).finalize().toString(enc);\n }\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n encoding: 'hex' | 'base64' = 'base64'\n ): AsyncIterable<ArrayBuffer> {\n await this.preload();\n const CryptoJS = getJSModule('CryptoJS', this.name);\n\n const hash = this._algo.create();\n if (!hash) {\n throw new Error(this.name);\n }\n\n for await (const chunk of asyncIterator) {\n // arrayBuffer is accepted, even though types and docs say no\n // https://stackoverflow.com/questions/25567468/how-to-decrypt-an-arraybuffer\n const typedWordArray = CryptoJS.lib.WordArray.create(chunk);\n hash.update(typedWordArray);\n yield chunk;\n }\n\n // Map our encoding constant to Crypto library\n const enc = encoding === 'base64' ? CryptoJS.enc.Base64 : CryptoJS.enc.Hex;\n const digest = hash.finalize().toString(enc);\n this.options?.crypto?.onEnd?.({hash: digest});\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {CryptoHash} from './crypto-hash';\n\ntype CryptoHashOptions = {\n modules: {[moduleName: string]: any};\n crypto?: {\n onEnd?: (result: {hash: string}) => any;\n };\n};\n\n/**\n * A transform that calculates Cryptographic Hash\n */\nexport class SHA256Hash extends CryptoHash {\n constructor(options: CryptoHashOptions) {\n super({...options, crypto: {...options.crypto, algorithm: 'SHA256'}});\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Hash} from './hash';\n\ntype NodeHashOptions = {\n crypto: {\n algorithm: string;\n onEnd?: (result: {hash: string}) => any;\n };\n};\n\n/**\n * A transform that calculates Cryptographic Hash using Node's Crypto library\n * @deprecated Only available in Node.js\n */\nexport class NodeHash extends Hash {\n readonly name;\n readonly options: NodeHashOptions;\n\n constructor(options: NodeHashOptions) {\n super();\n this.options = options;\n if (!globalThis.loaders.NodeHash) {\n throw new Error('install @loaders.gl/crypto on Node.js to use NodeHash');\n }\n return new globalThis.loaders.NodeHash(options);\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer, encoding: 'hex' | 'base64'): Promise<string> {\n throw new Error('Not implemented');\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;ACIA,0BAA2C;AAUrC,IAAgB,OAAhB,MAAoB;EAIxB,YAAY,UAAuB,CAAA,GAAE;AACnC,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;EAC/C;EAEA,MAAM,UAAO;AACX;EACF;EAIA,OAAO,YACL,eACA,WAA6B,UAAQ;AA9BzC;AAgCI,UAAM,eAA8B,CAAA;AACpC,qBAAiB,eAAe,eAAe;AAC7C,mBAAa,KAAK,WAAW;AAC7B,YAAM;IACR;AACA,UAAM,SAAS,MAAM,KAAK,YAAY,YAAY;AAClD,UAAM,OAAO,MAAM,KAAK,KAAK,QAAQ,QAAQ;AAC7C,qBAAK,QAAQ,WAAb,mBAAqB,UAArB,4BAA6B,EAAC,KAAI;EACpC;;EAIU,MAAM,YAAY,eAAa;AACvC,WAAO,UAAM,kDAA6B,aAAa;EACzD;;;;ACpCF,IAAqB,QAArB,MAA0B;EACxB;EAEA,cAAA;AACE,SAAK,MAAM,CAAC;EACd;EAEA,OAAO,aAAW;AAChB,UAAM,cAAc,cAAa;AACjC,UAAM,YAAY,IAAI,WAAW,WAAW;AAC5C,aAAS,IAAI,GAAG,IAAI,UAAU,YAAY,KAAK;AAC7C,WAAK,MAAO,KAAK,QAAQ,IAAK,aAAa,KAAK,MAAM,UAAU,CAAC,KAAK,GAAI;IAE5E;AACA,WAAO;EACT;EAEA,WAAQ;AAMN,SAAK,OAAO,KAAK,MAAM,QAAQ;AAC/B,WAAO,KAAK;EACd;;AAIF,IAAM,WAAW,YAAY,GAC3B,GACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,SAAU;AAGZ,SAAS,gBAAa;AACpB,SAAO;AACT;;;ACpSM,SAAU,cAAc,QAAc;AAE1C,WAAS,GAAG;AAGZ,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,QAAI,OAAO,WAAW,CAAC,IAAI,KAAK;AAC9B,aAAO;IACT;EACF;AACA,MAAI,MAAM;AACV,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK,GAAG;AAEzC,UAAM,cAAsC,CAAC,QAAW,QAAW,QAAW,MAAS;AACvF,gBAAY,CAA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ACA,UACA,YACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,UACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,UACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,UACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,UACA,WACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,UAAU;AAGZ,SAASA,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",
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport {Hash} from './lib/hash';\n\nexport {CRC32Hash} from './lib/crc32-hash';\nexport {CRC32CHash} from './lib/crc32c-hash';\nexport {MD5Hash} from './lib/md5-hash';\nexport {SHA256Hash} from './lib/sha256-hash';\n\nexport {CryptoHash} from './lib/crypto-hash';\nexport {NodeHash} from './lib/node-hash';\n\n/**\n * Small, fast worker for CRC32, CRC32c and MD5 Hashes\n */\nexport const CryptoWorker = {\n id: 'crypto',\n name: 'CRC32, CRC32c and MD5 Hashes',\n module: 'crypto',\n version: VERSION,\n options: {\n crypto: {}\n }\n};\n\n/**\n * Large worker for full complement of Cryptographic Hashes\n * bundles the full crypto.js library\n */\nexport const CryptoJSWorker = {\n id: 'cryptojs',\n name: 'Cryptographic Hashes',\n module: 'crypto',\n version: VERSION,\n options: {\n cryptojs: {}\n }\n};\n\n// EXPERIMENTAL\n\nexport {encodeNumber, encodeHex, encodeBase64} from './lib/utils/digest-utils';\nexport {asciiToBase64, base64ToAscii} from './lib/utils/base64-utils';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\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, encoding: 'hex' | 'base64'): Promise<string>;\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n encoding: 'hex' | 'base64' = 'base64'\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, encoding);\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", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// Inspired by https://gist.github.com/wqli78/1330293/6d85cc967f32cccfcbad94ae7d088a3dcfc14bd9\n// Full crc32 docs: https://www.kernel.org/doc/Documentation/crc32.txt\n// Better JS implementation: https://stackoverflow.com/a/18639999\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 // performing final division and making crc unsigned.\n // The reason why we can't use Math.abs() ther is that 1 in bite representation is 00000000000000000000000000000001\n // and -1 is 11111111111111111111111111111111. So Math.abs() completely changes the bits there,\n // but what we need is just make JS count first 1 bit as a part of a number and not the sign marker.\n // We don't need to change anything else in this bit representation. And that's exactly what >>> does.\n this.crc = (this.crc ^ -1) >>> 0;\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", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/**\n * `btoa()` polyfill as defined by the HTML and Infra specs, which mostly just references\n * RFC 4648.\n */\nexport function asciiToBase64(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 * Implementation of atob() according to the HTML and Infra specs, except that\n * instead of throwing INVALID_CHARACTER_ERR we return null.\n *\n * @note Forked from https://github.com/jsdom/abab under BSD 3 clause license\n */\nexport function base64ToAscii(data: string): string {\n // Web IDL requires DOMStrings to just be converted using ECMAScript\n // ToString, which in our case amounts to using a template literal.\n data = `${data}`;\n // \"Remove all ASCII whitespace from data.\"\n data = data.replace(/[ \\t\\n\\f\\r]/g, '');\n // \"If data's code point length divides by 4 leaving no remainder, then: if data ends\n // with one or two U+003D (=) code points, then remove them from data.\"\n if (data.length % 4 === 0) {\n data = data.replace(/[=]=?$/, '');\n }\n // \"If data's code point length divides by 4 leaving a remainder of 1, then return\n // failure.\"\n //\n // \"If data contains a code point that is not one of\n //\n // U+002B (+)\n // U+002F (/)\n // ASCII alphanumeric\n //\n // then return failure.\"\n if (data.length % 4 === 1 || /[^+/0-9A-Za-z]/.test(data)) {\n return '';\n }\n // \"Let output be an empty byte sequence.\"\n let output = '';\n // \"Let buffer be an empty buffer that can have bits appended to it.\"\n //\n // We append bits via left-shift and or. accumulatedBits is used to track\n // when we've gotten to 24 bits.\n let buffer = 0;\n let accumulatedBits = 0;\n // \"Let position be a position variable for data, initially pointing at the\n // start of data.\"\n //\n // \"While position does not point past the end of data:\"\n for (let i = 0; i < data.length; i++) {\n // \"Find the code point pointed to by position in the second column of\n // Table 1: The Base 64 Alphabet of RFC 4648. Let n be the number given in\n // the first cell of the same row.\n //\n // \"Append to buffer the six bits corresponding to n, most significant bit\n // first.\"\n //\n // atobLookup() implements the table from RFC 4648.\n buffer <<= 6;\n // @ts-expect-error\n buffer |= atobLookup(data[i]);\n accumulatedBits += 6;\n // \"If buffer has accumulated 24 bits, interpret them as three 8-bit\n // big-endian numbers. Append three bytes with values equal to those\n // numbers to output, in the same order, and then empty buffer.\"\n if (accumulatedBits === 24) {\n output += String.fromCharCode((buffer & 0xff0000) >> 16);\n output += String.fromCharCode((buffer & 0xff00) >> 8);\n output += String.fromCharCode(buffer & 0xff);\n buffer = accumulatedBits = 0;\n }\n // \"Advance position by 1.\"\n }\n // \"If buffer is not empty, it contains either 12 or 18 bits. If it contains\n // 12 bits, then discard the last four and interpret the remaining eight as\n // an 8-bit big-endian number. If it contains 18 bits, then discard the last\n // two and interpret the remaining 16 as two 8-bit big-endian numbers. Append\n // the one or two bytes with values equal to those one or two numbers to\n // output, in the same order.\"\n if (accumulatedBits === 12) {\n buffer >>= 4;\n output += String.fromCharCode(buffer);\n } else if (accumulatedBits === 18) {\n buffer >>= 2;\n output += String.fromCharCode((buffer & 0xff00) >> 8);\n output += String.fromCharCode(buffer & 0xff);\n }\n // \"Return output.\"\n return output;\n}\n/**\n * A lookup table for atob(), which converts an ASCII character to the\n * corresponding six-bit number.\n */\n\nconst keystr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nfunction atobLookup(chr: string): number | undefined {\n const index = keystr.indexOf(chr);\n // Throw exception if character is not in the lookup string; should not be hit in tests\n return index < 0 ? undefined : index;\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", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {asciiToBase64, base64ToAscii} from './base64-utils';\n\n/**\n * Encode a number (usually a digest from a hash function / cipher) as either hex or base64\n * Suitable for hashes like CRC32 where the number of required bits fit withing a JavaScript number.\n */\nexport function encodeNumber(number: number, encoding: 'hex' | 'base64'): string {\n switch (encoding) {\n case 'hex':\n return convertNumberToHex(number);\n case 'base64':\n return convertHexToBase64(convertNumberToHex(number));\n default:\n throw new Error(encoding);\n }\n}\n\n/** Encode a hex string, aeither return hex or re-encode as base64 */\nexport function encodeHex(hex: string, encoding: 'hex' | 'base64'): string {\n switch (encoding) {\n case 'hex':\n return hex;\n case 'base64':\n return convertHexToBase64(hex);\n default:\n throw new Error(encoding);\n }\n}\n\nexport function encodeBase64(base64: string, encoding: 'hex' | 'base64'): string {\n switch (encoding) {\n case 'hex':\n return convertBase64ToHex(base64);\n case 'base64':\n return base64;\n default:\n throw new Error(encoding);\n }\n}\n\n/**\n * Convert a hexadecimal string to base64 encoded string representation\n */\nfunction convertHexToBase64(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 asciiToBase64(string) || '';\n}\n\n/**\n * Convert a base64 encoded string to hexadecimal encoded string representation\n */\nfunction convertBase64ToHex(base64String: string): string {\n return [...base64ToAscii(base64String)]\n .map((c) => c.charCodeAt(0).toString(16).padStart(2, '0'))\n .join('');\n}\n\n/**\n * Converts a number to hex\n */\nfunction convertNumberToHex(cipher: number): string {\n const hexString = cipher.toString(16);\n return hexString === '0' ? `0${hexString}` : hexString;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Hash} from './hash';\nimport CRC32 from './algorithms/crc32';\nimport {encodeNumber} 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\n constructor(options = {}) {\n super();\n this.options = {crypto: {}, ...options};\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, encoding: 'hex' | 'base64'): Promise<string> {\n return this.hashSync(input, encoding);\n }\n\n hashSync(input: ArrayBuffer, encoding: 'hex' | 'base64'): string {\n const hash = new CRC32();\n hash.update(input);\n const digest = hash.finalize();\n return encodeNumber(digest, encoding);\n }\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n encoding: 'hex' | 'base64' = 'base64'\n ): AsyncIterable<ArrayBuffer> {\n const hash = new CRC32();\n for await (const chunk of asyncIterator) {\n hash.update(chunk);\n yield chunk;\n }\n const digest = hash.finalize();\n this.options.crypto?.onEnd?.({hash: encodeNumber(digest, encoding)});\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\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", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Hash} from './hash';\nimport CRC32C from './algorithms/crc32c';\nimport {encodeNumber} 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\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n constructor(options = {}) {\n super();\n this.options = {crypto: {}, ...options};\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer, encoding: 'hex' | 'base64'): Promise<string> {\n return this.hashSync(input, encoding);\n }\n\n hashSync(input: ArrayBuffer, encoding: 'hex' | 'base64'): string {\n const hash = new CRC32C(this.options);\n hash.update(input);\n const digest = hash.finalize();\n return encodeNumber(digest, encoding);\n }\n\n // runInBatches inherited\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n encoding: 'hex' | 'base64' = 'base64'\n ): AsyncIterable<ArrayBuffer> {\n const hash = new CRC32C(this.options);\n for await (const chunk of asyncIterator) {\n hash.update(chunk);\n yield chunk;\n }\n const digest = hash.finalize();\n this.options.crypto?.onEnd?.({hash: encodeNumber(digest, encoding)});\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\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 BASE64_LOOKUP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n wasmB64Bytes = decodeBase64Safely(\n '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'\n ),\n wasm = typeof WebAssembly !== 'undefined' && wasmB64Bytes ? wasmB64Bytes.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 ArrayBuffer, ArrayBufferView or string',\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 buff = normalizeInput(data);\n\n if (!buff) {\n getCatch(new TypeError(parmTypeErrStr));\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.bytesconvertNumberToHex(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 =\n options && options.asBytes ? digestbytes : crypt.bytesconvertNumberToHex(digestbytes);\n return result;\n };\n}\nfunction decodeBase64Safely(str) {\n try {\n return decodeBase64ToUint8Array(str);\n } catch (error) {\n return null;\n }\n}\n\nfunction decodeBase64ToUint8Array(base64) {\n var sanitized = base64.replace(/-/g, '+').replace(/_/g, '/');\n\n if (typeof atob === 'function') {\n return binaryStringToUint8Array(atob(sanitized));\n }\n\n return decodeBase64WithoutAtob(sanitized);\n}\n\nfunction decodeBase64WithoutAtob(base64) {\n var paddingLength = base64.endsWith('==') ? 2 : base64.endsWith('=') ? 1 : 0,\n byteLength = (base64.length * 3) / 4 - paddingLength,\n bytes = new Uint8Array(byteLength),\n byteIndex = 0,\n i = 0,\n enc1,\n enc2,\n enc3,\n enc4;\n\n while (i < base64.length) {\n enc1 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n enc2 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n enc3 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n enc4 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n\n if (enc1 < 0 || enc2 < 0 || enc3 < 0 || enc4 < 0) {\n throw new TypeError('Invalid base64 input');\n }\n\n bytes[byteIndex++] = (enc1 << 2) | (enc2 >> 4);\n if (enc3 < 64 && byteIndex < byteLength) {\n bytes[byteIndex++] = ((enc2 & 15) << 4) | (enc3 >> 2);\n }\n if (enc4 < 64 && byteIndex < byteLength) {\n bytes[byteIndex++] = ((enc3 & 3) << 6) | enc4;\n }\n }\n\n return bytes;\n}\n\nfunction binaryStringToUint8Array(str) {\n var length = str.length,\n view = new Uint8Array(length),\n i = 0;\n\n while (i < length) {\n view[i] = str.charCodeAt(i);\n i++;\n }\n\n return view;\n}\n\nfunction normalizeInput(data) {\n if (data instanceof Uint8Array) {\n return data;\n }\n\n if (typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n\n if (data && typeof data === 'object' && ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n\n if (typeof data === 'string') {\n return new TextEncoder().encode(data);\n }\n\n return null;\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 bytesconvertNumberToHex: 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", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// Fork of https://github.com/briantbutton/md5-wasm under MIT license\nimport {Hash} from './hash';\nimport md5WASM from './algorithms/md5-wasm';\nimport {encodeHex} 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, encoding: 'hex' | 'base64'): 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 encodeHex(hex, encoding);\n }\n}\n", "import {getJSModule, registerJSModules} from '@loaders.gl/loader-utils';\nimport {Hash} from './hash';\n\ntype CryptoHashOptions = {\n modules?: {[moduleName: string]: any};\n crypto: {\n algorithm: string;\n onEnd?: (result: {hash: string}) => any;\n };\n};\n\n/**\n * A transform that calculates Cryptographic Hash using Crypto JS library\n * @deprecated Warning, experimental class\n */\nexport class CryptoHash extends Hash {\n readonly name;\n\n options: CryptoHashOptions;\n /** Name of digest algorithm */\n private _algorithm;\n /** CryptoJS algorithm */\n private _algo;\n\n constructor(options: CryptoHashOptions) {\n super();\n this.options = options;\n registerJSModules(options?.modules);\n\n this._algorithm = this.options?.crypto?.algorithm;\n if (!this._algorithm) {\n throw new Error(this.name);\n }\n this.name = this._algorithm.toLowerCase();\n }\n\n async preload(): Promise<void> {\n const CryptoJS = getJSModule('CryptoJS', this.name);\n this._algo = CryptoJS.algo[this._algorithm];\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer, encoding: 'hex' | 'base64'): Promise<string> {\n await this.preload();\n\n const hash = this._algo.create();\n if (!hash) {\n throw new Error(this.name);\n }\n\n const CryptoJS = getJSModule('CryptoJS', this.name);\n // arrayBuffer is accepted, even though types and docs say no\n // https://stackoverflow.com/questions/25567468/how-to-decrypt-an-arraybuffer\n const typedWordArray = CryptoJS.lib.WordArray.create(input);\n // Map our encoding constant to Crypto library\n const enc = encoding === 'base64' ? CryptoJS.enc.Base64 : CryptoJS.enc.Hex;\n return hash.update(typedWordArray).finalize().toString(enc);\n }\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n encoding: 'hex' | 'base64' = 'base64'\n ): AsyncIterable<ArrayBuffer> {\n await this.preload();\n const CryptoJS = getJSModule('CryptoJS', this.name);\n\n const hash = this._algo.create();\n if (!hash) {\n throw new Error(this.name);\n }\n\n for await (const chunk of asyncIterator) {\n // arrayBuffer is accepted, even though types and docs say no\n // https://stackoverflow.com/questions/25567468/how-to-decrypt-an-arraybuffer\n const typedWordArray = CryptoJS.lib.WordArray.create(chunk);\n hash.update(typedWordArray);\n yield chunk;\n }\n\n // Map our encoding constant to Crypto library\n const enc = encoding === 'base64' ? CryptoJS.enc.Base64 : CryptoJS.enc.Hex;\n const digest = hash.finalize().toString(enc);\n this.options?.crypto?.onEnd?.({hash: digest});\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {CryptoHash} from './crypto-hash';\n\ntype CryptoHashOptions = {\n modules: {[moduleName: string]: any};\n crypto?: {\n onEnd?: (result: {hash: string}) => any;\n };\n};\n\n/**\n * A transform that calculates Cryptographic Hash\n */\nexport class SHA256Hash extends CryptoHash {\n constructor(options: CryptoHashOptions) {\n super({...options, crypto: {...options.crypto, algorithm: 'SHA256'}});\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Hash} from './hash';\n\ntype NodeHashOptions = {\n crypto: {\n algorithm: string;\n onEnd?: (result: {hash: string}) => any;\n };\n};\n\n/**\n * A transform that calculates Cryptographic Hash using Node's Crypto library\n * @deprecated Only available in Node.js\n */\nexport class NodeHash extends Hash {\n readonly name;\n readonly options: NodeHashOptions;\n\n constructor(options: NodeHashOptions) {\n super();\n this.options = options;\n if (!globalThis.loaders.NodeHash) {\n throw new Error('install @loaders.gl/crypto on Node.js to use NodeHash');\n }\n return new globalThis.loaders.NodeHash(options);\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer, encoding: 'hex' | 'base64'): Promise<string> {\n throw new Error('Not implemented');\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;ACIA,0BAA2C;AAUrC,IAAgB,OAAhB,MAAoB;EAIxB,YAAY,UAAuB,CAAA,GAAE;AACnC,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;EAC/C;EAEA,MAAM,UAAO;AACX;EACF;EAIA,OAAO,YACL,eACA,WAA6B,UAAQ;AA9BzC;AAgCI,UAAM,eAA8B,CAAA;AACpC,qBAAiB,eAAe,eAAe;AAC7C,mBAAa,KAAK,WAAW;AAC7B,YAAM;IACR;AACA,UAAM,SAAS,MAAM,KAAK,YAAY,YAAY;AAClD,UAAM,OAAO,MAAM,KAAK,KAAK,QAAQ,QAAQ;AAC7C,qBAAK,QAAQ,WAAb,mBAAqB,UAArB,4BAA6B,EAAC,KAAI;EACpC;;EAIU,MAAM,YAAY,eAAa;AACvC,WAAO,UAAM,kDAA6B,aAAa;EACzD;;;;ACpCF,IAAqB,QAArB,MAA0B;EACxB;EAEA,cAAA;AACE,SAAK,MAAM,CAAC;EACd;EAEA,OAAO,aAAW;AAChB,UAAM,cAAc,cAAa;AACjC,UAAM,YAAY,IAAI,WAAW,WAAW;AAC5C,aAAS,IAAI,GAAG,IAAI,UAAU,YAAY,KAAK;AAC7C,WAAK,MAAO,KAAK,QAAQ,IAAK,aAAa,KAAK,MAAM,UAAU,CAAC,KAAK,GAAI;IAE5E;AACA,WAAO;EACT;EAEA,WAAQ;AAMN,SAAK,OAAO,KAAK,MAAM,QAAQ;AAC/B,WAAO,KAAK;EACd;;AAIF,IAAM,WAAW,YAAY,GAC3B,GACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,SAAU;AAGZ,SAAS,gBAAa;AACpB,SAAO;AACT;;;ACpSM,SAAU,cAAc,QAAc;AAE1C,WAAS,GAAG;AAGZ,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,QAAI,OAAO,WAAW,CAAC,IAAI,KAAK;AAC9B,aAAO;IACT;EACF;AACA,MAAI,MAAM;AACV,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK,GAAG;AAEzC,UAAM,cAAsC,CAAC,QAAW,QAAW,QAAW,MAAS;AACvF,gBAAY,CAA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ACA,UACA,YACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,UACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,UACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,UACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,UACA,WACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,UAAU;AAGZ,SAASA,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",
6
6
  "names": ["getCRC32Table", "i", "l", "import_loader_utils"]
7
7
  }
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
  // __VERSION__ is injected by babel-plugin-version-inline
5
5
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
6
- const VERSION = typeof "4.4.0-alpha.9" !== 'undefined' ? "4.4.0-alpha.9" : 'latest';
6
+ const VERSION = typeof "4.4.0" !== 'undefined' ? "4.4.0" : 'latest';
7
7
  export { Hash } from "./lib/hash.js";
8
8
  export { CRC32Hash } from "./lib/crc32-hash.js";
9
9
  export { CRC32CHash } from "./lib/crc32c-hash.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,OAAO,GAAG,sBAAkB,KAAK,WAAW,CAAC,CAAC,iBAAa,CAAC,CAAC,QAAQ,CAAC;AAE5E,OAAO,EAAC,IAAI,EAAC,sBAAmB;AAEhC,OAAO,EAAC,SAAS,EAAC,4BAAyB;AAC3C,OAAO,EAAC,UAAU,EAAC,6BAA0B;AAC7C,OAAO,EAAC,OAAO,EAAC,0BAAuB;AACvC,OAAO,EAAC,UAAU,EAAC,6BAA0B;AAE7C,OAAO,EAAC,UAAU,EAAC,6BAA0B;AAC7C,OAAO,EAAC,QAAQ,EAAC,2BAAwB;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,8BAA8B;IACpC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE;QACP,MAAM,EAAE,EAAE;KACX;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,eAAe;AAEf,OAAO,EAAC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAC,oCAAiC;AAC/E,OAAO,EAAC,aAAa,EAAE,aAAa,EAAC,oCAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,OAAO,GAAG,cAAkB,KAAK,WAAW,CAAC,CAAC,SAAa,CAAC,CAAC,QAAQ,CAAC;AAE5E,OAAO,EAAC,IAAI,EAAC,sBAAmB;AAEhC,OAAO,EAAC,SAAS,EAAC,4BAAyB;AAC3C,OAAO,EAAC,UAAU,EAAC,6BAA0B;AAC7C,OAAO,EAAC,OAAO,EAAC,0BAAuB;AACvC,OAAO,EAAC,UAAU,EAAC,6BAA0B;AAE7C,OAAO,EAAC,UAAU,EAAC,6BAA0B;AAC7C,OAAO,EAAC,QAAQ,EAAC,2BAAwB;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,8BAA8B;IACpC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE;QACP,MAAM,EAAE,EAAE;KACX;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,eAAe;AAEf,OAAO,EAAC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAC,oCAAiC;AAC/E,OAAO,EAAC,aAAa,EAAE,aAAa,EAAC,oCAAiC"}
@@ -100,7 +100,7 @@ function makeMD5WA() {
100
100
  var md5Used = 0;
101
101
  var a = 1732584193, b = -271733879, c = -1732584194, d = 271733878, i = 0, l = message.length * 8, len;
102
102
  len = bytesToWordsNewer(message, memView);
103
- memView[l >>> 5] |= 0x80 << l % 32;
103
+ memView[l >>> 5] |= 0x80 << (l % 32);
104
104
  memView[(((l + 64) >>> 9) << 4) + 14] = l;
105
105
  len = (((l + 64) >>> 9) << 4) + 15;
106
106
  m = memView;
@@ -267,7 +267,7 @@ function makeMD5JS() {
267
267
  (((m[j] << 8) | (m[j] >>> 24)) & 0x00ff00ff) | (((m[j] << 24) | (m[j] >>> 8)) & 0xff00ff00);
268
268
  }
269
269
  // Padding
270
- m[l >>> 5] |= 0x80 << l % 32;
270
+ m[l >>> 5] |= 0x80 << (l % 32);
271
271
  m[(((l + 64) >>> 9) << 4) + 14] = l;
272
272
  for (var i = 0; i < m.length; i += 16) {
273
273
  aa = a;