function hex_sha256(r){return rstr2hex(rstr_sha256(str2rstr_utf8(r)))}function b64_sha256(r){return rstr2b64(rstr_sha256(str2rstr_utf8(r)))}function any_sha256(r,a){return rstr2any(rstr_sha256(str2rstr_utf8(r)),a)}function hex_hmac_sha256(r,a){return rstr2hex(rstr_hmac_sha256(str2rstr_utf8(r),str2rstr_utf8(a)))}function b64_hmac_sha256(r,a){return rstr2b64(rstr_hmac_sha256(str2rstr_utf8(r),str2rstr_utf8(a)))}function any_hmac_sha256(r,a,t){return rstr2any(rstr_hmac_sha256(str2rstr_utf8(r),str2rstr_utf8(a)),t)}function sha256_vm_test(){return"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad"==hex_sha256("abc").toLowerCase()}function rstr_sha256(r){return binb2rstr(binb_sha256(rstr2binb(r),8*r.length))}function rstr_hmac_sha256(r,a){var t=rstr2binb(r);t.length>16&&(t=binb_sha256(t,8*r.length));for(var n=Array(16),h=Array(16),s=0;16>s;s++)n[s]=909522486^t[s],h[s]=1549556828^t[s];var e=binb_sha256(n.concat(rstr2binb(a)),512+8*a.length);return binb2rstr(binb_sha256(h.concat(e),768))}function rstr2hex(r){try{}catch(a){hexcase=0}for(var t,n=hexcase?"0123456789ABCDEF":"0123456789abcdef",h="",s=0;s>>4&15)+n.charAt(15&t);return h}function rstr2b64(r){try{}catch(a){b64pad=""}for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n="",h=r.length,s=0;h>s;s+=3)for(var e=r.charCodeAt(s)<<16|(h>s+1?r.charCodeAt(s+1)<<8:0)|(h>s+2?r.charCodeAt(s+2):0),_=0;4>_;_++)n+=8*s+6*_>8*r.length?b64pad:t.charAt(e>>>6*(3-_)&63);return n}function rstr2any(r,a){var t,n,h,s,e=a.length,_=Array(),f=Array(Math.ceil(r.length/2));for(t=0;t0;){for(s=Array(),h=0,t=0;t0||n>0)&&(s[s.length]=n);_[_.length]=h,f=s}var o="";for(t=_.length-1;t>=0;t--)o+=a.charAt(_[t]);var u=Math.ceil(8*r.length/(Math.log(a.length)/Math.log(2)));for(t=o.length;u>t;t++)o=a[0]+o;return o}function str2rstr_utf8(r){for(var a,t,n="",h=-1;++h=55296&&56319>=a&&t>=56320&&57343>=t&&(a=65536+((1023&a)<<10)+(1023&t),h++),127>=a?n+=String.fromCharCode(a):2047>=a?n+=String.fromCharCode(192|a>>>6&31,128|63&a):65535>=a?n+=String.fromCharCode(224|a>>>12&15,128|a>>>6&63,128|63&a):2097151>=a&&(n+=String.fromCharCode(240|a>>>18&7,128|a>>>12&63,128|a>>>6&63,128|63&a));return n}function str2rstr_utf16le(r){for(var a="",t=0;t>>8&255);return a}function str2rstr_utf16be(r){for(var a="",t=0;t>>8&255,255&r.charCodeAt(t));return a}function rstr2binb(r){for(var a=Array(r.length>>2),t=0;t>5]|=(255&r.charCodeAt(t/8))<<24-t%32;return a}function binb2rstr(r){for(var a="",t=0;t<32*r.length;t+=8)a+=String.fromCharCode(r[t>>5]>>>24-t%32&255);return a}function sha256_S(r,a){return r>>>a|r<<32-a}function sha256_R(r,a){return r>>>a}function sha256_Ch(r,a,t){return r&a^~r&t}function sha256_Maj(r,a,t){return r&a^r&t^a&t}function sha256_Sigma0256(r){return sha256_S(r,2)^sha256_S(r,13)^sha256_S(r,22)}function sha256_Sigma1256(r){return sha256_S(r,6)^sha256_S(r,11)^sha256_S(r,25)}function sha256_Gamma0256(r){return sha256_S(r,7)^sha256_S(r,18)^sha256_R(r,3)}function sha256_Gamma1256(r){return sha256_S(r,17)^sha256_S(r,19)^sha256_R(r,10)}function sha256_Sigma0512(r){return sha256_S(r,28)^sha256_S(r,34)^sha256_S(r,39)}function sha256_Sigma1512(r){return sha256_S(r,14)^sha256_S(r,18)^sha256_S(r,41)}function sha256_Gamma0512(r){return sha256_S(r,1)^sha256_S(r,8)^sha256_R(r,7)}function sha256_Gamma1512(r){return sha256_S(r,19)^sha256_S(r,61)^sha256_R(r,6)}function binb_sha256(r,a){var t,n,h,s,e,_,f,o,u,c,d,i,g=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),b=new Array(64);for(r[a>>5]|=128<<24-a%32,r[(a+64>>9<<4)+15]=a,u=0;uc;c++)16>c?b[c]=r[c+u]:b[c]=safe_add(safe_add(safe_add(sha256_Gamma1256(b[c-2]),b[c-7]),sha256_Gamma0256(b[c-15])),b[c-16]),d=safe_add(safe_add(safe_add(safe_add(o,sha256_Sigma1256(e)),sha256_Ch(e,_,f)),sha256_K[c]),b[c]),i=safe_add(sha256_Sigma0256(t),sha256_Maj(t,n,h)),o=f,f=_,_=e,e=safe_add(s,d),s=h,h=n,n=t,t=safe_add(d,i);g[0]=safe_add(t,g[0]),g[1]=safe_add(n,g[1]),g[2]=safe_add(h,g[2]),g[3]=safe_add(s,g[3]),g[4]=safe_add(e,g[4]),g[5]=safe_add(_,g[5]),g[6]=safe_add(f,g[6]),g[7]=safe_add(o,g[7])}return g}function safe_add(r,a){var t=(65535&r)+(65535&a),n=(r>>16)+(a>>16)+(t>>16);return n<<16|65535&t}var hexcase=0,b64pad="",sha256_K=new Array(1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998);