From 241405d4fd20a7d4151f5fb8bc1b70964c5f7fac Mon Sep 17 00:00:00 2001 From: Yi-Cyuan Chen Date: Thu, 21 Dec 2017 20:52:13 +0800 Subject: [PATCH] Fixed incorrect result when first bit is 1 of bytes. --- .covignore | 2 - .gitignore | 3 +- .npmignore | 4 +- .travis.yml | 3 +- CHANGELOG.md | 4 + bower.json | 2 +- build/sha512.min.js | 4 +- package-lock.json | 1817 ++++++++++++++++++++++++++++++++++++++----- package.json | 20 +- src/sha512.js | 4 +- tests/hmac-test.js | 12 + 11 files changed, 1678 insertions(+), 197 deletions(-) delete mode 100644 .covignore diff --git a/.covignore b/.covignore deleted file mode 100644 index c5e2446..0000000 --- a/.covignore +++ /dev/null @@ -1,2 +0,0 @@ -/node_modules/ -/tests/ diff --git a/.gitignore b/.gitignore index 856f74c..ecccf38 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /node_modules/ -/covreporter/ +/coverage/ +/.nyc_output/ diff --git a/.npmignore b/.npmignore index 85581a5..140f89b 100644 --- a/.npmignore +++ b/.npmignore @@ -1,7 +1,7 @@ /node_modules/ -/covreporter/ +/coverage/ +/.nyc_output/ /tests/ -.covignore .travis.yml .npmignore bower.json diff --git a/.travis.yml b/.travis.yml index 5db325c..cea9e7f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,8 +4,7 @@ node_js: - "8.6.0" before_install: - npm install coveralls - - npm install mocha-lcov-reporter -script: npm run-script coveralls +after_success: npm run coveralls branches: only: - master diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a727c4..9e4d3cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## v0.7.1 / 2017-12-21 +### Fixed +- incorrect result when first bit is 1 of bytes. + ## v0.7.0 / 2017-11-19 ### Added - support HMAC. #8 diff --git a/bower.json b/bower.json index 54fc812..1d56550 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "js-sha512", - "version": "0.7.0", + "version": "0.7.1", "main": ["src/sha512.js"], "ignore": [ "samples", diff --git a/build/sha512.min.js b/build/sha512.min.js index a951859..f2c5e25 100644 --- a/build/sha512.min.js +++ b/build/sha512.min.js @@ -1,9 +1,9 @@ /* * [js-sha512]{@link https://github.com/emn178/js-sha512} * - * @version 0.7.0 + * @version 0.7.1 * @author Chen, Yi-Cyuan [emn178@gmail.com] * @copyright Chen, Yi-Cyuan 2014-2017 * @license MIT */ -!function(){"use strict";function h(h,t){t?(d[0]=d[1]=d[2]=d[3]=d[4]=d[5]=d[6]=d[7]=d[8]=d[9]=d[10]=d[11]=d[12]=d[13]=d[14]=d[15]=d[16]=d[17]=d[18]=d[19]=d[20]=d[21]=d[22]=d[23]=d[24]=d[25]=d[26]=d[27]=d[28]=d[29]=d[30]=d[31]=d[32]=0,this.blocks=d):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],384==h?(this.h0h=3418070365,this.h0l=3238371032,this.h1h=1654270250,this.h1l=914150663,this.h2h=2438529370,this.h2l=812702999,this.h3h=355462360,this.h3l=4144912697,this.h4h=1731405415,this.h4l=4290775857,this.h5h=2394180231,this.h5l=1750603025,this.h6h=3675008525,this.h6l=1694076839,this.h7h=1203062813,this.h7l=3204075428):256==h?(this.h0h=573645204,this.h0l=4230739756,this.h1h=2673172387,this.h1l=3360449730,this.h2h=596883563,this.h2l=1867755857,this.h3h=2520282905,this.h3l=1497426621,this.h4h=2519219938,this.h4l=2827943907,this.h5h=3193839141,this.h5l=1401305490,this.h6h=721525244,this.h6l=746961066,this.h7h=246885852,this.h7l=2177182882):224==h?(this.h0h=2352822216,this.h0l=424955298,this.h1h=1944164710,this.h1l=2312950998,this.h2h=502970286,this.h2l=855612546,this.h3h=1738396948,this.h3l=1479516111,this.h4h=258812777,this.h4l=2077511080,this.h5h=2011393907,this.h5l=79989058,this.h6h=1067287976,this.h6l=1780299464,this.h7h=286451373,this.h7l=2446758561):(this.h0h=1779033703,this.h0l=4089235720,this.h1h=3144134277,this.h1l=2227873595,this.h2h=1013904242,this.h2l=4271175723,this.h3h=2773480762,this.h3l=1595750129,this.h4h=1359893119,this.h4l=2917565137,this.h5h=2600822924,this.h5l=725511199,this.h6h=528734635,this.h6l=4215389547,this.h7h=1541459225,this.h7l=327033209),this.bits=h,this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1}function t(t,s,e){var r,a=typeof t;if("string"!==a){if("object"!==a)throw i;if(null===t)throw i;if(o&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!(Array.isArray(t)||o&&ArrayBuffer.isView(t)))throw i;r=!0}var n=t.length;if(!r){for(var l,f=[],n=t.length,u=0,c=0;n>c;++c)l=t.charCodeAt(c),128>l?f[u++]=l:2048>l?(f[u++]=192|l>>6,f[u++]=128|63&l):55296>l||l>=57344?(f[u++]=224|l>>12,f[u++]=128|l>>6&63,f[u++]=128|63&l):(l=65536+((1023&l)<<10|1023&t.charCodeAt(++c)),f[u++]=240|l>>18,f[u++]=128|l>>12&63,f[u++]=128|l>>6&63,f[u++]=128|63&l);t=f}t.length>128&&(t=new h(s,!0).update(t).array());for(var y=[],p=[],c=0;128>c;++c){var d=t[c]||0;y[c]=92^d,p[c]=54^d}h.call(this,s,e),this.update(p),this.oKeyPad=y,this.inner=!0,this.sharedMemory=e}var i="input is invalid type",s="object"==typeof window,e=s?window:{};e.JS_SHA512_NO_WINDOW&&(s=!1);var r=!s&&"object"==typeof self,a=!e.JS_SHA512_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;a?e=global:r&&(e=self);var n=!e.JS_SHA512_NO_COMMON_JS&&"object"==typeof module&&module.exports,l="function"==typeof define&&define.amd,o=!e.JS_SHA512_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,f="0123456789abcdef".split(""),u=[-2147483648,8388608,32768,128],c=[24,16,8,0],y=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],p=["hex","array","digest","arrayBuffer"],d=[];(e.JS_SHA512_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(h){return"[object Array]"===Object.prototype.toString.call(h)}),!o||!e.JS_SHA512_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(h){return"object"==typeof h&&h.buffer&&h.buffer.constructor===ArrayBuffer});var b=function(t,i){return function(s){return new h(i,!0).update(s)[t]()}},A=function(t){var i=b("hex",t);i.create=function(){return new h(t)},i.update=function(h){return i.create().update(h)};for(var s=0;sa;){if(this.hashed&&(this.hashed=!1,l[0]=this.block,l[1]=l[2]=l[3]=l[4]=l[5]=l[6]=l[7]=l[8]=l[9]=l[10]=l[11]=l[12]=l[13]=l[14]=l[15]=l[16]=l[17]=l[18]=l[19]=l[20]=l[21]=l[22]=l[23]=l[24]=l[25]=l[26]=l[27]=l[28]=l[29]=l[30]=l[31]=l[32]=0),t)for(r=this.start;n>a&&128>r;++a)l[r>>2]|=h[a]<a&&128>r;++a)e=h.charCodeAt(a),128>e?l[r>>2]|=e<e?(l[r>>2]|=(192|e>>6)<>2]|=(128|63&e)<e||e>=57344?(l[r>>2]|=(224|e>>12)<>2]|=(128|e>>6&63)<>2]|=(128|63&e)<>2]|=(240|e>>18)<>2]|=(128|e>>12&63)<>2]|=(128|e>>6&63)<>2]|=(128|63&e)<=128?(this.block=l[32],this.start=r-128,this.hash(),this.hashed=!0):this.start=r}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},h.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var h=this.blocks,t=this.lastByteIndex;h[32]=this.block,h[t>>2]|=u[3&t],this.block=h[32],t>=112&&(this.hashed||this.hash(),h[0]=this.block,h[1]=h[2]=h[3]=h[4]=h[5]=h[6]=h[7]=h[8]=h[9]=h[10]=h[11]=h[12]=h[13]=h[14]=h[15]=h[16]=h[17]=h[18]=h[19]=h[20]=h[21]=h[22]=h[23]=h[24]=h[25]=h[26]=h[27]=h[28]=h[29]=h[30]=h[31]=h[32]=0),h[30]=this.hBytes<<3|this.bytes>>29,h[31]=this.bytes<<3,this.hash()}},h.prototype.hash=function(){var h,t,i,s,e,r,a,n,l,o,f,u,c,p,d,b,A,_,v,w,U,B,S,g,O,k=this.h0h,z=this.h0l,m=this.h1h,N=this.h1l,j=this.h2h,x=this.h2l,J=this.h3h,H=this.h3l,R=this.h4h,V=this.h4l,C=this.h5h,E=this.h5l,I=this.h6h,D=this.h6l,F=this.h7h,M=this.h7l,W=this.blocks;for(h=32;160>h;h+=2)w=W[h-30],U=W[h-29],t=(w>>>1|U<<31)^(w>>>8|U<<24)^w>>>7,i=(U>>>1|w<<31)^(U>>>8|w<<24)^(U>>>7|w<<25),w=W[h-4],U=W[h-3],s=(w>>>19|U<<13)^(U>>>29|w<<3)^w>>>6,e=(U>>>19|w<<13)^(w>>>29|U<<3)^(U>>>6|w<<26),w=W[h-32],U=W[h-31],B=W[h-14],S=W[h-13],r=(65535&S)+(65535&U)+(65535&i)+(65535&e),a=(S>>>16)+(U>>>16)+(i>>>16)+(e>>>16)+(r>>>16),n=(65535&B)+(65535&w)+(65535&t)+(65535&s)+(a>>>16),l=(B>>>16)+(w>>>16)+(t>>>16)+(s>>>16)+(n>>>16),W[h]=l<<16|65535&n,W[h+1]=a<<16|65535&r;var K=k,P=z,Y=m,q=N,G=j,L=x,Q=J,T=H,X=R,Z=V,$=C,hh=E,th=I,ih=D,sh=F,eh=M;for(b=Y&G,A=q&L,h=0;160>h;h+=8)t=(K>>>28|P<<4)^(P>>>2|K<<30)^(P>>>7|K<<25),i=(P>>>28|K<<4)^(K>>>2|P<<30)^(K>>>7|P<<25),s=(X>>>14|Z<<18)^(X>>>18|Z<<14)^(Z>>>9|X<<23),e=(Z>>>14|X<<18)^(Z>>>18|X<<14)^(X>>>9|Z<<23),o=K&Y,f=P&q,_=o^K&G^b,v=f^P&L^A,g=X&$^~X&th,O=Z&hh^~Z&ih,w=W[h],U=W[h+1],B=y[h],S=y[h+1],r=(65535&S)+(65535&U)+(65535&O)+(65535&e)+(65535&eh),a=(S>>>16)+(U>>>16)+(O>>>16)+(e>>>16)+(eh>>>16)+(r>>>16),n=(65535&B)+(65535&w)+(65535&g)+(65535&s)+(65535&sh)+(a>>>16),l=(B>>>16)+(w>>>16)+(g>>>16)+(s>>>16)+(sh>>>16)+(n>>>16),w=l<<16|65535&n,U=a<<16|65535&r,r=(65535&v)+(65535&i),a=(v>>>16)+(i>>>16)+(r>>>16),n=(65535&_)+(65535&t)+(a>>>16),l=(_>>>16)+(t>>>16)+(n>>>16),B=l<<16|65535&n,S=a<<16|65535&r,r=(65535&T)+(65535&U),a=(T>>>16)+(U>>>16)+(r>>>16),n=(65535&Q)+(65535&w)+(a>>>16),l=(Q>>>16)+(w>>>16)+(n>>>16),sh=l<<16|65535&n,eh=a<<16|65535&r,r=(65535&S)+(65535&U),a=(S>>>16)+(U>>>16)+(r>>>16),n=(65535&B)+(65535&w)+(a>>>16),l=(B>>>16)+(w>>>16)+(n>>>16),Q=l<<16|65535&n,T=a<<16|65535&r,t=(Q>>>28|T<<4)^(T>>>2|Q<<30)^(T>>>7|Q<<25),i=(T>>>28|Q<<4)^(Q>>>2|T<<30)^(Q>>>7|T<<25),s=(sh>>>14|eh<<18)^(sh>>>18|eh<<14)^(eh>>>9|sh<<23),e=(eh>>>14|sh<<18)^(eh>>>18|sh<<14)^(sh>>>9|eh<<23),u=Q&K,c=T&P,_=u^Q&Y^o,v=c^T&q^f,g=sh&X^~sh&$,O=eh&Z^~eh&hh,w=W[h+2],U=W[h+3],B=y[h+2],S=y[h+3],r=(65535&S)+(65535&U)+(65535&O)+(65535&e)+(65535&ih),a=(S>>>16)+(U>>>16)+(O>>>16)+(e>>>16)+(ih>>>16)+(r>>>16),n=(65535&B)+(65535&w)+(65535&g)+(65535&s)+(65535&th)+(a>>>16),l=(B>>>16)+(w>>>16)+(g>>>16)+(s>>>16)+(th>>>16)+(n>>>16),w=l<<16|65535&n,U=a<<16|65535&r,r=(65535&v)+(65535&i),a=(v>>>16)+(i>>>16)+(r>>>16),n=(65535&_)+(65535&t)+(a>>>16),l=(_>>>16)+(t>>>16)+(n>>>16),B=l<<16|65535&n,S=a<<16|65535&r,r=(65535&L)+(65535&U),a=(L>>>16)+(U>>>16)+(r>>>16),n=(65535&G)+(65535&w)+(a>>>16),l=(G>>>16)+(w>>>16)+(n>>>16),th=l<<16|65535&n,ih=a<<16|65535&r,r=(65535&S)+(65535&U),a=(S>>>16)+(U>>>16)+(r>>>16),n=(65535&B)+(65535&w)+(a>>>16),l=(B>>>16)+(w>>>16)+(n>>>16),G=l<<16|65535&n,L=a<<16|65535&r,t=(G>>>28|L<<4)^(L>>>2|G<<30)^(L>>>7|G<<25),i=(L>>>28|G<<4)^(G>>>2|L<<30)^(G>>>7|L<<25),s=(th>>>14|ih<<18)^(th>>>18|ih<<14)^(ih>>>9|th<<23),e=(ih>>>14|th<<18)^(ih>>>18|th<<14)^(th>>>9|ih<<23),p=G&Q,d=L&T,_=p^G&K^u,v=d^L&P^c,g=th&sh^~th&X,O=ih&eh^~ih&Z,w=W[h+4],U=W[h+5],B=y[h+4],S=y[h+5],r=(65535&S)+(65535&U)+(65535&O)+(65535&e)+(65535&hh),a=(S>>>16)+(U>>>16)+(O>>>16)+(e>>>16)+(hh>>>16)+(r>>>16),n=(65535&B)+(65535&w)+(65535&g)+(65535&s)+(65535&$)+(a>>>16),l=(B>>>16)+(w>>>16)+(g>>>16)+(s>>>16)+($>>>16)+(n>>>16),w=l<<16|65535&n,U=a<<16|65535&r,r=(65535&v)+(65535&i),a=(v>>>16)+(i>>>16)+(r>>>16),n=(65535&_)+(65535&t)+(a>>>16),l=(_>>>16)+(t>>>16)+(n>>>16),B=l<<16|65535&n,S=a<<16|65535&r,r=(65535&q)+(65535&U),a=(q>>>16)+(U>>>16)+(r>>>16),n=(65535&Y)+(65535&w)+(a>>>16),l=(Y>>>16)+(w>>>16)+(n>>>16),$=l<<16|65535&n,hh=a<<16|65535&r,r=(65535&S)+(65535&U),a=(S>>>16)+(U>>>16)+(r>>>16),n=(65535&B)+(65535&w)+(a>>>16),l=(B>>>16)+(w>>>16)+(n>>>16),Y=l<<16|65535&n,q=a<<16|65535&r,t=(Y>>>28|q<<4)^(q>>>2|Y<<30)^(q>>>7|Y<<25),i=(q>>>28|Y<<4)^(Y>>>2|q<<30)^(Y>>>7|q<<25),s=($>>>14|hh<<18)^($>>>18|hh<<14)^(hh>>>9|$<<23),e=(hh>>>14|$<<18)^(hh>>>18|$<<14)^($>>>9|hh<<23),b=Y&G,A=q&L,_=b^Y&Q^p,v=A^q&T^d,g=$&th^~$&sh,O=hh&ih^~hh&eh,w=W[h+6],U=W[h+7],B=y[h+6],S=y[h+7],r=(65535&S)+(65535&U)+(65535&O)+(65535&e)+(65535&Z),a=(S>>>16)+(U>>>16)+(O>>>16)+(e>>>16)+(Z>>>16)+(r>>>16),n=(65535&B)+(65535&w)+(65535&g)+(65535&s)+(65535&X)+(a>>>16),l=(B>>>16)+(w>>>16)+(g>>>16)+(s>>>16)+(X>>>16)+(n>>>16),w=l<<16|65535&n,U=a<<16|65535&r,r=(65535&v)+(65535&i),a=(v>>>16)+(i>>>16)+(r>>>16),n=(65535&_)+(65535&t)+(a>>>16),l=(_>>>16)+(t>>>16)+(n>>>16),B=l<<16|65535&n,S=a<<16|65535&r,r=(65535&P)+(65535&U),a=(P>>>16)+(U>>>16)+(r>>>16),n=(65535&K)+(65535&w)+(a>>>16),l=(K>>>16)+(w>>>16)+(n>>>16),X=l<<16|65535&n,Z=a<<16|65535&r,r=(65535&S)+(65535&U),a=(S>>>16)+(U>>>16)+(r>>>16),n=(65535&B)+(65535&w)+(a>>>16),l=(B>>>16)+(w>>>16)+(n>>>16),K=l<<16|65535&n,P=a<<16|65535&r;r=(65535&z)+(65535&P),a=(z>>>16)+(P>>>16)+(r>>>16),n=(65535&k)+(65535&K)+(a>>>16),l=(k>>>16)+(K>>>16)+(n>>>16),this.h0h=l<<16|65535&n,this.h0l=a<<16|65535&r,r=(65535&N)+(65535&q),a=(N>>>16)+(q>>>16)+(r>>>16),n=(65535&m)+(65535&Y)+(a>>>16),l=(m>>>16)+(Y>>>16)+(n>>>16),this.h1h=l<<16|65535&n,this.h1l=a<<16|65535&r,r=(65535&x)+(65535&L),a=(x>>>16)+(L>>>16)+(r>>>16),n=(65535&j)+(65535&G)+(a>>>16),l=(j>>>16)+(G>>>16)+(n>>>16),this.h2h=l<<16|65535&n,this.h2l=a<<16|65535&r,r=(65535&H)+(65535&T),a=(H>>>16)+(T>>>16)+(r>>>16),n=(65535&J)+(65535&Q)+(a>>>16),l=(J>>>16)+(Q>>>16)+(n>>>16),this.h3h=l<<16|65535&n,this.h3l=a<<16|65535&r,r=(65535&V)+(65535&Z),a=(V>>>16)+(Z>>>16)+(r>>>16),n=(65535&R)+(65535&X)+(a>>>16),l=(R>>>16)+(X>>>16)+(n>>>16),this.h4h=l<<16|65535&n,this.h4l=a<<16|65535&r,r=(65535&E)+(65535&hh),a=(E>>>16)+(hh>>>16)+(r>>>16),n=(65535&C)+(65535&$)+(a>>>16),l=(C>>>16)+($>>>16)+(n>>>16),this.h5h=l<<16|65535&n,this.h5l=a<<16|65535&r,r=(65535&D)+(65535&ih),a=(D>>>16)+(ih>>>16)+(r>>>16),n=(65535&I)+(65535&th)+(a>>>16),l=(I>>>16)+(th>>>16)+(n>>>16),this.h6h=l<<16|65535&n,this.h6l=a<<16|65535&r,r=(65535&M)+(65535&eh),a=(M>>>16)+(eh>>>16)+(r>>>16),n=(65535&F)+(65535&sh)+(a>>>16),l=(F>>>16)+(sh>>>16)+(n>>>16),this.h7h=l<<16|65535&n,this.h7l=a<<16|65535&r},h.prototype.hex=function(){this.finalize();var h=this.h0h,t=this.h0l,i=this.h1h,s=this.h1l,e=this.h2h,r=this.h2l,a=this.h3h,n=this.h3l,l=this.h4h,o=this.h4l,u=this.h5h,c=this.h5l,y=this.h6h,p=this.h6l,d=this.h7h,b=this.h7l,A=this.bits,_=f[h>>28&15]+f[h>>24&15]+f[h>>20&15]+f[h>>16&15]+f[h>>12&15]+f[h>>8&15]+f[h>>4&15]+f[15&h]+f[t>>28&15]+f[t>>24&15]+f[t>>20&15]+f[t>>16&15]+f[t>>12&15]+f[t>>8&15]+f[t>>4&15]+f[15&t]+f[i>>28&15]+f[i>>24&15]+f[i>>20&15]+f[i>>16&15]+f[i>>12&15]+f[i>>8&15]+f[i>>4&15]+f[15&i]+f[s>>28&15]+f[s>>24&15]+f[s>>20&15]+f[s>>16&15]+f[s>>12&15]+f[s>>8&15]+f[s>>4&15]+f[15&s]+f[e>>28&15]+f[e>>24&15]+f[e>>20&15]+f[e>>16&15]+f[e>>12&15]+f[e>>8&15]+f[e>>4&15]+f[15&e]+f[r>>28&15]+f[r>>24&15]+f[r>>20&15]+f[r>>16&15]+f[r>>12&15]+f[r>>8&15]+f[r>>4&15]+f[15&r]+f[a>>28&15]+f[a>>24&15]+f[a>>20&15]+f[a>>16&15]+f[a>>12&15]+f[a>>8&15]+f[a>>4&15]+f[15&a];return A>=256&&(_+=f[n>>28&15]+f[n>>24&15]+f[n>>20&15]+f[n>>16&15]+f[n>>12&15]+f[n>>8&15]+f[n>>4&15]+f[15&n]),A>=384&&(_+=f[l>>28&15]+f[l>>24&15]+f[l>>20&15]+f[l>>16&15]+f[l>>12&15]+f[l>>8&15]+f[l>>4&15]+f[15&l]+f[o>>28&15]+f[o>>24&15]+f[o>>20&15]+f[o>>16&15]+f[o>>12&15]+f[o>>8&15]+f[o>>4&15]+f[15&o]+f[u>>28&15]+f[u>>24&15]+f[u>>20&15]+f[u>>16&15]+f[u>>12&15]+f[u>>8&15]+f[u>>4&15]+f[15&u]+f[c>>28&15]+f[c>>24&15]+f[c>>20&15]+f[c>>16&15]+f[c>>12&15]+f[c>>8&15]+f[c>>4&15]+f[15&c]),512==A&&(_+=f[y>>28&15]+f[y>>24&15]+f[y>>20&15]+f[y>>16&15]+f[y>>12&15]+f[y>>8&15]+f[y>>4&15]+f[15&y]+f[p>>28&15]+f[p>>24&15]+f[p>>20&15]+f[p>>16&15]+f[p>>12&15]+f[p>>8&15]+f[p>>4&15]+f[15&p]+f[d>>28&15]+f[d>>24&15]+f[d>>20&15]+f[d>>16&15]+f[d>>12&15]+f[d>>8&15]+f[d>>4&15]+f[15&d]+f[b>>28&15]+f[b>>24&15]+f[b>>20&15]+f[b>>16&15]+f[b>>12&15]+f[b>>8&15]+f[b>>4&15]+f[15&b]),_},h.prototype.toString=h.prototype.hex,h.prototype.digest=function(){this.finalize();var h=this.h0h,t=this.h0l,i=this.h1h,s=this.h1l,e=this.h2h,r=this.h2l,a=this.h3h,n=this.h3l,l=this.h4h,o=this.h4l,f=this.h5h,u=this.h5l,c=this.h6h,y=this.h6l,p=this.h7h,d=this.h7l,b=this.bits,A=[h>>24&255,h>>16&255,h>>8&255,255&h,t>>24&255,t>>16&255,t>>8&255,255&t,i>>24&255,i>>16&255,i>>8&255,255&i,s>>24&255,s>>16&255,s>>8&255,255&s,e>>24&255,e>>16&255,e>>8&255,255&e,r>>24&255,r>>16&255,r>>8&255,255&r,a>>24&255,a>>16&255,a>>8&255,255&a];return b>=256&&A.push(n>>24&255,n>>16&255,n>>8&255,255&n),b>=384&&A.push(l>>24&255,l>>16&255,l>>8&255,255&l,o>>24&255,o>>16&255,o>>8&255,255&o,f>>24&255,f>>16&255,f>>8&255,255&f,u>>24&255,u>>16&255,u>>8&255,255&u),512==b&&A.push(c>>24&255,c>>16&255,c>>8&255,255&c,y>>24&255,y>>16&255,y>>8&255,255&y,p>>24&255,p>>16&255,p>>8&255,255&p,d>>24&255,d>>16&255,d>>8&255,255&d),A},h.prototype.array=h.prototype.digest,h.prototype.arrayBuffer=function(){this.finalize();var h=this.bits,t=new ArrayBuffer(h/8),i=new DataView(t);return i.setUint32(0,this.h0h),i.setUint32(4,this.h0l),i.setUint32(8,this.h1h),i.setUint32(12,this.h1l),i.setUint32(16,this.h2h),i.setUint32(20,this.h2l),i.setUint32(24,this.h3h),h>=256&&i.setUint32(28,this.h3l),h>=384&&(i.setUint32(32,this.h4h),i.setUint32(36,this.h4l),i.setUint32(40,this.h5h),i.setUint32(44,this.h5l)),512==h&&(i.setUint32(48,this.h6h),i.setUint32(52,this.h6l),i.setUint32(56,this.h7h),i.setUint32(60,this.h7l)),t},t.prototype=new h,t.prototype.finalize=function(){if(h.prototype.finalize.call(this),this.inner){this.inner=!1;var t=this.array();h.call(this,this.bits,this.sharedMemory),this.update(this.oKeyPad),this.update(t),h.prototype.finalize.call(this)}};var w=A(512);w.sha512=w,w.sha384=A(384),w.sha512_256=A(256),w.sha512_224=A(224),w.sha512.hmac=v(512),w.sha384.hmac=v(384),w.sha512_256.hmac=v(256),w.sha512_224.hmac=v(224),n?module.exports=w:(e.sha512=w.sha512,e.sha384=w.sha384,e.sha512_256=w.sha512_256,e.sha512_224=w.sha512_224,l&&define(function(){return w}))}(); \ No newline at end of file +!function(){"use strict";function h(h,t){t?(p[0]=p[1]=p[2]=p[3]=p[4]=p[5]=p[6]=p[7]=p[8]=p[9]=p[10]=p[11]=p[12]=p[13]=p[14]=p[15]=p[16]=p[17]=p[18]=p[19]=p[20]=p[21]=p[22]=p[23]=p[24]=p[25]=p[26]=p[27]=p[28]=p[29]=p[30]=p[31]=p[32]=0,this.blocks=p):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],384==h?(this.h0h=3418070365,this.h0l=3238371032,this.h1h=1654270250,this.h1l=914150663,this.h2h=2438529370,this.h2l=812702999,this.h3h=355462360,this.h3l=4144912697,this.h4h=1731405415,this.h4l=4290775857,this.h5h=2394180231,this.h5l=1750603025,this.h6h=3675008525,this.h6l=1694076839,this.h7h=1203062813,this.h7l=3204075428):256==h?(this.h0h=573645204,this.h0l=4230739756,this.h1h=2673172387,this.h1l=3360449730,this.h2h=596883563,this.h2l=1867755857,this.h3h=2520282905,this.h3l=1497426621,this.h4h=2519219938,this.h4l=2827943907,this.h5h=3193839141,this.h5l=1401305490,this.h6h=721525244,this.h6l=746961066,this.h7h=246885852,this.h7l=2177182882):224==h?(this.h0h=2352822216,this.h0l=424955298,this.h1h=1944164710,this.h1l=2312950998,this.h2h=502970286,this.h2l=855612546,this.h3h=1738396948,this.h3l=1479516111,this.h4h=258812777,this.h4l=2077511080,this.h5h=2011393907,this.h5l=79989058,this.h6h=1067287976,this.h6l=1780299464,this.h7h=286451373,this.h7l=2446758561):(this.h0h=1779033703,this.h0l=4089235720,this.h1h=3144134277,this.h1l=2227873595,this.h2h=1013904242,this.h2l=4271175723,this.h3h=2773480762,this.h3l=1595750129,this.h4h=1359893119,this.h4l=2917565137,this.h5h=2600822924,this.h5l=725511199,this.h6h=528734635,this.h6l=4215389547,this.h7h=1541459225,this.h7l=327033209),this.bits=h,this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1}function t(t,s,e){var r,a=typeof t;if("string"!==a){if("object"!==a)throw i;if(null===t)throw i;if(l&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!(Array.isArray(t)||l&&ArrayBuffer.isView(t)))throw i;r=!0}var n=t.length;if(!r){for(var o,f=[],u=(n=t.length,0),c=0;c>6,f[u++]=128|63&o):o<55296||o>=57344?(f[u++]=224|o>>12,f[u++]=128|o>>6&63,f[u++]=128|63&o):(o=65536+((1023&o)<<10|1023&t.charCodeAt(++c)),f[u++]=240|o>>18,f[u++]=128|o>>12&63,f[u++]=128|o>>6&63,f[u++]=128|63&o);t=f}t.length>128&&(t=new h(s,!0).update(t).array());var y=[],p=[];for(c=0;c<128;++c){var d=t[c]||0;y[c]=92^d,p[c]=54^d}h.call(this,s,e),this.update(p),this.oKeyPad=y,this.inner=!0,this.sharedMemory=e}var i="input is invalid type",s="object"==typeof window,e=s?window:{};e.JS_SHA512_NO_WINDOW&&(s=!1);var r=!s&&"object"==typeof self;!e.JS_SHA512_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node?e=global:r&&(e=self);var a=!e.JS_SHA512_NO_COMMON_JS&&"object"==typeof module&&module.exports,n="function"==typeof define&&define.amd,l=!e.JS_SHA512_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,o="0123456789abcdef".split(""),f=[-2147483648,8388608,32768,128],u=[24,16,8,0],c=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],y=["hex","array","digest","arrayBuffer"],p=[];!e.JS_SHA512_NO_NODE_JS&&Array.isArray||(Array.isArray=function(h){return"[object Array]"===Object.prototype.toString.call(h)}),!l||!e.JS_SHA512_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(h){return"object"==typeof h&&h.buffer&&h.buffer.constructor===ArrayBuffer});var d=function(t,i){return function(s){return new h(i,!0).update(s)[t]()}},b=function(t){var i=d("hex",t);i.create=function(){return new h(t)},i.update=function(h){return i.create().update(h)};for(var s=0;s>2]|=h[a]<>2]|=e<>2]|=(192|e>>6)<>2]|=(128|63&e)<=57344?(o[r>>2]|=(224|e>>12)<>2]|=(128|e>>6&63)<>2]|=(128|63&e)<>2]|=(240|e>>18)<>2]|=(128|e>>12&63)<>2]|=(128|e>>6&63)<>2]|=(128|63&e)<=128?(this.block=o[32],this.start=r-128,this.hash(),this.hashed=!0):this.start=r}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},h.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var h=this.blocks,t=this.lastByteIndex;h[32]=this.block,h[t>>2]|=f[3&t],this.block=h[32],t>=112&&(this.hashed||this.hash(),h[0]=this.block,h[1]=h[2]=h[3]=h[4]=h[5]=h[6]=h[7]=h[8]=h[9]=h[10]=h[11]=h[12]=h[13]=h[14]=h[15]=h[16]=h[17]=h[18]=h[19]=h[20]=h[21]=h[22]=h[23]=h[24]=h[25]=h[26]=h[27]=h[28]=h[29]=h[30]=h[31]=h[32]=0),h[30]=this.hBytes<<3|this.bytes>>>29,h[31]=this.bytes<<3,this.hash()}},h.prototype.hash=function(){var h,t,i,s,e,r,a,n,l,o,f,u,y,p,d,b,A,_,v,w,U,B,S,g,O,k=this.h0h,z=this.h0l,m=this.h1h,N=this.h1l,j=this.h2h,x=this.h2l,J=this.h3h,H=this.h3l,R=this.h4h,V=this.h4l,C=this.h5h,E=this.h5l,I=this.h6h,D=this.h6l,F=this.h7h,M=this.h7l,W=this.blocks;for(h=32;h<160;h+=2)t=((w=W[h-30])>>>1|(U=W[h-29])<<31)^(w>>>8|U<<24)^w>>>7,i=(U>>>1|w<<31)^(U>>>8|w<<24)^(U>>>7|w<<25),s=((w=W[h-4])>>>19|(U=W[h-3])<<13)^(U>>>29|w<<3)^w>>>6,e=(U>>>19|w<<13)^(w>>>29|U<<3)^(U>>>6|w<<26),w=W[h-32],U=W[h-31],l=((B=W[h-14])>>>16)+(w>>>16)+(t>>>16)+(s>>>16)+((n=(65535&B)+(65535&w)+(65535&t)+(65535&s)+((a=((S=W[h-13])>>>16)+(U>>>16)+(i>>>16)+(e>>>16)+((r=(65535&S)+(65535&U)+(65535&i)+(65535&e))>>>16))>>>16))>>>16),W[h]=l<<16|65535&n,W[h+1]=a<<16|65535&r;var K=k,P=z,Y=m,q=N,G=j,L=x,Q=J,T=H,X=R,Z=V,$=C,hh=E,th=I,ih=D,sh=F,eh=M;for(b=Y&G,A=q&L,h=0;h<160;h+=8)t=(K>>>28|P<<4)^(P>>>2|K<<30)^(P>>>7|K<<25),i=(P>>>28|K<<4)^(K>>>2|P<<30)^(K>>>7|P<<25),s=(X>>>14|Z<<18)^(X>>>18|Z<<14)^(Z>>>9|X<<23),e=(Z>>>14|X<<18)^(Z>>>18|X<<14)^(X>>>9|Z<<23),_=(o=K&Y)^K&G^b,v=(f=P&q)^P&L^A,g=X&$^~X&th,O=Z&hh^~Z&ih,w=W[h],U=W[h+1],w=(l=((B=c[h])>>>16)+(w>>>16)+(g>>>16)+(s>>>16)+(sh>>>16)+((n=(65535&B)+(65535&w)+(65535&g)+(65535&s)+(65535&sh)+((a=((S=c[h+1])>>>16)+(U>>>16)+(O>>>16)+(e>>>16)+(eh>>>16)+((r=(65535&S)+(65535&U)+(65535&O)+(65535&e)+(65535&eh))>>>16))>>>16))>>>16))<<16|65535&n,U=a<<16|65535&r,B=(l=(_>>>16)+(t>>>16)+((n=(65535&_)+(65535&t)+((a=(v>>>16)+(i>>>16)+((r=(65535&v)+(65535&i))>>>16))>>>16))>>>16))<<16|65535&n,S=a<<16|65535&r,sh=(l=(Q>>>16)+(w>>>16)+((n=(65535&Q)+(65535&w)+((a=(T>>>16)+(U>>>16)+((r=(65535&T)+(65535&U))>>>16))>>>16))>>>16))<<16|65535&n,eh=a<<16|65535&r,t=((Q=(l=(B>>>16)+(w>>>16)+((n=(65535&B)+(65535&w)+((a=(S>>>16)+(U>>>16)+((r=(65535&S)+(65535&U))>>>16))>>>16))>>>16))<<16|65535&n)>>>28|(T=a<<16|65535&r)<<4)^(T>>>2|Q<<30)^(T>>>7|Q<<25),i=(T>>>28|Q<<4)^(Q>>>2|T<<30)^(Q>>>7|T<<25),s=(sh>>>14|eh<<18)^(sh>>>18|eh<<14)^(eh>>>9|sh<<23),e=(eh>>>14|sh<<18)^(eh>>>18|sh<<14)^(sh>>>9|eh<<23),_=(u=Q&K)^Q&Y^o,v=(y=T&P)^T&q^f,g=sh&X^~sh&$,O=eh&Z^~eh&hh,w=W[h+2],U=W[h+3],w=(l=((B=c[h+2])>>>16)+(w>>>16)+(g>>>16)+(s>>>16)+(th>>>16)+((n=(65535&B)+(65535&w)+(65535&g)+(65535&s)+(65535&th)+((a=((S=c[h+3])>>>16)+(U>>>16)+(O>>>16)+(e>>>16)+(ih>>>16)+((r=(65535&S)+(65535&U)+(65535&O)+(65535&e)+(65535&ih))>>>16))>>>16))>>>16))<<16|65535&n,U=a<<16|65535&r,B=(l=(_>>>16)+(t>>>16)+((n=(65535&_)+(65535&t)+((a=(v>>>16)+(i>>>16)+((r=(65535&v)+(65535&i))>>>16))>>>16))>>>16))<<16|65535&n,S=a<<16|65535&r,th=(l=(G>>>16)+(w>>>16)+((n=(65535&G)+(65535&w)+((a=(L>>>16)+(U>>>16)+((r=(65535&L)+(65535&U))>>>16))>>>16))>>>16))<<16|65535&n,ih=a<<16|65535&r,t=((G=(l=(B>>>16)+(w>>>16)+((n=(65535&B)+(65535&w)+((a=(S>>>16)+(U>>>16)+((r=(65535&S)+(65535&U))>>>16))>>>16))>>>16))<<16|65535&n)>>>28|(L=a<<16|65535&r)<<4)^(L>>>2|G<<30)^(L>>>7|G<<25),i=(L>>>28|G<<4)^(G>>>2|L<<30)^(G>>>7|L<<25),s=(th>>>14|ih<<18)^(th>>>18|ih<<14)^(ih>>>9|th<<23),e=(ih>>>14|th<<18)^(ih>>>18|th<<14)^(th>>>9|ih<<23),_=(p=G&Q)^G&K^u,v=(d=L&T)^L&P^y,g=th&sh^~th&X,O=ih&eh^~ih&Z,w=W[h+4],U=W[h+5],w=(l=((B=c[h+4])>>>16)+(w>>>16)+(g>>>16)+(s>>>16)+($>>>16)+((n=(65535&B)+(65535&w)+(65535&g)+(65535&s)+(65535&$)+((a=((S=c[h+5])>>>16)+(U>>>16)+(O>>>16)+(e>>>16)+(hh>>>16)+((r=(65535&S)+(65535&U)+(65535&O)+(65535&e)+(65535&hh))>>>16))>>>16))>>>16))<<16|65535&n,U=a<<16|65535&r,B=(l=(_>>>16)+(t>>>16)+((n=(65535&_)+(65535&t)+((a=(v>>>16)+(i>>>16)+((r=(65535&v)+(65535&i))>>>16))>>>16))>>>16))<<16|65535&n,S=a<<16|65535&r,$=(l=(Y>>>16)+(w>>>16)+((n=(65535&Y)+(65535&w)+((a=(q>>>16)+(U>>>16)+((r=(65535&q)+(65535&U))>>>16))>>>16))>>>16))<<16|65535&n,hh=a<<16|65535&r,t=((Y=(l=(B>>>16)+(w>>>16)+((n=(65535&B)+(65535&w)+((a=(S>>>16)+(U>>>16)+((r=(65535&S)+(65535&U))>>>16))>>>16))>>>16))<<16|65535&n)>>>28|(q=a<<16|65535&r)<<4)^(q>>>2|Y<<30)^(q>>>7|Y<<25),i=(q>>>28|Y<<4)^(Y>>>2|q<<30)^(Y>>>7|q<<25),s=($>>>14|hh<<18)^($>>>18|hh<<14)^(hh>>>9|$<<23),e=(hh>>>14|$<<18)^(hh>>>18|$<<14)^($>>>9|hh<<23),_=(b=Y&G)^Y&Q^p,v=(A=q&L)^q&T^d,g=$&th^~$&sh,O=hh&ih^~hh&eh,w=W[h+6],U=W[h+7],w=(l=((B=c[h+6])>>>16)+(w>>>16)+(g>>>16)+(s>>>16)+(X>>>16)+((n=(65535&B)+(65535&w)+(65535&g)+(65535&s)+(65535&X)+((a=((S=c[h+7])>>>16)+(U>>>16)+(O>>>16)+(e>>>16)+(Z>>>16)+((r=(65535&S)+(65535&U)+(65535&O)+(65535&e)+(65535&Z))>>>16))>>>16))>>>16))<<16|65535&n,U=a<<16|65535&r,B=(l=(_>>>16)+(t>>>16)+((n=(65535&_)+(65535&t)+((a=(v>>>16)+(i>>>16)+((r=(65535&v)+(65535&i))>>>16))>>>16))>>>16))<<16|65535&n,S=a<<16|65535&r,X=(l=(K>>>16)+(w>>>16)+((n=(65535&K)+(65535&w)+((a=(P>>>16)+(U>>>16)+((r=(65535&P)+(65535&U))>>>16))>>>16))>>>16))<<16|65535&n,Z=a<<16|65535&r,K=(l=(B>>>16)+(w>>>16)+((n=(65535&B)+(65535&w)+((a=(S>>>16)+(U>>>16)+((r=(65535&S)+(65535&U))>>>16))>>>16))>>>16))<<16|65535&n,P=a<<16|65535&r;l=(k>>>16)+(K>>>16)+((n=(65535&k)+(65535&K)+((a=(z>>>16)+(P>>>16)+((r=(65535&z)+(65535&P))>>>16))>>>16))>>>16),this.h0h=l<<16|65535&n,this.h0l=a<<16|65535&r,l=(m>>>16)+(Y>>>16)+((n=(65535&m)+(65535&Y)+((a=(N>>>16)+(q>>>16)+((r=(65535&N)+(65535&q))>>>16))>>>16))>>>16),this.h1h=l<<16|65535&n,this.h1l=a<<16|65535&r,l=(j>>>16)+(G>>>16)+((n=(65535&j)+(65535&G)+((a=(x>>>16)+(L>>>16)+((r=(65535&x)+(65535&L))>>>16))>>>16))>>>16),this.h2h=l<<16|65535&n,this.h2l=a<<16|65535&r,l=(J>>>16)+(Q>>>16)+((n=(65535&J)+(65535&Q)+((a=(H>>>16)+(T>>>16)+((r=(65535&H)+(65535&T))>>>16))>>>16))>>>16),this.h3h=l<<16|65535&n,this.h3l=a<<16|65535&r,l=(R>>>16)+(X>>>16)+((n=(65535&R)+(65535&X)+((a=(V>>>16)+(Z>>>16)+((r=(65535&V)+(65535&Z))>>>16))>>>16))>>>16),this.h4h=l<<16|65535&n,this.h4l=a<<16|65535&r,l=(C>>>16)+($>>>16)+((n=(65535&C)+(65535&$)+((a=(E>>>16)+(hh>>>16)+((r=(65535&E)+(65535&hh))>>>16))>>>16))>>>16),this.h5h=l<<16|65535&n,this.h5l=a<<16|65535&r,l=(I>>>16)+(th>>>16)+((n=(65535&I)+(65535&th)+((a=(D>>>16)+(ih>>>16)+((r=(65535&D)+(65535&ih))>>>16))>>>16))>>>16),this.h6h=l<<16|65535&n,this.h6l=a<<16|65535&r,l=(F>>>16)+(sh>>>16)+((n=(65535&F)+(65535&sh)+((a=(M>>>16)+(eh>>>16)+((r=(65535&M)+(65535&eh))>>>16))>>>16))>>>16),this.h7h=l<<16|65535&n,this.h7l=a<<16|65535&r},h.prototype.hex=function(){this.finalize();var h=this.h0h,t=this.h0l,i=this.h1h,s=this.h1l,e=this.h2h,r=this.h2l,a=this.h3h,n=this.h3l,l=this.h4h,f=this.h4l,u=this.h5h,c=this.h5l,y=this.h6h,p=this.h6l,d=this.h7h,b=this.h7l,A=this.bits,_=o[h>>28&15]+o[h>>24&15]+o[h>>20&15]+o[h>>16&15]+o[h>>12&15]+o[h>>8&15]+o[h>>4&15]+o[15&h]+o[t>>28&15]+o[t>>24&15]+o[t>>20&15]+o[t>>16&15]+o[t>>12&15]+o[t>>8&15]+o[t>>4&15]+o[15&t]+o[i>>28&15]+o[i>>24&15]+o[i>>20&15]+o[i>>16&15]+o[i>>12&15]+o[i>>8&15]+o[i>>4&15]+o[15&i]+o[s>>28&15]+o[s>>24&15]+o[s>>20&15]+o[s>>16&15]+o[s>>12&15]+o[s>>8&15]+o[s>>4&15]+o[15&s]+o[e>>28&15]+o[e>>24&15]+o[e>>20&15]+o[e>>16&15]+o[e>>12&15]+o[e>>8&15]+o[e>>4&15]+o[15&e]+o[r>>28&15]+o[r>>24&15]+o[r>>20&15]+o[r>>16&15]+o[r>>12&15]+o[r>>8&15]+o[r>>4&15]+o[15&r]+o[a>>28&15]+o[a>>24&15]+o[a>>20&15]+o[a>>16&15]+o[a>>12&15]+o[a>>8&15]+o[a>>4&15]+o[15&a];return A>=256&&(_+=o[n>>28&15]+o[n>>24&15]+o[n>>20&15]+o[n>>16&15]+o[n>>12&15]+o[n>>8&15]+o[n>>4&15]+o[15&n]),A>=384&&(_+=o[l>>28&15]+o[l>>24&15]+o[l>>20&15]+o[l>>16&15]+o[l>>12&15]+o[l>>8&15]+o[l>>4&15]+o[15&l]+o[f>>28&15]+o[f>>24&15]+o[f>>20&15]+o[f>>16&15]+o[f>>12&15]+o[f>>8&15]+o[f>>4&15]+o[15&f]+o[u>>28&15]+o[u>>24&15]+o[u>>20&15]+o[u>>16&15]+o[u>>12&15]+o[u>>8&15]+o[u>>4&15]+o[15&u]+o[c>>28&15]+o[c>>24&15]+o[c>>20&15]+o[c>>16&15]+o[c>>12&15]+o[c>>8&15]+o[c>>4&15]+o[15&c]),512==A&&(_+=o[y>>28&15]+o[y>>24&15]+o[y>>20&15]+o[y>>16&15]+o[y>>12&15]+o[y>>8&15]+o[y>>4&15]+o[15&y]+o[p>>28&15]+o[p>>24&15]+o[p>>20&15]+o[p>>16&15]+o[p>>12&15]+o[p>>8&15]+o[p>>4&15]+o[15&p]+o[d>>28&15]+o[d>>24&15]+o[d>>20&15]+o[d>>16&15]+o[d>>12&15]+o[d>>8&15]+o[d>>4&15]+o[15&d]+o[b>>28&15]+o[b>>24&15]+o[b>>20&15]+o[b>>16&15]+o[b>>12&15]+o[b>>8&15]+o[b>>4&15]+o[15&b]),_},h.prototype.toString=h.prototype.hex,h.prototype.digest=function(){this.finalize();var h=this.h0h,t=this.h0l,i=this.h1h,s=this.h1l,e=this.h2h,r=this.h2l,a=this.h3h,n=this.h3l,l=this.h4h,o=this.h4l,f=this.h5h,u=this.h5l,c=this.h6h,y=this.h6l,p=this.h7h,d=this.h7l,b=this.bits,A=[h>>24&255,h>>16&255,h>>8&255,255&h,t>>24&255,t>>16&255,t>>8&255,255&t,i>>24&255,i>>16&255,i>>8&255,255&i,s>>24&255,s>>16&255,s>>8&255,255&s,e>>24&255,e>>16&255,e>>8&255,255&e,r>>24&255,r>>16&255,r>>8&255,255&r,a>>24&255,a>>16&255,a>>8&255,255&a];return b>=256&&A.push(n>>24&255,n>>16&255,n>>8&255,255&n),b>=384&&A.push(l>>24&255,l>>16&255,l>>8&255,255&l,o>>24&255,o>>16&255,o>>8&255,255&o,f>>24&255,f>>16&255,f>>8&255,255&f,u>>24&255,u>>16&255,u>>8&255,255&u),512==b&&A.push(c>>24&255,c>>16&255,c>>8&255,255&c,y>>24&255,y>>16&255,y>>8&255,255&y,p>>24&255,p>>16&255,p>>8&255,255&p,d>>24&255,d>>16&255,d>>8&255,255&d),A},h.prototype.array=h.prototype.digest,h.prototype.arrayBuffer=function(){this.finalize();var h=this.bits,t=new ArrayBuffer(h/8),i=new DataView(t);return i.setUint32(0,this.h0h),i.setUint32(4,this.h0l),i.setUint32(8,this.h1h),i.setUint32(12,this.h1l),i.setUint32(16,this.h2h),i.setUint32(20,this.h2l),i.setUint32(24,this.h3h),h>=256&&i.setUint32(28,this.h3l),h>=384&&(i.setUint32(32,this.h4h),i.setUint32(36,this.h4l),i.setUint32(40,this.h5h),i.setUint32(44,this.h5l)),512==h&&(i.setUint32(48,this.h6h),i.setUint32(52,this.h6l),i.setUint32(56,this.h7h),i.setUint32(60,this.h7l)),t},(t.prototype=new h).finalize=function(){if(h.prototype.finalize.call(this),this.inner){this.inner=!1;var t=this.array();h.call(this,this.bits,this.sharedMemory),this.update(this.oKeyPad),this.update(t),h.prototype.finalize.call(this)}};var v=b(512);v.sha512=v,v.sha384=b(384),v.sha512_256=b(256),v.sha512_224=b(224),v.sha512.hmac=_(512),v.sha384.hmac=_(384),v.sha512_256.hmac=_(256),v.sha512_224.hmac=_(224),a?module.exports=v:(e.sha512=v.sha512,e.sha384=v.sha384,e.sha512_256=v.sha512_256,e.sha512_224=v.sha512_224,n&&define(function(){return v}))}(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 6405b8f..4ec6037 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,72 +1,27 @@ { "name": "js-sha512", - "version": "0.7.0", + "version": "0.7.1", "lockfileVersion": 1, "requires": true, "dependencies": { - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", - "dev": true - }, "bindings": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==", "dev": true }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "coffee-script": { - "version": "1.12.7", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", - "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", - "dev": true - }, "commander": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=", "dev": true }, - "debug": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-1.0.5.tgz", - "integrity": "sha1-9yQSF0MPmd7EwrRz6rkiKOh0wqw=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, "diff": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", "dev": true }, - "ejs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-1.0.0.tgz", - "integrity": "sha1-ycYKSKRu5FL7MqccMXuV5aofyz0=", - "dev": true - }, "escape-string-regexp": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz", @@ -132,29 +87,6 @@ } } }, - "jscoverage": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/jscoverage/-/jscoverage-0.6.0.tgz", - "integrity": "sha1-9eE6nhN3Yzh2jB7gLhrnHVFc2sk=", - "dev": true, - "requires": { - "coffee-script": "1.12.7", - "commander": "2.11.0", - "debug": "1.0.5", - "ejs": "1.0.0", - "optimist": "0.6.1", - "uglify-js": "2.4.24", - "xfs": "0.1.10" - }, - "dependencies": { - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true - } - } - }, "lru-cache": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", @@ -220,125 +152,1656 @@ } } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, "nan": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=", "dev": true }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" - } - }, - "requirejs": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.5.tgz", - "integrity": "sha512-svnO+aNcR/an9Dpi44C7KSAy5fFGLtmPbaaCeQaklUz8BQhS64tWWIIlvEA5jrWICzlO/X9KSzSeXFnZdBu8nw==", - "dev": true - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, - "source-map": { - "version": "0.1.34", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz", - "integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - }, - "supports-color": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz", - "integrity": "sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4=", - "dev": true - }, - "uglify-js": { - "version": "2.4.24", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz", - "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=", - "dev": true, - "requires": { - "async": "0.2.10", - "source-map": "0.1.34", - "uglify-to-browserify": "1.0.2", - "yargs": "3.5.4" - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true - }, - "uglifyjs": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/uglifyjs/-/uglifyjs-2.4.11.tgz", - "integrity": "sha1-NEDWTgRXWViVJEGOtkHGi7kNET4=", - "dev": true - }, - "webworker-threads": { - "version": "0.7.13", - "resolved": "https://registry.npmjs.org/webworker-threads/-/webworker-threads-0.7.13.tgz", - "integrity": "sha1-yEsYtrokElu503NC5E3rgVFi+4M=", - "dev": true, - "requires": { - "bindings": "1.3.0", - "nan": "2.7.0" - } - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "xfs": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/xfs/-/xfs-0.1.10.tgz", - "integrity": "sha1-TdL9uyraKifmxdRxy1fAleZStwM=", - "dev": true - }, - "yargs": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", - "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=", + "nyc": { + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.4.1.tgz", + "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", "dev": true, "requires": { - "camelcase": "1.2.1", - "decamelize": "1.2.0", - "window-size": "0.1.0", - "wordwrap": "0.0.2" + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", + "md5-hex": "1.3.0", + "merge-source-map": "1.0.4", + "micromatch": "2.3.11", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.1.1", + "yargs": "10.0.3", + "yargs-parser": "8.0.0" }, "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "align-text": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "amdefine": { + "version": "1.0.1", + "bundled": true, "dev": true - } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "bundled": true, + "dev": true + }, + "append-transform": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "requires": { + "default-require-extensions": "1.0.0" + } + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "arrify": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "async": { + "version": "1.5.2", + "bundled": true, + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-generator": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "bundled": true, + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.8", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "bundled": true, + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "builtin-modules": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "caching-transform": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" + } + }, + "camelcase": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true + }, + "center-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "cliui": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "commondir": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "bundled": true, + "dev": true + }, + "core-js": { + "version": "2.5.3", + "bundled": true, + "dev": true + }, + "cross-spawn": { + "version": "4.0.2", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "which": "1.3.0" + } + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "debug-log": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "strip-bom": "2.0.0" + } + }, + "detect-indent": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "error-ex": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "esutils": { + "version": "2.0.2", + "bundled": true, + "dev": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "bundled": true, + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "extglob": { + "version": "0.3.2", + "bundled": true, + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "bundled": true, + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "find-cache-dir": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "requires": { + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "for-own": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "foreground-child": { + "version": "1.5.6", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "bundled": true, + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "globals": { + "version": "9.18.0", + "bundled": true, + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "handlebars": { + "version": "4.0.11", + "bundled": true, + "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "bundled": true, + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "hosted-git-info": { + "version": "2.5.0", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "invariant": { + "version": "2.2.2", + "bundled": true, + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-dotfile": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-glob": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "isobject": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "istanbul-lib-coverage": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "append-transform": "0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.9.1", + "bundled": true, + "dev": true, + "requires": { + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" + } + }, + "istanbul-lib-report": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" + }, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "bundled": true, + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.2", + "bundled": true, + "dev": true, + "requires": { + "debug": "3.1.0", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "istanbul-reports": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "handlebars": "4.0.11" + } + }, + "js-tokens": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "lazy-cache": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "optional": true + }, + "lcid": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true + } + } + }, + "lodash": { + "version": "4.17.4", + "bundled": true, + "dev": true + }, + "longest": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "lru-cache": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "md5-hex": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "md5-o-matic": "0.1.1" + } + }, + "md5-o-matic": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "mem": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "mimic-fn": "1.1.0" + } + }, + "merge-source-map": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "micromatch": { + "version": "2.3.11", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "mimic-fn": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "normalize-package-data": { + "version": "2.4.0", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "optimist": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-limit": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "1.1.0" + } + }, + "parse-glob": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "path-exists": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "path-type": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "bundled": true, + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "bundled": true, + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "pkg-dir": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "find-up": "1.1.2" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + } + } + }, + "preserve": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + } + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "bundled": true, + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "bundled": true, + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "bundled": true, + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "bundled": true, + "dev": true + }, + "repeating": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "resolve-from": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "right-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "semver": { + "version": "5.4.1", + "bundled": true, + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "slide": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "source-map": { + "version": "0.5.7", + "bundled": true, + "dev": true + }, + "spawn-wrap": { + "version": "1.4.2", + "bundled": true, + "dev": true, + "requires": { + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.0" + } + }, + "spdx-correct": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "spdx-license-ids": "1.2.2" + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "test-exclude": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "requires": { + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" + } + }, + "to-fast-properties": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" + } + }, + "which": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "window-size": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "0.0.3", + "bundled": true, + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } + }, + "y18n": { + "version": "3.2.1", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "10.0.3", + "bundled": true, + "dev": true, + "requires": { + "cliui": "3.2.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "8.0.0" + }, + "dependencies": { + "cliui": { + "version": "3.2.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + } + } + }, + "yargs-parser": { + "version": "8.0.0", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + } + } + } + } + }, + "requirejs": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.5.tgz", + "integrity": "sha512-svnO+aNcR/an9Dpi44C7KSAy5fFGLtmPbaaCeQaklUz8BQhS64tWWIIlvEA5jrWICzlO/X9KSzSeXFnZdBu8nw==", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz", + "integrity": "sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4=", + "dev": true + }, + "uglify-js": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.2.2.tgz", + "integrity": "sha512-++1NO/zZIEdWf6cDIGceSJQPX31SqIpbVAHwFG5+240MtZqPG/NIPoinj8zlXQtAfMBqEt1Jyv2FiLP3n9gVhQ==", + "dev": true, + "requires": { + "commander": "2.12.2", + "source-map": "0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", + "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", + "dev": true + } + } + }, + "webworker-threads": { + "version": "0.7.13", + "resolved": "https://registry.npmjs.org/webworker-threads/-/webworker-threads-0.7.13.tgz", + "integrity": "sha1-yEsYtrokElu503NC5E3rgVFi+4M=", + "dev": true, + "requires": { + "bindings": "1.3.0", + "nan": "2.7.0" } } } diff --git a/package.json b/package.json index 2bda740..5256340 100644 --- a/package.json +++ b/package.json @@ -1,21 +1,21 @@ { "name": "js-sha512", - "version": "0.7.0", + "version": "0.7.1", "description": "This is a simple SHA-512, SHA-384, SHA-512/224, SHA-512/256 hash functions for JavaScript supports UTF-8 encoding.", "main": "src/sha512.js", "devDependencies": { "expect.js": "~0.3.1", - "jscoverage": "^0.6.0", "mocha": "~2.3.4", + "nyc": "^11.3.0", "requirejs": "^2.1.22", - "uglifyjs": "^2.4.11", + "uglify-js": "^3.1.9", "webworker-threads": "^0.7.11" }, "scripts": { - "test": "mocha tests/node-test.js -r jscoverage", - "report": "mocha tests/node-test.js -r jscoverage --covout=html", - "coveralls": "mocha tests/node-test.js -R mocha-lcov-reporter -r jscoverage | coveralls", - "build": "uglifyjs src/sha512.js --compress --mangle --comments --output build/sha512.min.js" + "test": "nyc mocha tests/node-test.js", + "report": "nyc --reporter=html --reporter=text mocha tests/node-test.js", + "coveralls": "nyc report --reporter=text-lcov | coveralls", + "build": "uglifyjs src/sha512.js -c -m eval --comments -o build/sha512.min.js" }, "repository": { "type": "git", @@ -39,5 +39,9 @@ "bugs": { "url": "https://github.com/emn178/js-sha512/issues" }, - "dependencies": {} + "nyc": { + "exclude": [ + "tests" + ] + } } diff --git a/src/sha512.js b/src/sha512.js index f4b9009..3b492d2 100644 --- a/src/sha512.js +++ b/src/sha512.js @@ -1,7 +1,7 @@ /* * [js-sha512]{@link https://github.com/emn178/js-sha512} * - * @version 0.7.0 + * @version 0.7.1 * @author Chen, Yi-Cyuan [emn178@gmail.com] * @copyright Chen, Yi-Cyuan 2014-2017 * @license MIT @@ -324,7 +324,7 @@ blocks[25] = blocks[26] = blocks[27] = blocks[28] = blocks[29] = blocks[30] = blocks[31] = blocks[32] = 0; } - blocks[30] = this.hBytes << 3 | this.bytes >> 29; + blocks[30] = this.hBytes << 3 | this.bytes >>> 29; blocks[31] = this.bytes << 3; this.hash(); }; diff --git a/tests/hmac-test.js b/tests/hmac-test.js index 2f5d690..8c199b4 100644 --- a/tests/hmac-test.js +++ b/tests/hmac-test.js @@ -109,12 +109,24 @@ 'Hi There' ] }; + testCases.sha512_hmac['Uint8Array'] = { + 'f7688a104326d36c1940f6d28d746c0661d383e0d14fe8a04649444777610f5dd9565a36846ab9e9e734cf380d3a070d8ef021b5f3a50c481710a464968e3419': [ + new Uint8Array(0), + 'Hi There' + ] + }; testCases.sha384_hmac['ArrayBuffer'] = { 'da5393cef424a670d6db42c6ed6e7920779dfa4cbb98bf1c2e9c12ae10d10905d0c9e9d576c2a613be54b8daea246d4b': [ new ArrayBuffer(0), 'Hi There' ] }; + testCases.sha384_hmac['Uint8Array'] = { + 'da5393cef424a670d6db42c6ed6e7920779dfa4cbb98bf1c2e9c12ae10d10905d0c9e9d576c2a613be54b8daea246d4b': [ + new Uint8Array(0), + 'Hi There' + ] + }; } var errorTestCases = [null, undefined, { length: 0 }, 0, 1, false, true, NaN, Infinity, function () {}];