var hexcase=0,b64pad="",chrsz=8;function hex_md5(b){return binl2hex(core_md5(str2binl(b),b.length*chrsz))}function b64_md5(b){return binl2b64(core_md5(str2binl(b),b.length*chrsz))}function str_md5(b){return binl2str(core_md5(str2binl(b),b.length*chrsz))}function hex_hmac_md5(b,a){return binl2hex(core_hmac_md5(b,a))}function b64_hmac_md5(b,a){return binl2b64(core_hmac_md5(b,a))}function str_hmac_md5(b,a){return binl2str(core_hmac_md5(b,a))} function md5_vm_test(){return"900150983cd24fb0d6963f7d28e17f72"==hex_md5("abc")} function core_md5(b,a){b[a>>5]|=128<>>9<<4)+14]=a;a=1732584193;for(var c=-271733879,d=-1732584194,e=271733878,f=0;fe;e++)d[e]=c[e]^909522486,b[e]=c[e]^1549556828;a=core_md5(d.concat(str2binl(a)),512+a.length*chrsz);return core_md5(b.concat(a),640)}function safe_add(b,a){var c=(b&65535)+(a&65535);return(b>>16)+(a>>16)+(c>>16)<<16|c&65535} function bit_rol(b,a){return b<>>32-a}function str2binl(b){for(var a=[],c=(1<>5]|=(b.charCodeAt(d/chrsz)&c)<>5]>>>d%32&c);return a}function binl2hex(b){for(var a=hexcase?"0123456789ABCDEF":"0123456789abcdef",c="",d=0;d<4*b.length;d++)c+=a.charAt(b[d>>2]>>d%4*8+4&15)+a.charAt(b[d>>2]>>d%4*8&15);return c} function binl2b64(b){for(var a="",c=0;c<4*b.length;c+=3)for(var d=(b[c>>2]>>c%4*8&255)<<16|(b[c+1>>2]>>(c+1)%4*8&255)<<8|b[c+2>>2]>>(c+2)%4*8&255,e=0;4>e;e++)a=8*c+6*e>32*b.length?a+b64pad:a+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>6*(3-e)&63);return a};