crypto-api.min.js 116 KB
var CryptoApi=function(t){var e={};function s(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,s),r.l=!0,r.exports}return s.m=t,s.c=e,s.d=function(t,e,n){s.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},s.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.t=function(t,e){if(1&e&&(t=s(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)s.d(n,r,function(e){return t[e]}.bind(null,r));return n},s.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(e,"a",e),e},s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s.p="",s(s.s=29)}([function(t,e,s){"use strict";function n(t,e){return t<<e|t>>>32-e|0}function r(t,e){return t>>>e|t<<32-e|0}function a(t,e,s){return 32===s?e:32<s?a(e,t,s-32):4294967295&(t>>>s|e<<32-s)}function o(t,e,s){return 32===s?t:32<s?o(e,t,s-32):4294967295&(e>>>s|t<<32-s)}s.d(e,"a",function(){return n}),s.d(e,"b",function(){return r}),s.d(e,"d",function(){return o}),s.d(e,"c",function(){return a})},function(t,e,s){"use strict";function n(t){for(var e="",s=0,n=t.length;s<n;s++){var r=t.charCodeAt(s);r<128?e+=String.fromCharCode(r):(r<2048?e+=String.fromCharCode(192|r>>6):(r<55296||57344<=r?e+=String.fromCharCode(224|r>>12):(s++,r=65536+((1023&r)<<10|1023&t.charCodeAt(s)),e+=String.fromCharCode(240|r>>18),e+=String.fromCharCode(128|r>>12&63)),e+=String.fromCharCode(128|r>>6&63)),e+=String.fromCharCode(128|63&r))}return e}s.d(e,"a",function(){return n})},function(t,e,s){"use strict";function n(t){for(var e="",s=0,n=t.length;s<n;s++)e+=(t.charCodeAt(s)<16?"0":"")+t.charCodeAt(s).toString(16);return e}s.d(e,"a",function(){return n})},function(t,e,s){"use strict";var n=s(4);function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function o(t){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function i(t,e){return(i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var h=function(){function t(e){var s;return function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),(s=function(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}(this,o(t).call(this,e))).unitOrder=1,s.blockUnits=[],s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}(t,n.a),function(t,e,s){e&&a(t.prototype,e)}(t,[{key:"process",value:function(){for(;this.state.message.length>=this.blockSizeInBytes;){this.blockUnits=[];for(var t=0;t<this.blockSizeInBytes;t+=4)this.blockUnits.push(this.state.message.charCodeAt(t)<<24|this.state.message.charCodeAt(t+1)<<16|this.state.message.charCodeAt(t+2)<<8|this.state.message.charCodeAt(t+3));this.state.message=this.state.message.substr(this.blockSizeInBytes),this.processBlock(this.blockUnits)}}},{key:"processBlock",value:function(t){}},{key:"getStateHash",value:function(t){t=t||this.state.hash.length;for(var e="",s=0;s<t;s++)e+=String.fromCharCode(this.state.hash[s]>>24&255)+String.fromCharCode(this.state.hash[s]>>16&255)+String.fromCharCode(this.state.hash[s]>>8&255)+String.fromCharCode(255&this.state.hash[s]);return e}},{key:"addLengthBits",value:function(){this.state.message+="\0\0\0"+String.fromCharCode(this.state.length>>29&255)+String.fromCharCode(this.state.length>>21&255)+String.fromCharCode(this.state.length>>13&255)+String.fromCharCode(this.state.length>>5&255)+String.fromCharCode(this.state.length<<3&255)}}]),t}();e.a=h},function(t,e,s){"use strict";function n(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var r=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.unitSize=4,this.unitOrder=0,this.blockSize=16,this.blockSizeInBytes=this.blockSize*this.unitSize,this.options=e||{},this.reset()}return function(t,e,s){e&&n(t.prototype,e)}(t,[{key:"reset",value:function(){this.state={},this.state.message="",this.state.length=0}},{key:"getState",value:function(){return JSON.parse(JSON.stringify(this.state))}},{key:"setState",value:function(t){this.state=t}},{key:"update",value:function(t){this.state.message+=t,this.state.length+=t.length,this.process()}},{key:"process",value:function(){}},{key:"finalize",value:function(){return""}},{key:"getStateHash",value:function(t){return""}},{key:"addPaddingPKCS7",value:function(t){this.state.message+=new Array(t+1).join(String.fromCharCode(t))}},{key:"addPaddingISO7816",value:function(t){this.state.message+="€"+new Array(t).join("\0")}},{key:"addPaddingZero",value:function(t){this.state.message+=new Array(t+1).join("\0")}}]),t}();e.a=r},function(t,e,s){"use strict";var n=s(4);function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function o(t){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function i(t,e){return(i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var h=function(){function t(e){var s;return function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),(s=function(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}(this,o(t).call(this,e))).blockUnits=[],s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}(t,n.a),function(t,e,s){e&&a(t.prototype,e)}(t,[{key:"process",value:function(){for(;this.state.message.length>=this.blockSizeInBytes;){this.blockUnits=[];for(var t=0;t<this.blockSizeInBytes;t+=4)this.blockUnits.push(this.state.message.charCodeAt(t)|this.state.message.charCodeAt(t+1)<<8|this.state.message.charCodeAt(t+2)<<16|this.state.message.charCodeAt(t+3)<<24);this.state.message=this.state.message.substr(this.blockSizeInBytes),this.processBlock(this.blockUnits)}}},{key:"processBlock",value:function(t){}},{key:"getStateHash",value:function(t){t=t||this.state.hash.length;for(var e="",s=0;s<t;s++)e+=String.fromCharCode(255&this.state.hash[s])+String.fromCharCode(this.state.hash[s]>>8&255)+String.fromCharCode(this.state.hash[s]>>16&255)+String.fromCharCode(this.state.hash[s]>>24&255);return e}},{key:"addLengthBits",value:function(){this.state.message+=String.fromCharCode(this.state.length<<3&255)+String.fromCharCode(this.state.length>>5&255)+String.fromCharCode(this.state.length>>13&255)+String.fromCharCode(this.state.length>>21&255)+String.fromCharCode(this.state.length>>29&255)+"\0\0\0"}}]),t}();e.a=h},function(t,e,s){"use strict";var n=s(3),r=s(0);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function i(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function h(t,e,s){return(h="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,s){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=c(t)););return t}(t,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(s):r.value}})(t,e,s||t)}function c(t){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var f=[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],l=function(){function t(e){var s;return function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),(e=e||{}).length=e.length||512,e.rounds=e.rounds||160,(s=i(this,c(t).call(this,e))).blockSize=32,s.blockSizeInBytes=s.blockSize*s.unitSize,s.W=new Array(160),s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&u(t,e)}(t,n.a),function(t,e,s){e&&o(t.prototype,e)}(t,[{key:"reset",value:function(){switch(h(c(t.prototype),"reset",this).call(this),this.options.length){case 384:this.state.hash=[-876896931,-1056596264,1654270250,914150663,-1856437926,812702999,355462360,-150054599,1731405415,-4191439,-1900787065,1750603025,-619958771,1694076839,1203062813,-1090891868];break;case 512:this.state.hash=[1779033703,-205731576,-1150833019,-2067093701,1013904242,-23791573,-1521486534,1595750129,1359893119,-1377402159,-1694144372,725511199,528734635,-79577749,1541459225,327033209];break;default:for(var e=new t,s=0;s<16;s++)e.state.hash[s]=2779096485^e.state.hash[s];e.update("SHA-512/"+this.options.length);var n=e.finalize();this.state.hash=[];for(var r=0;r<64;r+=4)this.state.hash.push(n.charCodeAt(r)<<24|n.charCodeAt(r+1)<<16|n.charCodeAt(r+2)<<8|n.charCodeAt(r+3))}}},{key:"processBlock",value:function(t){for(var e,s,n,a,o=this.state.hash[0],i=this.state.hash[1],h=this.state.hash[2],c=this.state.hash[3],u=this.state.hash[4],l=this.state.hash[5],p=this.state.hash[6],y=this.state.hash[7],b=this.state.hash[8],g=this.state.hash[9],C=this.state.hash[10],v=this.state.hash[11],d=this.state.hash[12],O=this.state.hash[13],m=this.state.hash[14],w=this.state.hash[15],j=0;j<this.options.rounds;j+=2){if(j<32)this.W[j]=t[j],this.W[j+1]=t[j+1];else{e=Object(r.c)(this.W[j-30],this.W[j-29],1)^Object(r.c)(this.W[j-30],this.W[j-29],8)^this.W[j-30]>>>7,s=Object(r.d)(this.W[j-30],this.W[j-29],1)^Object(r.d)(this.W[j-30],this.W[j-29],8)^(this.W[j-29]>>>7|this.W[j-30]<<25),n=Object(r.c)(this.W[j-4],this.W[j-3],19)^Object(r.c)(this.W[j-4],this.W[j-3],61)^this.W[j-4]>>>6,a=Object(r.d)(this.W[j-4],this.W[j-3],19)^Object(r.d)(this.W[j-4],this.W[j-3],61)^(this.W[j-3]>>>6|this.W[j-4]<<26);var S=(65535&this.W[j-13])+(65535&this.W[j-31])+(65535&s)+(65535&a)|0,k=(this.W[j-13]>>>16)+(this.W[j-31]>>>16)+(s>>>16)+(a>>>16)+(S>>>16)|0,W=(65535&this.W[j-14])+(65535&this.W[j-32])+(65535&e)+(65535&n)+(k>>>16)|0,P=(this.W[j-14]>>>16)+(this.W[j-32]>>>16)+(e>>>16)+(n>>>16)+(W>>>16)|0;this.W[j]=4294967295&(P<<16|65535&W),this.W[j+1]=4294967295&(k<<16|65535&S)}e=Object(r.c)(o,i,28)^Object(r.c)(o,i,34)^Object(r.c)(o,i,39),s=Object(r.d)(o,i,28)^Object(r.d)(o,i,34)^Object(r.d)(o,i,39),n=Object(r.c)(b,g,14)^Object(r.c)(b,g,18)^Object(r.c)(b,g,41);var _=g&v^~g&O,H=o&h^o&u^h&u,F=i&c^i&l^c&l,G=w+(a=Object(r.d)(b,g,14)^Object(r.d)(b,g,18)^Object(r.d)(b,g,41))|0,A=m+n+(G>>>0<w>>>0?1:0)|0;A=(A=A+(b&C^~b&d)+((G=G+_|0)>>>0<_>>>0?1:0)|0)+f[j]+((G=G+f[j+1]|0)>>>0<f[j+1]>>>0?1:0)|0,G=G+this.W[j+1]|0;var I=s+F|0;m=d,w=O,d=C,O=v,C=b,v=g,b=p+(A=A+this.W[j]+(G>>>0<this.W[j+1]>>>0?1:0)|0)+((g=y+G|0)>>>0<y>>>0?1:0)|0,p=u,y=l,u=h,l=c,h=o,c=i,o=A+(e+H+(I>>>0<s>>>0?1:0)|0)+((i=G+I|0)>>>0<G>>>0?1:0)|0}this.state.hash[1]=this.state.hash[1]+i|0,this.state.hash[0]=this.state.hash[0]+o+(this.state.hash[1]>>>0<i>>>0?1:0)|0,this.state.hash[3]=this.state.hash[3]+c|0,this.state.hash[2]=this.state.hash[2]+h+(this.state.hash[3]>>>0<c>>>0?1:0)|0,this.state.hash[5]=this.state.hash[5]+l|0,this.state.hash[4]=this.state.hash[4]+u+(this.state.hash[5]>>>0<l>>>0?1:0)|0,this.state.hash[7]=this.state.hash[7]+y|0,this.state.hash[6]=this.state.hash[6]+p+(this.state.hash[7]>>>0<y>>>0?1:0)|0,this.state.hash[9]=this.state.hash[9]+g|0,this.state.hash[8]=this.state.hash[8]+b+(this.state.hash[9]>>>0<g>>>0?1:0)|0,this.state.hash[11]=this.state.hash[11]+v|0,this.state.hash[10]=this.state.hash[10]+C+(this.state.hash[11]>>>0<v>>>0?1:0)|0,this.state.hash[13]=this.state.hash[13]+O|0,this.state.hash[12]=this.state.hash[12]+d+(this.state.hash[13]>>>0<O>>>0?1:0)|0,this.state.hash[15]=this.state.hash[15]+w|0,this.state.hash[14]=this.state.hash[14]+m+(this.state.hash[15]>>>0<w>>>0?1:0)|0}},{key:"finalize",value:function(){return this.addPaddingISO7816(this.state.message.length<112?112-this.state.message.length|0:240-this.state.message.length|0),this.state.message+="\0\0\0\0\0\0\0\0",this.addLengthBits(),this.process(),this.getStateHash(this.options.length/32|0)}}]),t}();e.a=l},function(t,e,s){"use strict";var n=s(3),r=s(0);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function i(t,e,s){return(i="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,s){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=h(t)););return t}(t,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(s):r.value}})(t,e,s||t)}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var u=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],f=function(){function t(e){var s;return function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),(e=e||{}).length=e.length||256,e.rounds=e.rounds||64,(s=function(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}(this,h(t).call(this,e))).W=new Array(64),s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(t,n.a),function(t,e,s){e&&o(t.prototype,e)}(t,[{key:"reset",value:function(){switch(i(h(t.prototype),"reset",this).call(this),this.options.length){case 224:this.state.hash=[-1056596264,914150663,812702999,-150054599,-4191439,1750603025,1694076839,-1090891868];break;default:this.state.hash=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225]}}},{key:"processBlock",value:function(t){for(var e=0|this.state.hash[0],s=0|this.state.hash[1],n=0|this.state.hash[2],a=0|this.state.hash[3],o=0|this.state.hash[4],i=0|this.state.hash[5],h=0|this.state.hash[6],c=0|this.state.hash[7],f=0;f<this.options.rounds;f++){this.W[f]=f<16?0|t[f]:this.W[f-16]+(Object(r.b)(this.W[f-15],7)^Object(r.b)(this.W[f-15],18)^this.W[f-15]>>>3)+this.W[f-7]+(Object(r.b)(this.W[f-2],17)^Object(r.b)(this.W[f-2],19)^this.W[f-2]>>>10)|0;var l=c+(Object(r.b)(o,6)^Object(r.b)(o,11)^Object(r.b)(o,25))+(o&i^~o&h)+u[f]+this.W[f]|0,p=(Object(r.b)(e,2)^Object(r.b)(e,13)^Object(r.b)(e,22))+(e&s^e&n^s&n)|0;c=h,h=i,i=o,o=a+l|0,a=n,n=s,s=e,e=l+p|0}this.state.hash[0]=this.state.hash[0]+e|0,this.state.hash[1]=this.state.hash[1]+s|0,this.state.hash[2]=this.state.hash[2]+n|0,this.state.hash[3]=this.state.hash[3]+a|0,this.state.hash[4]=this.state.hash[4]+o|0,this.state.hash[5]=this.state.hash[5]+i|0,this.state.hash[6]=this.state.hash[6]+h|0,this.state.hash[7]=this.state.hash[7]+c|0}},{key:"finalize",value:function(){return this.addPaddingISO7816(this.state.message.length<56?56-this.state.message.length|0:120-this.state.message.length|0),this.addLengthBits(),this.process(),this.getStateHash(this.options.length/32|0)}}]),t}();e.a=f},function(t,e,s){"use strict";var n=s(5),r=s(0);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function i(t,e,s){return(i="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,s){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=h(t)););return t}(t,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(s):r.value}})(t,e,s||t)}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var u=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],f=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],l=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],p=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],y=function(){function t(e){return function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),(e=e||{}).length=e.length||160,function(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}(this,h(t).call(this,e))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(t,n.a),function(t,e,s){e&&o(t.prototype,e),s&&o(t,s)}(t,[{key:"reset",value:function(){switch(i(h(t.prototype),"reset",this).call(this),this.options.length){case 128:this.state.hash=[1732584193,4023233417,2562383102,271733878],this.processBlock=this.processBlock128;break;case 256:this.state.hash=[1732584193,4023233417,2562383102,271733878,1985229328,4275878552,2309737967,19088743],this.processBlock=this.processBlock256;break;case 320:this.state.hash=[1732584193,4023233417,2562383102,271733878,3285377520,1985229328,4275878552,2309737967,19088743,1009589775],this.processBlock=this.processBlock320;break;default:this.state.hash=[1732584193,4023233417,2562383102,271733878,3285377520],this.processBlock=this.processBlock160}}},{key:"processBlock128",value:function(e){for(var s=0|this.state.hash[0],n=0|this.state.hash[1],a=0|this.state.hash[2],o=0|this.state.hash[3],i=s,h=n,c=a,y=o,b=0;b<64;b++){var g=s+e[u[b]]|0;g=g+t.T(b,n,a,o)|0,s=o,o=a,a=n,n=g=Object(r.a)(g,l[b]),g=(g=i+e[f[b]]|0)+t.T64(b,h,c,y)|0,i=y,y=c,c=h,h=g=Object(r.a)(g,p[b])}var C=this.state.hash[1]+a+y|0;this.state.hash[1]=this.state.hash[2]+o+i|0,this.state.hash[2]=this.state.hash[3]+s+h|0,this.state.hash[3]=this.state.hash[0]+n+c|0,this.state.hash[0]=C}},{key:"processBlock160",value:function(e){for(var s=0|this.state.hash[0],n=0|this.state.hash[1],a=0|this.state.hash[2],o=0|this.state.hash[3],i=0|this.state.hash[4],h=s,c=n,y=a,b=o,g=i,C=0;C<80;C++){var v=s+e[u[C]]|0;v=v+t.T(C,n,a,o)|0,v=(v=Object(r.a)(v,l[C]))+i|0,s=i,i=o,o=Object(r.a)(a,10),a=n,n=v,v=(v=h+e[f[C]]|0)+t.T80(C,c,y,b)|0,v=(v=Object(r.a)(v,p[C]))+g|0,h=g,g=b,b=Object(r.a)(y,10),y=c,c=v}var d=this.state.hash[1]+a+b|0;this.state.hash[1]=this.state.hash[2]+o+g|0,this.state.hash[2]=this.state.hash[3]+i+h|0,this.state.hash[3]=this.state.hash[4]+s+c|0,this.state.hash[4]=this.state.hash[0]+n+y|0,this.state.hash[0]=d}},{key:"processBlock256",value:function(e){for(var s=0|this.state.hash[0],n=0|this.state.hash[1],a=0|this.state.hash[2],o=0|this.state.hash[3],i=0|this.state.hash[4],h=0|this.state.hash[5],c=0|this.state.hash[6],y=0|this.state.hash[7],b=0;b<64;b+=1){var g=s+e[u[b]]|0;switch(g=g+t.T(b,n,a,o)|0,s=o,o=a,a=n,n=g=Object(r.a)(g,l[b]),g=(g=i+e[f[b]]|0)+t.T64(b,h,c,y)|0,i=y,y=c,c=h,h=g=Object(r.a)(g,p[b]),b){case 15:g=s,s=i,i=g;break;case 31:g=n,n=h,h=g;break;case 47:g=a,a=c,c=g;break;case 63:g=o,o=y,y=g}}this.state.hash[0]=this.state.hash[0]+s|0,this.state.hash[1]=this.state.hash[1]+n|0,this.state.hash[2]=this.state.hash[2]+a|0,this.state.hash[3]=this.state.hash[3]+o|0,this.state.hash[4]=this.state.hash[4]+i|0,this.state.hash[5]=this.state.hash[5]+h|0,this.state.hash[6]=this.state.hash[6]+c|0,this.state.hash[7]=this.state.hash[7]+y|0}},{key:"processBlock320",value:function(e){for(var s=0|this.state.hash[0],n=0|this.state.hash[1],a=0|this.state.hash[2],o=0|this.state.hash[3],i=0|this.state.hash[4],h=0|this.state.hash[5],c=0|this.state.hash[6],y=0|this.state.hash[7],b=0|this.state.hash[8],g=0|this.state.hash[9],C=0;C<80;C+=1){var v=s+e[u[C]]|0;switch(v=v+t.T(C,n,a,o)|0,v=(v=Object(r.a)(v,l[C]))+i|0,s=i,i=o,o=Object(r.a)(a,10),a=n,n=v,v=(v=h+e[f[C]]|0)+t.T80(C,c,y,b)|0,v=(v=Object(r.a)(v,p[C]))+g|0,h=g,g=b,b=Object(r.a)(y,10),y=c,c=v,C){case 15:v=n,n=c,c=v;break;case 31:v=o,o=b,b=v;break;case 47:v=s,s=h,h=v;break;case 63:v=a,a=y,y=v;break;case 79:v=i,i=g,g=v}}this.state.hash[0]=this.state.hash[0]+s|0,this.state.hash[1]=this.state.hash[1]+n|0,this.state.hash[2]=this.state.hash[2]+a|0,this.state.hash[3]=this.state.hash[3]+o|0,this.state.hash[4]=this.state.hash[4]+i|0,this.state.hash[5]=this.state.hash[5]+h|0,this.state.hash[6]=this.state.hash[6]+c|0,this.state.hash[7]=this.state.hash[7]+y|0,this.state.hash[8]=this.state.hash[8]+b|0,this.state.hash[9]=this.state.hash[9]+g|0}},{key:"finalize",value:function(){return this.addPaddingISO7816(this.state.message.length<56?56-this.state.message.length|0:120-this.state.message.length|0),this.addLengthBits(),this.process(),this.getStateHash()}}],[{key:"F",value:function(t,e,s){return t^e^s}},{key:"G",value:function(t,e,s){return t&e|~t&s}},{key:"H",value:function(t,e,s){return(t|~e)^s}},{key:"I",value:function(t,e,s){return t&s|e&~s}},{key:"J",value:function(t,e,s){return t^(e|~s)}},{key:"T",value:function(t,e,s,n){return t<16?this.F(e,s,n):t<32?this.G(e,s,n)+1518500249|0:t<48?this.H(e,s,n)+1859775393|0:t<64?this.I(e,s,n)+2400959708|0:this.J(e,s,n)+2840853838|0}},{key:"T64",value:function(t,e,s,n){return t<16?this.I(e,s,n)+1352829926|0:t<32?this.H(e,s,n)+1548603684|0:t<48?this.G(e,s,n)+1836072691|0:this.F(e,s,n)}},{key:"T80",value:function(t,e,s,n){return t<16?this.J(e,s,n)+1352829926|0:t<32?this.I(e,s,n)+1548603684|0:t<48?this.H(e,s,n)+1836072691|0:t<64?this.G(e,s,n)+2053994217|0:this.F(e,s,n)}}]),t}();e.a=y},function(t,e,s){"use strict";var n=s(3),r=s(0);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function i(t,e,s){return(i="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,s){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=h(t)););return t}(t,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(s):r.value}})(t,e,s||t)}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var u=[10097,32533,76520,13586,34673,54876,80959,9117,39292,74945,37542,4805,64894,74296,24805,24037,20636,10402,822,91665,8422,68953,19645,9303,23209,2560,15953,34764,35080,33606,99019,2529,9376,70715,38311,31165,88676,74397,4436,27659,12807,99970,80157,36147,64032,36653,98951,16877,12171,76833,66065,74717,34072,76850,36697,36170,65813,39885,11199,29170,31060,10805,45571,82406,35303,42614,86799,7439,23403,9732,85269,77602,2051,65692,68665,74818,73053,85247,18623,88579,63573,32135,5325,47048,90553,57548,28468,28709,83491,25624,73796,45753,3529,64778,35808,34282,60935,20344,35273,88435,98520,17767,14905,68607,22109,40558,60970,93433,50500,73998,11805,5431,39808,27732,50725,68248,29405,24201,52775,67851,83452,99634,6288,98083,13746,70078,18475,40610,68711,77817,88685,40200,86507,58401,36766,67951,90364,76493,29609,11062,99594,67348,87517,64969,91826,8928,93785,61368,23478,34113,65481,17674,17468,50950,58047,76974,73039,57186,40218,16544,80124,35635,17727,8015,45318,22374,21115,78253,14385,53763,74350,99817,77402,77214,43236,210,45521,64237,96286,2655,69916,26803,66252,29148,36936,87203,76621,13990,94400,56418,9893,20505,14225,68514,46427,56788,96297,78822,54382,14598,91499,14523,68479,27686,46162,83554,94750,89923,37089,20048,80336,94598,26940,36858,70297,34135,53140,33340,42050,82341,44104,81949,85157,47954,32979,26575,57600,40881,22222,6413,12550,73742,11100,2040,12860,74697,96644,89439,28707,25815,63606,49329,16505,34484,40219,52563,43651,77082,7207,31790,61196,90446,26457,47774,51924,33729,65394,59593,42582,60527,15474,45266,95270,79953,59367,83848,82396,10118,33211,59466,94557,28573,67897,54387,54622,44431,91190,42592,92927,45973,42481,16213,97344,8721,16868,48767,3071,12059,25701,46670,23523,78317,73208,89837,68935,91416,26252,29663,5522,82562,4493,52494,75246,33824,45862,51025,61962,79335,65337,12472,549,97654,64051,88159,96119,63896,54692,82391,23287,29529,35963,15307,26898,9354,33351,35462,77974,50024,90103,39333,59808,8391,45427,26842,83609,49700,13021,24892,78565,20106,46058,85236,1390,92286,77281,44077,93910,83647,70617,42941,32179,597,87379,25241,5567,7007,86743,17157,85394,11838,69234,61406,20117,45204,15956,6e4,18743,92423,97118,96338,19565,41430,1758,75379,40419,21585,66674,36806,84962,85207,45155,14938,19476,7246,43667,94543,59047,90033,20826,69541,94864,31994,36168,10851,34888,81553,1540,35456,5014,51176,98086,24826,45240,28404,44999,8896,39094,73407,35441,31880,33185,16232,41941,50949,89435,48581,88695,41994,37548,73043,80951,406,96382,70774,20151,23387,25016,25298,94624,61171,79752,49140,71961,28296,69861,2591,74852,20539,387,59579,18633,32537,98145,6571,31010,24674,5455,61427,77938,91936,74029,43902,77557,32270,97790,17119,52527,58021,80814,51748,54178,45611,80993,37143,5335,12969,56127,19255,36040,90324,11664,49883,52079,84827,59381,71539,9973,33440,88461,23356,48324,77928,31249,64710,2295,36870,32307,57546,15020,9994,69074,94138,87637,91976,35584,4401,10518,21615,1848,76938,9188,20097,32825,39527,4220,86304,83389,87374,64278,58044,90045,85497,51981,50654,94938,81997,91870,76150,68476,64659,73189,50207,47677,26269,62290,64464,27124,67018,41361,82760,75768,76490,20971,87749,90429,12272,95375,5871,93823,43178,54016,44056,66281,31003,682,27398,20714,53295,7706,17813,8358,69910,78542,42785,13661,58873,4618,97553,31223,8420,28306,3264,81333,10591,40510,7893,32604,60475,94119,1840,53840,86233,81594,13628,51215,90290,28466,68795,77762,20791,91757,53741,61613,62269,50263,90212,55781,76514,83483,47055,89415,92694,397,58391,12607,17646,48949,72306,94541,37408,77513,3820,86864,29901,68414,82774,51908,13980,72893,55507,19502,37174,69979,20288,55210,29773,74287,75251,65344,67415,21818,59313,93278,81757,5686,73156,7082,85046,31853,38452,51474,66499,68107,23621,94049,91345,42836,9191,8007,45449,99559,68331,62535,24170,69777,12830,74819,78142,43860,72834,33713,48007,93584,72869,51926,64721,58303,29822,93174,93972,85274,86893,11303,22970,28834,34137,73515,90400,71148,43643,84133,89640,44035,52166,73852,70091,61222,60561,62327,18423,56732,16234,17395,96131,10123,91622,85496,57560,81604,18880,65138,56806,87648,85261,34313,65861,45875,21069,85644,47277,38001,2176,81719,11711,71602,92937,74219,64049,65584,49698,37402,96397,1304,77586,56271,10086,47324,62605,40030,37438,97125,40348,87083,31417,21815,39250,75237,62047,15501,29578,21826,41134,47143,34072,64638,85902,49139,6441,3856,54552,73135,42742,95719,9035,85794,74296,8789,88156,64691,19202,7638,77929,3061,18072,96207,44156,23821,99538,4713,66994,60528,83441,7954,19814,59175,20695,5533,52139,61212,6455,83596,35655,6958,92983,5128,9719,77433,53783,92301,50498,10850,62746,99599,10507,13499,6319,53075,71839,6410,19362,39820,98952,43622,63147,64421,80814,43800,9351,31024,73167,59580,6478,75569,78800,88835,54486,23768,6156,4111,8408,38508,7341,23793,48763,90822,97022,17719,4207,95954,49953,30692,70668,94688,16127,56196,80091,82067,63400,5462,69200,65443,95659,18288,27437,49632,24041,8337,65676,96299,90836,27267,50264,13192,72294,7477,44606,17985,48911,97341,30358,91307,6991,19072,24210,36699,53728,28825,35793,28976,66252,68434,94688,84473,13622,62126,98408,12843,82590,9815,93146,48908,15877,54745,24591,35700,4754,83824,52692,54130,55160,6913,45197,42672,78601,11883,9528,63011,98901,14974,40344,10455,16019,14210,33712,91342,37821,88325,80851,43667,70883,12883,97343,65027,61184,4285,1392,17974,15077,90712,26769,21778,30976,38807,36961,31649,42096,63281,2023,8816,47449,19523,59515,65122,59659,86283,68258,69572,13798,16435,91529,67245,52670,35583,16563,79246,86686,76463,34222,26655,90802,60584,47377,7500,37992,45134,26529,26760,83637,41326,44344,53853,41377,36066,94850,58838,73859,49364,73331,96240,43642,24637,38736,74384,89342,52623,7992,12369,18601,3742,83873,83080,12451,38992,22815,7759,51777,97377,27585,51972,37867,16444,24334,36151,99073,27493,70939,85130,32552,54846,54759,60790,18157,57178,65762,11161,78576,45819,52979,65130,4860,3991,10461,93716,16894,66083,24653,84609,58232,88618,19161,38555,95554,32886,59780,8355,60860,29735,47762,71299,23853,17546,73704,92052,46215,55121,29281,59076,7936,27954,58909,32643,52861,95819,6831,911,98936,76355,93779,80863,514,69572,68777,39510,35905,14060,40619,29549,69616,33564,60780,24122,66591,27699,6494,14845,46672,61958,77100,90899,75754,61196,30231,92962,61773,41839,55382,17267,70943,78038,70267,30532,21704,10274,12202,39685,23309,10061,68829,55986,66485,3788,97599,75867,20717,74416,53166,35208,33374,87539,8823,48228,63379,85783,47619,53152,67433,35663,52972,16818,60311,60365,94653,35075,33949,42614,29297,1918,28316,98953,73231,83799,42402,56623,34442,34994,41374,70071,14736,9958,18065,32960,7405,36409,83232,99385,41600,11133,7586,15917,6253,19322,53845,57620,52606,66497,68646,78138,66559,19640,99413,11220,94747,7399,37408,48509,23929,27482,45476,85244,35159,31751,57260,68980,5339,15470,48355,88651,22596,3152,19121,88492,99382,14454,4504,20094,98977,74843,93413,22109,78508,30934,47744,7481,83828,73788,6533,28597,20405,94205,20380,22888,48893,27499,98748,60530,45128,74022,84617,82037,10268,78212,16993,35902,91386,44372,15486,65741,14014,87481,37220,41849,84547,46850,52326,34677,58300,74910,64345,19325,81549,46352,33049,69248,93460,45305,7521,61318,31855,14413,70951,11087,96294,14013,31792,59747,67277,76503,34513,39663,77544,52701,8337,56303,87315,16520,69676,11654,99893,2181,68161,57275,36898,81304,48585,68652,27376,92852,55866,88448,3584,20857,73156,70284,24326,79375,95220,1159,63267,10622,48391,15633,84924,90415,93614,33521,26665,55823,47641,86225,31704,92694,48297,39904,2115,59589,49067,66821,41575,49767,4037,77613,19019,88152,80,20554,91409,96277,48257,50816,97616,38688,32486,45134,63545,59404,72059,43947,51680,43852,59693,25163,1889,70014,15021,41290,67312,71857,15957,68971,11403,65251,7629,37239,33295,5870,1119,92784,26340,18477,65622,36815,43625,18637,37509,82444,99005,4921,73701,14707,93997,64397,11692,5327,82162,20247,81759,45197,25332,83745,22567,4515,25624,95096,67946,48460,85558,15191,18782,16930,33361,83761,60873,43253,84145,60833,25983,1291,41349,20368,7126,14387,6345,80854,9279,43529,6318,38384,74761,41196,37480,51321,92246,80088,77074,88722,56736,66164,49431,66919,31678,72472,8,80890,18002,94813,31900,54155,83436,35352,54131,5466,55306,93128,18464,74457,90561,72848,11834,79982,68416,39528,72484,82474,25593,48545,35247,18619,13674,18611,19241,81616,18711,53342,44276,75122,11724,74627,73707,58319,15997,7586,16120,82641,22820,92904,13141,32392,19763,61199,67940,90767,4235,13574,17200,69902,63742,78464,22501,18627,90872,40188,28193,29593,88627,94972,11598,62095,36787,441,58997,34414,82157,86887,55087,19152,23,12302,80783,32624,68691,63439,75363,44989,16822,36024,867,76378,41605,65961,73488,67049,9070,93399,45547,94458,74284,5041,49807,20288,34060,79495,4146,52162,90286,54158,34243,46978,35482,59362,95938,91704,30552,4737,21031,75051,93029,47665,64382,99782,93478,94015,46874,32444,48277,59820,96163,64654,25843,41145,42820,74108,88222,88570,74015,25704,91035,1755,14750,48968,38603,62880,87873,95160,59221,22304,90314,72877,17334,39283,4149,11748,12102,80580,41867,17710,59621,6554,7850,73950,79552,17944,5600,60478,3343,25852,58905,57216,39618,49856,99326,66067,42792,95043,52680,46780,56487,9971,59481,37006,22186,54244,91030,45547,70818,59849,96169,61459,21647,87417,17198,30945,57589,31732,57260,47670,7654,46376,25366,94746,49580,69170,37403,86995,90307,94304,71803,26825,5511,12459,91314,8345,88975,35841,85771,8105,59987,87112,21476,14713,71181,27767,43584,85301,88977,29490,69714,73035,41207,74699,9310,13025,14338,54066,15243,47724,66733,47431,43905,31048,56699,80217,36292,98525,24335,24432,24896,43277,58874,11466,16082,10875,62004,90391,61105,57411,6368,53856,30743,8670,84741,54127,57326,26629,19087,24472,88779,30540,27886,61732,75454,60311,42824,37301,42678,45990,43242,17374,52003,70707,70214,49739,71484,92003,98086,76668,73209,59202,11973,2902,33250,78626,51594,16453,94614,39014,97066,83012,9832,25571,77628,66692,13986,99837,582,81232,44987,9504,96412,90193,79568,44071,28091,7362,97703,76447,42537,98524,97831,65704,9514,41468,85149,49554,17994,14924,39650,95294,556,70481,6905,94559,37559,49678,53119,70312,5682,66986,34099,74474,20740,41615,70360,64114,58660,90850,64618,80620,51790,11436,38072,50273,93113,41794,86861,24781,89683,55411,85667,77535,99892,41396,80504,90670,8289,40902,5069,95083,6783,28102,57816,25807,24260,71529,78920,72682,7385,90726,57166,98884,8583,6170,97965,88302,98041,21443,41808,68984,83620,89747,98882,60808,54444,74412,81105,1176,28838,36421,16489,18059,51061,80940,44893,10408,36222,80582,71944,92638,40333,67054,16067,19516,90120,46759,71643,13177,55292,21036,82808,77501,97427,49386,54480,23604,23554,21785,41101,91178,10174,29420,90438,6312,88940,15995,69321,47458,64809,98189,81851,29651,84215,60942,307,11897,92674,40405,68032,96717,54244,10701,41393,92329,98932,78284,46347,71209,92061,39448,93136,25722,8564,77936,63574,31384,51924,85561,29671,58137,17820,22751,36518,38101,77756,11657,13897,95889,57067,47648,13885,70669,93406,39641,69457,91339,22502,92613,89719,11947,56203,19324,20504,84054,40455,99396,63680,67667,60631,69181,96845,38525,11600,47468,3577,57649,63266,24700,71594,14004,23153,69249,5747,43321,31370,28977,23896,76479,68562,62342,7589,8899,5985,64281,61826,18555,64937,13173,33365,78851,16499,87064,13075,66847,70495,32350,2985,86716,38746,26313,77463,55387,72681,72461,33230,21529,53424,92581,2262,78438,66276,18396,73538,21032,91050,13058,16218,12470,56500,15292,76139,59526,52113,95362,67011,6651,16136,1016,857,55018,56374,35824,71708,49712,97380,10404,55452,34030,60726,75211,10271,36633,68424,58275,61764,97586,54716,50259,46345,87195,46092,26787,60939,89514,11788,68224,23417,73959,76145,30342,40277,11049,72049,15472,50669,48139,36732,46874,37088,73465,9819,58869,35220,12120,86124,51247,44302,60883,52109,21437,36786,49226,77837,19612,78430,11661,94770,77603,65669,86868,12665,30012,75989,39141,77400,28e3,64238,73258,71794,31340,26256,66453,37016,64756,80457,8747,12836,3469,50678,3274,43423,66677,82556,92901,51878,56441,22998,29718,38447,6453,25311,7565,53771,3551,90070,9483,94050,45938,18135,36908,43321,11073,51803,98884,66209,6830,53656,14663,56346,71430,4909,19818,5707,27369,86882,53473,7541,53633,70863,3748,12822,19360,49088,59066,75974,63335,20483,43514,37481,58278,26967,49325,43951,91647,93783,64169,49022,98588,9495,49829,59068,38831,4838,83605,92419,39542,7772,71568,75673,35185,89759,44901,74291,24895,88530,70774,35439,46758,70472,70207,92675,91623,61275,35720,26556,95596,20094,73750,85788,34264,1703,46833,65248,14141,53410,38649,6343,57256,61342,72709,75318,90379,37562,27416,75670,92176,72535,93119,56077,6886,18244,92344,31374,82071,7429,81007,47749,40744,56974,23336,88821,53841,10536,21445,82793,24831,93241,14199,76268,70883,68002,3829,17443,72513,76400,52225,92348,62308,98481,29744,33165,33141,61020,71479,45027,76160,57411,13780,13632,52308,77762,88874,33697,83210,51466,9088,50395,26743,5306,21706,70001,99439,80767,68749,95148,94897,78636,96750,9024,94538,91143,96693,61886,5184,75763,47075,88158,5313,53439,14908,8830,60096,21551,13651,62546,96892,25240,47511,58483,87342,78818,7855,39269,566,21220,292,24069,25072,29519,52548,54091,21282,21296,50958,17695,58072,68990,60329,95955,71586,63417,35947,67807,57621,64547,46850,37981,38527,9037,64756,3324,4986,83666,9282,25844,79139,78435,35428,43561,69799,63314,12991,93516,23394,94206,93432,37836,94919,26846,2555,74410,94915,48199,5280,37470,93622,4345,15092,19510,18094,16613,78234,50001,95491,97976,38306,32192,82639,54624,72434,92606,23191,74693,78521,104,18248,75583,90326,50785,54034,66251,35774,14692,96345,44579,85932,44053,75704,20840,86583,83944,52456,73766,77963,31151,32364,91691,47357,40338,23435,24065,8458,95366,7520,11294,23238,1748,41690,67328,54814,37777,10057,42332,38423,2309,70703,85736,46148,14258,29236,12152,5088,65825,2463,65533,21199,60555,33928,1817,7396,89215,30722,22102,15880,92261,17292,88190,61781,48898,92525,21283,88581,60098,71926,819,59144,224,30570,90194,18329,6999,26857,19238,64425,28108,16554,16016,42,83229,10333,36168,65617,94834,79782,23924,49440,30432,81077,31543,95216,64865,13658,51081,35337,74538,44553,64672,90960,41849,93865,44608,93176,34851,5249,29329,19715,94082,14738,86667,43708,66354,93692,25527,56463,99380,38793,85774,19056,13939,46062,27647,66146,63210,96296,33121,54196,34108,75814,85986,71171,15102,28992,63165,98380,36269,60014,7201,62448,46385,42175,88350,46182,49126,52567,64350,16315,53969,80395,81114,54358,64578,47269,15747,78498,90830,25955,99236,43286,91064,99969,95144,64424,77377,49553,24241,8150,89535,8703,91041,77323,81079,45127,93686,32151,7075,83155,10252,73100,88618,23891,87418,45417,20268,11314,50363,26860,27799,49416,83534,19187,8059,76677,2110,12364,71210,87052,50241,90785,97889,81399,58130,64439,5614,59467,58309,87834,57213,37510,33689,1259,62486,56320,46265,73452,17619,56421,40725,23439,41701,93223,41682,45026,47505,27635,56293,91700,4391,67317,89604,73020,69853,61517,51207,86040,2596,1655,9918,45161,222,54577,74821,47335,8582,52403,94255,26351,46527,68224,90183,85057,72310,34963,83462,49465,46581,61499,4844,94626,2963,41482,83879,44942,63915,94365,92560,12363,30246,2086,75036,88620,91088,67691,67762,34261,8769,91830,23313,18256,28850,37639,92748,57791,71328,37110,66538,39318,15626,44324,82827,8782,65960,58167,1305,83950,45424,72453,19444,68219,64733,94088,62006,89985,36936,61630,97966,76537,46467,30942,7479,67971,14558,22458,35148,1929,17165,12037,74558,16250,71750,55546,29693,94984,37782,41659,39098,23982,29899,71594,77979,54477,13764,17315,72893,32031,39608,75992,73445,1317,50525,87313,45191,30214,19769,90043,93478,58044,6949,31176,88370,50274,83987,45316,38551,79418,14322,91065,7841,36130,86602,10659,40859,964,71577,85447,61079,96910,72906,7361,84338,34114,52096,66715,51091,86219,81115,49625,48799,89485,24855,13684,68433,70595,70102,71712,88559,92476,32903,68009,58417,87962,11787,16644,72964,29776,63075,13270,84758,49560,10317,28778,23006,31036,84906,81488,17340,74154,42801,27917,89792,62604,62234,13124,76471,51667,37589,87147,24743,48023,6325,79794,35889,13255,4925,99004,70322,60832,76636,56907,56534,72615,46288,36788,93196,68656,66492,35933,52293,47953,95495,95304,50009,83464,28608,38074,74083,9337,7965,65047,36871,59015,21769,30398,44855,1020,80680,59328,8712,48190,45332,27284,31287,66011,9376,86379,74508,33579,77114,92955,23085,92824,3054,25242,16322,48498,9938,44420,13484,52319,58875,2012,88591,52500,95795,41800,95363,54142,17482,32705,60564,12505,40954,46174,64130,63026,96712,79883,39225,52653,69549,36693,59822,22684,31661,88298,15489,16030,42480,15372,38781,71995,77438,91161,10192,7839,62735,99218,25624,2547,27445,69187,55749,32322,15504,73298,51108,48717,92926,75705,89787,96114,99902,37749,96305,12829,70474,838,50385,91711,80370,56504,56857,80906,9018,76569,61072,48568,36491,22587,44363,39592,61546,90181,37348,41665,41339,62106,44203,6732,76111,79840,67999,32231,76869,58652,49983,1669,27464,79553,52855,25988,18087,38052,17529,13607,657,76173,43357,77334,24140,53860,2906,89863,44651,55715,26203,65933,51087,98234,40625,45545,63563,89148,82581,4110,66683,99001,9796,47349,65003,66524,81970,71262,14479,31300,8681,58068,44115,40064,77879,23965,69019,73985,19453,26225,97543,37044,7494,85778,35345,61115,92498,49737,64599,7158,82763,25072,38478,57782,75291,62155,52056,4786,11585,71251,25572,79771,93328,66927,54069,58752,26624,50463,77361,29991,96526,2820,91659,12818,96356,49499,1507,40223,9171,83642,21057,2677,9367,38097,16100,19355,6120,15378,56559,69167,30235,6767,66323,78294,14916,19124,88044,16673,66102,86018,29406,75415,22038,27056,26906,25867,14751,92380,30434,44114,6026,79553,55091,95385,41212,37882,46864,54717,97038,53805,64150,70915,63127,63695,41288,38192,72437,75075,18570,52065,8853,30104,79937,66913,53200,84570,78079,28970,53859,37632,80274,35240,32960,74859,7359,55176,3930,38984,35151,82576,82805,94031,12779,90879,24109,25367,77861,9541,85739,69023,64971,99321,7521,95909,43897,71724,92581,5471,64337,98949,3606,78236,78985,29212,57369,34857,67757,58019,58872,96526,28749,56592,37871,72905,70198,57319,54116,47014,18285,33692,72111,60958,96848,17893,40993,50445,14186,76877,87867,50335,9513,44346,26439,55293,6449,44301,63740,40158,72703,88321,85062,57345,66231,15409,3451,95261,43561,15673,28956,90303,62469,82517,43035,36850,15592,64098,59022,31752,4370,50486,11885,23085,41712,80692,48492,16495,99721,36912,28267,27882,16269,64483,11273,2680,1616,46138,54606,14761,5134,45144,63213,49666,27441,86989,29884,54334,6740,8368,80051,81020,17882,74973,74531,94994,24927,64894,22667,20466,82948,66831,47427,76033,31197,59817,20064,61135,28556,29695,80179,74058,18293,9963,35278,13062,83094,23373,90287,33477,48865,30348,70174,11468,25994,25343,22317,1587,30682,1,67814,59557,23362,13746,82244,42093,24671,79458,93730,45488,60234,67098,9899,25775,332,36636,57594,19958,85564,58977,12247,60774,66371,69442,20385,14486,91330,50332,46023,75768,59877,60081,92936,72302,75064,85727,52987,5750,19384,33684,78859,80458,69902,34870,88684,49762,40801,86291,18194,90366,82639,53844,96326,65728,48563,26027,52692,62406,76294,41848,63010,69841,29451,36170,21529,16525,64326,22086,24469,57407,96033,37771,31002,18311,93285,31948,14331,58335,15977,80336,81667,27286,24361,61638,57580,95270,46180,76990,53031,94366,2727,49944,19278,5756,51875,53445,33342,1965,7937,10054,97712,87693,58124,46064,39133,77385,9605,65359,70113,90563,86637,94282,12025,31926,24541,23854,58407,32131,92845,20714,27898,26917,50326,35145,50859,72119,95094,29441,42301,62460,75252,94267,38422,73047,24200,85349,72049,91723,97802,98496,12734,73432,10371,57213,53300,80847,46229,7099,72961,13767,65654,31102,82119,96946,65919,81083,3819,57888,57908,16849,77111,41429,92261,45263,1172,55926,78835,27697,48420,58865,41207,21406,8582,10785,36233,12237,7866,13706,92551,11021,63813,71512,65206,37768,94325,14721,20990,54235,71986,5345,56239,52028,1419,7215,55067,11669,21738,66605,69621,69827,8537,18638,60982,28151,98885,76431,25566,3085,23639,30849,63986,73287,26201,36174,14106,54102,57041,16141,64174,3591,90024,73332,31254,17288,59809,25061,51612,47951,16570,43330,79213,11354,55585,19646,99246,37564,32660,20632,21124,60597,69315,31312,57741,85108,21615,24365,27684,16124,33888,14966,35303,69921,15795,4020,67672,86816,63027,84470,45605,44887,26222,79888,58982,22466,98844,48353,60666,58256,31140,93507,69561,6256,88526,18655,865,75247,264,65957,98261,72706,36396,46065,85700,32121,99975,73627,78812,89638,86602,96758,65099,52777,46792,13790,55240,52002,10313,91933,71231,10053,78416,54563,96004,42215,30094,45958,48437,49591,50483,13422,69108,59952,27896,40450,79327,31962,46456,39260,51479,61882,48181,50691,64709,32902,10676,12083,35771,79656,56667,76783,3937,99859,10362,57411,40986,35045,2838,29255,64230,84418,34988,77644,39892,77327,74129,53444,35487,95803,38640,20383,55402,25793,14213,87082,42837,95030,97198,61608,97723,79390,35290,34683,81419,87133,70447,53127,97146,28299,56763,12868,1145,12147,58158,92124,60934,18414,97510,7056,54488,20719,53743,91037,44797,52110,8512,18991,20129,31441,51449,14661,71126,23180,68124,18807,70997,21913,19594,70355,73637,68266,60775,43164,52643,96363,77989,79332,39890,65379,20405,52935,43816,92740,95319,4538,60660,28982,15328,80475,34690,2293,19646,46524,96627,33159,42081,8816,74931,20674,8697,66169,46460,46326,39923,60625,28386,22919,19415,75766,43668,31626,70301,67053,3949,70082,2303,48642,38429,94053,38770,68137,68441,52928,70244,91954,17401,92693,98342,21451,84988,80487,33807,73797,49494,41878,76635,83227,76618,11946,13451,87591,78381,21407,90038,72638,69692,51599,86413,32019,64856,74730,41531,11064,1790,58817,86400,66213,92599,70905,78324,54326,43659,34206,63132,38837,40210,96346,16967,81619,96503,14881,89405,32205,49508,98425,2451,35423,56072,36810,30332,85998,49358,92748,84147,79835,94867,41224,61794,35066,82220,66684,20096,2754,41731,37068,32753,91059,13407,5607,69384,53329,95909,44968,11397,92973,50014,92997,80968,93761,57598,74703,7768,37978,73873,33475,9720,97852,98449,48722,84977,11271,11728,68318,22312,78792,87508,88466,72976,47099,84126,38595,85124,64405,90020,7492,52413,95111,34455,86311,68892,1074,60274,28136,19328,38161,57475,13771,63562,84207,94121,18901,52768,33801,82087,86091,59969,90398,56870,55756,78841,98450,54165,55106,50343,70519,14567,36780,55450,19606,83749,67562,64765,38543,16585,86841,73742,8766,39252,75678,75379,78760,37279,15280,13558,95916,89759,76686,76467,67147,63110,94008,8037,35263,53710,16667,79008,11231,29397,67136,18601,64502,90228,89109,72849,22711,65547,34542,26686,81678,87765,77654,23664,96352,14106,32938,28083,18633,80286,65507,46197,52722,75476,77816,47204,34876,45963,79262,90181,84041,3745,90041,30780,27226,92847,85572,15308,80688,5761,82638,13464,23683,81015,54214,64175,43701,86845,15569,50687,52679,87696,8285,97444,47599,94472,64150,87753,68652,60726,26213,17320,64553,81285,98126,12158,52095,64833,492,35817,55571,91300,97812,37507,4209,53515,64342,21223,16662,43265,68219,3529,43636,68417,53640,95326,93381,37113,80751,76469,96677,43054,22937,31954,13266,34140,27253,2734,99070,60077,57988,93211,92795,83795,57477,3941,39007,14619,38320,93449,31336,25279,97030,26245,47394,39475,90621,23820,29344,94859,91604,14033,41868,14816,4075,66644,87803,97815,99552,78666,3942,8175,22345,19983,76783,99044,20851,84981,59052,77178,72109,76475,21619,73017,6812,56633,50612,55289,4671,84419,94072,94446,80603,32188,93415,23464,43947,43728,74284,67177,57105,31059,10642,13803,69602,46961,66567,19359,84676,63918,40650,12923,15974,79732,20225,92525,71179,4859,91208,60430,5239,61458,24089,68852,60171,29603,42535,86365,93905,28237,45317,60718,82001,41679,20679,56304,70043,87568,21386,59049,78353,48696,77379,55309,23780,28391,5940,55583,81256,59418,97521,32846,70761,90115,45325,5490,65974,11186,15357,3568,450,96644,58976,36211,88240,92457,89200,94696,11370,91157,48487,59501,56983,89795,42789,69758,79701,29511,55968,41472,89474,84344,80517,7485,97523,17264,82840,59556,37119,30985,48866,60605,95719,70417,59083,95137,76538,44155,67286,57897,28262,4052,919,86207,79932,44236,10089,44373,65670,44285,6903,20834,49701,95735,21149,3425,17594,31427,14262,32252,68540,39427,44026,47257,45055,95091,8367,28381,57375,41562,83883,27715,10122,67745,46497,28626,87297,36568,39483,11385,63292,92305,78683,6146,81905,15038,38338,51206,65749,34119,71516,74068,51094,6665,91884,66762,11428,70908,21506,480,94183,78484,66507,75901,25728,52539,86806,69944,65036,27882,2530,4918,74351,65737,89178,8791,39342,94963,22581,56917,17541,83578,75376,65202,30935,79270,91986,99286,45236,44720,81915,70881,45886,43213,49789,97081,16075,20517,69980,25310,91953,1759,67635,88933,54558,18395,73375,62251,58871,9870,70538,48936,7757,90374,56631,88862,30487,38794,36079,32712,11130,55451,25137,38785,83558,31960,69473,45950,18225,9871,88502,75179,11551,75664,74321,67351,27703,83717,18913,42470,8816,37627,14288,62831,44047,67612,72738,26995,50933,63758,50003,43693,52661,55852,52372,59042,37595,4931,73622,68387,86478,40997,5245,75300,24902,59609,35653,15970,37681,69365,22236,86374,65550,343,98377,35354,65770,15365,41422,71356,16630,40044,19290,66449,53629,79452,71674,30260,97303,6487,62789,13005,70152,22501,49867,89294,59232,31776,54919,99851,5438,1096,72269,50486,16719,6144,82041,38332,64452,31840,99287,59928,25503,8407,46970,45907,99238,74547,19704,72035,26542,54600,79172,58779,35747,78956,11478,41195,58135,63856,33037,45753,60159,25193,71838,7526,7985,60714,88627,75790,38454,96110,39237,19792,34534,70169,24805,63215,38175,38784,38855,24826,50917,25147,17082,26997,32295,10894,21805,65245,85407,37926,69214,38579,84721,23544,88548,65626,75517,69737,55626,52175,21697,19453,16908,82841,24060,40285,19195,80281,89322,15232,70043,60691,86370,91949,19017,83846,77869,14321,95102,87073,71467,31305,64677,80358,52629,79419,22359,87867,48296,50141,46807,82184,95812,84665,74511,59914,4146,90417,58508,62875,17630,21868,9199,30322,33352,43374,25473,4119,63086,14147,14863,38020,44757,98628,57916,22199,11865,42911,62651,78290,9392,77294,63168,21043,17409,13786,27475,75979,89668,43596,74316,84489,54941,95992,45445,41059,55142,15214,42903,16799,88254,95984,48575,77822,21067,57238,35352,96779,89564,23797,99937,46379,27119,16060,30302,95327,12849,38111,97090,7598,78473,63079,18570,72803,70040,91385,96436,96263,17368,56188,85999,50026,36050,73736,13351,48321,28357,51718,65636,72903,21584,21060,39829,15564,4716,14594,22363,97639,65937,17802,31535,42767,98761,30987,57657,33398,63053,25926,20944,19306,81727,2695,97479,79172,72764,66446,78864,12698,15812,97209,38827,91016,91281,57875,45228,49211,69755,99224,43999,62879,8879,80015,74396,57146,64665,31159,6980,79069,37409,75037,69977,85919,42826,6974,61063,97640,13433,92528,91311,8440,38840,22362,93929,1836,36590,75052,89475,15437,65648,99012,70236,12307,83585,414,62851,48787,28447,21702,57033,29633,44760,34165,27548,37516,24343,63046,2081,20378,19510,42226,97134,68739,32982,56455,53129,77693,25022,55534,99375,30086,98001,7432,67126,76656,29347,28492,43108,64736,32278,84816,80440,30461,818,9136,1952,48442,91058,92590,10443,5195,34009,32141,62209,43740,54102,76895,98172,31583,4155,66492,58981,16591,11331,6838,3818,77063,12523,45570,68970,70055,77751,73743,71732,4704,61384,57343,66682,44500,89745,10436,67202,36455,42467,88801,91280,1056,27534,81619,79004,25824,66362,33280,20706,31929,57422,18730,96197,22101,47592,2180,18287,82310,60430,59627,26471,7794,60475,76713,45427,89654,14370,81674,41246,98416,8669,48883,77154,9806,94015,60347,20027,8405,33150,27368,53375,70171,59431,14534,34018,85665,77797,17944,49602,74391,48830,55029,10371,94261,16658,68400,44148,28150,40364,90913,73151,64463,50058,78191,84439,82478,62398,3113,17578,12830,6571,95934,9132,25287,78731,80683,67207,76597,42096,34934,76609,52553,47508,71561,8038,83011,72577,95790,40076,20292,32138,61197,95476,23123,26648,13611,48452,39963,85857,4855,27029,1542,72443,53688,82635,56264,7977,23090,93553,65434,12124,91087,87800,95675,99419,44659,30382,55263,82514,86800,16781,65977,65946,13033,93895,4056,75895,47878,91309,51233,81409,46773,69135,56906,84493,34530,84534,38312,54574,92933,77341,20839,36126,1143,35356,35459,7959,98335,53266,36146,78047,50607,22486,63308,8996,96056,39085,26567,6779,62663,30523,47881,41279,49864,82248,78333,29466,48151,41957,93235,53308,22682,90722,54478,7235,34306,15827,20121,96837,6283,80172,66109,92592,48238,76428,94546,45430,16288,74839,740,25553,83767,35900,5998,7493,46755,11449,88824,44906,33143,7454,56652,34755,63992,59674,65131,46358,12799,96988,51158,73176,1184,49925,63519,11785,29073,72850,47997,75172,55187,15313,40725,33225,56643,10465,38583,86440,97967,26401,17078,38765,33454,19136,57712,48446,98790,27315,71074,10157,57946,35582,49383,61324,26572,84503,3496,60449,17962,26017,65651,40400,83246,80056,75306,75147,41863,25581,87530,33193,43294,5065,99644,62771,75986,79005,44924,18703,40889,4403,5862,2571,82500,74200,36170,46836,74642,65471,26815,30937,64946,10160,15544,31962,54015,28853,66533,14573,79398,47391,73165,47805,77589,16881,13423,89452,76992,62509,9796,57540,13486,48855,25546,47589,21012,47388,78428,70196,84413,81026,87597,22445,83769,85937,38321,85485,87359,9839,67228,71179,94372,4446,62801,50775,96179,40646,44272,12417,47199,39701,30665,32775,66525,53558,78882,31939,67209,38906,34533,99914,27719,216,99225,96537,3843,90564,91110,51838,30300,9559,37795,94880,11325,44979,89696,28129,29931,89971,46292,92710,11036,74760,75307,12291,49618,16293,92408,67928,80823,32872,25460,66819,35374,4035,99087,61129,11341,39118,10891,37217,63638,75477,30068,42334,57570,6890,59353,89939,37692,15232,20033,32202,22348,2766,96791,58448,92248,5769,96684,67885,99295,47271,38655,59513,96960,31718,8974,16122,20535,52380,29769,70660,57425,50891,75044,84257,73315,38181,28673,93140,26307,82265,78382,19681,56585,8975,76764,39956,83450,84663,89963,71584,57696,30829,60527,64947,34899,28805,28397,91830,51842,99838,39839,66971,67177,74219,35637,35634,93581,81746,29991,81096,94279,2968,62561,2479,82126,25702,67953,88088,50293,83423,86206,39935,23253,43041,48941,85787,8388,6671,43574,84908,67295,33623,55060,28174,48415,2529,22009,24524,5283,30460,32399,80423,56929,40852,69969,88541,5979,91496,64730,57198,83145,39750,3568,54669,98679,4297,51047,31492,47734,31343,31180,232,19707,24823,75079,73943,17997,8446,91252,39879,58682,82972,18417,39203,36681,42895,8459,15618,17941,52594,43277,16530,40052,91100,87422,47230,95699,49794,50492,87439,86354,4546,65333,11057,77727,19748,38722,91821,18107,42125,89239,28847,54623,38783,47803,31414,38450,3697,89186,30579,44188,26532,8420,80723,48100,60748,76330,45832,8311,16051,4475,13400,48527,46073,17439,56498,94632,9021,16871,83366,14896,4219,38375,87890,90217,42370,61028,85101,76771,83715,94737,69973,74187,1958,59691,86712,86570,60984,76342,13648,85250,28323,48379,45141,36277,51845,29039,3553,5128,59866,51281,68124,17007,24729,29710,41439,40574,11774,86746,89698,56020,37810,88972,11361,95583,70786,589,74473,87513,17690,61427,72914,32517,1804,97910,6327,30246,33049,2622,41026,80875,41293,16752,84225,84414,37137,68956,8095,64981,28180,38629,76962,23840,17477,75268,48297,70340,57888,13938,38554,86836,2195,30270,55484,53364,54705,41380,56316,37723,234,21424,26664,63804,75139,36534,18579,9833,98849,72762,59767,52497,24227,83152,71794,21398,99456,89215,51632,54799,27973,68568,68465,98500,28681,18369,24279,96335,12874,82160,67202,85199,27908,67022,49810,77929,96212,81153,77884,7032,1671,53362,28119,56786,30883,28540,76029,3774,64611,19736,25589,46569,45206,48215,69523,17423,91807,90039,30393,58319,85098,66519,57571,24541,3562,14400,62731,82534,61477,89731,18421,29861,52829,838,78040,43350,74323,82892,84746,28302,13264,7595,134,12933,46831,24864,47275,20527,9110,28485,30326,99826,64005,99308,65779,42760,90066,3974,38688,39968,32604,11694,46262,73262,45405,43923,67397,88228,56405,17839,92073,57622,93328,15442,50186,7570,58001,31e3,8915,11467,14793,82691,51238,12485,51745,18192,5985,36826,89434,38669,91592,88799,65621,67237,59541,19657,93402,58705,73553,78280,69125,95591,81168,91927,25976,89077,71690,19404,64603,59752,74698,44233,67602,38615,31303,28650,53700,89819,7783,4351,77451,47350,21234,16016,41532,76508,23063,44993,43983,33356,61715,96485,22121,78004,6316,87896,99289,93981,37850,66128,92735,45064,50924,24204,58816,65290,34392,55567,66416,72353,45775,68590,85685,72683,60090,37149,85347,57414,72336,12979,5720,92754,76911,96883,74420,5220,85815,23557,80567,44365,70254,50864,36619,51479,23281,76428,18580,34240,59289,49076,18439,29522,42541,4024,84446,92434,90407,77241,19690,78143,65919,13699,91844,91241,38361,67171,90551,5709,3474,76025,97043,33834,44638,54040,82797,545,38159,16089,35870,89158,55864,98078,50563,36492,10994,85909,9018,19252,73887,67928,60045,70782,11937,4074,53814,46621,52577,94853,45968,73667,65062,73306,76045,78649,91654,53958,96537,95542,67622,54579,17279,67440,56441,20681,64011,52226,96618,32831,60664,67547,39523,2043,59748,1887,69229,94653,99271,98164,62155,9234,47367,13047,6364,35064,10073,6793,80248,29009,44969,11129,17139,79630,89772,26921,56949,23465,30036,17173,82459,96218,60768,76417,24405,18710,68887,82394,69729,82503,40873,41590,67255,30757,9657,91881,34578,9511,5417,58953,18532,10721,22029,48524,47778,881,83489,3464,57462,97459,86689,39755,39547,740,36666,7993,31671,86304,12970,73402,52849,31652,79655,11250,18463,57518,20306,25301,1374,51208,33298,87662,61849,60923,68685,69411,39266,80320,34844,89416,81569,83651,35795,40168,33501,1042,58931,3892,85188,74740,85476,23790,33842,89565,53359,25579,59049,62394,72435,12457,21904,18370,97035,57905,9581,91227,92754,37760,1411,7440,87175,88318,63242,85960,56690,12618,30493,11569,73723,7448,58830,157,65814,21118,22140,73793,57855,81830,6795,13183,12625,30635,56429,73216,12342,36722,83886,96828,82870,90954,97614,2370,42160,73370,11944,49067,59452,80495,43911,46712,17033,68037,41963,3874,44856,82985,57453,84358,16120,4454,76624,405,62369,55080,61880,51270,87807,10653,36894,70850,35660,234,14705,93418,94084,82856,25384,71555,56754,78315,18291,91656,98079,52384,43306,65205,75903,58701,99496,50048,33557,87793,90857,10143,46726,84284,43635,41213,83845,70986,91408,80220,5728,68890,46577,21152,43759,43301,93661,97252,50106,10099,13722,18572,44024,351,18173,23717,85114,85998,57782,63951,53723,86853,63851,79430,49181,46386,69666,55743,76162,71724,40028,94786,34457,16906,90040,30789,40281,94697,96584,81907,4055,53990,66397,80579,42517,78181,39251,9467,67097,95523,66568,63632,71048,15581,39904,75774,77495,75994,29911,65690,41178,47712,70355,16998,56025,5230,10093,71495,34784,70950,54680,57811,53782,39145,36829,85342,40406,35883,45668,3459,29870,78252,70088,70621,67153,5737,40933,91075,93335,86853,15860,81167,91259,16118,52401,83593,84474,2423,75608,39646,90871,70284,82100,96032,5115,63678,2225,88087,58581,44364,57468,21539,13042,64150,63754,5210,87644,54114,64013,63562,41388,32397,74152,23982,71982,71700,33026,66477,47838,46712,39848,35083,65927,97868,11067,76771,71799,43836,41014,97025,93225,8511,63096,26628,73012,12543,76269,99708,2629,49845,73677,19193,14924,57236,95564,15010,59667,73773,78515,2624,99744,13585,33746,58771,94785,62628,99585,11363,80832,59979,9444,78700,2596,85984,69438,16913,96475,93283,18625,77086,45911,39746,64722,39938,43930,54619,302,50384,2738,75714,75249,95439,80714,52555,47266,96190,78750,94973,83669,16479,53163,48071,28e3,45011,26733,67132,83362,84162,43028,8415,27236,52651,89059,64844,80910,1676,91752,57815,26264,3415,57532,29981,61200,96036,62600,20068,56530,38487,8432,89514,26883,69165,97237,22361,55276,39902,95927,82190,49269,27212,46095,37106,64254,27460,49572,51700,27679,12574,33891,3867,9925,6476,82018,45094,59014,67113,44192,75,23318,79895,70550,81717,28833,30271,15821,14999,88174,62617,57517,55256,50281,51583,96879,5225,42272,5339,20483,57596,41011,75937,22767,50120,95938,49753,63882,99616,69083,38721,73889,80236,99531,23053,71237,48861,59046,76283,60538,19732,93877,30345,64882,66660,17026,70364,45676,8039,96228,89936,59141,95585,89552,97247,59325,27848,80058,15950,61481,90906,40998,44137,16144,66300,44091,50018,81364,18211,60294,76559,20279,27414,10589,39860,23e3,31767,95618,56738,50332,16936,70342,92481,30702,76264,62619,68678,62284,83112,93032,55203,52614,36950,41796,45403,79262,2887,53596,61308,20738,34811,27099,90956,65448,3080,75795,29753,97699,80872,23830,85882,74427,99523,74904,28017,45898,57232,48525,7086,26805,74533,92470,18840,76011,93109,14344,55614,50284,15865,19458,35856,13464,53679,64603,51571,56124,79107,29596,89572,78198,57121,73649,8804,87977,87959,70859,40909,77295,87877,75158,62810,92074,23244,59516,50552,31602,41899,6347,27821,68370,48596,88577,30231,25267,84622,31449,12086,56461,22962,78213,62483,93966,60437,52239,58113,32526,38708,81607,57016,1695,90110,4649,59990,23979,3855,10297,46516,96092,82305,30760,78756,4967,82876,4773,86651,16648,53133,82439,78851,49766,24553,15273,36417,1901,33386,76979,25920,33372,2695,11982,40911,6230,91696,43907,17827,30332,89203,32215,91806,23080,49102,9174,11548,54590,75803,66108,73882,62324,26017,72716,33887,1285,31604,71039,24337,53514,58964,89901,22040,92751,12617,37007,5523,61672,62557,98540,26094,60284,19621,96230,38044,6545,9458,42988,2913,86345,67936,90174,40840,44991,24256,34989,74086,13652,68706,1363,4294,88008,78693,83068,94746,221,89299,53186,5930,61889,51341,45412,58860,72568,11381,59785,36887,10690,31347,93326,96267,86987,57565,86836,49071,90331,41248,34629,30240,27270,3864,84308,3035,61369,36902,51017,44409,17120,23823,36460,63359,8333,63173,19134,6493,303,18550,26191,19051,81502,66343,6737,90430,65478,58982,82484,16483,47704,44640,68322,44548,72787,2335,28749,39320,5436,98146,56596,812,51445,35533,35478,47573,38414,25542,38032,13442,42983,97207,77854,57806,81616,52828,79429,47389,96795,57764,19605,24767,63253,18809,65093,44449,22952,76872,30983,38948,9310,48336,87651,27110,84427,76209,56412,12760,16747,14551,82626,31224,98636,75100,84882,79479,83420,5347,6803,90063,4617,40257,79183,41766,71873,25242,12275,336,40798,42055,74066,69128,32547,76508,32530,42359,89207,49758,58984,92732,15779,7234,28884,28226,50011,35883,99606,45423,76224,75427,85747,33879,97978,57441,927,19164,74716,40702,19715,70917,60344,40236,9019,50577,15598,53136,57285,20536,7539,74832,89184,41501,39447,97422,97041,21913,40581,76081,13089,28776,54164,55736,36263,71841,34488,74988,55467,43322,9214,36746,67981,71877,81683,32461,84091,19422,88366,62054,85664,13409,8003,88276,6989,16607,33633,85349,5784,25950,97998,74110,16699,60184,92818,79705,10381,1474,18656,50434,18232,92132,66537,70141,42854,25120,39581,28249,14215,34810,19767,3409,11807,6566,66138,42997,41999,67504,87117,28961,5e3,29673,77726,73225,54753,69712,71576,92337,17713,63185,87923,91889,68351,17712,75532,93849,48280,62219,317,25290,29209,90927,92929,92762,60413,2018,31793,76290,73373,80777,60819,77375,57886,47291,99670,32605,29064,99476,80999,31217,35,91300,14892,73653,26593,25305,56797,12837,39560,27582,37253,38531,76489,49946,69108,58687,43092,73807,96282,6648,67431,87124,57694,21660,64002,6,33600,30245,60636,80164,9285,61426,4658,54130,14710,76553,1904,93668,63110,98618,5601,32199,74923,98049,49717,55539,35940,58545,43295,35810,45451,38735,42065,66769,69825,45461,83881,67372,67351,90612,79502,69460,23108,74421,82990,46821,40683,71603,55267,48192,50242,79738,96417,6664,19929,23644,41116,51056,219,45086,32747,49492,15399,24874,80825,95928,61457,45813,59037,16136,3953,83583,5910,12654,53630,92997,22168,93491,71897,74579,24022,6278,24049,71670,43044,8474,38572,77402,35800,7455,96177,41653,74493,20802,65843,73050,73349,2638,65813,96209,49196,45007,32207,14097,66059,46681,7534,71263,20582,10171,51514,52142,60961,57951,25637,37860,21683,86190,90434,94481,85697,95344,2606,74095,61133,7472,64777,94050,41482,975,23471,76052,82021,87676,91345,20196,2612,86299,44996,40312,65712,46079,88514,8610,3685,63197,9073,53105,86824,28112,99306,40706,66840,83003,51590,52755,32285,68454,85058,13645,23073,24724,52989,71880,21952,44144,74975,76715,7844,46447,86643,75579,29276,10864,83179,36721,19300,35066,29383,47478,56644,33354,31414,17643,92374,85085,88458,87191,85248,34963,76278,53230,13953,76985,70959,36663,5293,32658,56767,56997,76736,6558,64248,11907,29123,78458,17678,63805,89973,5076,39263,54404,4355,64957,74407,99838,18836,78098,6490,74888,73719,80675,86178,56283,33591,96957,38382,18772,74773,71229,2603,52673,44609,14843,58418,18060,95459,626,30914,13550,42195,44863,8871,89182,64446,78422,41140,15312,98274,48168,95651,35562,85386,56252,72136,85088,68761,78434,98143,61330,2446,64409,49406,99127,98626,55095,44808,13594,87370,89472,12833,98932,68064,58193,20225,5192,28425,23978,24542,80845,55858,4015,21454,37346,51007,17202,10242,12682,55933,96922,22280,75597,50227,70712,44236,20470,36320,49339,60536,80083,38880,93327,49522,93585,9918,55268,4671,57526,11457,48424,54610,7211,78610,9473,72923,27347,30057,76968,26177,59367,46172,88951,40229,34921,60405,88959,16779,29547,92231,61997,36002,21080,39795,77221,10012,49748,76900,15964,3803,40260,92351,92844,10288,57483,10881,70408,75688,16610,1638,93082,44282,66849,75702,69428,34047,84968,71281,72328,73143,88672,49802,50639,18129,93659,58389,49095,45971,34196,84609,59222,19332,17777,41004,47057,30688,16039,20906,41477,42915,60877,33864,75195,62294,3371,11672,1370,2486,35553,17907,90621,45136,9722,67635,12114,63055,16004,21625,24321,20491,26881,66259,94287,54751,36242,36557,5842,30687,65418,94608,24741,45887,78800,86912,42076,50287,9284,68891,76368,83094,96302,35997,30761,97081,9501,68887,32876,1705,34260,95065,45528,88241,30402,12318,52430,40139,96986,84900,72408,42027,31676,54382,73370,26184,14024,57444,57660,52173,30274,93448,63273,77681,74946,2099,69091,19372,66961,14595,58642,75760,52253,53148,26074,52293,65359,63971,4833,86492,1227,54505,19515,89889,46933,13364,33883,83389,36952,52505,67513,40071,31001,3105,87912,29610,75108,37363,28479,43546,89992,19550,54863,82633,19209,21548,35022,21960,57961,11815,95867,559,26428,69386,57453,70147,73538,49562,46806,64550,36653,25718,68792,31113,7607,48037,71020,22666,65957,11141,39227,7990,19849,65972,74528,40888,55386,95918,92088,91125,53648,66122,138,79933,71058,34826,97725,69513,22915,18246,52244,91161,40861,40374,13239,56162,4703,95851,22824,41271,28202,62852,84238,46625,20031,8524,20077,65817,21174,29279,57712,22401,67500,30980,74485,26480,21343,30031,61921,35744,57308,71196,1865,49234,62616,54021,29008,83672,85839,96836,45077,80900,66906,63526,93824,71820,11033,20183,85704,4683,63512,39144,56880,64424,95979,17709,94849,31771,5737,84286,16757,46256,24478,73180,59978,8254,78963,95437,86351,33824,32540,18357,2668,99260,21284,81351,70961,10255,6911,47394,72408,23827,59865,96395,30665,43699,3593,29165,23388,26628,92402,16731,86740,29493,9069,78653,90094,42735,33682,95041,89887,92369,57949,81585,50593,14698,4737,72551,57271,59433,156,33966,58773,59108,49578,18100,59836,73221,21110,1650,11058,47770,66141,84576,58388,40915,94507,32209,17272,65674,95552,25685,5345,36995,36302,7971,67001,62062,75939,36005,26739,56484,46885,66348,87666,78055,44485,82955,85936,9219,1847,92687,72579,45457,78252,98239,4e4,75563,92408,17175,78845,32638,26959,35406,59553,57852,7506,9,93172,77713,93880,40981,27924,9678,24538,52426,84852,83781,23712,82490,77890,22482,66668,55850,25644,44972,62275,78089,28894,98685,32998,98766,89119,34355,75127,69797,71419,62067,57990,96514,50603,79807,26135,29207,43632,32905,38513,18924,88872,20758,70232,60425,1116,24077,21369,93541,75329,78656,44251,42014,98154,42552,14575,30765,348,1134,71581,68420,78141,21105,63305,9718,54851,65867,8595,47390,39182,51174,41478,64433,59628,31945,87322,78667,95282,5622,26224,19972,97269,98376,14779,51138,49658,45345,4972,52794,15737,496,48939,63485,42780,16061,59631,37171,13483,56058,51093,62290,88227,17400,88433,67363,89507,26482,85964,71336,67799,28342,37747,61722,27180,78755,18603,42953,6606,23875,56766,1932,36113,62807,84012,21103,9685,69662,76755,13701,95168,13169,44726,15284,16702,89617,54397,52052,12835,37741,86434,22400,37947,95763,86337,35189,22756,47473,16618,42479,47405,14055,64262,66670,89692,54032,94591,44149,29854,76691,33263,62048,25116,88598,16119,62116,54517,31883,86707,18895,81790,71294,2684,15292,48107,14341,91416,75609,92564,39987,2283,89970,95855,80970,5432,89860,90293,99851,94648,5598,32171,28793,92305,64244,8277,93391,96717,34464,29838,10664,28050,60122,77934,10758,84922,92220,45071,97697,36368,17792,84792,76594,67319,51886,5665,45201,11348,9254,7510,51039,91683,84500,85338,5555,19633,3870,39576,41486,58524,54508,20707,58504,39642,22454,80069,83455,31043,90794,51934,3295,26582,16300,74990,22197,83310,69642,81113,58558,84833,17105,46659,25003,85749,44829,4103,67516,76458,52392,53546,70291,98846,67315,30686,18555,29755,5923,22732,19501,56181,85351,5023,4808,56911,16793,75336,49712,27723,96974,34321,5454,12862,71924,45928,95697,68664,58183,78104,42483,71204,99628,40642,56410,17350,13396,76724,87509,9158,83708,27298,92651,95086,38851,63558,89810,1580,32518,35795,26514,56322,78635,63731,91428,7247,66460,38671,26799,22549,47991,46064,80467,40083,17141,39152,99872,27561,75389,74778,94893,82935,99076,93419,10474,84436,47536,16719,60136,80566,28404,74525,74212,3704,65516,98197,34210,64140,22238,49939,99542,27481,21992,78181,90060,71365,66935,29578,14961,8569,9454,43308,66753,45972,93572,16382,87320,37183,25478,38164,31997,69856,60898,63968,62264,4799,17591,89937,73905,55890,88285,2448,40398,54180,65869,45155,43407,39105,339,51619,20203,21189,68245,76912,1222,76411,82679,7,66047,32043,42627,16638,27019,15248,66444,8249,18790,82150,54084,84469,3426,50226,99868,88894,43769,66384,8593,41414,2976,60053,51866,87904,74135,53842,59520,67482,16995,32328,29555,49067,2799,68851,41049,97190,53984,99755,46412,45885,64e3,21962,36438,71742,57223,66599,86071,31436,32667,98099,38399,47377,5171,2742,48803,17823,22093,9866,691,5514,25546,2114,5919,56181,96052,67211,61712,25995,3188,23833,38549,44775,55355,61548,55988,47309,23749,30667,70732,33299,16127,30842,78961,41072,9876,18903,30292,25275,61881,15939,72573,84502,92654,97226,53434,77025,63892,12421,33644,39445,30933,84218,13757,37719,84450,2697,60309,22402,80310,92771,45205,72792,95776,85945,74651,216,50842,47854,21916,61588,75405,10495,83083,60427,78495,99809,47890,22993,21508,9459,26845,98130,1184,46438,27698,40652,65654,98517,1096,6998,49133,57041,77983,58708,42176,67356,324,70063,10597,65205,25622,34336,16640,27896,26907,86760,48244,89650,44997,51609,28934,9171,97859,97213,19859,41037,64081,94781,27683,41521,52871,86935,26486,38744,25943,60617,6414,42292,46204,53262,30201,38776,88831,97253,67282,72860,18452,60927,81504,57713,30296,10896,39900,67135,42772,4631,55283,39253,25264,1809,12874,88035,88421,90491,83290,6884,15444,90113,20406,20796,40239,34431,15018,45600,17241,26611,9551,89126,65673,31708,91252,39647,63011,24193,58932,89326,33491,53217,27976,70151,37531,53576,23931,11789,73073,52171,89301,51718,15385,79487,66436,35771,34163,86540,42665,80748,77622,14679,40185,25030,42622,13162,17048,24243,59985,59807,60562,3595,10135,29199,69784,59796,38194,58432,50943,40422,63035,3208,81440,90749,88046,32218,88092,22224,2627,91576,16781,43948,57795,71073,27817,87077,82717,24473,42096,76920,88864,90537,14715,42551,45066,24316,37361,38582,21871,14672,93362,21727,57021,94313,39562,64985,94028,46094,43845,91838,79574,7597,3153,56783,18817,74711,6883,91061,31674,73729,99315,66183,57647,74484,68077,33224,397,56753,53158,71872,68153,9298,20961,49656,33407,95683,14328,44708,72952,27048,67887,28741,46752,88177,95894,40086,88534,87112,68614,83073,88794,96799,67588,75049,84603,83140,97347,87316,73087,77135,71883,98643,3808,8848,14133,60447,1366,72976,1868,51667,63279,60040,88264,79152,3474,61366,20523,21584,93712,83654,89761,90154,96345,37539,32556,74254,70603,97122,44978,78028,8943,13778,11080,34271,68276,85372,48410,94516,15427,75323,71685,70774,50342,33771,3678,42321,69788,41758,55004,30992,17402,63523,42328,87171,24751,15084,33884,83655,88345,69602,52606,57886,18034,3381,75796,35901,77480,28683,68324,66035,7223,14926,16128,13645,90370,31949,11057,98849,29499,21565,30786,83292,92392,37104,36899,49906,79368,43710,80365,88735,75275,21664,57965,19002,301,12658,94385,1717,96191,50404,80166,93965,24688,27839,10812,31715,92127,42588,93307,80834,11317,26583,25769,98227,14884,58462,29148,68662,26872,72927,79021,51622,29521,33355,45701,45996,33782,93424,16530,96086,17329,74020,11501,46660,5583,22277,77653,55430,84644,448,86828,58855,67451,95264,67386,82424,52611,60012,88620,72894,94716,22262,99813,69592,63464,33163,91857,47904,22209,78590,68615,52952,31441,41313,18550,72685,68825,4795,53971,14592,39634,23682,76630,2731,81481,86542,23727,54291,56045,61635,32186,9355,73416,63532,24340,18886,84832,30654,48543,18339,65024,91197,64624,74648,9660,27897,49771,11123,8732,49393,12911,72416,17834,18878,62754,85072,23727,56577,51257,83291,12329,16203,91681,68137,79959,43609,58987,2026,42969,59144,84349,75214,76972,22633,64104,53799,16851,99197,70476,77113,46320,88693,37711,96536,68156,7119,2104,49435,77706,18924,24957,92406,87148,70482,36491,42605,54440,7893,31618,35707,65130,30007,75706,77266,37100,9601,87681,42543,69847,81848,32034,49429,99434,62209,17125,55227,61634,52574,83649,28725,70119,62467,80676,21192,99584,21310,25292,72781,17186,10393,98390,19789,92931,36234,62627,23437,3885,58822,82941,43806,8172,23790,72295,36196,98200,2889,87619,13846,56197,27151,21238,48794,81100,62643,40001,39243,33213,78416,194,91369,79342,36404,52308,13741,24442,88610,12659,11574,70052,93039,79367,41792,61816,35435,47192,97596,28330,41145,16918,62865,9576,45857,68737,90124,16703,7071,48433,57222,34435,800,72496,16449,68187,28739,97672,86818,50768,40807,88681,64340,2224,19703,59245,90905,31239,84216,93942,97371,16842,92168,52692,16064,84686,89444,27938,98406,41365,4515,20494,18813,16242,10634,61566,18592,78057,8720,33739,78345,87693,30242,70545,55521,23687,9160,8655,38811,61768,7228,5567,5561,82071,85,50145,23113,97761,88441,14891,72188,85166,37189,75671,81377,92470,73645,93258,6610,12185,43065,26704,47922,56650,7527,18006,56948,51675,16658,66402,1047,81624,77395,62310,73262,66050,57275,32936,87641,51528,58183,21952,84098,28913,28622,18140,89796,41317,93954,67690,64667,57092,21315,4731,76115,77291,11204,8634,93034,27411,27149,13843,9817,9407,84492,28444,59901,14592,89654,66207,66232,80293,74502,36925,55515,10121,16768,4720,71502,40500,21406,571,87320,81683,42788,86367,44686,22159,67015,35892,49668,83991,72088,30210,74009,86370,97956,2132,93512,54819,26094,51409,21485,94764,85806,13393,48543,7042,76538,64224,47909,9994,23750,17351,52141,30486,60380,86546,66606,36913,58173,45709,83679,82617,23381,9603,61107,566,6572,64745,10614,86371,43244,97154,10397,50975,68006,20045,16942,25536,74031,31807,70133,78790,40341,68730,39635,39013,66841,44043,96215,21270,59427,25034,40645,84741,52083,54503,36861,27659,95463,53847,40921,70116,61536,56756,8967,31079,20097,76014,99818,16606,19713,66904,27106,24874,96701,73287,76772,6073,57343,51428,91171,28299,17520,64903,4177,36071,94952,59008,28543,11576,74547,13260,20688,41261,2780,6633,37536,8844,95774,49323,30448,14154,83379,71259,23302,68402,43750,88505,15575,44927,6584,29867,21541,65763,12154,86616,79877,73259,68626,98962,68548,86576,48046,51755,64995,3661,64585,81550,46798,49319,50206,22024,5175,12923,23427,55915,91723,55831,83784,81034,86779,34622,84570,18960,48798,42970,95789,39465,82353,68905,44234,18244,54345,5592,89361,14644,67924,66415,89349,88530,72096,44459,5258,48317,48866,56886,90458,75889,4514,37227,11302,4667,2129,80414,86289,15887,87380,50749,83220,50529,20619,11606,36531,23409,78122,19566,76564,33045,66703,30017,35347,35038,12952,13971,3922,98702,11786,38388,69556,76728,60535,59961,23634,42211,98387,34880,27755,93182,99040,96390,65989,38375,3652,59657,57431,24666,11061,64713,85185,72849,58611,31220,26657,77056,24553,24993,5210,89024,32054,46997,92652,28363,98992,22593,97710,47766,37646,93573,95502,33790,92973,27766,62671,89698,10877,73893,41004,96035,18795,48080,59666,30241,35233,87353,43647,13404,41982,19264,29229,61369,8309,39383,42305,25944,13577,51545,68990,69801,37145,79189,55897,57793,66816,21930,56771,79296,73793,21632,42301,23696,72641,56310,85576,3004,25669,69221,32996,23040,65782,23712,13414,10758,15590,97298,74246,51511,46900,36795,38292,3852,6384,84421,3446,91670,45312,27609,87034,6683,83891,88991,16533,9197,34427,60384,48525,90978,46107,21693,12956,21804,46558,37682,81207,85840,53238,35026,4835,53264,41376,17783,64756,39278,25403,33042,20954,31193,24247,45911,92453,25370,86602,48574,57865,26436,16122,76614,17028,21262,59718,77821,14036,31033,90563,45410,15158,90209,84089,38053,60780,54166,14255,33120,27171,71798,91214,80040,56699,12475,40193,59415,4769,75920,1036,2692,75862,16612,73670,61182,3305,90334,187,91659,28063,75684,50017,82643,9282,77376,85469,8164,5584,36623,82597,83859,3435,98460,70095,80257,4381,6501,8924,35514,14297,54373,71369,5172,15955,82441,4636,48215,6821,3385,17663,40107,55679,30366,42390,95895,16083,58499,17176,55993,51034,49296,4010,78974,35930,2019,96226,27167,68245,53109,59037,37843,79243,10262,58797,61490,82590,52411,54783,29447,94551,30026,97959,93939,73217,82573,62154,78291,33728,39102,11484,86210,43794,73553,87435,1110,77108,56521,78610,8254,1842,43068,70415,79195,26136,49786,47279,38471,20379,54704,86614,91138,51595,50818,80186,73087,17262,94735,4952,27935,4928,74862,51392,62388,9570,38485,30594,56278,47395,72762,94597,72279,16010,34697,54475,67874,78014,88381,4045,41494,55178,46054,24373,1824,55333,7525,97908,61178,84635,2199,35361,4803,21907,79414,66083,54782,58692,28332,41851,28198,55819,37313,67046,16147,90478,71230,34141,85002,44332,35906,429,39744,773,22909,19536,98986,90945,45209,85439,92265,25291,22775,60611,49159,95701,36113,53923,60824,84935,29656,50007,86624,61691,76150,32187,42765,60660,13859,10792,88210,29374,29563,45188,28811,19739,67649,73775,99247,48414,91067,68253,9452,90116,91737,73979,62370,69112,58791,20349,71480,56852,36919,87977,77609,68738,85159,4918,70076,46473,4122,57713,1426,50987,77910,66211,62546,77749,96462,34304,77441,12104,91805,10287,60943,49632,83116,25716,23113,22707,77770,31176,6759,46130,4739,55554,3843,31653,70834,72877,41561,36903,23010,6663,2266,16360,70118,91936,17098,77278,4880,23484,94970,41826,46733,93484,68350,38861,18134,32936,241,24803,13876,93278,5039,35873,44418,5305,28510,36115,46717,15238,78607,23464,68635,55712,55007,92411,65739,4858,67537,37041,67453,89801,45963,14800,14225,65655,80463,9716,77255,65136,11230,76323,81433,36445,86523,61058,59560,19380,40791,48073,29626,36661,87907,57369,41623,13705,3880,45088,55444,41003,27754,1450,75312,71801,99600,60719,54182,29245,63315,73758,42973,32702,10855,56363,14638,84424,27178,78195,3133,70865,48019,26117,7151,52107,85562,41347,50486,69457,86961,95482,11857,93587,45680,42145,13029,10043,5142,49213,54525,85761,42707,70754,33768,87671,85038,58900,88438,20004,63390,14815,38875,73417,82875,89481,55517,944,15773,61814,32915,27868,5510,21916,28426,89881,16680,88850,11056,51991,4230,39107,49216,40065,4523,75848,95349,56034,10724,9885,88232,42478,65702,95696,39746,66032,88082,86905,30007,75068,66629,7358,26706,90511,72843,67857,20061,98581,69682,38e3,14186,70,2290,17269,30909,69449,19997,13275,2444,84985,51290,97641,15092,69650,21920,19617,7418,49725,91090,20805,28627,80665,67192,34697,57667,99323,50101,40587,35081,14037,34414,19898,60779,83267,87499,29596,41852,15813,32419,72232,8322,39184,46525,13833,65743,94595,37363,4711,35386,96413,10627,62625,56555,12919,93218,25191,98380,51923,66181,5788,73491,1452,487,12277,45415,11884,61300,94528,9181,26616,11455,31514,63290,45035,42759,33804,85721,80979,46010,50975,72482,31231,3086,58941,46102,25773,89742,29788,96741,88523,14922,88262,76305,57676,93259,2396,69145,26074,30056,3853,75317,56639,66203,38923,48939,22813,91864,10934,6714,84099,25631,73223,95630,97552,45950,22197,42886,33764,1263,41856,82057,62349,94091,78028,62651,18911,5693,92561,97821,41994,92343,76785,22216,4203,5038,86151,23596,24338,77181,51761,97693,10955,98159,37568,58932,72128,27303,99608,31688,57557,91022,43036,93927,32869,53653,55205,33139,47271,31224,51650,36422,86857,73799,22068,43376,84760,44898,65776,42451,71480,38509,41673,44141,75918,95652,68981,83001,48815,98086,67950,27986,33175,43624,55274,71051,61124,51550,64967,31570,15748,19159,38174,51078,79811,39183,57527,96550,85168,28824,47466,56993,13151,96664,29735,70251,1079,4314,77714,11507,1440,48415,31984,99915,20282,26524,18057,4992,40521,98108,84045,91961,79256,72244,25788,5487,23595,73302,14205,8925,27625,64343,28821,37992,67156,83320,31106,10884,30735,15067,51091,15668,48777,50770,19169,76504,41165,29749,92812,8065,66782,26841,1411,95461,61134,18699,52261,60469,81373,44825,11448,73320,30151,56991,31372,6655,36472,86292,30247,30931,21029,53410,9859,37267,47514,3492,49008,94727,25234,40546,53417,36492,25723,76227,58456,15979,34876,9574,34392,3751,36933,83921,65108,63135,67572,40184,21098],f=new Array(16),l=[16,8,16,24],p=4,y=0;function b(t,e){var s=e-t+1,n=0,r=1;do{for(n=0,r=1;r<s;r*=10)n=10*n+(p<0&&(p=4,y++),u[y]%Math.pow(10,p+1)/Math.pow(10,p--)|0)}while((r/s|0)*s<=n);return t+n%s|0}!function(t){for(var e=0;e<16;e++){f[e]=new Array(256);for(var s=0;s<256;s++)f[e][s]=s|s<<8|s<<16|s<<24|0;for(var n=3;0<=n;n--)for(var r=0;r<255;r++){var a=255<<(n<<3),o=0|f[e][r],i=b(r,255);f[e][r]=f[e][r]&~a|f[e][i]&a|0,f[e][i]=f[e][i]&~a|o&a|0}}}();var g=function(){function t(e){var s;return function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),(e=e||{}).length=e.length||128,e.rounds=e.rounds||8,(s=function(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}(this,h(t).call(this,e))).blockSize=16-s.state.hash.length,s.blockSizeInBytes=s.blockSize*s.unitSize,s.W=new Array(16),s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(t,n.a),function(t,e,s){e&&o(t.prototype,e)}(t,[{key:"reset",value:function(){i(h(t.prototype),"reset",this).call(this),this.state.hash=new Array(this.options.length/32|0);for(var e=0;e<this.state.hash.length;e++)this.state.hash[e]=0}},{key:"processBlock",value:function(t){for(var e=0;e<this.state.hash.length;e++)this.W[e]=0|this.state.hash[e];for(var s=this.state.hash.length;s<16;s++)this.W[s]=0|t[s-this.state.hash.length];for(var n=0;n<this.options.rounds<<1;n+=2)for(var a=0;a<4;a++){for(var o=0;o<16;o++){var i=0|f[n+(o/2|0)%2][255&this.W[o]];this.W[o-1>>>0&15]^=i,this.W[o+1&15]^=i}for(var h=0;h<16;h++)this.W[h]=Object(r.b)(this.W[h],l[a])}for(var c=0;c<this.state.hash.length;c++)this.state.hash[c]=this.state.hash[c]^this.W[15-c]|0}},{key:"finalize",value:function(){return 0<this.state.message.length&&this.addPaddingZero(this.blockSizeInBytes-this.state.message.length|0),this.addPaddingZero(this.blockSizeInBytes-8|0),this.addLengthBits(),this.process(),this.getStateHash()}}]),t}();e.a=g},function(t,e,s){"use strict";var n=s(5),r=s(0);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function i(t,e,s){return(i="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,s){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=h(t)););return t}(t,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(s):r.value}})(t,e,s||t)}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}for(var u=[[7,12,17,22],[5,9,14,20],[4,11,16,23],[6,10,15,21]],f=new Array(64),l=0;l<64;l++)f[l]=4294967296*Math.abs(Math.sin(l+1))|0;var p=function(){function t(){return function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}(this,h(t).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(t,n.a),function(t,e,s){e&&o(t.prototype,e),s&&o(t,s)}(t,[{key:"reset",value:function(){i(h(t.prototype),"reset",this).call(this),this.state.hash=[1732584193,-271733879,-1732584194,271733878]}},{key:"processBlock",value:function(e){var s=0|this.state.hash[0],n=0|this.state.hash[1],r=0|this.state.hash[2],a=0|this.state.hash[3];s=t.CC(t.FF,f[0],s,n,r,a,e[0],u[0][0]),a=t.CC(t.FF,f[1],a,s,n,r,e[1],u[0][1]),r=t.CC(t.FF,f[2],r,a,s,n,e[2],u[0][2]),n=t.CC(t.FF,f[3],n,r,a,s,e[3],u[0][3]),s=t.CC(t.FF,f[4],s,n,r,a,e[4],u[0][0]),a=t.CC(t.FF,f[5],a,s,n,r,e[5],u[0][1]),r=t.CC(t.FF,f[6],r,a,s,n,e[6],u[0][2]),n=t.CC(t.FF,f[7],n,r,a,s,e[7],u[0][3]),s=t.CC(t.FF,f[8],s,n,r,a,e[8],u[0][0]),a=t.CC(t.FF,f[9],a,s,n,r,e[9],u[0][1]),r=t.CC(t.FF,f[10],r,a,s,n,e[10],u[0][2]),n=t.CC(t.FF,f[11],n,r,a,s,e[11],u[0][3]),s=t.CC(t.FF,f[12],s,n,r,a,e[12],u[0][0]),a=t.CC(t.FF,f[13],a,s,n,r,e[13],u[0][1]),r=t.CC(t.FF,f[14],r,a,s,n,e[14],u[0][2]),n=t.CC(t.FF,f[15],n,r,a,s,e[15],u[0][3]),s=t.CC(t.GG,f[16],s,n,r,a,e[1],u[1][0]),a=t.CC(t.GG,f[17],a,s,n,r,e[6],u[1][1]),r=t.CC(t.GG,f[18],r,a,s,n,e[11],u[1][2]),n=t.CC(t.GG,f[19],n,r,a,s,e[0],u[1][3]),s=t.CC(t.GG,f[20],s,n,r,a,e[5],u[1][0]),a=t.CC(t.GG,f[21],a,s,n,r,e[10],u[1][1]),r=t.CC(t.GG,f[22],r,a,s,n,e[15],u[1][2]),n=t.CC(t.GG,f[23],n,r,a,s,e[4],u[1][3]),s=t.CC(t.GG,f[24],s,n,r,a,e[9],u[1][0]),a=t.CC(t.GG,f[25],a,s,n,r,e[14],u[1][1]),r=t.CC(t.GG,f[26],r,a,s,n,e[3],u[1][2]),n=t.CC(t.GG,f[27],n,r,a,s,e[8],u[1][3]),s=t.CC(t.GG,f[28],s,n,r,a,e[13],u[1][0]),a=t.CC(t.GG,f[29],a,s,n,r,e[2],u[1][1]),r=t.CC(t.GG,f[30],r,a,s,n,e[7],u[1][2]),n=t.CC(t.GG,f[31],n,r,a,s,e[12],u[1][3]),s=t.CC(t.HH,f[32],s,n,r,a,e[5],u[2][0]),a=t.CC(t.HH,f[33],a,s,n,r,e[8],u[2][1]),r=t.CC(t.HH,f[34],r,a,s,n,e[11],u[2][2]),n=t.CC(t.HH,f[35],n,r,a,s,e[14],u[2][3]),s=t.CC(t.HH,f[36],s,n,r,a,e[1],u[2][0]),a=t.CC(t.HH,f[37],a,s,n,r,e[4],u[2][1]),r=t.CC(t.HH,f[38],r,a,s,n,e[7],u[2][2]),n=t.CC(t.HH,f[39],n,r,a,s,e[10],u[2][3]),s=t.CC(t.HH,f[40],s,n,r,a,e[13],u[2][0]),a=t.CC(t.HH,f[41],a,s,n,r,e[0],u[2][1]),r=t.CC(t.HH,f[42],r,a,s,n,e[3],u[2][2]),n=t.CC(t.HH,f[43],n,r,a,s,e[6],u[2][3]),s=t.CC(t.HH,f[44],s,n,r,a,e[9],u[2][0]),a=t.CC(t.HH,f[45],a,s,n,r,e[12],u[2][1]),r=t.CC(t.HH,f[46],r,a,s,n,e[15],u[2][2]),n=t.CC(t.HH,f[47],n,r,a,s,e[2],u[2][3]),s=t.CC(t.II,f[48],s,n,r,a,e[0],u[3][0]),a=t.CC(t.II,f[49],a,s,n,r,e[7],u[3][1]),r=t.CC(t.II,f[50],r,a,s,n,e[14],u[3][2]),n=t.CC(t.II,f[51],n,r,a,s,e[5],u[3][3]),s=t.CC(t.II,f[52],s,n,r,a,e[12],u[3][0]),a=t.CC(t.II,f[53],a,s,n,r,e[3],u[3][1]),r=t.CC(t.II,f[54],r,a,s,n,e[10],u[3][2]),n=t.CC(t.II,f[55],n,r,a,s,e[1],u[3][3]),s=t.CC(t.II,f[56],s,n,r,a,e[8],u[3][0]),a=t.CC(t.II,f[57],a,s,n,r,e[15],u[3][1]),r=t.CC(t.II,f[58],r,a,s,n,e[6],u[3][2]),n=t.CC(t.II,f[59],n,r,a,s,e[13],u[3][3]),s=t.CC(t.II,f[60],s,n,r,a,e[4],u[3][0]),a=t.CC(t.II,f[61],a,s,n,r,e[11],u[3][1]),r=t.CC(t.II,f[62],r,a,s,n,e[2],u[3][2]),n=t.CC(t.II,f[63],n,r,a,s,e[9],u[3][3]),this.state.hash[0]=this.state.hash[0]+s|0,this.state.hash[1]=this.state.hash[1]+n|0,this.state.hash[2]=this.state.hash[2]+r|0,this.state.hash[3]=this.state.hash[3]+a|0}},{key:"finalize",value:function(){return this.addPaddingISO7816(this.state.message.length<56?56-this.state.message.length|0:120-this.state.message.length|0),this.addLengthBits(),this.process(),this.getStateHash()}}],[{key:"FF",value:function(t,e,s){return t&e|~t&s}},{key:"GG",value:function(t,e,s){return t&s|e&~s}},{key:"HH",value:function(t,e,s){return t^e^s}},{key:"II",value:function(t,e,s){return e^(t|~s)}},{key:"CC",value:function(t,e,s,n,a,o,i,h){return Object(r.a)(s+t(n,a,o)+i+e,h)+n|0}}]),t}();e.a=p},function(t,e,s){"use strict";var n=s(3),r=s(0);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function i(t,e,s){return(i="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,s){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=h(t)););return t}(t,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(s):r.value}})(t,e,s||t)}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var u=[1518500249,1859775393,2400959708,3395469782],f=function(){function t(e){var s;return function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),(s=function(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}(this,h(t).call(this,e))).options.rounds=s.options.rounds||80,s.W=new Array(80),s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(t,n.a),function(t,e,s){e&&o(t.prototype,e)}(t,[{key:"reset",value:function(){i(h(t.prototype),"reset",this).call(this),this.state.hash=[1732584193,-271733879,-1732584194,271733878,-1009589776]}},{key:"processBlock",value:function(t){for(var e=0|this.state.hash[0],s=0|this.state.hash[1],n=0|this.state.hash[2],a=0|this.state.hash[3],o=0|this.state.hash[4],i=0;i<this.options.rounds;i++){this.W[i]=i<16?0|t[i]:0|Object(r.a)(this.W[i-3]^this.W[i-8]^this.W[i-14]^this.W[i-16],1);var h=Object(r.a)(e,5)+o+this.W[i]+u[i/20>>0]|0;h=i<20?h+(s&n|~s&a)|0:i<40?h+(s^n^a)|0:i<60?h+(s&n|s&a|n&a)|0:h+(s^n^a)|0,o=a,a=n,n=0|Object(r.a)(s,30),s=e,e=h}this.state.hash[0]=this.state.hash[0]+e|0,this.state.hash[1]=this.state.hash[1]+s|0,this.state.hash[2]=this.state.hash[2]+n|0,this.state.hash[3]=this.state.hash[3]+a|0,this.state.hash[4]=this.state.hash[4]+o|0}},{key:"finalize",value:function(){return this.addPaddingISO7816(this.state.message.length<56?56-this.state.message.length|0:120-this.state.message.length|0),this.addLengthBits(),this.process(),this.getStateHash()}}]),t}();e.a=f},function(t,e,s){"use strict";var n=s(0),r=s(3);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function i(t,e,s){return(i="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,s){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=h(t)););return t}(t,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(s):r.value}})(t,e,s||t)}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var u=new Array(256),f=[104,208,235,43,72,157,106,228,227,163,86,129,125,241,133,158,44,142,120,202,23,169,97,213,93,11,140,60,119,81,34,66,63,84,65,128,204,134,179,24,46,87,6,98,244,54,209,107,27,101,117,16,218,73,38,249,203,102,231,186,174,80,82,171,5,240,13,115,59,4,32,254,221,245,180,95,10,181,192,160,113,165,45,96,114,147,57,8,131,33,92,135,177,224,0,195,18,145,138,2,28,230,69,194,196,253,191,68,161,76,51,197,132,35,124,176,37,21,53,105,255,148,77,112,162,175,205,214,108,183,248,9,243,103,164,234,236,182,212,210,20,30,225,36,56,198,219,75,122,58,222,94,223,149,252,170,215,206,7,15,61,88,154,152,156,242,167,17,126,139,67,3,226,220,229,178,78,199,109,233,39,64,216,55,146,143,1,29,83,62,89,193,79,50,22,250,116,251,99,159,52,26,42,90,141,201,207,246,144,40,136,155,49,14,189,74,232,150,166,12,200,121,188,190,239,110,70,151,91,237,25,217,172,153,168,41,100,31,173,85,19,187,247,111,185,71,47,238,184,123,137,48,211,127,118,130],l=[1,11,9,12,13,6,15,3,14,8,7,4,10,2,5,0],p=[7,12,11,13,14,4,9,15,6,3,8,10,2,5,1,0],y=new Array(16),b=[1,1,4,1,8,5,2,9],g=[1,1,3,1,5,8,9,5],C=new Array(512),v=new Array(22),d=new Array(512),O=new Array(22),m=new Array(512),w=new Array(22);function j(t,e){for(var s=new Array(512),r=new Array(22),a=0;a<8;a++)s[a]=[];for(var o=0;o<256;o++){var i=new Array(10);i[1]=t[o],i[2]=i[1]<<1,256<=i[2]&&(i[2]^=285),i[3]=i[2]^i[1],i[4]=i[2]<<1,256<=i[4]&&(i[4]^=285),i[5]=i[4]^i[1],i[8]=i[4]<<1,256<=i[8]&&(i[8]^=285),i[9]=i[8]^i[1],s[0][2*o]=i[e[0]]<<24|i[e[1]]<<16|i[e[2]]<<8|i[e[3]],s[0][2*o+1]=i[e[4]]<<24|i[e[5]]<<16|i[e[6]]<<8|i[e[7]];for(var h=1;h<8;h++)s[h][2*o]=Object(n.d)(s[0][2*o+1],s[0][2*o],h<<3),s[h][2*o+1]=Object(n.c)(s[0][2*o+1],s[0][2*o],h<<3)}r[0]=0,r[1]=0;for(var c=1;c<=10;c++)r[2*c]=4278190080&s[0][16*c-16]^16711680&s[1][16*c-14]^65280&s[2][16*c-12]^255&s[3][16*c-10],r[2*c+1]=4278190080&s[4][16*c-7]^16711680&s[5][16*c-5]^65280&s[6][16*c-3]^255&s[7][16*c-1];return[s,r]}!function(){!function(){for(var t=0;t<16;t++)y[l[t]]=0|t;for(var e=0;e<256;e++){var s=l[e>>4],n=y[15&e],r=p[s^n];u[e]=l[s^r]<<4|y[n^r]}}();var t=j(f,g);d=t[0],O=t[1],t=j(u,g),m=t[0],w=t[1],t=j(u,b),C=t[0],v=t[1]}();var S=function(){function t(e){var s;switch(function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),(e=e||{}).type=e.type||"",e.rounds=e.rounds||10,(s=function(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}(this,h(t).call(this,e))).options.type){case"0":case 0:s.C=d,s.RC=O;break;case"t":s.C=m,s.RC=w;break;default:s.C=C,s.RC=v}return s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(t,r.a),function(t,e,s){e&&o(t.prototype,e)}(t,[{key:"reset",value:function(){i(h(t.prototype),"reset",this).call(this),this.state.hash=new Array(16);for(var e=0;e<16;e++)this.state.hash[e]=0}},{key:"processBlock",value:function(t){for(var e=new Array(16),s=[],n=0;n<16;n++)s[n]=t[n]^(e[n]=this.state.hash[n])|0;for(var r=[],a=1;a<=this.options.rounds;a++){for(var o=0;o<8;o++){r[2*o]=0;for(var i=r[2*o+1]=0,h=56,c=0;i<8;i++,c=(h-=8)<32?1:0)r[2*o]^=this.C[i][2*(e[2*(o-i&7)+c]>>>h%32&255)],r[2*o+1]^=this.C[i][2*(e[2*(o-i&7)+c]>>>h%32&255)+1]}for(var u=0;u<16;u++)e[u]=r[u];e[0]^=this.RC[2*a],e[1]^=this.RC[2*a+1];for(var f=0;f<8;f++){r[2*f]=e[2*f],r[2*f+1]=e[2*f+1];for(var l=0,p=56,y=0;l<8;l++,y=(p-=8)<32?1:0)r[2*f]^=this.C[l][2*(s[2*(f-l&7)+y]>>>p%32&255)],r[2*f+1]^=this.C[l][2*(s[2*(f-l&7)+y]>>>p%32&255)+1]}for(var b=0;b<16;b++)s[b]=r[b]}for(var g=0;g<16;g++)this.state.hash[g]^=s[g]^t[g]}},{key:"finalize",value:function(){return this.addPaddingISO7816(this.state.message.length<32?56-this.state.message.length|0:120-this.state.message.length|0),this.addLengthBits(),this.process(),this.getStateHash()}}]),t}();e.a=S},function(t,e,s){"use strict";var n=s(4);function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function o(t){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function i(t,e){return(i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var h=function(){function t(e){var s;return function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),(s=function(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}(this,o(t).call(this,e))).unitSize=1,s.blockSizeInBytes=s.blockSize*s.unitSize,s.blockUnits=[],s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}(t,n.a),function(t,e,s){e&&a(t.prototype,e)}(t,[{key:"process",value:function(){for(;this.state.message.length>=this.blockSizeInBytes;){this.blockUnits=new Array(this.blockSizeInBytes);for(var t=0;t<this.blockSizeInBytes;t++)this.blockUnits[t]=0|this.state.message.charCodeAt(t);this.state.message=this.state.message.substr(this.blockSizeInBytes),this.processBlock(this.blockUnits)}}},{key:"processBlock",value:function(t){}},{key:"getStateHash",value:function(t){t=t||this.state.hash.length;for(var e="",s=0;s<t;s++)e+=String.fromCharCode(255&this.state.hash[s]);return e}}]),t}();function c(t){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function f(t,e,s){return(f="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,s){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=l(t)););return t}(t,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(s):r.value}})(t,e,s||t)}function l(t){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function p(t,e){return(p=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var y=[41,46,67,201,162,216,124,1,61,54,84,161,236,240,6,19,98,167,5,243,192,199,115,140,152,147,43,217,188,76,130,202,30,155,87,60,253,212,224,22,103,66,111,24,138,23,229,18,190,78,196,214,218,158,222,73,160,251,245,142,187,47,238,122,169,104,121,145,21,178,7,63,148,194,16,137,11,34,95,33,128,127,93,154,90,144,50,39,53,62,204,231,191,247,151,3,255,25,48,179,72,165,181,209,215,94,146,42,172,86,170,198,79,184,56,210,150,164,125,182,118,252,107,226,156,116,4,241,69,157,112,89,100,113,135,32,134,91,207,101,230,45,168,2,27,96,37,173,174,176,185,246,28,70,97,105,52,64,126,15,85,71,163,35,221,81,175,58,195,92,249,206,186,197,234,38,44,83,13,110,133,40,132,9,211,223,205,244,65,129,77,82,106,220,55,200,108,193,171,250,36,225,123,8,12,189,177,74,120,136,149,139,227,99,232,109,233,203,213,254,59,0,29,57,242,239,183,14,102,88,208,228,166,119,114,248,235,117,75,10,49,68,80,180,143,237,31,26,219,153,141,51,159,17,131,20],b=function(){function t(e){var s;return function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),(s=function(t,e){return!e||"object"!==c(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}(this,l(t).call(this,e))).options.rounds=s.options.rounds||18,s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&p(t,e)}(t,h),function(t,e,s){e&&u(t.prototype,e)}(t,[{key:"reset",value:function(){f(l(t.prototype),"reset",this).call(this),this.state.hash=new Array(48),this.state.checksum=new Array(16)}},{key:"processBlock",value:function(t){for(var e=0;e<16;e++)this.state.hash[16+e]=0|t[e],this.state.hash[32+e]=t[e]^this.state.hash[e];for(var s=0,n=0;n<this.options.rounds;n++){for(var r=0;r<48;r++)s=this.state.hash[r]^=y[s];s=s+n&255}s=255&this.state.checksum[15];for(var a=0;a<16;a++)s=this.state.checksum[a]^=y[t[a]^s]}},{key:"finalize",value:function(){this.addPaddingPKCS7(16-(15&this.state.message.length)|0),this.process();for(var t=0;t<16;t++)this.state.message+=String.fromCharCode(this.state.checksum[t]);return this.process(),this.getStateHash(16)}}]),t}();e.a=b},function(t,e,s){"use strict";var n=s(5),r=s(0);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function i(t,e,s){return(i="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,s){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=h(t)););return t}(t,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(s):r.value}})(t,e,s||t)}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var u=[0,1518500249,1859775393,2400959708],f=[5,11,7,15,6,13,8,14,7,12,9,11,8,15,6,12,9,14,5,13],l=[10,17,25,30],p=[18,0,1,2,3,19,4,5,6,7,16,8,9,10,11,17,12,13,14,15,22,3,6,9,12,23,15,2,5,8,20,11,14,1,4,21,7,10,13,0,26,12,5,14,7,27,0,9,2,11,24,4,13,6,15,25,8,1,10,3,30,7,2,13,8,31,3,14,9,4,28,15,10,5,0,29,11,6,1,12],y=function(){function t(e){var s;return function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),(s=function(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}(this,h(t).call(this,e))).options.rounds=s.options.rounds||80,s.W=new Array(32),s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(t,n.a),function(t,e,s){e&&o(t.prototype,e)}(t,[{key:"reset",value:function(){i(h(t.prototype),"reset",this).call(this),this.state.hash=[1732584193,4023233417,2562383102,271733878,3285377520]}},{key:"processBlock",value:function(t){for(var e=0|this.state.hash[0],s=0|this.state.hash[1],n=0|this.state.hash[2],a=0|this.state.hash[3],o=0|this.state.hash[4],i=0;i<16;i++)this.W[i]=0|t[i];this.W[16]=this.W[0]^this.W[1]^this.W[2]^this.W[3]|0,this.W[17]=this.W[4]^this.W[5]^this.W[6]^this.W[7]|0,this.W[18]=this.W[8]^this.W[9]^this.W[10]^this.W[11]|0,this.W[19]=this.W[12]^this.W[13]^this.W[14]^this.W[15]|0,this.W[20]=this.W[3]^this.W[6]^this.W[9]^this.W[12]|0,this.W[21]=this.W[2]^this.W[5]^this.W[8]^this.W[15]|0,this.W[22]=this.W[1]^this.W[4]^this.W[11]^this.W[14]|0,this.W[23]=this.W[0]^this.W[7]^this.W[10]^this.W[13]|0,this.W[24]=this.W[5]^this.W[7]^this.W[12]^this.W[14]|0,this.W[25]=this.W[0]^this.W[2]^this.W[9]^this.W[11]|0,this.W[26]=this.W[4]^this.W[6]^this.W[13]^this.W[15]|0,this.W[27]=this.W[1]^this.W[3]^this.W[8]^this.W[10]|0,this.W[28]=this.W[2]^this.W[7]^this.W[8]^this.W[13]|0,this.W[29]=this.W[3]^this.W[4]^this.W[9]^this.W[14]|0,this.W[30]=this.W[0]^this.W[5]^this.W[10]^this.W[15]|0,this.W[31]=this.W[1]^this.W[6]^this.W[11]^this.W[12]|0;for(var h=0;h<this.options.rounds;h++){var c=Object(r.a)(e,f[h%20])+o+this.W[p[h]]+u[h/20>>0]|0;c=h<20?c+(s&n|~s&a)|0:h<40?c+(s^n^a)|0:h<60?c+(n^(s|~a))|0:c+(s^n^a)|0,o=a,a=n,n=0|Object(r.a)(s,l[h/20>>0]),s=e,e=c}this.state.hash[0]=this.state.hash[0]+e|0,this.state.hash[1]=this.state.hash[1]+s|0,this.state.hash[2]=this.state.hash[2]+n|0,this.state.hash[3]=this.state.hash[3]+a|0,this.state.hash[4]=this.state.hash[4]+o|0}},{key:"finalize",value:function(){return this.addPaddingISO7816(this.state.message.length<56?56-this.state.message.length|0:120-this.state.message.length|0),this.addLengthBits(),this.process(),this.getStateHash()}}]),t}();e.a=y},function(t,e,s){"use strict";s.d(e,"a",function(){return r});var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function r(t){for(var e="",s=t.length-t.length%3|0,r=0,a=0;a<s;a+=3)r=t.charCodeAt(a)<<16|t.charCodeAt(a+1)<<8|t.charCodeAt(a+2),e+=n.charAt(r>>18)+n.charAt(r>>12&63)+n.charAt(r>>6&63)+n.charAt(63&r);return t.length-s==2?(r=t.charCodeAt(s)<<16|t.charCodeAt(1+s)<<8,e+=n.charAt(r>>18)+n.charAt(r>>12&63)+n.charAt(r>>6&63)+"="):t.length-s==1&&(r=t.charCodeAt(s)<<16,e+=n.charAt(r>>18)+n.charAt(r>>12&63)+"=="),e}},function(t,e,s){"use strict";var n=s(5),r=s(0);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function i(t,e,s){return(i="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,s){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=h(t)););return t}(t,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(s):r.value}})(t,e,s||t)}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var u=[[3,7,11,19],[3,5,9,13],[3,9,11,15]],f=1518500249,l=1859775393,p=function(){function t(){return function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}(this,h(t).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(t,n.a),function(t,e,s){e&&o(t.prototype,e),s&&o(t,s)}(t,[{key:"reset",value:function(){i(h(t.prototype),"reset",this).call(this),this.state.hash=[1732584193,-271733879,-1732584194,271733878]}},{key:"processBlock",value:function(e){var s=0|this.state.hash[0],n=0|this.state.hash[1],r=0|this.state.hash[2],a=0|this.state.hash[3];s=t.CC(t.FF,0,s,n,r,a,e[0],u[0][0]),a=t.CC(t.FF,0,a,s,n,r,e[1],u[0][1]),r=t.CC(t.FF,0,r,a,s,n,e[2],u[0][2]),n=t.CC(t.FF,0,n,r,a,s,e[3],u[0][3]),s=t.CC(t.FF,0,s,n,r,a,e[4],u[0][0]),a=t.CC(t.FF,0,a,s,n,r,e[5],u[0][1]),r=t.CC(t.FF,0,r,a,s,n,e[6],u[0][2]),n=t.CC(t.FF,0,n,r,a,s,e[7],u[0][3]),s=t.CC(t.FF,0,s,n,r,a,e[8],u[0][0]),a=t.CC(t.FF,0,a,s,n,r,e[9],u[0][1]),r=t.CC(t.FF,0,r,a,s,n,e[10],u[0][2]),n=t.CC(t.FF,0,n,r,a,s,e[11],u[0][3]),s=t.CC(t.FF,0,s,n,r,a,e[12],u[0][0]),a=t.CC(t.FF,0,a,s,n,r,e[13],u[0][1]),r=t.CC(t.FF,0,r,a,s,n,e[14],u[0][2]),n=t.CC(t.FF,0,n,r,a,s,e[15],u[0][3]),s=t.CC(t.GG,f,s,n,r,a,e[0],u[1][0]),a=t.CC(t.GG,f,a,s,n,r,e[4],u[1][1]),r=t.CC(t.GG,f,r,a,s,n,e[8],u[1][2]),n=t.CC(t.GG,f,n,r,a,s,e[12],u[1][3]),s=t.CC(t.GG,f,s,n,r,a,e[1],u[1][0]),a=t.CC(t.GG,f,a,s,n,r,e[5],u[1][1]),r=t.CC(t.GG,f,r,a,s,n,e[9],u[1][2]),n=t.CC(t.GG,f,n,r,a,s,e[13],u[1][3]),s=t.CC(t.GG,f,s,n,r,a,e[2],u[1][0]),a=t.CC(t.GG,f,a,s,n,r,e[6],u[1][1]),r=t.CC(t.GG,f,r,a,s,n,e[10],u[1][2]),n=t.CC(t.GG,f,n,r,a,s,e[14],u[1][3]),s=t.CC(t.GG,f,s,n,r,a,e[3],u[1][0]),a=t.CC(t.GG,f,a,s,n,r,e[7],u[1][1]),r=t.CC(t.GG,f,r,a,s,n,e[11],u[1][2]),n=t.CC(t.GG,f,n,r,a,s,e[15],u[1][3]),s=t.CC(t.HH,l,s,n,r,a,e[0],u[2][0]),a=t.CC(t.HH,l,a,s,n,r,e[8],u[2][1]),r=t.CC(t.HH,l,r,a,s,n,e[4],u[2][2]),n=t.CC(t.HH,l,n,r,a,s,e[12],u[2][3]),s=t.CC(t.HH,l,s,n,r,a,e[2],u[2][0]),a=t.CC(t.HH,l,a,s,n,r,e[10],u[2][1]),r=t.CC(t.HH,l,r,a,s,n,e[6],u[2][2]),n=t.CC(t.HH,l,n,r,a,s,e[14],u[2][3]),s=t.CC(t.HH,l,s,n,r,a,e[1],u[2][0]),a=t.CC(t.HH,l,a,s,n,r,e[9],u[2][1]),r=t.CC(t.HH,l,r,a,s,n,e[5],u[2][2]),n=t.CC(t.HH,l,n,r,a,s,e[13],u[2][3]),s=t.CC(t.HH,l,s,n,r,a,e[3],u[2][0]),a=t.CC(t.HH,l,a,s,n,r,e[11],u[2][1]),r=t.CC(t.HH,l,r,a,s,n,e[7],u[2][2]),n=t.CC(t.HH,l,n,r,a,s,e[15],u[2][3]),this.state.hash=[this.state.hash[0]+s|0,this.state.hash[1]+n|0,this.state.hash[2]+r|0,this.state.hash[3]+a|0]}},{key:"finalize",value:function(){return this.addPaddingISO7816(this.state.message.length<56?56-this.state.message.length|0:120-this.state.message.length|0),this.addLengthBits(),this.process(),this.getStateHash()}}],[{key:"FF",value:function(t,e,s){return t&e|~t&s}},{key:"GG",value:function(t,e,s){return t&e|t&s|e&s}},{key:"HH",value:function(t,e,s){return t^e^s}},{key:"CC",value:function(t,e,s,n,a,o,i,h){return 0|Object(r.a)(s+t(n,a,o)+i+e,h)}}]),t}();e.a=p},function(t,e,s){"use strict";var n=s(3),r=s(0);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function i(t,e,s){return(i="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,s){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=h(t)););return t}(t,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(s):r.value}})(t,e,s||t)}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var u=[1518500249,1859775393,2400959708,3395469782],f=function(){function t(e){var s;return function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),(s=function(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}(this,h(t).call(this,e))).options.rounds=s.options.rounds||80,s.W=new Array(80),s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(t,n.a),function(t,e,s){e&&o(t.prototype,e)}(t,[{key:"reset",value:function(){i(h(t.prototype),"reset",this).call(this),this.state.hash=[1732584193,-271733879,-1732584194,271733878,-1009589776]}},{key:"processBlock",value:function(t){for(var e=0|this.state.hash[0],s=0|this.state.hash[1],n=0|this.state.hash[2],a=0|this.state.hash[3],o=0|this.state.hash[4],i=0;i<this.options.rounds;i++){this.W[i]=i<16?0|t[i]:this.W[i-3]^this.W[i-8]^this.W[i-14]^this.W[i-16]|0;var h=Object(r.a)(e,5)+o+this.W[i]+u[i/20>>0]|0;h=i<20?h+(s&n|~s&a)|0:i<40?h+(s^n^a)|0:i<60?h+(s&n|s&a|n&a)|0:h+(s^n^a)|0,o=a,a=n,n=0|Object(r.a)(s,30),s=e,e=h}this.state.hash[0]=this.state.hash[0]+e|0,this.state.hash[1]=this.state.hash[1]+s|0,this.state.hash[2]=this.state.hash[2]+n|0,this.state.hash[3]=this.state.hash[3]+a|0,this.state.hash[4]=this.state.hash[4]+o|0}},{key:"finalize",value:function(){return this.addPaddingISO7816(this.state.message.length<56?56-this.state.message.length|0:120-this.state.message.length|0),this.addLengthBits(),this.process(),this.getStateHash()}}]),t}();e.a=f},function(t,e,s){"use strict";function n(t){for(var e="",s=new Uint8Array(t),n=0;n<s.length;n++)e+=String.fromCharCode(s[n]);return e}s.d(e,"a",function(){return n})},,function(t,e,s){"use strict";function n(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var r=function(){function t(e,s){!function(e,s){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),e.length>s.blockSizeInBytes&&(s.update(e),e=s.finalize(),s.reset());for(var n=e.length;n<s.blockSizeInBytes;n++)e+="\0";this.oPad="";for(var r=0;r<e.length;r++)s.update(String.fromCharCode(54^e.charCodeAt(r))),this.oPad+=String.fromCharCode(92^e.charCodeAt(r));this.hasher=s}return function(t,e,s){e&&n(t.prototype,e)}(t,[{key:"update",value:function(t){this.hasher.update(t)}},{key:"finalize",value:function(){var t=this.hasher.finalize();return this.hasher.reset(),this.hasher.update(this.oPad),this.hasher.update(t),this.hasher.finalize()}}]),t}();e.a=r},,,,,,,,,function(t,e,s){"use strict";s.r(e);var n=s(14),r=s(13),a=s(16),o=s(10),i=s(8),h=s(17),c=s(11),u=s(7),f=s(6),l=s(9),p=s(12),y=s(1),b=s(18),g=s(2),C=s(15),v=s(20);function d(t,e){for(var s=0;s<e.length;s++){var n=e[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var O=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.encoder={},this.encoder.fromUtf=y.a,this.encoder.fromArrayBuffer=b.a,this.encoder.toHex=g.a,this.encoder.toBase64=C.a}return function(t,e,s){e&&d(t.prototype,e)}(t,[{key:"getHasher",value:function(t,e){switch(e=e||{},t){case"has160":return new n.a(e);case"md2":return new r.a(e);case"md4":return new a.a(e);case"md5":return new o.a(e);case"ripemd128":return e=Object.assign({},{length:128},e),new i.a(e);case"ripemd":case"ripemd160":return e=Object.assign({},{length:160},e),new i.a(e);case"ripemd256":return e=Object.assign({},{length:256},e),new i.a(e);case"ripemd320":return e=Object.assign({},{length:320},e),new i.a(e);case"sha0":return new h.a(e);case"sha1":return new c.a(e);case"sha224":return e=Object.assign({},{length:224},e),new u.a(e);case"sha256":return e=Object.assign({},{length:256},e),new u.a(e);case"sha384":return e=Object.assign({},{length:384},e),new f.a(e);case"sha512":return e=Object.assign({},{length:512},e),new f.a(e);case"sha512/224":return e=Object.assign({},{length:224},e),new f.a(e);case"sha512/256":return e=Object.assign({},{length:256},e),new f.a(e);case"snefru":case"snefru128":case"snefru128/8":return e=Object.assign({},{length:128},e),new l.a(e);case"snefru256":case"snefru256/8":return e=Object.assign({},{length:256},e),new l.a(e);case"snefru128/2":return e=Object.assign({},{length:128,rounds:2},e),new l.a(e);case"snefru256/4":return e=Object.assign({},{length:256,rounds:4},e),new l.a(e);case"whirlpool":return new p.a(e);case"whirlpool-0":return e=Object.assign({},{type:"0"},e),new p.a(e);case"whirlpool-t":return e=Object.assign({},{type:"t"},e),new p.a(e)}}},{key:"hash",value:function(t,e,s){s=s||{};var n=this.getHasher(t,s);return n.update(Object(y.a)(e)),Object(g.a)(n.finalize())}},{key:"getHmac",value:function(t,e){return new v.a(t,e)}},{key:"hmac",value:function(t,e,s){var n=this.getHmac(Object(y.a)(t),s);return n.update(Object(y.a)(e)),Object(g.a)(n.finalize())}}]),t}();O=new O,e.default=O}]).default;
//# sourceMappingURL=crypto-api.min.js.map