forked from dvdbng/tweetnacl-blake2b-js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
nacl.min.js
1 lines (1 loc) · 18 KB
/
nacl.min.js
1
var nacl=function(r){function n(t){if(e[t])return e[t].exports;var o=e[t]={i:t,l:!1,exports:{}};return r[t].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var e={};return n.m=r,n.c=e,n.d=function(r,e,t){n.o(r,e)||Object.defineProperty(r,e,{configurable:!1,enumerable:!0,get:t})},n.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return n.d(e,"a",e),e},n.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},n.p="",n(n.s=0)}([function(r,n,e){var t=e(1);!function(r){"use strict";function n(r,n){return r<<n|r>>>32-n}function o(r,n){var e=255&r[n+3];return e=e<<8|255&r[n+2],(e=e<<8|255&r[n+1])<<8|255&r[n+0]}function a(r,n,e){var t;for(t=0;t<4;t++)r[n+t]=255&e,e>>>=8}function i(r,n,e,t,o){var a,i=0;for(a=0;a<o;a++)i|=r[n+a]^e[t+a];return(1&i-1>>>8)-1}function f(r,n,e,t){return i(r,n,e,t,16)}function u(r,n,e,t){return i(r,n,e,t,32)}function c(r,e,t,i,f){var u,c,y,s=new Uint32Array(16),l=new Uint32Array(16),w=new Uint32Array(16),h=new Uint32Array(4);for(u=0;u<4;u++)l[5*u]=o(i,4*u),l[1+u]=o(t,4*u),l[6+u]=o(e,4*u),l[11+u]=o(t,16+4*u);for(u=0;u<16;u++)w[u]=l[u];for(u=0;u<20;u++){for(c=0;c<4;c++){for(y=0;y<4;y++)h[y]=l[(5*c+4*y)%16];for(h[1]^=n(h[0]+h[3]|0,7),h[2]^=n(h[1]+h[0]|0,9),h[3]^=n(h[2]+h[1]|0,13),h[0]^=n(h[3]+h[2]|0,18),y=0;y<4;y++)s[4*c+(c+y)%4]=h[y]}for(y=0;y<16;y++)l[y]=s[y]}if(f){for(u=0;u<16;u++)l[u]=l[u]+w[u]|0;for(u=0;u<4;u++)l[5*u]=l[5*u]-o(i,4*u)|0,l[6+u]=l[6+u]-o(e,4*u)|0;for(u=0;u<4;u++)a(r,4*u,l[5*u]),a(r,16+4*u,l[6+u])}else for(u=0;u<16;u++)a(r,4*u,l[u]+w[u]|0)}function y(r,n,e,t){return c(r,n,e,t,!1),0}function s(r,n,e,t){return c(r,n,e,t,!0),0}function l(r,n,e,t,o,a,i){var f,u,c=new Uint8Array(16),s=new Uint8Array(64);if(!o)return 0;for(u=0;u<16;u++)c[u]=0;for(u=0;u<8;u++)c[u]=a[u];for(;o>=64;){for(y(s,c,i,hr),u=0;u<64;u++)r[n+u]=(e?e[t+u]:0)^s[u];for(f=1,u=8;u<16;u++)f=f+(255&c[u])|0,c[u]=255&f,f>>>=8;o-=64,n+=64,e&&(t+=64)}if(o>0)for(y(s,c,i,hr),u=0;u<o;u++)r[n+u]=(e?e[t+u]:0)^s[u];return 0}function w(r,n,e,t,o){return l(r,n,null,0,e,t,o)}function h(r,n,e,t,o){var a=new Uint8Array(32);return s(a,t,o,hr),w(r,n,e,t.subarray(16),a)}function g(r,n,e,t,o,a,i){var f=new Uint8Array(32);return s(f,a,i,hr),l(r,n,e,t,o,a.subarray(16),f)}function b(r,n){var e,t=0;for(e=0;e<17;e++)t=t+(r[e]+n[e]|0)|0,r[e]=255&t,t>>>=8}function v(r,n,e,t,o,a){var i,f,u,c,y=new Uint32Array(17),s=new Uint32Array(17),l=new Uint32Array(17),w=new Uint32Array(17),h=new Uint32Array(17);for(u=0;u<17;u++)s[u]=l[u]=0;for(u=0;u<16;u++)s[u]=a[u];for(s[3]&=15,s[4]&=252,s[7]&=15,s[8]&=252,s[11]&=15,s[12]&=252,s[15]&=15;o>0;){for(u=0;u<17;u++)w[u]=0;for(u=0;u<16&&u<o;++u)w[u]=e[t+u];for(w[u]=1,t+=u,o-=u,b(l,w),f=0;f<17;f++)for(y[f]=0,u=0;u<17;u++)y[f]=0|y[f]+l[u]*(u<=f?s[f-u]:320*s[f+17-u]|0);for(f=0;f<17;f++)l[f]=y[f];for(c=0,u=0;u<16;u++)c=c+l[u]|0,l[u]=255&c,c>>>=8;for(c=c+l[16]|0,l[16]=3&c,c=5*(c>>>2)|0,u=0;u<16;u++)c=c+l[u]|0,l[u]=255&c,c>>>=8;c=c+l[16]|0,l[16]=c}for(u=0;u<17;u++)h[u]=l[u];for(b(l,gr),i=0|-(l[16]>>>7),u=0;u<17;u++)l[u]^=i&(h[u]^l[u]);for(u=0;u<16;u++)w[u]=a[u+16];for(w[16]=0,b(l,w),u=0;u<16;u++)r[n+u]=l[u];return 0}function p(r,n,e,t,o,a){var i=new Uint8Array(16);return v(i,0,e,t,o,a),f(r,n,i,0)}function A(r,n,e,t,o){var a;if(e<32)return-1;for(g(r,0,n,0,e,t,o),v(r,16,r,32,e-32,r),a=0;a<16;a++)r[a]=0;return 0}function U(r,n,e,t,o){var a,i=new Uint8Array(32);if(e<32)return-1;if(h(i,0,32,t,o),0!==p(n,16,n,32,e-32,i))return-1;for(g(r,0,n,0,e,t,o),a=0;a<32;a++)r[a]=0;return 0}function _(r,n){var e;for(e=0;e<16;e++)r[e]=0|n[e]}function E(r){var n,e;for(e=0;e<16;e++)r[e]+=65536,n=Math.floor(r[e]/65536),r[(e+1)*(e<15?1:0)]+=n-1+37*(n-1)*(15===e?1:0),r[e]-=65536*n}function x(r,n,e){for(var t,o=~(e-1),a=0;a<16;a++)t=o&(r[a]^n[a]),r[a]^=t,n[a]^=t}function d(r,n){var e,t,o,a=er(),i=er();for(e=0;e<16;e++)i[e]=n[e];for(E(i),E(i),E(i),t=0;t<2;t++){for(a[0]=i[0]-65517,e=1;e<15;e++)a[e]=i[e]-65535-(a[e-1]>>16&1),a[e-1]&=65535;a[15]=i[15]-32767-(a[14]>>16&1),o=a[15]>>16&1,a[14]&=65535,x(i,a,1-o)}for(e=0;e<16;e++)r[2*e]=255&i[e],r[2*e+1]=i[e]>>8}function m(r,n){var e=new Uint8Array(32),t=new Uint8Array(32);return d(e,r),d(t,n),u(e,0,t,0)}function B(r){var n=new Uint8Array(32);return d(n,r),1&n[0]}function S(r,n){var e;for(e=0;e<16;e++)r[e]=n[2*e]+(n[2*e+1]<<8);r[15]&=32767}function k(r,n,e){var t;for(t=0;t<16;t++)r[t]=n[t]+e[t]|0}function T(r,n,e){var t;for(t=0;t<16;t++)r[t]=n[t]-e[t]|0}function K(r,n,e){var t,o,a=new Float64Array(31);for(t=0;t<31;t++)a[t]=0;for(t=0;t<16;t++)for(o=0;o<16;o++)a[t+o]+=n[t]*e[o];for(t=0;t<15;t++)a[t]+=38*a[t+16];for(t=0;t<16;t++)r[t]=a[t];E(r),E(r)}function Y(r,n){K(r,n,n)}function L(r,n){var e,t=er();for(e=0;e<16;e++)t[e]=n[e];for(e=253;e>=0;e--)Y(t,t),2!==e&&4!==e&&K(t,t,n);for(e=0;e<16;e++)r[e]=t[e]}function z(r,n){var e,t=er();for(e=0;e<16;e++)t[e]=n[e];for(e=250;e>=0;e--)Y(t,t),1!==e&&K(t,t,n);for(e=0;e<16;e++)r[e]=t[e]}function P(r,n,e){var t,o,a=new Uint8Array(32),i=new Float64Array(80),f=er(),u=er(),c=er(),y=er(),s=er(),l=er();for(o=0;o<31;o++)a[o]=n[o];for(a[31]=127&n[31]|64,a[0]&=248,S(i,e),o=0;o<16;o++)u[o]=i[o],y[o]=f[o]=c[o]=0;for(f[0]=y[0]=1,o=254;o>=0;--o)t=a[o>>>3]>>>(7&o)&1,x(f,u,t),x(c,y,t),k(s,f,c),T(f,f,c),k(c,u,y),T(u,u,y),Y(y,s),Y(l,f),K(f,c,f),K(c,u,s),k(s,f,c),T(f,f,c),Y(u,f),T(c,y,l),K(f,c,ur),k(f,f,y),K(c,c,f),K(f,y,l),K(y,u,i),Y(u,s),x(f,u,t),x(c,y,t);for(o=0;o<16;o++)i[o+16]=f[o],i[o+32]=c[o],i[o+48]=u[o],i[o+64]=y[o];var w=i.subarray(32),h=i.subarray(16);return L(w,w),K(h,h,w),d(r,h),0}function R(r,n){return P(r,n,ar)}function C(r,n){return tr(n,32),R(r,n)}function O(r,n,e){var t=new Uint8Array(32);return P(t,e,n),s(r,or,t,hr)}function M(r,n,e,t,o,a){var i=new Uint8Array(32);return O(i,o,a),br(r,n,e,t,i)}function N(r,n,e,t,o,a){var i=new Uint8Array(32);return O(i,o,a),vr(r,n,e,t,i)}function I(r,n,e){var o,a=new Uint8Array(e);for(o=0;o<e;++o)a[o]=n[o];var i=t.blake2b(a);for(o=0;o<dr;++o)r[o]=i[o];return 0}function F(r,n){var e=er(),t=er(),o=er(),a=er(),i=er(),f=er(),u=er(),c=er(),y=er();T(e,r[1],r[0]),T(y,n[1],n[0]),K(e,e,y),k(t,r[0],r[1]),k(y,n[0],n[1]),K(t,t,y),K(o,r[3],n[3]),K(o,o,yr),K(a,r[2],n[2]),k(a,a,a),T(i,t,e),T(f,a,o),k(u,a,o),k(c,t,e),K(r[0],i,f),K(r[1],c,u),K(r[2],u,f),K(r[3],i,c)}function D(r,n,e){var t;for(t=0;t<4;t++)x(r[t],n[t],e)}function G(r,n){var e=er(),t=er(),o=er();L(o,n[2]),K(e,n[0],o),K(t,n[1],o),d(r,t),r[31]^=B(e)<<7}function j(r,n,e){var t,o;for(_(r[0],ir),_(r[1],fr),_(r[2],fr),_(r[3],ir),o=255;o>=0;--o)t=e[o/8|0]>>(7&o)&1,D(r,n,t),F(n,r),F(r,r),D(r,n,t)}function H(r,n){var e=[er(),er(),er(),er()];_(e[0],sr),_(e[1],lr),_(e[2],fr),K(e[3],sr,lr),j(r,e,n)}function Z(r,n,e){var t,o=new Uint8Array(64),a=[er(),er(),er(),er()];for(e||tr(n,32),I(o,n,32),o[0]&=248,o[31]&=127,o[31]|=64,H(a,o),G(r,a),t=0;t<32;t++)n[t+32]=r[t];return 0}function V(r,n){var e,t,o,a;for(t=63;t>=32;--t){for(e=0,o=t-32,a=t-12;o<a;++o)n[o]+=e-16*n[t]*pr[o-(t-32)],e=n[o]+128>>8,n[o]-=256*e;n[o]+=e,n[t]=0}for(e=0,o=0;o<32;o++)n[o]+=e-(n[31]>>4)*pr[o],e=n[o]>>8,n[o]&=255;for(o=0;o<32;o++)n[o]-=e*pr[o];for(t=0;t<32;t++)n[t+1]+=n[t]>>8,r[t]=255&n[t]}function X(r){var n,e=new Float64Array(64);for(n=0;n<64;n++)e[n]=r[n];for(n=0;n<64;n++)r[n]=0;V(r,e)}function q(r,n,e,t){var o,a,i=new Uint8Array(64),f=new Uint8Array(64),u=new Uint8Array(64),c=new Float64Array(64),y=[er(),er(),er(),er()];I(i,t,32),i[0]&=248,i[31]&=127,i[31]|=64;var s=e+64;for(o=0;o<e;o++)r[64+o]=n[o];for(o=0;o<32;o++)r[32+o]=i[32+o];for(I(u,r.subarray(32),e+32),X(u),H(y,u),G(r,y),o=32;o<64;o++)r[o]=t[o];for(I(f,r,e+64),X(f),o=0;o<64;o++)c[o]=0;for(o=0;o<32;o++)c[o]=u[o];for(o=0;o<32;o++)for(a=0;a<32;a++)c[o+a]+=f[o]*i[a];return V(r.subarray(32),c),s}function J(r,n){var e=er(),t=er(),o=er(),a=er(),i=er(),f=er(),u=er();return _(r[2],fr),S(r[1],n),Y(o,r[1]),K(a,o,cr),T(o,o,r[2]),k(a,r[2],a),Y(i,a),Y(f,i),K(u,f,i),K(e,u,o),K(e,e,a),z(e,e),K(e,e,o),K(e,e,a),K(e,e,a),K(r[0],e,a),Y(t,r[0]),K(t,t,a),m(t,o)&&K(r[0],r[0],wr),Y(t,r[0]),K(t,t,a),m(t,o)?-1:(B(r[0])===n[31]>>7&&T(r[0],ir,r[0]),K(r[3],r[0],r[1]),0)}function Q(r,n,e,t){var o,a=new Uint8Array(32),i=new Uint8Array(64),f=[er(),er(),er(),er()],c=[er(),er(),er(),er()];if(-1,e<64)return-1;if(J(c,t))return-1;for(o=0;o<e;o++)r[o]=n[o];for(o=0;o<32;o++)r[o+32]=t[o];if(I(i,r,e),X(i),j(f,c,i),H(c,n.subarray(32)),F(f,c),G(a,f),e-=64,u(n,0,a,0)){for(o=0;o<e;o++)r[o]=0;return-1}for(o=0;o<e;o++)r[o]=n[o+64];return e}function W(r,n){if(r.length!==Ar)throw new Error("bad key size");if(n.length!==Ur)throw new Error("bad nonce size")}function $(r,n){if(r.length!==_r)throw new Error("bad public key size");if(n.length!==Er)throw new Error("bad secret key size")}function rr(){for(var r=0;r<arguments.length;r++)if(!(arguments[r]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function nr(r){for(var n=0;n<r.length;n++)r[n]=0}var er=function(r){var n,e=new Float64Array(16);if(r)for(n=0;n<r.length;n++)e[n]=r[n];return e},tr=function(){throw new Error("no PRNG")},or=new Uint8Array(16),ar=new Uint8Array(32);ar[0]=9;var ir=er(),fr=er([1]),ur=er([56129,1]),cr=er([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),yr=er([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),sr=er([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),lr=er([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),wr=er([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]),hr=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]),gr=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]),br=A,vr=U,pr=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]),Ar=32,Ur=24,_r=32,Er=32,xr=Ur,dr=64;r.lowlevel={crypto_core_hsalsa20:s,crypto_stream_xor:g,crypto_stream:h,crypto_stream_salsa20_xor:l,crypto_stream_salsa20:w,crypto_onetimeauth:v,crypto_onetimeauth_verify:p,crypto_verify_16:f,crypto_verify_32:u,crypto_secretbox:A,crypto_secretbox_open:U,crypto_scalarmult:P,crypto_scalarmult_base:R,crypto_box_beforenm:O,crypto_box_afternm:br,crypto_box:M,crypto_box_open:N,crypto_box_keypair:C,crypto_hash:I,crypto_sign:q,crypto_sign_keypair:Z,crypto_sign_open:Q,crypto_secretbox_KEYBYTES:Ar,crypto_secretbox_NONCEBYTES:Ur,crypto_secretbox_ZEROBYTES:32,crypto_secretbox_BOXZEROBYTES:16,crypto_scalarmult_BYTES:32,crypto_scalarmult_SCALARBYTES:32,crypto_box_PUBLICKEYBYTES:_r,crypto_box_SECRETKEYBYTES:Er,crypto_box_BEFORENMBYTES:32,crypto_box_NONCEBYTES:xr,crypto_box_ZEROBYTES:32,crypto_box_BOXZEROBYTES:16,crypto_sign_BYTES:64,crypto_sign_PUBLICKEYBYTES:32,crypto_sign_SECRETKEYBYTES:64,crypto_sign_SEEDBYTES:32,crypto_hash_BYTES:dr},r.randomBytes=function(r){var n=new Uint8Array(r);return tr(n,r),n},r.secretbox=function(r,n,e){rr(r,n,e),W(e,n);for(var t=new Uint8Array(32+r.length),o=new Uint8Array(t.length),a=0;a<r.length;a++)t[a+32]=r[a];return A(o,t,t.length,n,e),o.subarray(16)},r.secretbox.open=function(r,n,e){rr(r,n,e),W(e,n);for(var t=new Uint8Array(16+r.length),o=new Uint8Array(t.length),a=0;a<r.length;a++)t[a+16]=r[a];return t.length<32?null:0!==U(o,t,t.length,n,e)?null:o.subarray(32)},r.secretbox.keyLength=Ar,r.secretbox.nonceLength=Ur,r.secretbox.overheadLength=16,r.scalarMult=function(r,n){if(rr(r,n),32!==r.length)throw new Error("bad n size");if(32!==n.length)throw new Error("bad p size");var e=new Uint8Array(32);return P(e,r,n),e},r.scalarMult.base=function(r){if(rr(r),32!==r.length)throw new Error("bad n size");var n=new Uint8Array(32);return R(n,r),n},r.scalarMult.scalarLength=32,r.scalarMult.groupElementLength=32,r.box=function(n,e,t,o){var a=r.box.before(t,o);return r.secretbox(n,e,a)},r.box.before=function(r,n){rr(r,n),$(r,n);var e=new Uint8Array(32);return O(e,r,n),e},r.box.after=r.secretbox,r.box.open=function(n,e,t,o){var a=r.box.before(t,o);return r.secretbox.open(n,e,a)},r.box.open.after=r.secretbox.open,r.box.keyPair=function(){var r=new Uint8Array(_r),n=new Uint8Array(Er);return C(r,n),{publicKey:r,secretKey:n}},r.box.keyPair.fromSecretKey=function(r){if(rr(r),r.length!==Er)throw new Error("bad secret key size");var n=new Uint8Array(_r);return R(n,r),{publicKey:n,secretKey:new Uint8Array(r)}},r.box.publicKeyLength=_r,r.box.secretKeyLength=Er,r.box.sharedKeyLength=32,r.box.nonceLength=xr,r.box.overheadLength=r.secretbox.overheadLength,r.sign=function(r,n){if(rr(r,n),64!==n.length)throw new Error("bad secret key size");var e=new Uint8Array(64+r.length);return q(e,r,r.length,n),e},r.sign.open=function(r,n){if(rr(r,n),32!==n.length)throw new Error("bad public key size");var e=new Uint8Array(r.length),t=Q(e,r,r.length,n);if(t<0)return null;for(var o=new Uint8Array(t),a=0;a<o.length;a++)o[a]=e[a];return o},r.sign.detached=function(n,e){for(var t=r.sign(n,e),o=new Uint8Array(64),a=0;a<o.length;a++)o[a]=t[a];return o},r.sign.detached.verify=function(r,n,e){if(rr(r,n,e),64!==n.length)throw new Error("bad signature size");if(32!==e.length)throw new Error("bad public key size");var t,o=new Uint8Array(64+r.length),a=new Uint8Array(64+r.length);for(t=0;t<64;t++)o[t]=n[t];for(t=0;t<r.length;t++)o[t+64]=r[t];return Q(a,o,o.length,e)>=0},r.sign.keyPair=function(){var r=new Uint8Array(32),n=new Uint8Array(64);return Z(r,n),{publicKey:r,secretKey:n}},r.sign.keyPair.fromSecretKey=function(r){if(rr(r),64!==r.length)throw new Error("bad secret key size");for(var n=new Uint8Array(32),e=0;e<n.length;e++)n[e]=r[32+e];return{publicKey:n,secretKey:new Uint8Array(r)}},r.sign.keyPair.fromSeed=function(r){if(rr(r),32!==r.length)throw new Error("bad seed size");for(var n=new Uint8Array(32),e=new Uint8Array(64),t=0;t<32;t++)e[t]=r[t];return Z(n,e,!0),{publicKey:n,secretKey:e}},r.sign.publicKeyLength=32,r.sign.secretKeyLength=64,r.sign.seedLength=32,r.sign.signatureLength=64,r.hash=function(r){rr(r);var n=new Uint8Array(dr);return I(n,r,r.length),n},r.hash.hashLength=dr,r.verify=function(r,n){return rr(r,n),0!==r.length&&0!==n.length&&(r.length===n.length&&0===i(r,0,n,0,r.length))},r.setPRNG=function(r){tr=r},function(){var n="undefined"!=typeof self?self.crypto||self.msCrypto:null;if(n&&n.getRandomValues){r.setPRNG(function(r,e){var t,o=new Uint8Array(e);for(t=0;t<e;t+=65536)n.getRandomValues(o.subarray(t,t+Math.min(e-t,65536)));for(t=0;t<e;t++)r[t]=o[t];nr(o)})}else(n=e(3))&&n.randomBytes&&r.setPRNG(function(r,e){var t,o=n.randomBytes(e);for(t=0;t<e;t++)r[t]=o[t];nr(o)})}()}(void 0!==r&&r.exports?r.exports:self.nacl=self.nacl||{})},function(r,n,e){function t(r,n,e){var t=r[n]+r[e],o=r[n+1]+r[e+1];t>=4294967296&&o++,r[n]=t,r[n+1]=o}function o(r,n,e,t){var o=r[n]+e;e<0&&(o+=4294967296);var a=r[n+1]+t;o>=4294967296&&a++,r[n]=o,r[n+1]=a}function a(r,n){return r[n]^r[n+1]<<8^r[n+2]<<16^r[n+3]<<24}function i(r,n,e,a,i,f){var u=p[i],c=p[i+1],y=p[f],s=p[f+1];t(v,r,n),o(v,r,u,c);var l=v[a]^v[r],w=v[a+1]^v[r+1];v[a]=w,v[a+1]=l,t(v,e,a),l=v[n]^v[e],w=v[n+1]^v[e+1],v[n]=l>>>24^w<<8,v[n+1]=w>>>24^l<<8,t(v,r,n),o(v,r,y,s),l=v[a]^v[r],w=v[a+1]^v[r+1],v[a]=l>>>16^w<<16,v[a+1]=w>>>16^l<<16,t(v,e,a),l=v[n]^v[e],w=v[n+1]^v[e+1],v[n]=w>>>31^l<<1,v[n+1]=l>>>31^w<<1}function f(r,n){var e=0;for(e=0;e<16;e++)v[e]=r.h[e],v[e+16]=h[e];for(v[24]=v[24]^r.t,v[25]=v[25]^r.t/4294967296,n&&(v[28]=~v[28],v[29]=~v[29]),e=0;e<32;e++)p[e]=a(r.b,4*e);for(e=0;e<12;e++)i(0,8,16,24,b[16*e+0],b[16*e+1]),i(2,10,18,26,b[16*e+2],b[16*e+3]),i(4,12,20,28,b[16*e+4],b[16*e+5]),i(6,14,22,30,b[16*e+6],b[16*e+7]),i(0,10,20,30,b[16*e+8],b[16*e+9]),i(2,12,22,24,b[16*e+10],b[16*e+11]),i(4,14,16,26,b[16*e+12],b[16*e+13]),i(6,8,18,28,b[16*e+14],b[16*e+15]);for(e=0;e<16;e++)r.h[e]=r.h[e]^v[e]^v[e+16]}function u(r,n){if(0===r||r>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(n&&n.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");for(var e={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:r},t=0;t<16;t++)e.h[t]=h[t];var o=n?n.length:0;return e.h[0]^=16842752^o<<8^r,n&&(c(e,n),e.c=128),e}function c(r,n){for(var e=0;e<n.length;e++)128===r.c&&(r.t+=r.c,f(r,!1),r.c=0),r.b[r.c++]=n[e]}function y(r){for(r.t+=r.c;r.c<128;)r.b[r.c++]=0;f(r,!0);for(var n=new Uint8Array(r.outlen),e=0;e<r.outlen;e++)n[e]=r.h[e>>2]>>8*(3&e);return n}function s(r,n,e){e=e||64,r=w.normalizeInput(r);var t=u(e,n);return c(t,r),y(t)}function l(r,n,e){var t=s(r,n,e);return w.toHex(t)}var w=e(2),h=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),g=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],b=new Uint8Array(g.map(function(r){return 2*r})),v=new Uint32Array(32),p=new Uint32Array(32);r.exports={blake2b:s,blake2bHex:l,blake2bInit:u,blake2bUpdate:c,blake2bFinal:y}},function(r,n){function e(r){var n;if(r instanceof Uint8Array)n=r;else if(r instanceof Buffer)n=new Uint8Array(r);else{if("string"!=typeof r)throw new Error(f);n=new Uint8Array(Buffer.from(r,"utf8"))}return n}function t(r){return Array.prototype.map.call(r,function(r){return(r<16?"0":"")+r.toString(16)}).join("")}function o(r){return(4294967296+r).toString(16).substring(1)}function a(r,n,e){for(var t="\n"+r+" = ",a=0;a<n.length;a+=2){if(32===e)t+=o(n[a]).toUpperCase(),t+=" ",t+=o(n[a+1]).toUpperCase();else{if(64!==e)throw new Error("Invalid size "+e);t+=o(n[a+1]).toUpperCase(),t+=o(n[a]).toUpperCase()}a%6==4?t+="\n"+new Array(r.length+4).join(" "):a<n.length-2&&(t+=" ")}console.log(t)}function i(r,n,e){for(var t=(new Date).getTime(),o=new Uint8Array(n),a=0;a<n;a++)o[a]=a%256;var i=(new Date).getTime();for(console.log("Generated random input in "+(i-t)+"ms"),t=i,a=0;a<e;a++){var f=r(o),u=(new Date).getTime(),c=u-t;t=u,console.log("Hashed in "+c+"ms: "+f.substring(0,20)+"..."),console.log(Math.round(n/(1<<20)/(c/1e3)*100)/100+" MB PER SECOND")}}var f="Input must be an string, Buffer or Uint8Array";r.exports={normalizeInput:e,toHex:t,debugPrint:a,testSpeed:i}},function(r,n){}]);