var hexcase=0;var b64pad="";var chrsz=8;function hex_sha1(a){return binb2hex(core_sha1(str2binb(a),a.length*chrsz))}function b64_sha1(a){return binb2b64(core_sha1(str2binb(a),a.length*chrsz))}function str_sha1(a){return binb2str(core_sha1(str2binb(a),a.length*chrsz))}function hex_hmac_sha1(a,c){return binb2hex(core_hmac_sha1(a,c))}function b64_hmac_sha1(a,c){return binb2b64(core_hmac_sha1(a,c))}function str_hmac_sha1(a,c){return binb2str(core_hmac_sha1(a,c))}function sha1_vm_test(){return hex_sha1("abc")=="a9993e364706816aba3e25717850c26c9cd0d89d"}function core_sha1(a,c){a[c>>5]|=0x80<<(24-c%32);a[((c+64>>9)<<4)+15]=c;var d=new Array(80);var b=1732584193;var f=-271733879;var e=-1732584194;var h=271733878;var i=-1009589776;var j,g,k,l,m,n,o,p;for(j=0;j<a.length;j+=16){l=b;m=f;n=e;o=h;p=i;for(g=0;g<80;g++){if(g<16){d[g]=a[j+g]}else{d[g]=rol(d[g-3]^d[g-8]^d[g-14]^d[g-16],1)}k=safe_add(safe_add(rol(b,5),sha1_ft(g,f,e,h)),safe_add(safe_add(i,d[g]),sha1_kt(g)));i=h;h=e;e=rol(f,30);f=b;b=k}b=safe_add(b,l);f=safe_add(f,m);e=safe_add(e,n);h=safe_add(h,o);i=safe_add(i,p)}return[b,f,e,h,i]}function sha1_ft(a,c,d,b){if(a<20){return(c&d)|((~c)&b)}if(a<40){return c^d^b}if(a<60){return(c&d)|(c&b)|(d&b)}return c^d^b}function sha1_kt(a){return(a<20)?1518500249:(a<40)?1859775393:(a<60)?-1894007588:-899497514}function core_hmac_sha1(a,c){var d=str2binb(a);if(d.length>16){d=core_sha1(d,a.length*chrsz)}var b=new Array(16),f=new Array(16);for(var e=0;e<16;e++){b[e]=d[e]^0x36363636;f[e]=d[e]^0x5C5C5C5C}var h=core_sha1(b.concat(str2binb(c)),512+c.length*chrsz);return core_sha1(f.concat(h),512+160)}function safe_add(a,c){var d=(a&0xFFFF)+(c&0xFFFF);var b=(a>>16)+(c>>16)+(d>>16);return(b<<16)|(d&0xFFFF)}function rol(a,c){return(a<<c)|(a>>>(32-c))}function str2binb(a){var c=[];var d=(1<<chrsz)-1;for(var b=0;b<a.length*chrsz;b+=chrsz){c[b>>5]|=(a.charCodeAt(b/chrsz)&d)<<(32-chrsz-b%32)}return c}function binb2str(a){var c="";var d=(1<<chrsz)-1;for(var b=0;b<a.length*32;b+=chrsz){c+=String.fromCharCode((a[b>>5]>>>(32-chrsz-b%32))&d)}return c}function binb2hex(a){var c=hexcase?"0123456789ABCDEF":"0123456789abcdef";var d="";for(var b=0;b<a.length*4;b++){d+=c.charAt((a[b>>2]>>((3-b%4)*8+4))&0xF)+c.charAt((a[b>>2]>>((3-b%4)*8))&0xF)}return d}function binb2b64(a){var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var d="";var b,f;for(var e=0;e<a.length*4;e+=3){b=(((a[e>>2]>>8*(3-e%4))&0xFF)<<16)|(((a[e+1>>2]>>8*(3-(e+1)%4))&0xFF)<<8)|((a[e+2>>2]>>8*(3-(e+2)%4))&0xFF);for(f=0;f<4;f++){if(e*8+f*6>a.length*32){d+=b64pad}else{d+=c.charAt((b>>6*(3-f))&0x3F)}}}return d}
