(function(r,C){function n(c,d){return c<>>32-d}function p(c,d,h,k,l,b){return n(c+(d&h|~d&k)+l,b)}function q(c,d,h,k,l,b){return n(c+(d&h|d&k|h&k)+l+1518500249,b)}var w="undefined"!=typeof module;w&&(r=global,r.JS_MD4_TEST&&(r.navigator={userAgent:"Firefox"}));var A=(r.JS_MD4_TEST||!w)&&-1!=navigator.userAgent.indexOf("Firefox"),z=!r.JS_MD4_TEST&&"undefined"!=typeof ArrayBuffer,d="0123456789abcdef".split(""),B=[128,32768,8388608,-2147483648],x=[0,8,16,24],c=[],v;if(z){var u=new ArrayBuffer(68); v=new Uint8Array(u);c=new Uint32Array(u)}u=function(g){var m,h,k,l,b,a,e,f,r=!1,t=0,u=0,w=0,y=g.length;m=1732584193;h=4023233417;k=2562383102;l=271733878;c[16]=0;do{c[0]=c[16];c[16]=c[1]=c[2]=c[3]=c[4]=c[5]=c[6]=c[7]=c[8]=c[9]=c[10]=c[11]=c[12]=c[13]=c[14]=c[15]=0;if(z)for(a=u;ta;++t)b=g.charCodeAt(t),128>b?v[a++]=b:(2048>b?v[a++]=192|b>>6:(55296>b||57344<=b?v[a++]=224|b>>12:(b=65536+((b&1023)<<10|g.charCodeAt(++t)&1023),v[a++]=240|b>>18,v[a++]=128|b>>12&63),v[a++]=128|b>>6&63),v[a++]=128| b&63);else for(a=u;ta;++t)b=g.charCodeAt(t),128>b?c[a>>2]|=b<b?c[a>>2]|=(192|b>>6)<b||57344<=b?c[a>>2]|=(224|b>>12)<>2]|=(240|b>>18)<>2]|=(128|b>>12&63)<>2]|=(128|b>>6&63)<>2]|=(128|b&63)<>2]|=B[a&3],++t);t>y&&56>a&&(c[14]=w<<3,r=!0);b=m;a=h;e=k;f=l;b=p(b,a,e,f,c[0],3);f=p(f,b,a,e,c[1],7);e=p(e,f,b,a,c[2],11);a=p(a,e,f, b,c[3],19);b=p(b,a,e,f,c[4],3);f=p(f,b,a,e,c[5],7);e=p(e,f,b,a,c[6],11);a=p(a,e,f,b,c[7],19);b=p(b,a,e,f,c[8],3);f=p(f,b,a,e,c[9],7);e=p(e,f,b,a,c[10],11);a=p(a,e,f,b,c[11],19);b=p(b,a,e,f,c[12],3);f=p(f,b,a,e,c[13],7);e=p(e,f,b,a,c[14],11);a=p(a,e,f,b,c[15],19);b=q(b,a,e,f,c[0],3);f=q(f,b,a,e,c[4],5);e=q(e,f,b,a,c[8],9);a=q(a,e,f,b,c[12],13);b=q(b,a,e,f,c[1],3);f=q(f,b,a,e,c[5],5);e=q(e,f,b,a,c[9],9);a=q(a,e,f,b,c[13],13);b=q(b,a,e,f,c[2],3);f=q(f,b,a,e,c[6],5);e=q(e,f,b,a,c[10],9);a=q(a,e,f,b,c[14], 13);b=q(b,a,e,f,c[3],3);f=q(f,b,a,e,c[7],5);e=q(e,f,b,a,c[11],9);a=q(a,e,f,b,c[15],13);b=n(b+(a^e^f)+c[0]+1859775393,3);f=n(f+(b^a^e)+c[8]+1859775393,9);e=n(e+(f^b^a)+c[4]+1859775393,11);a=n(a+(e^f^b)+c[12]+1859775393,15);b=n(b+(a^e^f)+c[2]+1859775393,3);f=n(f+(b^a^e)+c[10]+1859775393,9);e=n(e+(f^b^a)+c[6]+1859775393,11);a=n(a+(e^f^b)+c[14]+1859775393,15);b=n(b+(a^e^f)+c[1]+1859775393,3);f=n(f+(b^a^e)+c[9]+1859775393,9);e=n(e+(f^b^a)+c[5]+1859775393,11);a=n(a+(e^f^b)+c[13]+1859775393,15);b=n(b+(a^ e^f)+c[3]+1859775393,3);f=n(f+(b^a^e)+c[11]+1859775393,9);e=n(e+(f^b^a)+c[7]+1859775393,11);a=n(a+(e^f^b)+c[15]+1859775393,15);m=m+b<<0;h=h+a<<0;k=k+e<<0;l=l+f<<0}while(!r);return A?(g=d[m>>4&15]+d[m&15],g+=d[m>>12&15]+d[m>>8&15],g+=d[m>>20&15]+d[m>>16&15],g+=d[m>>28&15]+d[m>>24&15],g+=d[h>>4&15]+d[h&15],g+=d[h>>12&15]+d[h>>8&15],g+=d[h>>20&15]+d[h>>16&15],g+=d[h>>28&15]+d[h>>24&15],g+=d[k>>4&15]+d[k&15],g+=d[k>>12&15]+d[k>>8&15],g+=d[k>>20&15]+d[k>>16&15],g+=d[k>>28&15]+d[k>>24&15],g+=d[l>>4&15]+ d[l&15],g+=d[l>>12&15]+d[l>>8&15],g+=d[l>>20&15]+d[l>>16&15],g+=d[l>>28&15]+d[l>>24&15]):d[m>>4&15]+d[m&15]+d[m>>12&15]+d[m>>8&15]+d[m>>20&15]+d[m>>16&15]+d[m>>28&15]+d[m>>24&15]+d[h>>4&15]+d[h&15]+d[h>>12&15]+d[h>>8&15]+d[h>>20&15]+d[h>>16&15]+d[h>>28&15]+d[h>>24&15]+d[k>>4&15]+d[k&15]+d[k>>12&15]+d[k>>8&15]+d[k>>20&15]+d[k>>16&15]+d[k>>28&15]+d[k>>24&15]+d[l>>4&15]+d[l&15]+d[l>>12&15]+d[l>>8&15]+d[l>>20&15]+d[l>>16&15]+d[l>>28&15]+d[l>>24&15]};!r.JS_MD4_TEST&&w?module.exports=u:r&&(r.md4=u)})(this);