From d4b24efc0d3507cbc7f6e9013315f914ff9fcc5e Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Thu, 28 Apr 2022 15:47:53 +0800 Subject: [PATCH] chore(push): update gtpush --- packages/uni-push/dist/uni-push.es.js | 14 +++++++++++--- packages/uni-push/lib/gtpush-min.d.ts | 4 ++++ packages/uni-push/lib/gtpush-min.js | 5 ++--- packages/uni-push/lib/gtpush.map | 1 - packages/uni-push/src/index.ts | 9 +++++++++ 5 files changed, 26 insertions(+), 7 deletions(-) delete mode 100644 packages/uni-push/lib/gtpush.map diff --git a/packages/uni-push/dist/uni-push.es.js b/packages/uni-push/dist/uni-push.es.js index 87c13a1fd..b2ed9f342 100644 --- a/packages/uni-push/dist/uni-push.es.js +++ b/packages/uni-push/dist/uni-push.es.js @@ -10,7 +10,7 @@ function createCommonjsModule(fn) { /*! For license information please see gtpush-min.js.LICENSE.txt */ var gtpushMin = createCommonjsModule(function (module, exports) { -(function t(e,r){module.exports=r();})(self,(function(){return (()=>{var __webpack_modules__={4736:(t,e,r)=>{t=r.nmd(t);var i;var n=function(t){var e=1e7,r=7,i=9007199254740992,s=d(i),a="0123456789abcdefghijklmnopqrstuvwxyz";var o="function"===typeof BigInt;function u(t,e,r,i){if("undefined"===typeof t)return u[0];if("undefined"!==typeof e)return 10===+e&&!r?st(t):$(t,e,r,i);return st(t)}function c(t,e){this.value=t;this.sign=e;this.isSmall=false;}c.prototype=Object.create(u.prototype);function l(t){this.value=t;this.sign=t<0;this.isSmall=true;}l.prototype=Object.create(u.prototype);function f(t){this.value=t;}f.prototype=Object.create(u.prototype);function h(t){return -i0)return Math.floor(t);return Math.ceil(t)}function m(t,r){var i=t.length,n=r.length,s=new Array(i),a=0,o=e,u,c;for(c=0;c=o?1:0;s[c]=u-a*o;}while(c0)s.push(a);return s}function _(t,e){if(t.length>=e.length)return m(t,e);return m(e,t)}function b(t,r){var i=t.length,n=new Array(i),s=e,a,o;for(o=0;o0){n[o++]=r%s;r=Math.floor(r/s);}return n}c.prototype.add=function(t){var e=st(t);if(this.sign!==e.sign)return this.subtract(e.negate());var r=this.value,i=e.value;if(e.isSmall)return new c(b(r,Math.abs(i)),this.sign);return new c(_(r,i),this.sign)};c.prototype.plus=c.prototype.add;l.prototype.add=function(t){var e=st(t);var r=this.value;if(r<0!==e.sign)return this.subtract(e.negate());var i=e.value;if(e.isSmall){if(h(r+i))return new l(r+i);i=d(Math.abs(i));}return new c(b(i,Math.abs(r)),r<0)};l.prototype.plus=l.prototype.add;f.prototype.add=function(t){return new f(this.value+st(t).value)};f.prototype.plus=f.prototype.add;function S(t,r){var i=t.length,n=r.length,s=new Array(i),a=0,o=e,u,c;for(u=0;u=0)i=S(t,e);else {i=S(e,t);r=!r;}i=p(i);if("number"===typeof i){if(r)i=-i;return new l(i)}return new c(i,r)}function E(t,r,i){var n=t.length,s=new Array(n),a=-r,o=e,u,f;for(u=0;u=0)};l.prototype.minus=l.prototype.subtract;f.prototype.subtract=function(t){return new f(this.value-st(t).value)};f.prototype.minus=f.prototype.subtract;c.prototype.negate=function(){return new c(this.value,!this.sign)};l.prototype.negate=function(){var t=this.sign;var e=new l(-this.value);e.sign=!t;return e};f.prototype.negate=function(){return new f(-this.value)};c.prototype.abs=function(){return new c(this.value,false)};l.prototype.abs=function(){return new l(Math.abs(this.value))};f.prototype.abs=function(){return new f(this.value>=0?this.value:-this.value)};function D(t,r){var i=t.length,n=r.length,s=i+n,a=g(s),o=e,u,c,l,f,h;for(l=0;l0){n[u++]=a%s;a=Math.floor(a/s);}return n}function T(t,e){var r=[];while(e-- >0)r.push(0);return r.concat(t)}function M(t,e){var r=Math.max(t.length,e.length);if(r<=30)return D(t,e);r=Math.ceil(r/2);var i=t.slice(r),n=t.slice(0,r),s=e.slice(r),a=e.slice(0,r);var o=M(n,a),u=M(i,s),c=M(_(n,i),_(a,s));var l=_(_(o,T(S(S(c,o),u),r)),T(u,2*r));v(l);return l}function R(t,e){return -.012*t-.012*e+15e-6*t*e>0}c.prototype.multiply=function(t){var r=st(t),i=this.value,n=r.value,s=this.sign!==r.sign,a;if(r.isSmall){if(0===n)return u[0];if(1===n)return this;if(-1===n)return this.negate();a=Math.abs(n);if(a=0;h--){f=s-1;if(c[h+n]!==o)f=Math.floor((c[h+n]*s+c[h+n-1])/o);d=0;v=0;m=l.length;for(y=0;yn)l=(l+1)*o;u=Math.ceil(l/f);do{h=A(r,u);if(N(h,a)<=0)break;u--;}while(u);s.push(u);a=S(a,h);}s.reverse();return [p(s),p(a)]}function O(t,r){var i=t.length,n=g(i),s=e,a,o,u,c;u=0;for(a=i-1;a>=0;--a){c=u*s+t[a];o=y(c/r);u=c-o*r;n[a]=0|o;}return [n,0|u]}function k(t,r){var i,n=st(r);if(o)return [new f(t.value/n.value),new f(t.value%n.value)];var s=t.value,a=n.value;var h;if(0===a)throw new Error("Cannot divide by zero");if(t.isSmall){if(n.isSmall)return [new l(y(s/a)),new l(s%a)];return [u[0],t]}if(n.isSmall){if(1===a)return [t,u[0]];if(-1==a)return [t.negate(),u[0]];var v=Math.abs(a);if(ve.length?1:-1;for(var r=t.length-1;r>=0;r--)if(t[r]!==e[r])return t[r]>e[r]?1:-1;return 0}c.prototype.compareAbs=function(t){var e=st(t),r=this.value,i=e.value;if(e.isSmall)return 1;return N(r,i)};l.prototype.compareAbs=function(t){var e=st(t),r=Math.abs(this.value),i=e.value;if(e.isSmall){i=Math.abs(i);return r===i?0:r>i?1:-1}return -1};f.prototype.compareAbs=function(t){var e=this.value;var r=st(t).value;e=e>=0?e:-e;r=r>=0?r:-r;return e===r?0:e>r?1:-1};c.prototype.compare=function(t){if(t===1/0)return -1;if(t===-1/0)return 1;var e=st(t),r=this.value,i=e.value;if(this.sign!==e.sign)return e.sign?1:-1;if(e.isSmall)return this.sign?-1:1;return N(r,i)*(this.sign?-1:1)};c.prototype.compareTo=c.prototype.compare;l.prototype.compare=function(t){if(t===1/0)return -1;if(t===-1/0)return 1;var e=st(t),r=this.value,i=e.value;if(e.isSmall)return r==i?0:r>i?1:-1;if(r<0!==e.sign)return r<0?-1:1;return r<0?1:-1};l.prototype.compareTo=l.prototype.compare;f.prototype.compare=function(t){if(t===1/0)return -1;if(t===-1/0)return 1;var e=this.value;var r=st(t).value;return e===r?0:e>r?1:-1};f.prototype.compareTo=f.prototype.compare;c.prototype.equals=function(t){return 0===this.compare(t)};f.prototype.eq=f.prototype.equals=l.prototype.eq=l.prototype.equals=c.prototype.eq=c.prototype.equals;c.prototype.notEquals=function(t){return 0!==this.compare(t)};f.prototype.neq=f.prototype.notEquals=l.prototype.neq=l.prototype.notEquals=c.prototype.neq=c.prototype.notEquals;c.prototype.greater=function(t){return this.compare(t)>0};f.prototype.gt=f.prototype.greater=l.prototype.gt=l.prototype.greater=c.prototype.gt=c.prototype.greater;c.prototype.lesser=function(t){return this.compare(t)<0};f.prototype.lt=f.prototype.lesser=l.prototype.lt=l.prototype.lesser=c.prototype.lt=c.prototype.lesser;c.prototype.greaterOrEquals=function(t){return this.compare(t)>=0};f.prototype.geq=f.prototype.greaterOrEquals=l.prototype.geq=l.prototype.greaterOrEquals=c.prototype.geq=c.prototype.greaterOrEquals;c.prototype.lesserOrEquals=function(t){return this.compare(t)<=0};f.prototype.leq=f.prototype.lesserOrEquals=l.prototype.leq=l.prototype.lesserOrEquals=c.prototype.leq=c.prototype.lesserOrEquals;c.prototype.isEven=function(){return 0===(1&this.value[0])};l.prototype.isEven=function(){return 0===(1&this.value)};f.prototype.isEven=function(){return (this.value&BigInt(1))===BigInt(0)};c.prototype.isOdd=function(){return 1===(1&this.value[0])};l.prototype.isOdd=function(){return 1===(1&this.value)};f.prototype.isOdd=function(){return (this.value&BigInt(1))===BigInt(1)};c.prototype.isPositive=function(){return !this.sign};l.prototype.isPositive=function(){return this.value>0};f.prototype.isPositive=l.prototype.isPositive;c.prototype.isNegative=function(){return this.sign};l.prototype.isNegative=function(){return this.value<0};f.prototype.isNegative=l.prototype.isNegative;c.prototype.isUnit=function(){return false};l.prototype.isUnit=function(){return 1===Math.abs(this.value)};f.prototype.isUnit=function(){return this.abs().value===BigInt(1)};c.prototype.isZero=function(){return false};l.prototype.isZero=function(){return 0===this.value};f.prototype.isZero=function(){return this.value===BigInt(0)};c.prototype.isDivisibleBy=function(t){var e=st(t);if(e.isZero())return false;if(e.isUnit())return true;if(0===e.compareAbs(2))return this.isEven();return this.mod(e).isZero()};f.prototype.isDivisibleBy=l.prototype.isDivisibleBy=c.prototype.isDivisibleBy;function P(t){var e=t.abs();if(e.isUnit())return false;if(e.equals(2)||e.equals(3)||e.equals(5))return true;if(e.isEven()||e.isDivisibleBy(3)||e.isDivisibleBy(5))return false;if(e.lesser(49))return true}function H(t,e){var r=t.prev(),i=r,s=0,a,u,c;while(i.isEven())i=i.divide(2),s++;t:for(u=0;u-i)return new l(t-1);return new c(s,true)};f.prototype.prev=function(){return new f(this.value-BigInt(1))};var L=[1];while(2*L[L.length-1]<=e)L.push(2*L[L.length-1]);var V=L.length,U=L[V-1];function F(t){return Math.abs(t)<=e}c.prototype.shiftLeft=function(t){var e=st(t).toJSNumber();if(!F(e))throw new Error(String(e)+" is too large for shifting.");if(e<0)return this.shiftRight(-e);var r=this;if(r.isZero())return r;while(e>=V){r=r.multiply(U);e-=V-1;}return r.multiply(L[e])};f.prototype.shiftLeft=l.prototype.shiftLeft=c.prototype.shiftLeft;c.prototype.shiftRight=function(t){var e;var r=st(t).toJSNumber();if(!F(r))throw new Error(String(r)+" is too large for shifting.");if(r<0)return this.shiftLeft(-r);var i=this;while(r>=V){if(i.isZero()||i.isNegative()&&i.isUnit())return i;e=k(i,U);i=e[1].isNegative()?e[0].prev():e[0];r-=V-1;}e=k(i,L[r]);return e[1].isNegative()?e[0].prev():e[0]};f.prototype.shiftRight=l.prototype.shiftRight=c.prototype.shiftRight;function K(t,e,r){e=st(e);var i=t.isNegative(),s=e.isNegative();var a=i?t.not():t,o=s?e.not():e;var u=0,c=0;var l=null,f=null;var h=[];while(!a.isZero()||!o.isZero()){l=k(a,U);u=l[1].toJSNumber();if(i)u=U-1-u;f=k(o,U);c=f[1].toJSNumber();if(s)c=U-1-c;a=l[0];o=f[0];h.push(r(u,c));}var d=0!==r(i?1:0,s?1:0)?n(-1):n(0);for(var p=h.length-1;p>=0;p-=1)d=d.multiply(U).add(n(h[p]));return d}c.prototype.not=function(){return this.negate().prev()};f.prototype.not=l.prototype.not=c.prototype.not;c.prototype.and=function(t){return K(this,t,(function(t,e){return t&e}))};f.prototype.and=l.prototype.and=c.prototype.and;c.prototype.or=function(t){return K(this,t,(function(t,e){return t|e}))};f.prototype.or=l.prototype.or=c.prototype.or;c.prototype.xor=function(t){return K(this,t,(function(t,e){return t^e}))};f.prototype.xor=l.prototype.xor=c.prototype.xor;var j=1<<30,q=(e&-e)*(e&-e)|j;function z(t){var r=t.value,i="number"===typeof r?r|j:"bigint"===typeof r?r|BigInt(j):r[0]+r[1]*e|q;return i&-i}function W(t,e){if(e.compareTo(t)<=0){var r=W(t,e.square(e));var i=r.p;var s=r.e;var a=i.multiply(e);return a.compareTo(t)<=0?{p:a,e:2*s+1}:{p:i,e:2*s}}return {p:n(1),e:0}}c.prototype.bitLength=function(){var t=this;if(t.compareTo(n(0))<0)t=t.negate().subtract(n(1));if(0===t.compareTo(n(0)))return n(0);return n(W(t,n(2)).e).add(n(1))};f.prototype.bitLength=l.prototype.bitLength=c.prototype.bitLength;function Y(t,e){t=st(t);e=st(e);return t.greater(e)?t:e}function J(t,e){t=st(t);e=st(e);return t.lesser(e)?t:e}function G(t,e){t=st(t).abs();e=st(e).abs();if(t.equals(e))return t;if(t.isZero())return e;if(e.isZero())return t;var r=u[1],i,n;while(t.isEven()&&e.isEven()){i=J(z(t),z(e));t=t.divide(i);e=e.divide(i);r=r.multiply(i);}while(t.isEven())t=t.divide(z(t));do{while(e.isEven())e=e.divide(z(e));if(t.greater(e)){n=e;e=t;t=n;}e=e.subtract(t);}while(!e.isZero());return r.isUnit()?t:t.multiply(r)}function X(t,e){t=st(t).abs();e=st(e).abs();return t.divide(G(t,e)).multiply(e)}function Z(t,r,i){t=st(t);r=st(r);var n=i||Math.random;var s=J(t,r),a=Y(t,r);var o=a.subtract(s).add(1);if(o.isSmall)return s.add(Math.floor(n()*o));var c=et(o,e).value;var l=[],f=true;for(var h=0;h=o){if("1"===c&&1===o)continue;throw new Error(c+" is not a valid digit in base "+e+".")}}e=st(e);var l=[];var f="-"===t[0];for(s=f?1:0;s"!==t[s]&&s=0;s--){i=i.add(t[s].times(n));n=n.times(e);}return r?i.negate():i}function tt(t,e){e=e||a;if(t"}function et(t,e){e=n(e);if(e.isZero()){if(t.isZero())return {value:[0],isNegative:false};throw new Error("Cannot convert nonzero numbers to base 0.")}if(e.equals(-1)){if(t.isZero())return {value:[0],isNegative:false};if(t.isNegative())return {value:[].concat.apply([],Array.apply(null,Array(-t.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:false};var r=Array.apply(null,Array(t.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);r.unshift([1]);return {value:[].concat.apply([],r),isNegative:false}}var i=false;if(t.isNegative()&&e.isPositive()){i=true;t=t.abs();}if(e.isUnit()){if(t.isZero())return {value:[0],isNegative:false};return {value:Array.apply(null,Array(t.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:i}}var s=[];var a=t,o;while(a.isNegative()||a.compareAbs(e)>=0){o=a.divmod(e);a=o.quotient;var u=o.remainder;if(u.isNegative()){u=e.minus(u).abs();a=a.next();}s.push(u.toJSNumber());}s.push(a.toJSNumber());return {value:s.reverse(),isNegative:i}}function rt(t,e,r){var i=et(t,e);return (i.isNegative?"-":"")+i.value.map((function(t){return tt(t,r)})).join("")}c.prototype.toArray=function(t){return et(this,t)};l.prototype.toArray=function(t){return et(this,t)};f.prototype.toArray=function(t){return et(this,t)};c.prototype.toString=function(e,r){if(e===t)e=10;if(10!==e)return rt(this,e,r);var i=this.value,n=i.length,s=String(i[--n]),a="0000000",o;while(--n>=0){o=String(i[n]);s+=a.slice(o.length)+o;}var u=this.sign?"-":"";return u+s};l.prototype.toString=function(e,r){if(e===t)e=10;if(10!=e)return rt(this,e,r);return String(this.value)};f.prototype.toString=l.prototype.toString;f.prototype.toJSON=c.prototype.toJSON=l.prototype.toJSON=function(){return this.toString()};c.prototype.valueOf=function(){return parseInt(this.toString(),10)};c.prototype.toJSNumber=c.prototype.valueOf;l.prototype.valueOf=function(){return this.value};l.prototype.toJSNumber=l.prototype.valueOf;f.prototype.valueOf=f.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};function it(t){if(h(+t)){var e=+t;if(e===y(e))return o?new f(BigInt(e)):new l(e);throw new Error("Invalid integer: "+t)}var i="-"===t[0];if(i)t=t.slice(1);var n=t.split(/e/i);if(n.length>2)throw new Error("Invalid integer: "+n.join("e"));if(2===n.length){var s=n[1];if("+"===s[0])s=s.slice(1);s=+s;if(s!==y(s)||!h(s))throw new Error("Invalid integer: "+s+" is not a valid exponent.");var a=n[0];var u=a.indexOf(".");if(u>=0){s-=a.length-u-1;a=a.slice(0,u)+a.slice(u+1);}if(s<0)throw new Error("Cannot include negative exponent part for integers");a+=new Array(s+1).join("0");t=a;}var d=/^([0-9][0-9]*)$/.test(t);if(!d)throw new Error("Invalid integer: "+t);if(o)return new f(BigInt(i?"-"+t:t));var p=[],g=t.length,m=r,_=g-m;while(g>0){p.push(+t.slice(_,g));_-=m;if(_<0)_=0;g-=m;}v(p);return new c(p,i)}function nt(t){if(o)return new f(BigInt(t));if(h(t)){if(t!==y(t))throw new Error(t+" is not an integer.");return new l(t)}return it(t.toString())}function st(t){if("number"===typeof t)return nt(t);if("string"===typeof t)return it(t);if("bigint"===typeof t)return new f(t);return t}for(var at=0;at<1e3;at++){u[at]=st(at);if(at>0)u[-at]=st(-at);}u.one=u[1];u.zero=u[0];u.minusOne=u[-1];u.max=Y;u.min=J;u.gcd=G;u.lcm=X;u.isInstance=function(t){return t instanceof c||t instanceof l||t instanceof f};u.randBetween=Z;u.fromArray=function(t,e,r){return Q(t.map(st),st(e||10),r)};return u}();if(t.hasOwnProperty("exports"))t.exports=n;i=function(){return n}.call(e,r,e,t),void 0!==i&&(t.exports=i);},452:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(8269),r(8214),r(888),r(5109));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.BlockCipher;var n=e.algo;var s=[];var a=[];var o=[];var u=[];var c=[];var l=[];var f=[];var h=[];var d=[];var p=[];(function(){var t=[];for(var e=0;e<256;e++)if(e<128)t[e]=e<<1;else t[e]=e<<1^283;var r=0;var i=0;for(var e=0;e<256;e++){var n=i^i<<1^i<<2^i<<3^i<<4;n=n>>>8^255&n^99;s[r]=n;a[n]=r;var v=t[r];var g=t[v];var y=t[g];var m=257*t[n]^16843008*n;o[r]=m<<24|m>>>8;u[r]=m<<16|m>>>16;c[r]=m<<8|m>>>24;l[r]=m;var m=16843009*y^65537*g^257*v^16843008*r;f[n]=m<<24|m>>>8;h[n]=m<<16|m>>>16;d[n]=m<<8|m>>>24;p[n]=m;if(!r)r=i=1;else {r=v^t[t[t[y^v]]];i^=t[t[i]];}}})();var v=[0,1,2,4,8,16,32,64,128,27,54];var g=n.AES=i.extend({_doReset:function(){var t;if(this._nRounds&&this._keyPriorReset===this._key)return;var e=this._keyPriorReset=this._key;var r=e.words;var i=e.sigBytes/4;var n=this._nRounds=i+6;var a=4*(n+1);var o=this._keySchedule=[];for(var u=0;u>>24;t=s[t>>>24]<<24|s[t>>>16&255]<<16|s[t>>>8&255]<<8|s[255&t];t^=v[u/i|0]<<24;}else if(i>6&&u%i==4)t=s[t>>>24]<<24|s[t>>>16&255]<<16|s[t>>>8&255]<<8|s[255&t];o[u]=o[u-i]^t;}var c=this._invKeySchedule=[];for(var l=0;l>>24]]^h[s[t>>>16&255]]^d[s[t>>>8&255]]^p[s[255&t]];}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,o,u,c,l,s);},decryptBlock:function(t,e){var r=t[e+1];t[e+1]=t[e+3];t[e+3]=r;this._doCryptBlock(t,e,this._invKeySchedule,f,h,d,p,a);var r=t[e+1];t[e+1]=t[e+3];t[e+3]=r;},_doCryptBlock:function(t,e,r,i,n,s,a,o){var u=this._nRounds;var c=t[e]^r[0];var l=t[e+1]^r[1];var f=t[e+2]^r[2];var h=t[e+3]^r[3];var d=4;for(var p=1;p>>24]^n[l>>>16&255]^s[f>>>8&255]^a[255&h]^r[d++];var g=i[l>>>24]^n[f>>>16&255]^s[h>>>8&255]^a[255&c]^r[d++];var y=i[f>>>24]^n[h>>>16&255]^s[c>>>8&255]^a[255&l]^r[d++];var m=i[h>>>24]^n[c>>>16&255]^s[l>>>8&255]^a[255&f]^r[d++];c=v;l=g;f=y;h=m;}var v=(o[c>>>24]<<24|o[l>>>16&255]<<16|o[f>>>8&255]<<8|o[255&h])^r[d++];var g=(o[l>>>24]<<24|o[f>>>16&255]<<16|o[h>>>8&255]<<8|o[255&c])^r[d++];var y=(o[f>>>24]<<24|o[h>>>16&255]<<16|o[c>>>8&255]<<8|o[255&l])^r[d++];var m=(o[h>>>24]<<24|o[c>>>16&255]<<16|o[l>>>8&255]<<8|o[255&f])^r[d++];t[e]=v;t[e+1]=g;t[e+2]=y;t[e+3]=m;},keySize:256/32});e.AES=i._createHelper(g);})();return t.AES}));},5109:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(888));})(this,(function(t){t.lib.Cipher||function(e){var r=t;var i=r.lib;var n=i.Base;var s=i.WordArray;var a=i.BufferedBlockAlgorithm;var o=r.enc;o.Utf8;var c=o.Base64;var l=r.algo;var f=l.EvpKDF;var h=i.Cipher=a.extend({cfg:n.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,r){this.cfg=this.cfg.extend(r);this._xformMode=t;this._key=e;this.reset();},reset:function(){a.reset.call(this);this._doReset();},process:function(t){this._append(t);return this._process()},finalize:function(t){if(t)this._append(t);var e=this._doFinalize();return e},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){if("string"==typeof t)return T;else return E}return function(e){return {encrypt:function(r,i,n){return t(i).encrypt(e,r,i,n)},decrypt:function(r,i,n){return t(i).decrypt(e,r,i,n)}}}}()});i.StreamCipher=h.extend({_doFinalize:function(){var t=this._process(!!"flush");return t},blockSize:1});var p=r.mode={};var v=i.BlockCipherMode=n.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t;this._iv=e;}});var g=p.CBC=function(){var t=v.extend();t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;r.call(this,t,e,n);i.encryptBlock(t,e);this._prevBlock=t.slice(e,e+n);}});t.Decryptor=t.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;var s=t.slice(e,e+n);i.decryptBlock(t,e);r.call(this,t,e,n);this._prevBlock=s;}});function r(t,r,i){var n;var s=this._iv;if(s){n=s;this._iv=e;}else n=this._prevBlock;for(var a=0;a>>2];t.sigBytes-=e;}};i.BlockCipher=h.extend({cfg:h.cfg.extend({mode:g,padding:m}),reset:function(){var t;h.reset.call(this);var e=this.cfg;var r=e.iv;var i=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)t=i.createEncryptor;else {t=i.createDecryptor;this._minBufferSize=1;}if(this._mode&&this._mode.__creator==t)this._mode.init(this,r&&r.words);else {this._mode=t.call(i,this,r&&r.words);this._mode.__creator=t;}},_doProcessBlock:function(t,e){this._mode.processBlock(t,e);},_doFinalize:function(){var t;var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);t=this._process(!!"flush");}else {t=this._process(!!"flush");e.unpad(t);}return t},blockSize:128/32});var b=i.CipherParams=n.extend({init:function(t){this.mixIn(t);},toString:function(t){return (t||this.formatter).stringify(this)}});var S=r.format={};var w=S.OpenSSL={stringify:function(t){var e;var r=t.ciphertext;var i=t.salt;if(i)e=s.create([1398893684,1701076831]).concat(i).concat(r);else e=r;return e.toString(c)},parse:function(t){var e;var r=c.parse(t);var i=r.words;if(1398893684==i[0]&&1701076831==i[1]){e=s.create(i.slice(2,4));i.splice(0,4);r.sigBytes-=16;}return b.create({ciphertext:r,salt:e})}};var E=i.SerializableCipher=n.extend({cfg:n.extend({format:w}),encrypt:function(t,e,r,i){i=this.cfg.extend(i);var n=t.createEncryptor(r,i);var s=n.finalize(e);var a=n.cfg;return b.create({ciphertext:s,key:r,iv:a.iv,algorithm:t,mode:a.mode,padding:a.padding,blockSize:t.blockSize,formatter:i.format})},decrypt:function(t,e,r,i){i=this.cfg.extend(i);e=this._parse(e,i.format);var n=t.createDecryptor(r,i).finalize(e.ciphertext);return n},_parse:function(t,e){if("string"==typeof t)return e.parse(t,this);else return t}});var D=r.kdf={};var A=D.OpenSSL={execute:function(t,e,r,i){if(!i)i=s.random(64/8);var n=f.create({keySize:e+r}).compute(t,i);var a=s.create(n.words.slice(e),4*r);n.sigBytes=4*e;return b.create({key:n,iv:a,salt:i})}};var T=i.PasswordBasedCipher=E.extend({cfg:E.cfg.extend({kdf:A}),encrypt:function(t,e,r,i){i=this.cfg.extend(i);var n=i.kdf.execute(r,t.keySize,t.ivSize);i.iv=n.iv;var s=E.encrypt.call(this,t,e,n.key,i);s.mixIn(n);return s},decrypt:function(t,e,r,i){i=this.cfg.extend(i);e=this._parse(e,i.format);var n=i.kdf.execute(r,t.keySize,t.ivSize,e.salt);i.iv=n.iv;var s=E.decrypt.call(this,t,e,n.key,i);return s}});}();}));},8249:function(t,e,r){(function(r,i){t.exports=i();})(this,(function(){var t=t||function(t,e){var i;if("undefined"!==typeof window&&window.crypto)i=window.crypto;if("undefined"!==typeof self&&self.crypto)i=self.crypto;if("undefined"!==typeof globalThis&&globalThis.crypto)i=globalThis.crypto;if(!i&&"undefined"!==typeof window&&window.msCrypto)i=window.msCrypto;if(!i&&"undefined"!==typeof r.g&&r.g.crypto)i=r.g.crypto;if(!i&&"function"==="function")try{i=r(2480);}catch(t){}var n=function(){if(i){if("function"===typeof i.getRandomValues)try{return i.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"===typeof i.randomBytes)try{return i.randomBytes(4).readInt32LE()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")};var s=Object.create||function(){function t(){}return function(e){var r;t.prototype=e;r=new t;t.prototype=null;return r}}();var a={};var o=a.lib={};var u=o.Base=function(){return {extend:function(t){var e=s(this);if(t)e.mixIn(t);if(!e.hasOwnProperty("init")||this.init===e.init)e.init=function(){e.$super.init.apply(this,arguments);};e.init.prototype=e;e.$super=this;return e},create:function(){var t=this.extend();t.init.apply(t,arguments);return t},init:function(){},mixIn:function(t){for(var e in t)if(t.hasOwnProperty(e))this[e]=t[e];if(t.hasOwnProperty("toString"))this.toString=t.toString;},clone:function(){return this.init.prototype.extend(this)}}}();var c=o.WordArray=u.extend({init:function(t,r){t=this.words=t||[];if(r!=e)this.sigBytes=r;else this.sigBytes=4*t.length;},toString:function(t){return (t||f).stringify(this)},concat:function(t){var e=this.words;var r=t.words;var i=this.sigBytes;var n=t.sigBytes;this.clamp();if(i%4)for(var s=0;s>>2]>>>24-s%4*8&255;e[i+s>>>2]|=a<<24-(i+s)%4*8;}else for(var o=0;o>>2]=r[o>>>2];this.sigBytes+=n;return this},clamp:function(){var e=this.words;var r=this.sigBytes;e[r>>>2]&=4294967295<<32-r%4*8;e.length=t.ceil(r/4);},clone:function(){var t=u.clone.call(this);t.words=this.words.slice(0);return t},random:function(t){var e=[];for(var r=0;r>>2]>>>24-n%4*8&255;i.push((s>>>4).toString(16));i.push((15&s).toString(16));}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var i=0;i>>3]|=parseInt(t.substr(i,2),16)<<24-i%8*4;return new c.init(r,e/2)}};var h=l.Latin1={stringify:function(t){var e=t.words;var r=t.sigBytes;var i=[];for(var n=0;n>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(s));}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var i=0;i>>2]|=(255&t.charCodeAt(i))<<24-i%4*8;return new c.init(r,e)}};var d=l.Utf8={stringify:function(t){try{return decodeURIComponent(escape(h.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return h.parse(unescape(encodeURIComponent(t)))}};var p=o.BufferedBlockAlgorithm=u.extend({reset:function(){this._data=new c.init;this._nDataBytes=0;},_append:function(t){if("string"==typeof t)t=d.parse(t);this._data.concat(t);this._nDataBytes+=t.sigBytes;},_process:function(e){var r;var i=this._data;var n=i.words;var s=i.sigBytes;var a=this.blockSize;var o=4*a;var u=s/o;if(e)u=t.ceil(u);else u=t.max((0|u)-this._minBufferSize,0);var l=u*a;var f=t.min(4*l,s);if(l){for(var h=0;h>>2]>>>24-s%4*8&255;var o=e[s+1>>>2]>>>24-(s+1)%4*8&255;var u=e[s+2>>>2]>>>24-(s+2)%4*8&255;var c=a<<16|o<<8|u;for(var l=0;l<4&&s+.75*l>>6*(3-l)&63));}var f=i.charAt(64);if(f)while(n.length%4)n.push(f);return n.join("")},parse:function(t){var e=t.length;var r=this._map;var i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var n=0;n>>6-a%4*2;var c=o|u;n[s>>>2]|=c<<24-s%4*8;s++;}return i.create(n,s)}})();return t.enc.Base64}));},3786:function(t,e,r){(function(i,n){t.exports=n(r(8249));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=e.enc;n.Base64url={stringify:function(t,e=true){var r=t.words;var i=t.sigBytes;var n=e?this._safe_map:this._map;t.clamp();var s=[];for(var a=0;a>>2]>>>24-a%4*8&255;var u=r[a+1>>>2]>>>24-(a+1)%4*8&255;var c=r[a+2>>>2]>>>24-(a+2)%4*8&255;var l=o<<16|u<<8|c;for(var f=0;f<4&&a+.75*f>>6*(3-f)&63));}var h=n.charAt(64);if(h)while(s.length%4)s.push(h);return s.join("")},parse:function(t,e=true){var r=t.length;var i=e?this._safe_map:this._map;var n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var s=0;s>>6-a%4*2;var c=o|u;n[s>>>2]|=c<<24-s%4*8;s++;}return i.create(n,s)}})();return t.enc.Base64url}));},298:function(t,e,r){(function(i,n){t.exports=n(r(8249));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=e.enc;n.Utf16=n.Utf16BE={stringify:function(t){var e=t.words;var r=t.sigBytes;var i=[];for(var n=0;n>>2]>>>16-n%4*8&65535;i.push(String.fromCharCode(s));}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var n=0;n>>1]|=t.charCodeAt(n)<<16-n%2*16;return i.create(r,2*e)}};n.Utf16LE={stringify:function(t){var e=t.words;var r=t.sigBytes;var i=[];for(var n=0;n>>2]>>>16-n%4*8&65535);i.push(String.fromCharCode(s));}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var n=0;n>>1]|=a(t.charCodeAt(n)<<16-n%2*16);return i.create(r,2*e)}};function a(t){return t<<8&4278255360|t>>>8&16711935}})();return t.enc.Utf16}));},888:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(2783),r(9824));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.Base;var n=r.WordArray;var s=e.algo;var a=s.MD5;var o=s.EvpKDF=i.extend({cfg:i.extend({keySize:128/32,hasher:a,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t);},compute:function(t,e){var r;var i=this.cfg;var s=i.hasher.create();var a=n.create();var o=a.words;var u=i.keySize;var c=i.iterations;while(o.lengthi)e=t.finalize(e);e.clamp();var n=this._oKey=e.clone();var a=this._iKey=e.clone();var o=n.words;var u=a.words;for(var c=0;c>>2]|=t[i]<<24-i%4*8;n.call(this,r,e);}else n.apply(this,arguments);};s.prototype=i;})();return t.lib.WordArray}));},8214:function(t,e,r){(function(i,n){t.exports=n(r(8249));})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.algo;var o=[];(function(){for(var t=0;t<64;t++)o[t]=4294967296*e.abs(e.sin(t+1))|0;})();var u=a.MD5=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878]);},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var i=e+r;var n=t[i];t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8);}var s=this._hash.words;var a=t[e+0];var u=t[e+1];var d=t[e+2];var p=t[e+3];var v=t[e+4];var g=t[e+5];var y=t[e+6];var m=t[e+7];var _=t[e+8];var b=t[e+9];var S=t[e+10];var w=t[e+11];var E=t[e+12];var D=t[e+13];var A=t[e+14];var T=t[e+15];var M=s[0];var R=s[1];var I=s[2];var B=s[3];M=c(M,R,I,B,a,7,o[0]);B=c(B,M,R,I,u,12,o[1]);I=c(I,B,M,R,d,17,o[2]);R=c(R,I,B,M,p,22,o[3]);M=c(M,R,I,B,v,7,o[4]);B=c(B,M,R,I,g,12,o[5]);I=c(I,B,M,R,y,17,o[6]);R=c(R,I,B,M,m,22,o[7]);M=c(M,R,I,B,_,7,o[8]);B=c(B,M,R,I,b,12,o[9]);I=c(I,B,M,R,S,17,o[10]);R=c(R,I,B,M,w,22,o[11]);M=c(M,R,I,B,E,7,o[12]);B=c(B,M,R,I,D,12,o[13]);I=c(I,B,M,R,A,17,o[14]);R=c(R,I,B,M,T,22,o[15]);M=l(M,R,I,B,u,5,o[16]);B=l(B,M,R,I,y,9,o[17]);I=l(I,B,M,R,w,14,o[18]);R=l(R,I,B,M,a,20,o[19]);M=l(M,R,I,B,g,5,o[20]);B=l(B,M,R,I,S,9,o[21]);I=l(I,B,M,R,T,14,o[22]);R=l(R,I,B,M,v,20,o[23]);M=l(M,R,I,B,b,5,o[24]);B=l(B,M,R,I,A,9,o[25]);I=l(I,B,M,R,p,14,o[26]);R=l(R,I,B,M,_,20,o[27]);M=l(M,R,I,B,D,5,o[28]);B=l(B,M,R,I,d,9,o[29]);I=l(I,B,M,R,m,14,o[30]);R=l(R,I,B,M,E,20,o[31]);M=f(M,R,I,B,g,4,o[32]);B=f(B,M,R,I,_,11,o[33]);I=f(I,B,M,R,w,16,o[34]);R=f(R,I,B,M,A,23,o[35]);M=f(M,R,I,B,u,4,o[36]);B=f(B,M,R,I,v,11,o[37]);I=f(I,B,M,R,m,16,o[38]);R=f(R,I,B,M,S,23,o[39]);M=f(M,R,I,B,D,4,o[40]);B=f(B,M,R,I,a,11,o[41]);I=f(I,B,M,R,p,16,o[42]);R=f(R,I,B,M,y,23,o[43]);M=f(M,R,I,B,b,4,o[44]);B=f(B,M,R,I,E,11,o[45]);I=f(I,B,M,R,T,16,o[46]);R=f(R,I,B,M,d,23,o[47]);M=h(M,R,I,B,a,6,o[48]);B=h(B,M,R,I,m,10,o[49]);I=h(I,B,M,R,A,15,o[50]);R=h(R,I,B,M,g,21,o[51]);M=h(M,R,I,B,E,6,o[52]);B=h(B,M,R,I,p,10,o[53]);I=h(I,B,M,R,S,15,o[54]);R=h(R,I,B,M,u,21,o[55]);M=h(M,R,I,B,_,6,o[56]);B=h(B,M,R,I,T,10,o[57]);I=h(I,B,M,R,y,15,o[58]);R=h(R,I,B,M,D,21,o[59]);M=h(M,R,I,B,v,6,o[60]);B=h(B,M,R,I,w,10,o[61]);I=h(I,B,M,R,d,15,o[62]);R=h(R,I,B,M,b,21,o[63]);s[0]=s[0]+M|0;s[1]=s[1]+R|0;s[2]=s[2]+I|0;s[3]=s[3]+B|0;},_doFinalize:function(){var t=this._data;var r=t.words;var i=8*this._nDataBytes;var n=8*t.sigBytes;r[n>>>5]|=128<<24-n%32;var s=e.floor(i/4294967296);var a=i;r[(n+64>>>9<<4)+15]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8);r[(n+64>>>9<<4)+14]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);t.sigBytes=4*(r.length+1);this._process();var o=this._hash;var u=o.words;for(var c=0;c<4;c++){var l=u[c];u[c]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8);}return o},clone:function(){var t=s.clone.call(this);t._hash=this._hash.clone();return t}});function c(t,e,r,i,n,s,a){var o=t+(e&r|~e&i)+n+a;return (o<>>32-s)+e}function l(t,e,r,i,n,s,a){var o=t+(e&i|r&~i)+n+a;return (o<>>32-s)+e}function f(t,e,r,i,n,s,a){var o=t+(e^r^i)+n+a;return (o<>>32-s)+e}function h(t,e,r,i,n,s,a){var o=t+(r^(e|~i))+n+a;return (o<>>32-s)+e}r.MD5=s._createHelper(u);r.HmacMD5=s._createHmacHelper(u);})(Math);return t.MD5}));},8568:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(5109));})(this,(function(t){t.mode.CFB=function(){var e=t.lib.BlockCipherMode.extend();e.Encryptor=e.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;r.call(this,t,e,n,i);this._prevBlock=t.slice(e,e+n);}});e.Decryptor=e.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;var s=t.slice(e,e+n);r.call(this,t,e,n,i);this._prevBlock=s;}});function r(t,e,r,i){var n;var s=this._iv;if(s){n=s.slice(0);this._iv=void 0;}else n=this._prevBlock;i.encryptBlock(n,0);for(var a=0;a>24&255)){var e=t>>16&255;var r=t>>8&255;var i=255&t;if(255===e){e=0;if(255===r){r=0;if(255===i)i=0;else ++i;}else ++r;}else ++e;t=0;t+=e<<16;t+=r<<8;t+=i;}else t+=1<<24;return t}function i(t){if(0===(t[0]=r(t[0])))t[1]=r(t[1]);return t}var n=e.Encryptor=e.extend({processBlock:function(t,e){var r=this._cipher;var n=r.blockSize;var s=this._iv;var a=this._counter;if(s){a=this._counter=s.slice(0);this._iv=void 0;}i(a);var o=a.slice(0);r.encryptBlock(o,0);for(var u=0;u>>2]|=n<<24-s%4*8;t.sigBytes+=n;},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e;}};return t.pad.Ansix923}));},2807:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(5109));})(this,(function(t){t.pad.Iso10126={pad:function(e,r){var i=4*r;var n=i-e.sigBytes%i;e.concat(t.lib.WordArray.random(n-1)).concat(t.lib.WordArray.create([n<<24],1));},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e;}};return t.pad.Iso10126}));},1077:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(5109));})(this,(function(t){t.pad.Iso97971={pad:function(e,r){e.concat(t.lib.WordArray.create([2147483648],1));t.pad.ZeroPadding.pad(e,r);},unpad:function(e){t.pad.ZeroPadding.unpad(e);e.sigBytes--;}};return t.pad.Iso97971}));},6991:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(5109));})(this,(function(t){t.pad.NoPadding={pad:function(){},unpad:function(){}};return t.pad.NoPadding}));},6475:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(5109));})(this,(function(t){t.pad.ZeroPadding={pad:function(t,e){var r=4*e;t.clamp();t.sigBytes+=r-(t.sigBytes%r||r);},unpad:function(t){var e=t.words;var r=t.sigBytes-1;for(var r=t.sigBytes-1;r>=0;r--)if(e[r>>>2]>>>24-r%4*8&255){t.sigBytes=r+1;break}}};return t.pad.ZeroPadding}));},2112:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(2783),r(9824));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.Base;var n=r.WordArray;var s=e.algo;var a=s.SHA1;var o=s.HMAC;var u=s.PBKDF2=i.extend({cfg:i.extend({keySize:128/32,hasher:a,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t);},compute:function(t,e){var r=this.cfg;var i=o.create(r.hasher,t);var s=n.create();var a=n.create([1]);var u=s.words;var c=a.words;var l=r.keySize;var f=r.iterations;while(u.length>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16];var i=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];this._b=0;for(var n=0;n<4;n++)c.call(this);for(var n=0;n<8;n++)i[n]^=r[n+4&7];if(e){var s=e.words;var a=s[0];var o=s[1];var u=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);var l=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8);var f=u>>>16|4294901760&l;var h=l<<16|65535&u;i[0]^=u;i[1]^=f;i[2]^=l;i[3]^=h;i[4]^=u;i[5]^=f;i[6]^=l;i[7]^=h;for(var n=0;n<4;n++)c.call(this);}},_doProcessBlock:function(t,e){var r=this._X;c.call(this);s[0]=r[0]^r[5]>>>16^r[3]<<16;s[1]=r[2]^r[7]>>>16^r[5]<<16;s[2]=r[4]^r[1]>>>16^r[7]<<16;s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++){s[i]=16711935&(s[i]<<8|s[i]>>>24)|4278255360&(s[i]<<24|s[i]>>>8);t[e+i]^=s[i];}},blockSize:128/32,ivSize:64/32});function c(){var t=this._X;var e=this._C;for(var r=0;r<8;r++)a[r]=e[r];e[0]=e[0]+1295307597+this._b|0;e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0;e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0;e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0;e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0;e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0;e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0;e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0;this._b=e[7]>>>0>>0?1:0;for(var r=0;r<8;r++){var i=t[r]+e[r];var n=65535&i;var s=i>>>16;var u=((n*n>>>17)+n*s>>>15)+s*s;var c=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=u^c;}t[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0;t[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0;t[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0;t[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0;t[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0;t[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0;t[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0;t[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0;}e.RabbitLegacy=i._createHelper(u);})();return t.RabbitLegacy}));},4454:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(8269),r(8214),r(888),r(5109));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.StreamCipher;var n=e.algo;var s=[];var a=[];var o=[];var u=n.Rabbit=i.extend({_doReset:function(){var t=this._key.words;var e=this.cfg.iv;for(var r=0;r<4;r++)t[r]=16711935&(t[r]<<8|t[r]>>>24)|4278255360&(t[r]<<24|t[r]>>>8);var i=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16];var n=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];this._b=0;for(var r=0;r<4;r++)c.call(this);for(var r=0;r<8;r++)n[r]^=i[r+4&7];if(e){var s=e.words;var a=s[0];var o=s[1];var u=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);var l=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8);var f=u>>>16|4294901760&l;var h=l<<16|65535&u;n[0]^=u;n[1]^=f;n[2]^=l;n[3]^=h;n[4]^=u;n[5]^=f;n[6]^=l;n[7]^=h;for(var r=0;r<4;r++)c.call(this);}},_doProcessBlock:function(t,e){var r=this._X;c.call(this);s[0]=r[0]^r[5]>>>16^r[3]<<16;s[1]=r[2]^r[7]>>>16^r[5]<<16;s[2]=r[4]^r[1]>>>16^r[7]<<16;s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++){s[i]=16711935&(s[i]<<8|s[i]>>>24)|4278255360&(s[i]<<24|s[i]>>>8);t[e+i]^=s[i];}},blockSize:128/32,ivSize:64/32});function c(){var t=this._X;var e=this._C;for(var r=0;r<8;r++)a[r]=e[r];e[0]=e[0]+1295307597+this._b|0;e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0;e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0;e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0;e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0;e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0;e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0;e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0;this._b=e[7]>>>0>>0?1:0;for(var r=0;r<8;r++){var i=t[r]+e[r];var n=65535&i;var s=i>>>16;var u=((n*n>>>17)+n*s>>>15)+s*s;var c=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=u^c;}t[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0;t[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0;t[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0;t[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0;t[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0;t[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0;t[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0;t[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0;}e.Rabbit=i._createHelper(u);})();return t.Rabbit}));},1857:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(8269),r(8214),r(888),r(5109));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.StreamCipher;var n=e.algo;var s=n.RC4=i.extend({_doReset:function(){var t=this._key;var e=t.words;var r=t.sigBytes;var i=this._S=[];for(var n=0;n<256;n++)i[n]=n;for(var n=0,s=0;n<256;n++){var a=n%r;var o=e[a>>>2]>>>24-a%4*8&255;s=(s+i[n]+o)%256;var u=i[n];i[n]=i[s];i[s]=u;}this._i=this._j=0;},_doProcessBlock:function(t,e){t[e]^=a.call(this);},keySize:256/32,ivSize:0});function a(){var t=this._S;var e=this._i;var r=this._j;var i=0;for(var n=0;n<4;n++){e=(e+1)%256;r=(r+t[e])%256;var s=t[e];t[e]=t[r];t[r]=s;i|=t[(t[e]+t[r])%256]<<24-8*n;}this._i=e;this._j=r;return i}e.RC4=i._createHelper(s);var o=n.RC4Drop=s.extend({cfg:s.cfg.extend({drop:192}),_doReset:function(){s._doReset.call(this);for(var t=this.cfg.drop;t>0;t--)a.call(this);}});e.RC4Drop=i._createHelper(o);})();return t.RC4}));},706:function(t,e,r){(function(i,n){t.exports=n(r(8249));})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.algo;var o=n.create([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]);var u=n.create([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]);var c=n.create([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]);var l=n.create([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]);var f=n.create([0,1518500249,1859775393,2400959708,2840853838]);var h=n.create([1352829926,1548603684,1836072691,2053994217,0]);var d=a.RIPEMD160=s.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var i=e+r;var n=t[i];t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8);}var s=this._hash.words;var a=f.words;var d=h.words;var b=o.words;var S=u.words;var w=c.words;var E=l.words;var D,A,T,M,R;var I,B,x,C,O;I=D=s[0];B=A=s[1];x=T=s[2];C=M=s[3];O=R=s[4];var k;for(var r=0;r<80;r+=1){k=D+t[e+b[r]]|0;if(r<16)k+=p(A,T,M)+a[0];else if(r<32)k+=v(A,T,M)+a[1];else if(r<48)k+=g(A,T,M)+a[2];else if(r<64)k+=y(A,T,M)+a[3];else k+=m(A,T,M)+a[4];k|=0;k=_(k,w[r]);k=k+R|0;D=R;R=M;M=_(T,10);T=A;A=k;k=I+t[e+S[r]]|0;if(r<16)k+=m(B,x,C)+d[0];else if(r<32)k+=y(B,x,C)+d[1];else if(r<48)k+=g(B,x,C)+d[2];else if(r<64)k+=v(B,x,C)+d[3];else k+=p(B,x,C)+d[4];k|=0;k=_(k,E[r]);k=k+O|0;I=O;O=C;C=_(x,10);x=B;B=k;}k=s[1]+T+C|0;s[1]=s[2]+M+O|0;s[2]=s[3]+R+I|0;s[3]=s[4]+D+B|0;s[4]=s[0]+A+x|0;s[0]=k;},_doFinalize:function(){var t=this._data;var e=t.words;var r=8*this._nDataBytes;var i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32;e[(i+64>>>9<<4)+14]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);t.sigBytes=4*(e.length+1);this._process();var n=this._hash;var s=n.words;for(var a=0;a<5;a++){var o=s[a];s[a]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8);}return n},clone:function(){var t=s.clone.call(this);t._hash=this._hash.clone();return t}});function p(t,e,r){return t^e^r}function v(t,e,r){return t&e|~t&r}function g(t,e,r){return (t|~e)^r}function y(t,e,r){return t&r|e&~r}function m(t,e,r){return t^(e|~r)}function _(t,e){return t<>>32-e}r.RIPEMD160=s._createHelper(d);r.HmacRIPEMD160=s._createHmacHelper(d);})();return t.RIPEMD160}));},2783:function(t,e,r){(function(i,n){t.exports=n(r(8249));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=r.Hasher;var s=e.algo;var a=[];var o=s.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(t,e){var r=this._hash.words;var i=r[0];var n=r[1];var s=r[2];var o=r[3];var u=r[4];for(var c=0;c<80;c++){if(c<16)a[c]=0|t[e+c];else {var l=a[c-3]^a[c-8]^a[c-14]^a[c-16];a[c]=l<<1|l>>>31;}var f=(i<<5|i>>>27)+u+a[c];if(c<20)f+=(n&s|~n&o)+1518500249;else if(c<40)f+=(n^s^o)+1859775393;else if(c<60)f+=(n&s|n&o|s&o)-1894007588;else f+=(n^s^o)-899497514;u=o;o=s;s=n<<30|n>>>2;n=i;i=f;}r[0]=r[0]+i|0;r[1]=r[1]+n|0;r[2]=r[2]+s|0;r[3]=r[3]+o|0;r[4]=r[4]+u|0;},_doFinalize:function(){var t=this._data;var e=t.words;var r=8*this._nDataBytes;var i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32;e[(i+64>>>9<<4)+14]=Math.floor(r/4294967296);e[(i+64>>>9<<4)+15]=r;t.sigBytes=4*e.length;this._process();return this._hash},clone:function(){var t=n.clone.call(this);t._hash=this._hash.clone();return t}});e.SHA1=n._createHelper(o);e.HmacSHA1=n._createHmacHelper(o);})();return t.SHA1}));},7792:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(2153));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=e.algo;var s=n.SHA256;var a=n.SHA224=s.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);},_doFinalize:function(){var t=s._doFinalize.call(this);t.sigBytes-=4;return t}});e.SHA224=s._createHelper(a);e.HmacSHA224=s._createHmacHelper(a);})();return t.SHA224}));},2153:function(t,e,r){(function(i,n){t.exports=n(r(8249));})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.algo;var o=[];var u=[];(function(){function t(t){var r=e.sqrt(t);for(var i=2;i<=r;i++)if(!(t%i))return false;return true}function r(t){return 4294967296*(t-(0|t))|0}var i=2;var n=0;while(n<64){if(t(i)){if(n<8)o[n]=r(e.pow(i,1/2));u[n]=r(e.pow(i,1/3));n++;}i++;}})();var c=[];var l=a.SHA256=s.extend({_doReset:function(){this._hash=new n.init(o.slice(0));},_doProcessBlock:function(t,e){var r=this._hash.words;var i=r[0];var n=r[1];var s=r[2];var a=r[3];var o=r[4];var l=r[5];var f=r[6];var h=r[7];for(var d=0;d<64;d++){if(d<16)c[d]=0|t[e+d];else {var p=c[d-15];var v=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3;var g=c[d-2];var y=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;c[d]=v+c[d-7]+y+c[d-16];}var m=o&l^~o&f;var _=i&n^i&s^n&s;var b=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22);var S=(o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25);var w=h+S+m+u[d]+c[d];var E=b+_;h=f;f=l;l=o;o=a+w|0;a=s;s=n;n=i;i=w+E|0;}r[0]=r[0]+i|0;r[1]=r[1]+n|0;r[2]=r[2]+s|0;r[3]=r[3]+a|0;r[4]=r[4]+o|0;r[5]=r[5]+l|0;r[6]=r[6]+f|0;r[7]=r[7]+h|0;},_doFinalize:function(){var t=this._data;var r=t.words;var i=8*this._nDataBytes;var n=8*t.sigBytes;r[n>>>5]|=128<<24-n%32;r[(n+64>>>9<<4)+14]=e.floor(i/4294967296);r[(n+64>>>9<<4)+15]=i;t.sigBytes=4*r.length;this._process();return this._hash},clone:function(){var t=s.clone.call(this);t._hash=this._hash.clone();return t}});r.SHA256=s._createHelper(l);r.HmacSHA256=s._createHmacHelper(l);})(Math);return t.SHA256}));},3327:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(4938));})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.x64;var o=a.Word;var u=r.algo;var c=[];var l=[];var f=[];(function(){var t=1,e=0;for(var r=0;r<24;r++){c[t+5*e]=(r+1)*(r+2)/2%64;var i=e%5;var n=(2*t+3*e)%5;t=i;e=n;}for(var t=0;t<5;t++)for(var e=0;e<5;e++)l[t+5*e]=e+(2*t+3*e)%5*5;var s=1;for(var a=0;a<24;a++){var u=0;var h=0;for(var d=0;d<7;d++){if(1&s){var p=(1<>>24)|4278255360&(s<<24|s>>>8);a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);var o=r[n];o.high^=a;o.low^=s;}for(var u=0;u<24;u++){for(var d=0;d<5;d++){var p=0,v=0;for(var g=0;g<5;g++){var o=r[d+5*g];p^=o.high;v^=o.low;}var y=h[d];y.high=p;y.low=v;}for(var d=0;d<5;d++){var m=h[(d+4)%5];var _=h[(d+1)%5];var b=_.high;var S=_.low;var p=m.high^(b<<1|S>>>31);var v=m.low^(S<<1|b>>>31);for(var g=0;g<5;g++){var o=r[d+5*g];o.high^=p;o.low^=v;}}for(var w=1;w<25;w++){var p;var v;var o=r[w];var E=o.high;var D=o.low;var A=c[w];if(A<32){p=E<>>32-A;v=D<>>32-A;}else {p=D<>>64-A;v=E<>>64-A;}var T=h[l[w]];T.high=p;T.low=v;}var M=h[0];var R=r[0];M.high=R.high;M.low=R.low;for(var d=0;d<5;d++)for(var g=0;g<5;g++){var w=d+5*g;var o=r[w];var I=h[w];var B=h[(d+1)%5+5*g];var x=h[(d+2)%5+5*g];o.high=I.high^~B.high&x.high;o.low=I.low^~B.low&x.low;}var o=r[0];var C=f[u];o.high^=C.high;o.low^=C.low;}},_doFinalize:function(){var t=this._data;var r=t.words;8*this._nDataBytes;var s=8*t.sigBytes;var a=32*this.blockSize;r[s>>>5]|=1<<24-s%32;r[(e.ceil((s+1)/a)*a>>>5)-1]|=128;t.sigBytes=4*r.length;this._process();var o=this._state;var u=this.cfg.outputLength/8;var c=u/8;var l=[];for(var f=0;f>>24)|4278255360&(d<<24|d>>>8);p=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8);l.push(p);l.push(d);}return new n.init(l,u)},clone:function(){var t=s.clone.call(this);var e=t._state=this._state.slice(0);for(var r=0;r<25;r++)e[r]=e[r].clone();return t}});r.SHA3=s._createHelper(d);r.HmacSHA3=s._createHmacHelper(d);})(Math);return t.SHA3}));},7460:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(4938),r(34));})(this,(function(t){(function(){var e=t;var r=e.x64;var i=r.Word;var n=r.WordArray;var s=e.algo;var a=s.SHA512;var o=s.SHA384=a.extend({_doReset:function(){this._hash=new n.init([new i.init(3418070365,3238371032),new i.init(1654270250,914150663),new i.init(2438529370,812702999),new i.init(355462360,4144912697),new i.init(1731405415,4290775857),new i.init(2394180231,1750603025),new i.init(3675008525,1694076839),new i.init(1203062813,3204075428)]);},_doFinalize:function(){var t=a._doFinalize.call(this);t.sigBytes-=16;return t}});e.SHA384=a._createHelper(o);e.HmacSHA384=a._createHmacHelper(o);})();return t.SHA384}));},34:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(4938));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.Hasher;var n=e.x64;var s=n.Word;var a=n.WordArray;var o=e.algo;function u(){return s.create.apply(s,arguments)}var c=[u(1116352408,3609767458),u(1899447441,602891725),u(3049323471,3964484399),u(3921009573,2173295548),u(961987163,4081628472),u(1508970993,3053834265),u(2453635748,2937671579),u(2870763221,3664609560),u(3624381080,2734883394),u(310598401,1164996542),u(607225278,1323610764),u(1426881987,3590304994),u(1925078388,4068182383),u(2162078206,991336113),u(2614888103,633803317),u(3248222580,3479774868),u(3835390401,2666613458),u(4022224774,944711139),u(264347078,2341262773),u(604807628,2007800933),u(770255983,1495990901),u(1249150122,1856431235),u(1555081692,3175218132),u(1996064986,2198950837),u(2554220882,3999719339),u(2821834349,766784016),u(2952996808,2566594879),u(3210313671,3203337956),u(3336571891,1034457026),u(3584528711,2466948901),u(113926993,3758326383),u(338241895,168717936),u(666307205,1188179964),u(773529912,1546045734),u(1294757372,1522805485),u(1396182291,2643833823),u(1695183700,2343527390),u(1986661051,1014477480),u(2177026350,1206759142),u(2456956037,344077627),u(2730485921,1290863460),u(2820302411,3158454273),u(3259730800,3505952657),u(3345764771,106217008),u(3516065817,3606008344),u(3600352804,1432725776),u(4094571909,1467031594),u(275423344,851169720),u(430227734,3100823752),u(506948616,1363258195),u(659060556,3750685593),u(883997877,3785050280),u(958139571,3318307427),u(1322822218,3812723403),u(1537002063,2003034995),u(1747873779,3602036899),u(1955562222,1575990012),u(2024104815,1125592928),u(2227730452,2716904306),u(2361852424,442776044),u(2428436474,593698344),u(2756734187,3733110249),u(3204031479,2999351573),u(3329325298,3815920427),u(3391569614,3928383900),u(3515267271,566280711),u(3940187606,3454069534),u(4118630271,4000239992),u(116418474,1914138554),u(174292421,2731055270),u(289380356,3203993006),u(460393269,320620315),u(685471733,587496836),u(852142971,1086792851),u(1017036298,365543100),u(1126000580,2618297676),u(1288033470,3409855158),u(1501505948,4234509866),u(1607167915,987167468),u(1816402316,1246189591)];var l=[];(function(){for(var t=0;t<80;t++)l[t]=u();})();var f=o.SHA512=i.extend({_doReset:function(){this._hash=new a.init([new s.init(1779033703,4089235720),new s.init(3144134277,2227873595),new s.init(1013904242,4271175723),new s.init(2773480762,1595750129),new s.init(1359893119,2917565137),new s.init(2600822924,725511199),new s.init(528734635,4215389547),new s.init(1541459225,327033209)]);},_doProcessBlock:function(t,e){var r=this._hash.words;var i=r[0];var n=r[1];var s=r[2];var a=r[3];var o=r[4];var u=r[5];var f=r[6];var h=r[7];var d=i.high;var p=i.low;var v=n.high;var g=n.low;var y=s.high;var m=s.low;var _=a.high;var b=a.low;var S=o.high;var w=o.low;var E=u.high;var D=u.low;var A=f.high;var T=f.low;var M=h.high;var R=h.low;var I=d;var B=p;var x=v;var C=g;var O=y;var k=m;var N=_;var P=b;var H=S;var L=w;var V=E;var U=D;var F=A;var K=T;var j=M;var q=R;for(var z=0;z<80;z++){var W;var Y;var J=l[z];if(z<16){Y=J.high=0|t[e+2*z];W=J.low=0|t[e+2*z+1];}else {var G=l[z-15];var X=G.high;var Z=G.low;var $=(X>>>1|Z<<31)^(X>>>8|Z<<24)^X>>>7;var Q=(Z>>>1|X<<31)^(Z>>>8|X<<24)^(Z>>>7|X<<25);var tt=l[z-2];var et=tt.high;var rt=tt.low;var it=(et>>>19|rt<<13)^(et<<3|rt>>>29)^et>>>6;var nt=(rt>>>19|et<<13)^(rt<<3|et>>>29)^(rt>>>6|et<<26);var st=l[z-7];var at=st.high;var ot=st.low;var ut=l[z-16];var ct=ut.high;var lt=ut.low;W=Q+ot;Y=$+at+(W>>>0>>0?1:0);W+=nt;Y=Y+it+(W>>>0>>0?1:0);W+=lt;Y=Y+ct+(W>>>0>>0?1:0);J.high=Y;J.low=W;}var ft=H&V^~H&F;var ht=L&U^~L&K;var dt=I&x^I&O^x&O;var pt=B&C^B&k^C&k;var vt=(I>>>28|B<<4)^(I<<30|B>>>2)^(I<<25|B>>>7);var gt=(B>>>28|I<<4)^(B<<30|I>>>2)^(B<<25|I>>>7);var yt=(H>>>14|L<<18)^(H>>>18|L<<14)^(H<<23|L>>>9);var mt=(L>>>14|H<<18)^(L>>>18|H<<14)^(L<<23|H>>>9);var _t=c[z];var bt=_t.high;var St=_t.low;var wt=q+mt;var Et=j+yt+(wt>>>0>>0?1:0);var wt=wt+ht;var Et=Et+ft+(wt>>>0>>0?1:0);var wt=wt+St;var Et=Et+bt+(wt>>>0>>0?1:0);var wt=wt+W;var Et=Et+Y+(wt>>>0>>0?1:0);var Dt=gt+pt;var At=vt+dt+(Dt>>>0>>0?1:0);j=F;q=K;F=V;K=U;V=H;U=L;L=P+wt|0;H=N+Et+(L>>>0

>>0?1:0)|0;N=O;P=k;O=x;k=C;x=I;C=B;B=wt+Dt|0;I=Et+At+(B>>>0>>0?1:0)|0;}p=i.low=p+B;i.high=d+I+(p>>>0>>0?1:0);g=n.low=g+C;n.high=v+x+(g>>>0>>0?1:0);m=s.low=m+k;s.high=y+O+(m>>>0>>0?1:0);b=a.low=b+P;a.high=_+N+(b>>>0

>>0?1:0);w=o.low=w+L;o.high=S+H+(w>>>0>>0?1:0);D=u.low=D+U;u.high=E+V+(D>>>0>>0?1:0);T=f.low=T+K;f.high=A+F+(T>>>0>>0?1:0);R=h.low=R+q;h.high=M+j+(R>>>0>>0?1:0);},_doFinalize:function(){var t=this._data;var e=t.words;var r=8*this._nDataBytes;var i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32;e[(i+128>>>10<<5)+30]=Math.floor(r/4294967296);e[(i+128>>>10<<5)+31]=r;t.sigBytes=4*e.length;this._process();var n=this._hash.toX32();return n},clone:function(){var t=i.clone.call(this);t._hash=this._hash.clone();return t},blockSize:1024/32});e.SHA512=i._createHelper(f);e.HmacSHA512=i._createHmacHelper(f);})();return t.SHA512}));},4253:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(8269),r(8214),r(888),r(5109));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=r.BlockCipher;var s=e.algo;var a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4];var o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32];var u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28];var c=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}];var l=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679];var f=s.DES=n.extend({_doReset:function(){var t=this._key;var e=t.words;var r=[];for(var i=0;i<56;i++){var n=a[i]-1;r[i]=e[n>>>5]>>>31-n%32&1;}var s=this._subKeys=[];for(var c=0;c<16;c++){var l=s[c]=[];var f=u[c];for(var i=0;i<24;i++){l[i/6|0]|=r[(o[i]-1+f)%28]<<31-i%6;l[4+(i/6|0)]|=r[28+(o[i+24]-1+f)%28]<<31-i%6;}l[0]=l[0]<<1|l[0]>>>31;for(var i=1;i<7;i++)l[i]=l[i]>>>4*(i-1)+3;l[7]=l[7]<<5|l[7]>>>27;}var h=this._invSubKeys=[];for(var i=0;i<16;i++)h[i]=s[15-i];},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys);},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys);},_doCryptBlock:function(t,e,r){this._lBlock=t[e];this._rBlock=t[e+1];h.call(this,4,252645135);h.call(this,16,65535);d.call(this,2,858993459);d.call(this,8,16711935);h.call(this,1,1431655765);for(var i=0;i<16;i++){var n=r[i];var s=this._lBlock;var a=this._rBlock;var o=0;for(var u=0;u<8;u++)o|=c[u][((a^n[u])&l[u])>>>0];this._lBlock=a;this._rBlock=s^o;}var f=this._lBlock;this._lBlock=this._rBlock;this._rBlock=f;h.call(this,1,1431655765);d.call(this,8,16711935);d.call(this,2,858993459);h.call(this,16,65535);h.call(this,4,252645135);t[e]=this._lBlock;t[e+1]=this._rBlock;},keySize:64/32,ivSize:64/32,blockSize:64/32});function h(t,e){var r=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=r;this._lBlock^=r<>>t^this._lBlock)&e;this._lBlock^=r;this._rBlock^=r<192.");var r=e.slice(0,2);var n=e.length<4?e.slice(0,2):e.slice(2,4);var s=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=f.createEncryptor(i.create(r));this._des2=f.createEncryptor(i.create(n));this._des3=f.createEncryptor(i.create(s));},encryptBlock:function(t,e){this._des1.encryptBlock(t,e);this._des2.decryptBlock(t,e);this._des3.encryptBlock(t,e);},decryptBlock:function(t,e){this._des3.decryptBlock(t,e);this._des2.encryptBlock(t,e);this._des1.decryptBlock(t,e);},keySize:192/32,ivSize:64/32,blockSize:64/32});e.TripleDES=n._createHelper(p);})();return t.TripleDES}));},4938:function(t,e,r){(function(i,n){t.exports=n(r(8249));})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.Base;var s=i.WordArray;var a=r.x64={};a.Word=n.extend({init:function(t,e){this.high=t;this.low=e;}});a.WordArray=n.extend({init:function(t,r){t=this.words=t||[];if(r!=e)this.sigBytes=r;else this.sigBytes=8*t.length;},toX32:function(){var t=this.words;var e=t.length;var r=[];for(var i=0;i{var __WEBPACK_AMD_DEFINE_RESULT__;(function(){var ERROR="input is invalid type";var WINDOW="object"===typeof window;var root=WINDOW?window:{};if(root.JS_MD5_NO_WINDOW)WINDOW=false;var WEB_WORKER=!WINDOW&&"object"===typeof self;var NODE_JS=!root.JS_MD5_NO_NODE_JS&&"object"===typeof process&&process.versions&&process.versions.node;if(NODE_JS)root=__webpack_require__.g;else if(WEB_WORKER)root=self;var COMMON_JS=!root.JS_MD5_NO_COMMON_JS&&"object"==="object"&&module.exports;var AMD=__webpack_require__.amdO;var ARRAY_BUFFER=!root.JS_MD5_NO_ARRAY_BUFFER&&"undefined"!==typeof ArrayBuffer;var HEX_CHARS="0123456789abcdef".split("");var EXTRA=[128,32768,8388608,-2147483648];var SHIFT=[0,8,16,24];var OUTPUT_TYPES=["hex","array","digest","buffer","arrayBuffer","base64"];var BASE64_ENCODE_CHAR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");var blocks=[],buffer8;if(ARRAY_BUFFER){var buffer=new ArrayBuffer(68);buffer8=new Uint8Array(buffer);blocks=new Uint32Array(buffer);}if(root.JS_MD5_NO_NODE_JS||!Array.isArray)Array.isArray=function(t){return "[object Array]"===Object.prototype.toString.call(t)};if(ARRAY_BUFFER&&(root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView))ArrayBuffer.isView=function(t){return "object"===typeof t&&t.buffer&&t.buffer.constructor===ArrayBuffer};var createOutputMethod=function(t){return function(e){return new Md5(true).update(e)[t]()}};var createMethod=function(){var t=createOutputMethod("hex");if(NODE_JS)t=nodeWrap(t);t.create=function(){return new Md5};t.update=function(e){return t.create().update(e)};for(var e=0;e>2]|=t[n]<>6;u[s++]=128|63&i;}else if(i<55296||i>=57344){u[s++]=224|i>>12;u[s++]=128|i>>6&63;u[s++]=128|63&i;}else {i=65536+((1023&i)<<10|1023&t.charCodeAt(++n));u[s++]=240|i>>18;u[s++]=128|i>>12&63;u[s++]=128|i>>6&63;u[s++]=128|63&i;}}else for(s=this.start;n>2]|=i<>2]|=(192|i>>6)<>2]|=(128|63&i)<=57344){o[s>>2]|=(224|i>>12)<>2]|=(128|i>>6&63)<>2]|=(128|63&i)<>2]|=(240|i>>18)<>2]|=(128|i>>12&63)<>2]|=(128|i>>6&63)<>2]|=(128|63&i)<=64){this.start=s-64;this.hash();this.hashed=true;}else this.start=s;}if(this.bytes>4294967295){this.hBytes+=this.bytes/4294967296<<0;this.bytes=this.bytes%4294967296;}return this};Md5.prototype.finalize=function(){if(this.finalized)return;this.finalized=true;var t=this.blocks,e=this.lastByteIndex;t[e>>2]|=EXTRA[3&e];if(e>=56){if(!this.hashed)this.hash();t[0]=t[16];t[16]=t[1]=t[2]=t[3]=t[4]=t[5]=t[6]=t[7]=t[8]=t[9]=t[10]=t[11]=t[12]=t[13]=t[14]=t[15]=0;}t[14]=this.bytes<<3;t[15]=this.hBytes<<3|this.bytes>>>29;this.hash();};Md5.prototype.hash=function(){var t,e,r,i,n,s,a=this.blocks;if(this.first){t=a[0]-680876937;t=(t<<7|t>>>25)-271733879<<0;i=(-1732584194^2004318071&t)+a[1]-117830708;i=(i<<12|i>>>20)+t<<0;r=(-271733879^i&(-271733879^t))+a[2]-1126478375;r=(r<<17|r>>>15)+i<<0;e=(t^r&(i^t))+a[3]-1316259209;e=(e<<22|e>>>10)+r<<0;}else {t=this.h0;e=this.h1;r=this.h2;i=this.h3;t+=(i^e&(r^i))+a[0]-680876936;t=(t<<7|t>>>25)+e<<0;i+=(r^t&(e^r))+a[1]-389564586;i=(i<<12|i>>>20)+t<<0;r+=(e^i&(t^e))+a[2]+606105819;r=(r<<17|r>>>15)+i<<0;e+=(t^r&(i^t))+a[3]-1044525330;e=(e<<22|e>>>10)+r<<0;}t+=(i^e&(r^i))+a[4]-176418897;t=(t<<7|t>>>25)+e<<0;i+=(r^t&(e^r))+a[5]+1200080426;i=(i<<12|i>>>20)+t<<0;r+=(e^i&(t^e))+a[6]-1473231341;r=(r<<17|r>>>15)+i<<0;e+=(t^r&(i^t))+a[7]-45705983;e=(e<<22|e>>>10)+r<<0;t+=(i^e&(r^i))+a[8]+1770035416;t=(t<<7|t>>>25)+e<<0;i+=(r^t&(e^r))+a[9]-1958414417;i=(i<<12|i>>>20)+t<<0;r+=(e^i&(t^e))+a[10]-42063;r=(r<<17|r>>>15)+i<<0;e+=(t^r&(i^t))+a[11]-1990404162;e=(e<<22|e>>>10)+r<<0;t+=(i^e&(r^i))+a[12]+1804603682;t=(t<<7|t>>>25)+e<<0;i+=(r^t&(e^r))+a[13]-40341101;i=(i<<12|i>>>20)+t<<0;r+=(e^i&(t^e))+a[14]-1502002290;r=(r<<17|r>>>15)+i<<0;e+=(t^r&(i^t))+a[15]+1236535329;e=(e<<22|e>>>10)+r<<0;t+=(r^i&(e^r))+a[1]-165796510;t=(t<<5|t>>>27)+e<<0;i+=(e^r&(t^e))+a[6]-1069501632;i=(i<<9|i>>>23)+t<<0;r+=(t^e&(i^t))+a[11]+643717713;r=(r<<14|r>>>18)+i<<0;e+=(i^t&(r^i))+a[0]-373897302;e=(e<<20|e>>>12)+r<<0;t+=(r^i&(e^r))+a[5]-701558691;t=(t<<5|t>>>27)+e<<0;i+=(e^r&(t^e))+a[10]+38016083;i=(i<<9|i>>>23)+t<<0;r+=(t^e&(i^t))+a[15]-660478335;r=(r<<14|r>>>18)+i<<0;e+=(i^t&(r^i))+a[4]-405537848;e=(e<<20|e>>>12)+r<<0;t+=(r^i&(e^r))+a[9]+568446438;t=(t<<5|t>>>27)+e<<0;i+=(e^r&(t^e))+a[14]-1019803690;i=(i<<9|i>>>23)+t<<0;r+=(t^e&(i^t))+a[3]-187363961;r=(r<<14|r>>>18)+i<<0;e+=(i^t&(r^i))+a[8]+1163531501;e=(e<<20|e>>>12)+r<<0;t+=(r^i&(e^r))+a[13]-1444681467;t=(t<<5|t>>>27)+e<<0;i+=(e^r&(t^e))+a[2]-51403784;i=(i<<9|i>>>23)+t<<0;r+=(t^e&(i^t))+a[7]+1735328473;r=(r<<14|r>>>18)+i<<0;e+=(i^t&(r^i))+a[12]-1926607734;e=(e<<20|e>>>12)+r<<0;n=e^r;t+=(n^i)+a[5]-378558;t=(t<<4|t>>>28)+e<<0;i+=(n^t)+a[8]-2022574463;i=(i<<11|i>>>21)+t<<0;s=i^t;r+=(s^e)+a[11]+1839030562;r=(r<<16|r>>>16)+i<<0;e+=(s^r)+a[14]-35309556;e=(e<<23|e>>>9)+r<<0;n=e^r;t+=(n^i)+a[1]-1530992060;t=(t<<4|t>>>28)+e<<0;i+=(n^t)+a[4]+1272893353;i=(i<<11|i>>>21)+t<<0;s=i^t;r+=(s^e)+a[7]-155497632;r=(r<<16|r>>>16)+i<<0;e+=(s^r)+a[10]-1094730640;e=(e<<23|e>>>9)+r<<0;n=e^r;t+=(n^i)+a[13]+681279174;t=(t<<4|t>>>28)+e<<0;i+=(n^t)+a[0]-358537222;i=(i<<11|i>>>21)+t<<0;s=i^t;r+=(s^e)+a[3]-722521979;r=(r<<16|r>>>16)+i<<0;e+=(s^r)+a[6]+76029189;e=(e<<23|e>>>9)+r<<0;n=e^r;t+=(n^i)+a[9]-640364487;t=(t<<4|t>>>28)+e<<0;i+=(n^t)+a[12]-421815835;i=(i<<11|i>>>21)+t<<0;s=i^t;r+=(s^e)+a[15]+530742520;r=(r<<16|r>>>16)+i<<0;e+=(s^r)+a[2]-995338651;e=(e<<23|e>>>9)+r<<0;t+=(r^(e|~i))+a[0]-198630844;t=(t<<6|t>>>26)+e<<0;i+=(e^(t|~r))+a[7]+1126891415;i=(i<<10|i>>>22)+t<<0;r+=(t^(i|~e))+a[14]-1416354905;r=(r<<15|r>>>17)+i<<0;e+=(i^(r|~t))+a[5]-57434055;e=(e<<21|e>>>11)+r<<0;t+=(r^(e|~i))+a[12]+1700485571;t=(t<<6|t>>>26)+e<<0;i+=(e^(t|~r))+a[3]-1894986606;i=(i<<10|i>>>22)+t<<0;r+=(t^(i|~e))+a[10]-1051523;r=(r<<15|r>>>17)+i<<0;e+=(i^(r|~t))+a[1]-2054922799;e=(e<<21|e>>>11)+r<<0;t+=(r^(e|~i))+a[8]+1873313359;t=(t<<6|t>>>26)+e<<0;i+=(e^(t|~r))+a[15]-30611744;i=(i<<10|i>>>22)+t<<0;r+=(t^(i|~e))+a[6]-1560198380;r=(r<<15|r>>>17)+i<<0;e+=(i^(r|~t))+a[13]+1309151649;e=(e<<21|e>>>11)+r<<0;t+=(r^(e|~i))+a[4]-145523070;t=(t<<6|t>>>26)+e<<0;i+=(e^(t|~r))+a[11]-1120210379;i=(i<<10|i>>>22)+t<<0;r+=(t^(i|~e))+a[2]+718787259;r=(r<<15|r>>>17)+i<<0;e+=(i^(r|~t))+a[9]-343485551;e=(e<<21|e>>>11)+r<<0;if(this.first){this.h0=t+1732584193<<0;this.h1=e-271733879<<0;this.h2=r-1732584194<<0;this.h3=i+271733878<<0;this.first=false;}else {this.h0=this.h0+t<<0;this.h1=this.h1+e<<0;this.h2=this.h2+r<<0;this.h3=this.h3+i<<0;}};Md5.prototype.hex=function(){this.finalize();var t=this.h0,e=this.h1,r=this.h2,i=this.h3;return HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[15&r]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[i>>4&15]+HEX_CHARS[15&i]+HEX_CHARS[i>>12&15]+HEX_CHARS[i>>8&15]+HEX_CHARS[i>>20&15]+HEX_CHARS[i>>16&15]+HEX_CHARS[i>>28&15]+HEX_CHARS[i>>24&15]};Md5.prototype.toString=Md5.prototype.hex;Md5.prototype.digest=function(){this.finalize();var t=this.h0,e=this.h1,r=this.h2,i=this.h3;return [255&t,t>>8&255,t>>16&255,t>>24&255,255&e,e>>8&255,e>>16&255,e>>24&255,255&r,r>>8&255,r>>16&255,r>>24&255,255&i,i>>8&255,i>>16&255,i>>24&255]};Md5.prototype.array=Md5.prototype.digest;Md5.prototype.arrayBuffer=function(){this.finalize();var t=new ArrayBuffer(16);var e=new Uint32Array(t);e[0]=this.h0;e[1]=this.h1;e[2]=this.h2;e[3]=this.h3;return t};Md5.prototype.buffer=Md5.prototype.arrayBuffer;Md5.prototype.base64=function(){var t,e,r,i="",n=this.array();for(var s=0;s<15;){t=n[s++];e=n[s++];r=n[s++];i+=BASE64_ENCODE_CHAR[t>>>2]+BASE64_ENCODE_CHAR[63&(t<<4|e>>>4)]+BASE64_ENCODE_CHAR[63&(e<<2|r>>>6)]+BASE64_ENCODE_CHAR[63&r];}t=n[s];i+=BASE64_ENCODE_CHAR[t>>>2]+BASE64_ENCODE_CHAR[t<<4&63]+"==";return i};var exports=createMethod();if(COMMON_JS)module.exports=exports;else {root.md5=exports;if(AMD)__WEBPACK_AMD_DEFINE_RESULT__=function(){return exports}.call(exports,__webpack_require__,exports,module),void 0!==__WEBPACK_AMD_DEFINE_RESULT__&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__);}})();},3118:(t,e)=>{Object.defineProperty(e,"__esModule",{value:true});e.ErrorCode=void 0;(function(t){t[t["SUCCESS"]=0]="SUCCESS";t[t["CLIENT_ID_NOT_FOUND"]=1]="CLIENT_ID_NOT_FOUND";t[t["OPERATION_TOO_OFTEN"]=2]="OPERATION_TOO_OFTEN";t[t["REPEAT_MESSAGE"]=3]="REPEAT_MESSAGE";t[t["TIME_OUT"]=4]="TIME_OUT";})(e.ErrorCode||(e.ErrorCode={}));},5987:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1901));const s=i(r(1754));const a=i(r(1237));var o;(function(t){function e(t){a.default.debugMode=t;a.default.info(`setDebugMode: ${t}`);}t.setDebugMode=e;function r(t){try{f(t.appid);n.default.init(t);}catch(t){a.default.error(`init error`,t);}}t.init=r;function i(t){try{n.default.setTag(t);}catch(t){a.default.error(`setTag error`,t);}}t.setTag=i;function o(t){try{n.default.bindAlias(t);}catch(t){a.default.error(`bindAlias error`,t);}}t.bindAlias=o;function u(t){try{n.default.unbindAlias(t);}catch(t){a.default.error(`unbindAlias error`,t);}}t.unbindAlias=u;function c(t){try{if(!t.url)throw new Error("invalid url");if(!t.key||!t.keyId)throw new Error("invalid key or keyId");s.default.socketUrl=t.url;s.default.publicKeyId=t.keyId;s.default.publicKey=t.key;}catch(t){a.default.error(`setSocketServer error`,t);}}t.setSocketServer=c;function l(t){try{n.default.enableSocket(t);}catch(t){a.default.error(`enableSocket error`,t);}}t.enableSocket=l;function f(t){if(null==t||void 0==t||""==t.trim())throw new Error(`invalid appid ${t}`)}})(o||(o={}));e["default"]=o;},127:(t,e)=>{Object.defineProperty(e,"__esModule",{value:true});var r;(function(t){t.SDK_VERSION="GTMP-1.0.1.0";t.DEFAULT_SOCKET_URL="wss://wshz.getui.net:5223/nws";t.SOCKET_PROTOCOL_VERSION="1.0";t.SERVER_PUBLIC_KEY="MHwwDQYJKoZIhvcNAQEBBQADawAwaAJhAJp1rROuvBF7sBSnvLaesj2iFhMcY8aXyLvpnNLKs2wjL3JmEnyr++SlVa35liUlzi83tnAFkn3A9GB7pHBNzawyUkBh8WUhq5bnFIkk2RaDa6+5MpG84DEv52p7RR+aWwIDAQAB";t.SERVER_PUBLIC_KEY_ID="69d747c4b9f641baf4004be4297e9f3b";})(r||(r={}));e["default"]=r;},1901:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3593));const s=i(r(1237));const a=r(3118);const o=i(r(1754));const u=i(r(3854));const c=i(r(9018));const l=i(r(5084));class f{static init(t){if(this.inited)return;try{this.inited=true;s.default.info(`init: appid=${t.appid}`);o.default.init(t);n.default.connect();}catch(t){this.inited=false;}}static enableSocket(t){this.checkInit();n.default.allowReconnect=t;if(t)n.default.reconnect(0);else n.default.close(`enableSocket ${t}`);}static setTag(t){this.checkInit();if(!o.default.cid){t.setTagResult?.call(t.setTagResult,{resultCode:a.ErrorCode.CLIENT_ID_NOT_FOUND,message:"client id not found"});return}c.default.create(t.tags,t.setTagResult).send();}static bindAlias(t){this.checkInit();if(!o.default.cid){t.bindAliasResult?.call(t.bindAliasResult,{resultCode:a.ErrorCode.CLIENT_ID_NOT_FOUND,message:"client id not found"});return}let e=(new Date).getTime();if(e-o.default.lastAliasTime<1*1e3){s.default.error(`bind alias fail: alias option can only be called once a second`);t.bindAliasResult?.call(t.bindAliasResult,{resultCode:a.ErrorCode.OPERATION_TOO_OFTEN,message:"alias option can only be called once a second"});return}u.default.create(t.alias,true,t.bindAliasResult).send();o.default.lastAliasTime=e;}static unbindAlias(t){this.checkInit();if(!o.default.cid){t.unbindAliasResult?.call(t.unbindAliasResult,{resultCode:a.ErrorCode.CLIENT_ID_NOT_FOUND,message:"client id not found"});return}let e=(new Date).getTime();if(e-o.default.lastAliasTime<1*1e3){s.default.error(`unbindAlias alias fail: alias option can only be called once a second`);t.unbindAliasResult?.call(t.unbindAliasResult,{resultCode:a.ErrorCode.OPERATION_TOO_OFTEN,message:"alias option can only be called once a second"});return}l.default.create(t.alias,t.onlySelf,t.unbindAliasResult).send();o.default.lastAliasTime=e;}static turnOff(){}static turnOn(){}static checkInit(){if(!this.inited)throw new Error(`not init, please invoke init method firstly`)}}f.inited=false;e["default"]=f;},1754:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(323));const s=i(r(207));const a=i(r(127));const o=i(r(3593));const u=i(r(1237));const c=i(r(3270));const l=i(r(5574));class f{static init(t){this.appid=l.default.to_getui(t.appid);u.default.info(`getui appid: ${this.appid}`);this.onClientId=t.onClientId;this.onlineState=t.onlineState;this.onPushMsg=t.onPushMsg;if(this.appid!=s.default.getSync(s.default.KEY_APPID,this.appid)){u.default.info("appid changed, clear session and cid");s.default.setSync(s.default.KEY_CID,"");s.default.setSync(s.default.KEY_SESSION,"");}s.default.setSync(s.default.KEY_APPID,this.appid);this.cid=s.default.getSync(s.default.KEY_CID,this.cid);if(this.cid)this.onClientId?.call(this,{cid:f.cid});this.session=s.default.getSync(s.default.KEY_SESSION,this.session);this.deviceId=s.default.getSync(s.default.KEY_DEVICE_ID,this.deviceId);this.regId=s.default.getSync(s.default.KEY_REGID,this.regId);if(!this.regId){this.regId=this.createRegId();s.default.set({key:s.default.KEY_REGID,data:this.regId});}this.socketUrl=s.default.getSync(s.default.KEY_SOCKET_URL,this.socketUrl);let e=this;c.default.getNetworkType({success:t=>{e.networkType=t;e.networkConnected="none"!=e.networkType&&""!=e.networkType;}});c.default.onNetworkStatusChange((t=>{e.networkConnected=t.isConnected;e.networkType=t.networkType;if(e.networkConnected)o.default.reconnect(0);}));}static createRegId(){return `M-V${n.default.md5Hex(this.getUuid())}-${(new Date).getTime()}`}static getUuid(){return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){let e=16*Math.random()|0,r="x"===t?e:3&e|8;return r.toString(16)}))}}f.appid="";f.cid="";f.regId="";f.session="";f.deviceId="";f.packetId=1;f.online=false;f.socketUrl=a.default.DEFAULT_SOCKET_URL;f.publicKeyId=a.default.SERVER_PUBLIC_KEY_ID;f.publicKey=a.default.SERVER_PUBLIC_KEY;f.lastAliasTime=0;f.networkConnected=true;f.networkType="none";e["default"]=f;},9214:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n,s;Object.defineProperty(e,"__esModule",{value:true});const a=i(r(9800));const o=r(3118);const u=i(r(1754));class c extends a.default{constructor(){super(...arguments);this.actionMsgData=new l;}static initActionMsg(t,...e){super.initMsg(t);t.command=a.default.Command.CLIENT_MSG;t.data=t.actionMsgData=l.create();return t}static parseActionMsg(t,e){super.parseMsg(t,e);t.actionMsgData=l.parse(t.data);return t}send(){setTimeout((()=>{if(c.waitingLoginMsgMap.has(this.actionMsgData.msgId)||c.waitingResponseMsgMap.has(this.actionMsgData.msgId)){c.waitingLoginMsgMap.delete(this.actionMsgData.msgId);c.waitingResponseMsgMap.delete(this.actionMsgData.msgId);this.callback?.call(this.callback,{resultCode:o.ErrorCode.TIME_OUT,message:"waiting time out"});}}),1e4);if(!u.default.online){c.waitingLoginMsgMap.set(this.actionMsgData.msgId,this);return}if(this.actionMsgData.msgAction!=c.ClientAction.RECEIVED)c.waitingResponseMsgMap.set(this.actionMsgData.msgId,this);super.send();}receive(){}static sendWaitingMessages(){let t=this.waitingLoginMsgMap.keys();let e;while(e=t.next(),!e.done){let t=this.waitingLoginMsgMap.get(e.value);this.waitingLoginMsgMap.delete(e.value);t?.send();}}static getWaitingResponseMessage(t){return c.waitingResponseMsgMap.get(t)}static removeWaitingResponseMessage(t){let e=c.waitingResponseMsgMap.get(t);if(e)c.waitingResponseMsgMap.delete(t);return e}}c.ServerAction=(n=class{},n.PUSH_MESSAGE="pushmessage",n.REDIRECT_SERVER="redirect_server",n.ADD_PHONE_INFO_RESULT="addphoneinfo",n.SET_MODE_RESULT="set_mode_result",n.SET_TAG_RESULT="settag_result",n.BIND_ALIAS_RESULT="response_bind",n.UNBIND_ALIAS_RESULT="response_unbind",n.FEED_BACK_RESULT="pushmessage_feedback",n.RECEIVED="received",n);c.ClientAction=(s=class{},s.ADD_PHONE_INFO="addphoneinfo",s.SET_MODE="set_mode",s.FEED_BACK="pushmessage_feedback",s.SET_TAGS="set_tag",s.BIND_ALIAS="bind_alias",s.UNBIND_ALIAS="unbind_alias",s.RECEIVED="received",s);c.waitingLoginMsgMap=new Map;c.waitingResponseMsgMap=new Map;class l{constructor(){this.appId="";this.cid="";this.msgId="";this.msgAction="";this.msgData="";this.msgExtraData="";}static create(){let t=new l;t.appId=u.default.appid;t.cid=u.default.cid;t.msgId=(new Date).getTime().toString().substr(4);return t}static parse(t){let e=new l;let r=JSON.parse(t);e.appId=r.appId;e.cid=r.cid;e.msgId=r.msgId;e.msgAction=r.msgAction;e.msgData=r.msgData;e.msgExtraData=r.msgExtraData;return e}}e["default"]=c;},708:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3270));const s=i(r(207));const a=i(r(127));const o=r(3118);const u=i(r(9214));const c=i(r(1754));class l extends u.default{constructor(){super(...arguments);this.addPhoneInfoData=new f;}static create(){let t=new l;super.initActionMsg(t);t.callback=e=>{if(e.resultCode!=o.ErrorCode.SUCCESS&&e.resultCode!=o.ErrorCode.REPEAT_MESSAGE)setTimeout((function(){t.send();}),30*1e3);else s.default.set({key:s.default.KEY_ADD_PHONE_INFO_TIME,data:(new Date).getTime()});};t.actionMsgData.msgAction=u.default.ClientAction.ADD_PHONE_INFO;t.addPhoneInfoData=f.create();t.actionMsgData.msgData=JSON.stringify(t.addPhoneInfoData);return t}send(){let t=(new Date).getTime();let e=s.default.getSync(s.default.KEY_ADD_PHONE_INFO_TIME,0);if(t-e<24*60*60*1e3)return;super.send();}}class f{constructor(){this.model="";this.brand="";this.system_version="";this.version="";this.device_token="";this.imei="";this.oaid="";this.mac="";this.idfa="";this.deviceid="";this.type="";this.extra={os:"",platform:"",platformVersion:"",platformId:"",appVersion:"",language:""};}static create(){let t=new f;t.model=n.default.model();t.brand=n.default.brand();t.system_version=n.default.osVersion();t.version=a.default.SDK_VERSION;t.device_token="";t.imei="";t.oaid="";t.mac="";t.idfa="";t.type="MINI";t.deviceid=`${t.type}-${c.default.deviceId}`;t.extra={os:n.default.os(),platform:n.default.platform(),platformVersion:n.default.platformVersion(),platformId:n.default.platformId(),appVersion:"",language:n.default.language()};return t}}e["default"]=l;},3854:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.bindAliasTagData=new o;}static create(t,e,r){let i=new a;super.initActionMsg(i);i.bindAliasTagData=o.create(t,e);i.callback=r;i.actionMsgData.msgAction=s.default.ClientAction.BIND_ALIAS;i.actionMsgData.msgData=JSON.stringify(i.bindAliasTagData);return i}}class o{constructor(){this.alias="";this.cid="";this.appid="";this.sn="";this.is_self="";}static create(t,e){let r=new o;r.alias=t;r.cid=n.default.cid;r.appid=n.default.appid;r.sn=(new Date).getTime().toString();r.is_self=e?"1":"0";return r}}e["default"]=a;},652:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n,s;Object.defineProperty(e,"__esModule",{value:true});const a=i(r(1754));const o=r(3118);const u=i(r(9214));class c extends u.default{constructor(){super(...arguments);this.feedbackData=new l;}static create(t,e){let r=new c;super.initActionMsg(r);r.callback=t=>{if(t.resultCode!=o.ErrorCode.SUCCESS&&t.resultCode!=o.ErrorCode.REPEAT_MESSAGE)setTimeout((function(){r.send();}),30*1e3);};r.feedbackData=l.create(t,e);r.actionMsgData.msgAction=u.default.ClientAction.FEED_BACK;r.actionMsgData.msgData=JSON.stringify(r.feedbackData);return r}send(){super.send();}}c.ActionId=(n=class{},n.RECEIVE="0",n.MP_RECEIVE="210000",n.WEB_RECEIVE="220000",n.BEGIN="1",n);c.RESULT=(s=class{},s.OK="ok",s);class l{constructor(){this.messageid="";this.appkey="";this.appid="";this.taskid="";this.actionid="";this.result="";this.timestamp="";}static create(t,e){let r=new l;r.messageid=t.pushMessageData.messageid;r.appkey=t.pushMessageData.appKey;r.appid=a.default.appid;r.taskid=t.pushMessageData.taskId;r.actionid=e;r.result=c.RESULT.OK;r.timestamp=(new Date).getTime().toString();return r}}e["default"]=c;},9018:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.setTagData=new o;}static create(t,e){let r=new a;super.initActionMsg(r);r.setTagData=o.create(t);r.callback=e;r.actionMsgData.msgAction=s.default.ClientAction.SET_TAGS;r.actionMsgData.msgData=JSON.stringify(r.setTagData);return r}}class o{constructor(){this.appid="";this.tags="";this.sn="";}static create(t){let e=new o;e.appid=n.default.appid;e.tags=u(t);e.sn=(new Date).getTime().toString();return e}}function u(t){return encodeURIComponent(t).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A")}e["default"]=a;},5084:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.unbindAliasData=new o;}static create(t,e,r){let i=new a;super.initActionMsg(i);i.unbindAliasData=o.create(t,e);i.callback=r;i.actionMsgData.msgAction=s.default.ClientAction.UNBIND_ALIAS;i.actionMsgData.msgData=JSON.stringify(i.unbindAliasData);return i}}class o{constructor(){this.alias="";this.cid="";this.appid="";this.sn="";this.is_self="";}static create(t,e){let r=new o;r.alias=t;r.cid=n.default.cid;r.appid=n.default.appid;r.sn=(new Date).getTime().toString();r.is_self=e?"1":"0";return r}}e["default"]=a;},6561:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9800));class s extends n.default{static create(){let t=new s;super.initMsg(t);t.command=n.default.Command.HEART_BEAT;return t}}e["default"]=s;},358:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(323));const s=i(r(1754));const a=i(r(9800));class o extends a.default{constructor(){super(...arguments);this.keyNegotiateData=new u;}static create(){let t=new o;super.initMsg(t);t.command=a.default.Command.KEY_NEGOTIATE;n.default.resetKey();t.data=t.keyNegotiateData=u.create();return t}send(){super.send();}}class u{constructor(){this.appId="";this.rsaPublicKeyId="";this.algorithm="";this.secretKey="";this.iv="";}static create(){let t=new u;t.appId=s.default.appid;t.rsaPublicKeyId=s.default.publicKeyId;t.algorithm="AES";t.secretKey=n.default.getEncryptedSecretKey();t.iv=n.default.getEncryptedIV();return t}}e["default"]=o;},5301:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9800));const s=i(r(323));const a=i(r(2544));class o extends n.default{constructor(){super(...arguments);this.keyNegotiateResultData=new u;}static parse(t){let e=new o;super.parseMsg(e,t);e.keyNegotiateResultData=u.parse(e.data);return e}receive(){if(0!=this.keyNegotiateResultData.errorCode){console.error(`key negotiate fail: ${this.data}`);return}let t=this.keyNegotiateResultData.encryptType.split("/");if(!s.default.algorithmMap.has(t[0].trim().toLowerCase())||!s.default.modeMap.has(t[1].trim().toLowerCase())||!s.default.paddingMap.has(t[2].trim().toLowerCase())){console.error(`key negotiate fail: ${this.data}`);return}s.default.setEncryptParams(t[0].trim().toLowerCase(),t[1].trim().toLowerCase(),t[2].trim().toLowerCase());a.default.create().send();}}class u{constructor(){this.errorCode=-1;this.errorMsg="";this.encryptType="";}static parse(t){let e=new u;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;e.encryptType=r.encryptType;return e}}e["default"]=o;},2544:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(323));const a=i(r(9800));const o=i(r(3527));class u extends a.default{constructor(){super(...arguments);this.loginData=new c;}static create(){let t=new u;super.initMsg(t);t.command=a.default.Command.LOGIN;t.data=t.loginData=c.create();return t}send(){if(!this.loginData.session||n.default.cid!=s.default.md5Hex(this.loginData.session)){o.default.create().send();return}super.send();}}class c{constructor(){this.appId="";this.session="";}static create(){let t=new c;t.appId=n.default.appid;t.session=n.default.session;return t}}e["default"]=u;},8734:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(9800));const a=i(r(1754));const o=i(r(9214));const u=i(r(708));const c=i(r(2544));class l extends s.default{constructor(){super(...arguments);this.loginResultData=new f;}static parse(t){let e=new l;super.parseMsg(e,t);e.loginResultData=f.parse(e.data);return e}receive(){if(0!=this.loginResultData.errorCode){this.data;a.default.session=a.default.cid="";n.default.setSync(n.default.KEY_CID,"");n.default.setSync(n.default.KEY_SESSION,"");c.default.create().send();return}if(!a.default.online){a.default.online=true;a.default.onlineState?.call(a.default.onlineState,{online:a.default.online});}o.default.sendWaitingMessages();u.default.create().send();}}class f{constructor(){this.errorCode=-1;this.errorMsg="";this.session="";}static parse(t){let e=new f;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;e.session=r.session;return e}}e["default"]=l;},9800:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n;Object.defineProperty(e,"__esModule",{value:true});const s=i(r(350));const a=i(r(3593));const o=i(r(127));const u=i(r(1754));class c{constructor(){this.version="";this.command=0;this.packetId=0;this.timeStamp=0;this.data="";this.signature="";}static initMsg(t,...e){t.version=o.default.SOCKET_PROTOCOL_VERSION;t.command=0;t.timeStamp=(new Date).getTime();return t}static parseMsg(t,e){let r=JSON.parse(e);t.version=r.version;t.command=r.command;t.packetId=r.packetId;t.timeStamp=r.timeStamp;t.data=r.data;t.signature=r.signature;return t}stringify(){return JSON.stringify(this,["version","command","packetId","timeStamp","data","signature"])}send(){if(!a.default.isAvailable())return;this.packetId=u.default.packetId++;this.data=JSON.stringify(this.data);this.stringify();if(this.command!=c.Command.HEART_BEAT){s.default.sign(this);if(this.data&&this.command!=c.Command.KEY_NEGOTIATE)s.default.encrypt(this);}a.default.send(this.stringify());}}c.Command=(n=class{},n.HEART_BEAT=0,n.KEY_NEGOTIATE=1,n.KEY_NEGOTIATE_RESULT=16,n.REGISTER=2,n.REGISTER_RESULT=32,n.LOGIN=3,n.LOGIN_RESULT=48,n.LOGOUT=4,n.LOGOUT_RESULT=64,n.CLIENT_MSG=5,n.SERVER_MSG=80,n.SERVER_CLOSE=96,n);e["default"]=c;},350:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(323));var s;(function(t){function e(t){t.data=n.default.encrypt(t.data);}t.encrypt=e;function r(t){t.data=n.default.decrypt(t.data);}t.decrypt=r;function i(t){t.signature=n.default.sha256(`${t.timeStamp}${t.packetId}${t.command}${t.data}`);}t.sign=i;function s(t){let e=n.default.sha256(`${t.timeStamp}${t.packetId}${t.command}${t.data}`);if(t.signature!=e)throw new Error(`msg signature vierfy failed`)}t.verify=s;})(s||(s={}));e["default"]=s;},1236:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(5301));const s=i(r(8734));const a=i(r(9800));const o=i(r(7078));const u=i(r(538));const c=i(r(7821));const l=i(r(217));const f=i(r(7156));const h=i(r(2535));const d=i(r(9214));const p=i(r(7303));const v=i(r(6063));const g=i(r(7923));const y=i(r(350));const m=i(r(9214));const _=i(r(6254));const b=i(r(5035));class S{static receiveMessage(t){let e=a.default.parseMsg(new a.default,t);if(e.command!=a.default.Command.KEY_NEGOTIATE_RESULT&&e.command!=a.default.Command.HEART_BEAT&&e.command!=a.default.Command.SERVER_CLOSE)y.default.decrypt(e);if(e.command!=a.default.Command.HEART_BEAT&&e.command!=a.default.Command.SERVER_CLOSE)y.default.verify(e);switch(e.command){case a.default.Command.KEY_NEGOTIATE_RESULT:n.default.parse(e.stringify()).receive();break;case a.default.Command.REGISTER_RESULT:o.default.parse(e.stringify()).receive();break;case a.default.Command.LOGIN_RESULT:s.default.parse(e.stringify()).receive();break;case a.default.Command.SERVER_MSG:this.receiveActionMsg(e.stringify());break;case a.default.Command.SERVER_CLOSE:b.default.parse(e.stringify()).receive();break;}}static receiveActionMsg(t){let e=m.default.parseActionMsg(new m.default,t);if(e.actionMsgData.msgAction!=d.default.ServerAction.RECEIVED&&e.actionMsgData.msgAction!=d.default.ServerAction.REDIRECT_SERVER){let t=JSON.parse(e.actionMsgData.msgData);_.default.create(t.id).send();}switch(e.actionMsgData.msgAction){case d.default.ServerAction.PUSH_MESSAGE:f.default.parse(t).receive();break;case d.default.ServerAction.REDIRECT_SERVER:h.default.parse(t).receive();break;case d.default.ServerAction.ADD_PHONE_INFO_RESULT:u.default.parse(t).receive();break;case d.default.ServerAction.SET_MODE_RESULT:p.default.parse(t).receive();break;case d.default.ServerAction.SET_TAG_RESULT:v.default.parse(t).receive();break;case d.default.ServerAction.BIND_ALIAS_RESULT:c.default.parse(t).receive();break;case d.default.ServerAction.UNBIND_ALIAS_RESULT:g.default.parse(t).receive();break;case d.default.ServerAction.FEED_BACK_RESULT:l.default.parse(t).receive();break;case d.default.ServerAction.RECEIVED:_.default.parse(t).receive();break}}}e["default"]=S;},6254:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=r(3118);const s=i(r(1754));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.receivedData=new u;}static create(t){let e=new o;super.initActionMsg(e);e.callback=t=>{if(t.resultCode!=n.ErrorCode.SUCCESS&&t.resultCode!=n.ErrorCode.REPEAT_MESSAGE)setTimeout((function(){e.send();}),3*1e3);};e.actionMsgData.msgAction=a.default.ClientAction.RECEIVED;e.receivedData=u.create(t);e.actionMsgData.msgData=JSON.stringify(e.receivedData);return e}static parse(t){let e=new o;super.parseActionMsg(e,t);e.receivedData=u.parse(e.data);return e}receive(){let t=a.default.getWaitingResponseMessage(this.actionMsgData.msgId);if(t&&t.actionMsgData.msgAction==a.default.ClientAction.ADD_PHONE_INFO||t&&t.actionMsgData.msgAction==a.default.ClientAction.FEED_BACK){a.default.removeWaitingResponseMessage(t.actionMsgData.msgId);t.callback?.call(t.callback,{resultCode:n.ErrorCode.SUCCESS,message:"received"});}}send(){super.send();}}class u{constructor(){this.msgId="";this.cid="";}static create(t){let e=new u;e.cid=s.default.cid;e.msgId=t;return e}static parse(t){let e=new u;let r=JSON.parse(t);e.cid=r.cid;e.msgId=r.msgId;return e}}e["default"]=o;},3527:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9800));class a extends s.default{constructor(){super(...arguments);this.registerData=new o;}static create(){let t=new a;super.initMsg(t);t.command=s.default.Command.REGISTER;t.data=t.registerData=o.create();return t}send(){super.send();}}class o{constructor(){this.appId="";this.regId="";}static create(){let t=new o;t.appId=n.default.appid;t.regId=n.default.regId;return t}}e["default"]=a;},7078:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9800));const s=i(r(207));const a=i(r(1754));const o=i(r(2544));class u extends n.default{constructor(){super(...arguments);this.registerResultData=new c;}static parse(t){let e=new u;super.parseMsg(e,t);e.registerResultData=c.parse(e.data);return e}receive(){if(0!=this.registerResultData.errorCode||!this.registerResultData.cid||!this.registerResultData.session){console.error(`register fail: ${this.data}`);return}if(a.default.cid!=this.registerResultData.cid)s.default.setSync(s.default.KEY_ADD_PHONE_INFO_TIME,0);a.default.cid=this.registerResultData.cid;a.default.onClientId?.call(a.default.onClientId,{cid:a.default.cid});s.default.set({key:s.default.KEY_CID,data:a.default.cid});a.default.session=this.registerResultData.session;s.default.set({key:s.default.KEY_SESSION,data:a.default.session});a.default.deviceId=this.registerResultData.deviceId;s.default.set({key:s.default.KEY_DEVICE_ID,data:a.default.deviceId});o.default.create().send();}}class c{constructor(){this.errorCode=-1;this.errorMsg="";this.cid="";this.session="";this.deviceId="";this.regId="";}static parse(t){let e=new c;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;e.cid=r.cid;e.session=r.session;e.deviceId=r.deviceId;e.regId=r.regId;return e}}e["default"]=u;},5035:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3593));const s=i(r(9800));class a extends s.default{constructor(){super(...arguments);this.serverCloseData=new o;}static parse(t){let e=new a;super.parseMsg(e,t);e.serverCloseData=o.parse(e.data);return e}receive(){this.data;if(20==this.serverCloseData.code||23==this.serverCloseData.code||24==this.serverCloseData.code)n.default.allowReconnect=false;n.default.close();}}class o{constructor(){this.code=-1;this.msg="";}static parse(t){let e=new o;let r=JSON.parse(t);e.code=r.code;e.msg=r.msg;return e}}e["default"]=a;},538:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.addPhoneInfoResultData=new o;}static parse(t){let e=new a;super.parseActionMsg(e,t);e.addPhoneInfoResultData=o.parse(e.actionMsgData.msgData);return e}receive(){this.addPhoneInfoResultData;let t=s.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.addPhoneInfoResultData.errorCode,message:this.addPhoneInfoResultData.errorMsg});n.default.set({key:n.default.KEY_ADD_PHONE_INFO_TIME,data:(new Date).getTime()});}}class o{constructor(){this.errorCode=-1;this.errorMsg="";}static parse(t){let e=new o;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=a;},7821:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(1237));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.bindAliasResultData=new u;}static parse(t){let e=new o;super.parseActionMsg(e,t);e.bindAliasResultData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.info(`bind alias result`,this.bindAliasResultData);let t=a.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.bindAliasResultData.errorCode,message:this.bindAliasResultData.errorMsg});n.default.set({key:n.default.KEY_BIND_ALIAS_TIME,data:(new Date).getTime()});}}class u{constructor(){this.errorCode=-1;this.errorMsg="";}static parse(t){let e=new u;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=o;},217:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=r(3118);const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.feedbackResultData=new o;}static parse(t){let e=new a;super.parseActionMsg(e,t);e.feedbackResultData=o.parse(e.actionMsgData.msgData);return e}receive(){this.feedbackResultData;let t=s.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:n.ErrorCode.SUCCESS,message:"received"});}}class o{constructor(){this.actionId="";this.taskId="";this.result="";}static parse(t){let e=new o;let r=JSON.parse(t);e.actionId=r.actionId;e.taskId=r.taskId;e.result=r.result;return e}}e["default"]=a;},7156:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n;Object.defineProperty(e,"__esModule",{value:true});const s=i(r(1754));const a=i(r(9214));const o=i(r(652));class u extends a.default{constructor(){super(...arguments);this.pushMessageData=new c;}static parse(t){let e=new u;super.parseActionMsg(e,t);e.pushMessageData=c.parse(e.actionMsgData.msgData);return e}receive(){this.pushMessageData;if(this.pushMessageData.appId!=s.default.appid||!this.pushMessageData.messageid||!this.pushMessageData.taskId)this.stringify();o.default.create(this,o.default.ActionId.RECEIVE).send();o.default.create(this,o.default.ActionId.MP_RECEIVE).send();if(this.actionMsgData.msgExtraData&&s.default.onPushMsg)s.default.onPushMsg?.call(s.default.onPushMsg,{message:this.actionMsgData.msgExtraData});}}class c{constructor(){this.id="";this.appKey="";this.appId="";this.messageid="";this.taskId="";this.actionChain=[];this.cdnType="";}static parse(t){let e=new c;let r=JSON.parse(t);e.id=r.id;e.appKey=r.appKey;e.appId=r.appId;e.messageid=r.messageid;e.taskId=r.taskId;e.actionChain=r.actionChain;e.cdnType=r.cdnType;return e}}(n=class{},n.GO_TO="goto",n.TRANSMIT="transmit",n);e["default"]=u;},2535:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3593));const s=i(r(1754));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.redirectServerData=new u;}static parse(t){let e=new o;super.parseActionMsg(e,t);e.redirectServerData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.socketUrl=this.redirectServerData.addressList.split(",")[0];n.default.connect();}}class u{constructor(){this.addressList="";this.delay=0;this.location="";this.idConfig="";}static parse(t){let e=new u;let r=JSON.parse(t);e.addressList=r.addressList;e.delay=r.delay;e.location=r.location;e.idConfig=r.idConfig;return e}}e["default"]=o;},7303:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9214));class s extends n.default{constructor(){super(...arguments);this.setModeResultData=new a;}static parse(t){let e=new s;super.parseActionMsg(e,t);e.setModeResultData=a.parse(e.actionMsgData.msgData);return e}receive(){this.setModeResultData;let t=n.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.setModeResultData.errorCode,message:this.setModeResultData.errorMsg});}}class a{constructor(){this.errorCode=-1;this.errorMsg="";}static parse(t){let e=new a;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=s;},6063:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(1237));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.setTagResultData=new u;}static parse(t){let e=new o;super.parseActionMsg(e,t);e.setTagResultData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.info(`set tag result`,this.setTagResultData);let t=a.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.setTagResultData.errorCode,message:this.setTagResultData.errorMsg});n.default.set({key:n.default.KEY_SET_TAG_TIME,data:(new Date).getTime()});}}class u{constructor(){this.errorCode=0;this.errorMsg="";}static parse(t){let e=new u;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=o;},7923:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(1237));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.unbindAliasResultData=new u;}static parse(t){let e=new o;super.parseActionMsg(e,t);e.unbindAliasResultData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.info(`unbind alias result`,this.unbindAliasResultData);let t=a.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.unbindAliasResultData.errorCode,message:this.unbindAliasResultData.errorMsg});n.default.set({key:n.default.KEY_BIND_ALIAS_TIME,data:(new Date).getTime()});}}class u{constructor(){this.errorCode=-1;this.errorMsg="";}static parse(t){let e=new u;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=o;},9285:(t,e)=>{Object.defineProperty(e,"__esModule",{value:true});class r{constructor(t){this.delay=10;this.delay=t;}start(){this.cancel();let t=this;this.timer=setInterval((function(){t.run();}),this.delay);}cancel(){if(this.timer)clearInterval(this.timer);}}e["default"]=r;},1571:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n;Object.defineProperty(e,"__esModule",{value:true});const s=i(r(6561));const a=i(r(9285));class o extends a.default{static getInstance(){return o.InstanceHolder.instance}run(){s.default.create().send();}refresh(){this.delay=60*1e3;this.start();}}o.INTERVAL=60*1e3;o.InstanceHolder=(n=class{},n.instance=new o(o.INTERVAL),n);e["default"]=o;},3270:(t,e)=>{Object.defineProperty(e,"__esModule",{value:true});var r;(function(t){let e;let r;try{e=uni.getSystemInfoSync();r=uni.getAccountInfoSync();}catch(t){}function i(){let t="";try{t=e?e.platform:"";}catch(t){}return t?t:""}t.os=i;function n(){let t="";try{t=e?e.model:"";}catch(t){}return t?t:""}t.model=n;function s(){let t="";try{t=e?e.brand:"";}catch(t){}return t?t:""}t.brand=s;function a(){let t="";try{t=e?e.system:""; +(function t(e,r){module.exports=r();})(self,(function(){return (()=>{var t={4736:(t,e,r)=>{t=r.nmd(t);var i;var n=function(t){var e=1e7,r=7,i=9007199254740992,s=d(i),a="0123456789abcdefghijklmnopqrstuvwxyz";var o="function"===typeof BigInt;function u(t,e,r,i){if("undefined"===typeof t)return u[0];if("undefined"!==typeof e)return 10===+e&&!r?st(t):X(t,e,r,i);return st(t)}function c(t,e){this.value=t;this.sign=e;this.isSmall=false;}c.prototype=Object.create(u.prototype);function l(t){this.value=t;this.sign=t<0;this.isSmall=true;}l.prototype=Object.create(u.prototype);function f(t){this.value=t;}f.prototype=Object.create(u.prototype);function h(t){return -i0)return Math.floor(t);return Math.ceil(t)}function m(t,r){var i=t.length,n=r.length,s=new Array(i),a=0,o=e,u,c;for(c=0;c=o?1:0;s[c]=u-a*o;}while(c0)s.push(a);return s}function _(t,e){if(t.length>=e.length)return m(t,e);return m(e,t)}function w(t,r){var i=t.length,n=new Array(i),s=e,a,o;for(o=0;o0){n[o++]=r%s;r=Math.floor(r/s);}return n}c.prototype.add=function(t){var e=st(t);if(this.sign!==e.sign)return this.subtract(e.negate());var r=this.value,i=e.value;if(e.isSmall)return new c(w(r,Math.abs(i)),this.sign);return new c(_(r,i),this.sign)};c.prototype.plus=c.prototype.add;l.prototype.add=function(t){var e=st(t);var r=this.value;if(r<0!==e.sign)return this.subtract(e.negate());var i=e.value;if(e.isSmall){if(h(r+i))return new l(r+i);i=d(Math.abs(i));}return new c(w(i,Math.abs(r)),r<0)};l.prototype.plus=l.prototype.add;f.prototype.add=function(t){return new f(this.value+st(t).value)};f.prototype.plus=f.prototype.add;function S(t,r){var i=t.length,n=r.length,s=new Array(i),a=0,o=e,u,c;for(u=0;u=0)i=S(t,e);else {i=S(e,t);r=!r;}i=p(i);if("number"===typeof i){if(r)i=-i;return new l(i)}return new c(i,r)}function E(t,r,i){var n=t.length,s=new Array(n),a=-r,o=e,u,f;for(u=0;u=0)};l.prototype.minus=l.prototype.subtract;f.prototype.subtract=function(t){return new f(this.value-st(t).value)};f.prototype.minus=f.prototype.subtract;c.prototype.negate=function(){return new c(this.value,!this.sign)};l.prototype.negate=function(){var t=this.sign;var e=new l(-this.value);e.sign=!t;return e};f.prototype.negate=function(){return new f(-this.value)};c.prototype.abs=function(){return new c(this.value,false)};l.prototype.abs=function(){return new l(Math.abs(this.value))};f.prototype.abs=function(){return new f(this.value>=0?this.value:-this.value)};function D(t,r){var i=t.length,n=r.length,s=i+n,a=g(s),o=e,u,c,l,f,h;for(l=0;l0){n[u++]=a%s;a=Math.floor(a/s);}return n}function M(t,e){var r=[];while(e-- >0)r.push(0);return r.concat(t)}function A(t,e){var r=Math.max(t.length,e.length);if(r<=30)return D(t,e);r=Math.ceil(r/2);var i=t.slice(r),n=t.slice(0,r),s=e.slice(r),a=e.slice(0,r);var o=A(n,a),u=A(i,s),c=A(_(n,i),_(a,s));var l=_(_(o,M(S(S(c,o),u),r)),M(u,2*r));v(l);return l}function I(t,e){return -.012*t-.012*e+15e-6*t*e>0}c.prototype.multiply=function(t){var r=st(t),i=this.value,n=r.value,s=this.sign!==r.sign,a;if(r.isSmall){if(0===n)return u[0];if(1===n)return this;if(-1===n)return this.negate();a=Math.abs(n);if(a=0;h--){f=s-1;if(c[h+n]!==o)f=Math.floor((c[h+n]*s+c[h+n-1])/o);d=0;v=0;m=l.length;for(y=0;yn)l=(l+1)*o;u=Math.ceil(l/f);do{h=T(r,u);if(N(h,a)<=0)break;u--;}while(u);s.push(u);a=S(a,h);}s.reverse();return [p(s),p(a)]}function C(t,r){var i=t.length,n=g(i),s=e,a,o,u,c;u=0;for(a=i-1;a>=0;--a){c=u*s+t[a];o=y(c/r);u=c-o*r;n[a]=0|o;}return [n,0|u]}function k(t,r){var i,n=st(r);if(o)return [new f(t.value/n.value),new f(t.value%n.value)];var s=t.value,a=n.value;var h;if(0===a)throw new Error("Cannot divide by zero");if(t.isSmall){if(n.isSmall)return [new l(y(s/a)),new l(s%a)];return [u[0],t]}if(n.isSmall){if(1===a)return [t,u[0]];if(-1==a)return [t.negate(),u[0]];var v=Math.abs(a);if(ve.length?1:-1;for(var r=t.length-1;r>=0;r--)if(t[r]!==e[r])return t[r]>e[r]?1:-1;return 0}c.prototype.compareAbs=function(t){var e=st(t),r=this.value,i=e.value;if(e.isSmall)return 1;return N(r,i)};l.prototype.compareAbs=function(t){var e=st(t),r=Math.abs(this.value),i=e.value;if(e.isSmall){i=Math.abs(i);return r===i?0:r>i?1:-1}return -1};f.prototype.compareAbs=function(t){var e=this.value;var r=st(t).value;e=e>=0?e:-e;r=r>=0?r:-r;return e===r?0:e>r?1:-1};c.prototype.compare=function(t){if(t===1/0)return -1;if(t===-1/0)return 1;var e=st(t),r=this.value,i=e.value;if(this.sign!==e.sign)return e.sign?1:-1;if(e.isSmall)return this.sign?-1:1;return N(r,i)*(this.sign?-1:1)};c.prototype.compareTo=c.prototype.compare;l.prototype.compare=function(t){if(t===1/0)return -1;if(t===-1/0)return 1;var e=st(t),r=this.value,i=e.value;if(e.isSmall)return r==i?0:r>i?1:-1;if(r<0!==e.sign)return r<0?-1:1;return r<0?1:-1};l.prototype.compareTo=l.prototype.compare;f.prototype.compare=function(t){if(t===1/0)return -1;if(t===-1/0)return 1;var e=this.value;var r=st(t).value;return e===r?0:e>r?1:-1};f.prototype.compareTo=f.prototype.compare;c.prototype.equals=function(t){return 0===this.compare(t)};f.prototype.eq=f.prototype.equals=l.prototype.eq=l.prototype.equals=c.prototype.eq=c.prototype.equals;c.prototype.notEquals=function(t){return 0!==this.compare(t)};f.prototype.neq=f.prototype.notEquals=l.prototype.neq=l.prototype.notEquals=c.prototype.neq=c.prototype.notEquals;c.prototype.greater=function(t){return this.compare(t)>0};f.prototype.gt=f.prototype.greater=l.prototype.gt=l.prototype.greater=c.prototype.gt=c.prototype.greater;c.prototype.lesser=function(t){return this.compare(t)<0};f.prototype.lt=f.prototype.lesser=l.prototype.lt=l.prototype.lesser=c.prototype.lt=c.prototype.lesser;c.prototype.greaterOrEquals=function(t){return this.compare(t)>=0};f.prototype.geq=f.prototype.greaterOrEquals=l.prototype.geq=l.prototype.greaterOrEquals=c.prototype.geq=c.prototype.greaterOrEquals;c.prototype.lesserOrEquals=function(t){return this.compare(t)<=0};f.prototype.leq=f.prototype.lesserOrEquals=l.prototype.leq=l.prototype.lesserOrEquals=c.prototype.leq=c.prototype.lesserOrEquals;c.prototype.isEven=function(){return 0===(1&this.value[0])};l.prototype.isEven=function(){return 0===(1&this.value)};f.prototype.isEven=function(){return (this.value&BigInt(1))===BigInt(0)};c.prototype.isOdd=function(){return 1===(1&this.value[0])};l.prototype.isOdd=function(){return 1===(1&this.value)};f.prototype.isOdd=function(){return (this.value&BigInt(1))===BigInt(1)};c.prototype.isPositive=function(){return !this.sign};l.prototype.isPositive=function(){return this.value>0};f.prototype.isPositive=l.prototype.isPositive;c.prototype.isNegative=function(){return this.sign};l.prototype.isNegative=function(){return this.value<0};f.prototype.isNegative=l.prototype.isNegative;c.prototype.isUnit=function(){return false};l.prototype.isUnit=function(){return 1===Math.abs(this.value)};f.prototype.isUnit=function(){return this.abs().value===BigInt(1)};c.prototype.isZero=function(){return false};l.prototype.isZero=function(){return 0===this.value};f.prototype.isZero=function(){return this.value===BigInt(0)};c.prototype.isDivisibleBy=function(t){var e=st(t);if(e.isZero())return false;if(e.isUnit())return true;if(0===e.compareAbs(2))return this.isEven();return this.mod(e).isZero()};f.prototype.isDivisibleBy=l.prototype.isDivisibleBy=c.prototype.isDivisibleBy;function P(t){var e=t.abs();if(e.isUnit())return false;if(e.equals(2)||e.equals(3)||e.equals(5))return true;if(e.isEven()||e.isDivisibleBy(3)||e.isDivisibleBy(5))return false;if(e.lesser(49))return true}function L(t,e){var r=t.prev(),i=r,s=0,a,u,c;while(i.isEven())i=i.divide(2),s++;t:for(u=0;u-i)return new l(t-1);return new c(s,true)};f.prototype.prev=function(){return new f(this.value-BigInt(1))};var V=[1];while(2*V[V.length-1]<=e)V.push(2*V[V.length-1]);var H=V.length,U=V[H-1];function K(t){return Math.abs(t)<=e}c.prototype.shiftLeft=function(t){var e=st(t).toJSNumber();if(!K(e))throw new Error(String(e)+" is too large for shifting.");if(e<0)return this.shiftRight(-e);var r=this;if(r.isZero())return r;while(e>=H){r=r.multiply(U);e-=H-1;}return r.multiply(V[e])};f.prototype.shiftLeft=l.prototype.shiftLeft=c.prototype.shiftLeft;c.prototype.shiftRight=function(t){var e;var r=st(t).toJSNumber();if(!K(r))throw new Error(String(r)+" is too large for shifting.");if(r<0)return this.shiftLeft(-r);var i=this;while(r>=H){if(i.isZero()||i.isNegative()&&i.isUnit())return i;e=k(i,U);i=e[1].isNegative()?e[0].prev():e[0];r-=H-1;}e=k(i,V[r]);return e[1].isNegative()?e[0].prev():e[0]};f.prototype.shiftRight=l.prototype.shiftRight=c.prototype.shiftRight;function j(t,e,r){e=st(e);var i=t.isNegative(),s=e.isNegative();var a=i?t.not():t,o=s?e.not():e;var u=0,c=0;var l=null,f=null;var h=[];while(!a.isZero()||!o.isZero()){l=k(a,U);u=l[1].toJSNumber();if(i)u=U-1-u;f=k(o,U);c=f[1].toJSNumber();if(s)c=U-1-c;a=l[0];o=f[0];h.push(r(u,c));}var d=0!==r(i?1:0,s?1:0)?n(-1):n(0);for(var p=h.length-1;p>=0;p-=1)d=d.multiply(U).add(n(h[p]));return d}c.prototype.not=function(){return this.negate().prev()};f.prototype.not=l.prototype.not=c.prototype.not;c.prototype.and=function(t){return j(this,t,(function(t,e){return t&e}))};f.prototype.and=l.prototype.and=c.prototype.and;c.prototype.or=function(t){return j(this,t,(function(t,e){return t|e}))};f.prototype.or=l.prototype.or=c.prototype.or;c.prototype.xor=function(t){return j(this,t,(function(t,e){return t^e}))};f.prototype.xor=l.prototype.xor=c.prototype.xor;var q=1<<30,F=(e&-e)*(e&-e)|q;function z(t){var r=t.value,i="number"===typeof r?r|q:"bigint"===typeof r?r|BigInt(q):r[0]+r[1]*e|F;return i&-i}function G(t,e){if(e.compareTo(t)<=0){var r=G(t,e.square(e));var i=r.p;var s=r.e;var a=i.multiply(e);return a.compareTo(t)<=0?{p:a,e:2*s+1}:{p:i,e:2*s}}return {p:n(1),e:0}}c.prototype.bitLength=function(){var t=this;if(t.compareTo(n(0))<0)t=t.negate().subtract(n(1));if(0===t.compareTo(n(0)))return n(0);return n(G(t,n(2)).e).add(n(1))};f.prototype.bitLength=l.prototype.bitLength=c.prototype.bitLength;function Y(t,e){t=st(t);e=st(e);return t.greater(e)?t:e}function W(t,e){t=st(t);e=st(e);return t.lesser(e)?t:e}function J(t,e){t=st(t).abs();e=st(e).abs();if(t.equals(e))return t;if(t.isZero())return e;if(e.isZero())return t;var r=u[1],i,n;while(t.isEven()&&e.isEven()){i=W(z(t),z(e));t=t.divide(i);e=e.divide(i);r=r.multiply(i);}while(t.isEven())t=t.divide(z(t));do{while(e.isEven())e=e.divide(z(e));if(t.greater(e)){n=e;e=t;t=n;}e=e.subtract(t);}while(!e.isZero());return r.isUnit()?t:t.multiply(r)}function Z(t,e){t=st(t).abs();e=st(e).abs();return t.divide(J(t,e)).multiply(e)}function $(t,r,i){t=st(t);r=st(r);var n=i||Math.random;var s=W(t,r),a=Y(t,r);var o=a.subtract(s).add(1);if(o.isSmall)return s.add(Math.floor(n()*o));var c=et(o,e).value;var l=[],f=true;for(var h=0;h=o){if("1"===c&&1===o)continue;throw new Error(c+" is not a valid digit in base "+e+".")}}e=st(e);var l=[];var f="-"===t[0];for(s=f?1:0;s"!==t[s]&&s=0;s--){i=i.add(t[s].times(n));n=n.times(e);}return r?i.negate():i}function tt(t,e){e=e||a;if(t"}function et(t,e){e=n(e);if(e.isZero()){if(t.isZero())return {value:[0],isNegative:false};throw new Error("Cannot convert nonzero numbers to base 0.")}if(e.equals(-1)){if(t.isZero())return {value:[0],isNegative:false};if(t.isNegative())return {value:[].concat.apply([],Array.apply(null,Array(-t.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:false};var r=Array.apply(null,Array(t.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);r.unshift([1]);return {value:[].concat.apply([],r),isNegative:false}}var i=false;if(t.isNegative()&&e.isPositive()){i=true;t=t.abs();}if(e.isUnit()){if(t.isZero())return {value:[0],isNegative:false};return {value:Array.apply(null,Array(t.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:i}}var s=[];var a=t,o;while(a.isNegative()||a.compareAbs(e)>=0){o=a.divmod(e);a=o.quotient;var u=o.remainder;if(u.isNegative()){u=e.minus(u).abs();a=a.next();}s.push(u.toJSNumber());}s.push(a.toJSNumber());return {value:s.reverse(),isNegative:i}}function rt(t,e,r){var i=et(t,e);return (i.isNegative?"-":"")+i.value.map((function(t){return tt(t,r)})).join("")}c.prototype.toArray=function(t){return et(this,t)};l.prototype.toArray=function(t){return et(this,t)};f.prototype.toArray=function(t){return et(this,t)};c.prototype.toString=function(e,r){if(e===t)e=10;if(10!==e)return rt(this,e,r);var i=this.value,n=i.length,s=String(i[--n]),a="0000000",o;while(--n>=0){o=String(i[n]);s+=a.slice(o.length)+o;}var u=this.sign?"-":"";return u+s};l.prototype.toString=function(e,r){if(e===t)e=10;if(10!=e)return rt(this,e,r);return String(this.value)};f.prototype.toString=l.prototype.toString;f.prototype.toJSON=c.prototype.toJSON=l.prototype.toJSON=function(){return this.toString()};c.prototype.valueOf=function(){return parseInt(this.toString(),10)};c.prototype.toJSNumber=c.prototype.valueOf;l.prototype.valueOf=function(){return this.value};l.prototype.toJSNumber=l.prototype.valueOf;f.prototype.valueOf=f.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};function it(t){if(h(+t)){var e=+t;if(e===y(e))return o?new f(BigInt(e)):new l(e);throw new Error("Invalid integer: "+t)}var i="-"===t[0];if(i)t=t.slice(1);var n=t.split(/e/i);if(n.length>2)throw new Error("Invalid integer: "+n.join("e"));if(2===n.length){var s=n[1];if("+"===s[0])s=s.slice(1);s=+s;if(s!==y(s)||!h(s))throw new Error("Invalid integer: "+s+" is not a valid exponent.");var a=n[0];var u=a.indexOf(".");if(u>=0){s-=a.length-u-1;a=a.slice(0,u)+a.slice(u+1);}if(s<0)throw new Error("Cannot include negative exponent part for integers");a+=new Array(s+1).join("0");t=a;}var d=/^([0-9][0-9]*)$/.test(t);if(!d)throw new Error("Invalid integer: "+t);if(o)return new f(BigInt(i?"-"+t:t));var p=[],g=t.length,m=r,_=g-m;while(g>0){p.push(+t.slice(_,g));_-=m;if(_<0)_=0;g-=m;}v(p);return new c(p,i)}function nt(t){if(o)return new f(BigInt(t));if(h(t)){if(t!==y(t))throw new Error(t+" is not an integer.");return new l(t)}return it(t.toString())}function st(t){if("number"===typeof t)return nt(t);if("string"===typeof t)return it(t);if("bigint"===typeof t)return new f(t);return t}for(var at=0;at<1e3;at++){u[at]=st(at);if(at>0)u[-at]=st(-at);}u.one=u[1];u.zero=u[0];u.minusOne=u[-1];u.max=Y;u.min=W;u.gcd=J;u.lcm=Z;u.isInstance=function(t){return t instanceof c||t instanceof l||t instanceof f};u.randBetween=$;u.fromArray=function(t,e,r){return Q(t.map(st),st(e||10),r)};return u}();if(t.hasOwnProperty("exports"))t.exports=n;i=function(){return n}.call(e,r,e,t),void 0!==i&&(t.exports=i);},452:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(8269),r(8214),r(888),r(5109));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.BlockCipher;var n=e.algo;var s=[];var a=[];var o=[];var u=[];var c=[];var l=[];var f=[];var h=[];var d=[];var p=[];(function(){var t=[];for(var e=0;e<256;e++)if(e<128)t[e]=e<<1;else t[e]=e<<1^283;var r=0;var i=0;for(var e=0;e<256;e++){var n=i^i<<1^i<<2^i<<3^i<<4;n=n>>>8^255&n^99;s[r]=n;a[n]=r;var v=t[r];var g=t[v];var y=t[g];var m=257*t[n]^16843008*n;o[r]=m<<24|m>>>8;u[r]=m<<16|m>>>16;c[r]=m<<8|m>>>24;l[r]=m;var m=16843009*y^65537*g^257*v^16843008*r;f[n]=m<<24|m>>>8;h[n]=m<<16|m>>>16;d[n]=m<<8|m>>>24;p[n]=m;if(!r)r=i=1;else {r=v^t[t[t[y^v]]];i^=t[t[i]];}}})();var v=[0,1,2,4,8,16,32,64,128,27,54];var g=n.AES=i.extend({_doReset:function(){var t;if(this._nRounds&&this._keyPriorReset===this._key)return;var e=this._keyPriorReset=this._key;var r=e.words;var i=e.sigBytes/4;var n=this._nRounds=i+6;var a=4*(n+1);var o=this._keySchedule=[];for(var u=0;u>>24;t=s[t>>>24]<<24|s[t>>>16&255]<<16|s[t>>>8&255]<<8|s[255&t];t^=v[u/i|0]<<24;}else if(i>6&&u%i==4)t=s[t>>>24]<<24|s[t>>>16&255]<<16|s[t>>>8&255]<<8|s[255&t];o[u]=o[u-i]^t;}var c=this._invKeySchedule=[];for(var l=0;l>>24]]^h[s[t>>>16&255]]^d[s[t>>>8&255]]^p[s[255&t]];}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,o,u,c,l,s);},decryptBlock:function(t,e){var r=t[e+1];t[e+1]=t[e+3];t[e+3]=r;this._doCryptBlock(t,e,this._invKeySchedule,f,h,d,p,a);var r=t[e+1];t[e+1]=t[e+3];t[e+3]=r;},_doCryptBlock:function(t,e,r,i,n,s,a,o){var u=this._nRounds;var c=t[e]^r[0];var l=t[e+1]^r[1];var f=t[e+2]^r[2];var h=t[e+3]^r[3];var d=4;for(var p=1;p>>24]^n[l>>>16&255]^s[f>>>8&255]^a[255&h]^r[d++];var g=i[l>>>24]^n[f>>>16&255]^s[h>>>8&255]^a[255&c]^r[d++];var y=i[f>>>24]^n[h>>>16&255]^s[c>>>8&255]^a[255&l]^r[d++];var m=i[h>>>24]^n[c>>>16&255]^s[l>>>8&255]^a[255&f]^r[d++];c=v;l=g;f=y;h=m;}var v=(o[c>>>24]<<24|o[l>>>16&255]<<16|o[f>>>8&255]<<8|o[255&h])^r[d++];var g=(o[l>>>24]<<24|o[f>>>16&255]<<16|o[h>>>8&255]<<8|o[255&c])^r[d++];var y=(o[f>>>24]<<24|o[h>>>16&255]<<16|o[c>>>8&255]<<8|o[255&l])^r[d++];var m=(o[h>>>24]<<24|o[c>>>16&255]<<16|o[l>>>8&255]<<8|o[255&f])^r[d++];t[e]=v;t[e+1]=g;t[e+2]=y;t[e+3]=m;},keySize:256/32});e.AES=i._createHelper(g);})();return t.AES}));},5109:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(888));})(this,(function(t){t.lib.Cipher||function(e){var r=t;var i=r.lib;var n=i.Base;var s=i.WordArray;var a=i.BufferedBlockAlgorithm;var o=r.enc;o.Utf8;var c=o.Base64;var l=r.algo;var f=l.EvpKDF;var h=i.Cipher=a.extend({cfg:n.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,r){this.cfg=this.cfg.extend(r);this._xformMode=t;this._key=e;this.reset();},reset:function(){a.reset.call(this);this._doReset();},process:function(t){this._append(t);return this._process()},finalize:function(t){if(t)this._append(t);var e=this._doFinalize();return e},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){if("string"==typeof t)return M;else return E}return function(e){return {encrypt:function(r,i,n){return t(i).encrypt(e,r,i,n)},decrypt:function(r,i,n){return t(i).decrypt(e,r,i,n)}}}}()});i.StreamCipher=h.extend({_doFinalize:function(){var t=this._process(!!"flush");return t},blockSize:1});var p=r.mode={};var v=i.BlockCipherMode=n.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t;this._iv=e;}});var g=p.CBC=function(){var t=v.extend();t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;r.call(this,t,e,n);i.encryptBlock(t,e);this._prevBlock=t.slice(e,e+n);}});t.Decryptor=t.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;var s=t.slice(e,e+n);i.decryptBlock(t,e);r.call(this,t,e,n);this._prevBlock=s;}});function r(t,r,i){var n;var s=this._iv;if(s){n=s;this._iv=e;}else n=this._prevBlock;for(var a=0;a>>2];t.sigBytes-=e;}};i.BlockCipher=h.extend({cfg:h.cfg.extend({mode:g,padding:m}),reset:function(){var t;h.reset.call(this);var e=this.cfg;var r=e.iv;var i=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)t=i.createEncryptor;else {t=i.createDecryptor;this._minBufferSize=1;}if(this._mode&&this._mode.__creator==t)this._mode.init(this,r&&r.words);else {this._mode=t.call(i,this,r&&r.words);this._mode.__creator=t;}},_doProcessBlock:function(t,e){this._mode.processBlock(t,e);},_doFinalize:function(){var t;var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);t=this._process(!!"flush");}else {t=this._process(!!"flush");e.unpad(t);}return t},blockSize:128/32});var w=i.CipherParams=n.extend({init:function(t){this.mixIn(t);},toString:function(t){return (t||this.formatter).stringify(this)}});var S=r.format={};var b=S.OpenSSL={stringify:function(t){var e;var r=t.ciphertext;var i=t.salt;if(i)e=s.create([1398893684,1701076831]).concat(i).concat(r);else e=r;return e.toString(c)},parse:function(t){var e;var r=c.parse(t);var i=r.words;if(1398893684==i[0]&&1701076831==i[1]){e=s.create(i.slice(2,4));i.splice(0,4);r.sigBytes-=16;}return w.create({ciphertext:r,salt:e})}};var E=i.SerializableCipher=n.extend({cfg:n.extend({format:b}),encrypt:function(t,e,r,i){i=this.cfg.extend(i);var n=t.createEncryptor(r,i);var s=n.finalize(e);var a=n.cfg;return w.create({ciphertext:s,key:r,iv:a.iv,algorithm:t,mode:a.mode,padding:a.padding,blockSize:t.blockSize,formatter:i.format})},decrypt:function(t,e,r,i){i=this.cfg.extend(i);e=this._parse(e,i.format);var n=t.createDecryptor(r,i).finalize(e.ciphertext);return n},_parse:function(t,e){if("string"==typeof t)return e.parse(t,this);else return t}});var D=r.kdf={};var T=D.OpenSSL={execute:function(t,e,r,i){if(!i)i=s.random(64/8);var n=f.create({keySize:e+r}).compute(t,i);var a=s.create(n.words.slice(e),4*r);n.sigBytes=4*e;return w.create({key:n,iv:a,salt:i})}};var M=i.PasswordBasedCipher=E.extend({cfg:E.cfg.extend({kdf:T}),encrypt:function(t,e,r,i){i=this.cfg.extend(i);var n=i.kdf.execute(r,t.keySize,t.ivSize);i.iv=n.iv;var s=E.encrypt.call(this,t,e,n.key,i);s.mixIn(n);return s},decrypt:function(t,e,r,i){i=this.cfg.extend(i);e=this._parse(e,i.format);var n=i.kdf.execute(r,t.keySize,t.ivSize,e.salt);i.iv=n.iv;var s=E.decrypt.call(this,t,e,n.key,i);return s}});}();}));},8249:function(t,e,r){(function(r,i){t.exports=i();})(this,(function(){var t=t||function(t,e){var i;if("undefined"!==typeof window&&window.crypto)i=window.crypto;if("undefined"!==typeof self&&self.crypto)i=self.crypto;if("undefined"!==typeof globalThis&&globalThis.crypto)i=globalThis.crypto;if(!i&&"undefined"!==typeof window&&window.msCrypto)i=window.msCrypto;if(!i&&"undefined"!==typeof r.g&&r.g.crypto)i=r.g.crypto;if(!i&&"function"==="function")try{i=r(2480);}catch(t){}var n=function(){if(i){if("function"===typeof i.getRandomValues)try{return i.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"===typeof i.randomBytes)try{return i.randomBytes(4).readInt32LE()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")};var s=Object.create||function(){function t(){}return function(e){var r;t.prototype=e;r=new t;t.prototype=null;return r}}();var a={};var o=a.lib={};var u=o.Base=function(){return {extend:function(t){var e=s(this);if(t)e.mixIn(t);if(!e.hasOwnProperty("init")||this.init===e.init)e.init=function(){e.$super.init.apply(this,arguments);};e.init.prototype=e;e.$super=this;return e},create:function(){var t=this.extend();t.init.apply(t,arguments);return t},init:function(){},mixIn:function(t){for(var e in t)if(t.hasOwnProperty(e))this[e]=t[e];if(t.hasOwnProperty("toString"))this.toString=t.toString;},clone:function(){return this.init.prototype.extend(this)}}}();var c=o.WordArray=u.extend({init:function(t,r){t=this.words=t||[];if(r!=e)this.sigBytes=r;else this.sigBytes=4*t.length;},toString:function(t){return (t||f).stringify(this)},concat:function(t){var e=this.words;var r=t.words;var i=this.sigBytes;var n=t.sigBytes;this.clamp();if(i%4)for(var s=0;s>>2]>>>24-s%4*8&255;e[i+s>>>2]|=a<<24-(i+s)%4*8;}else for(var o=0;o>>2]=r[o>>>2];this.sigBytes+=n;return this},clamp:function(){var e=this.words;var r=this.sigBytes;e[r>>>2]&=4294967295<<32-r%4*8;e.length=t.ceil(r/4);},clone:function(){var t=u.clone.call(this);t.words=this.words.slice(0);return t},random:function(t){var e=[];for(var r=0;r>>2]>>>24-n%4*8&255;i.push((s>>>4).toString(16));i.push((15&s).toString(16));}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var i=0;i>>3]|=parseInt(t.substr(i,2),16)<<24-i%8*4;return new c.init(r,e/2)}};var h=l.Latin1={stringify:function(t){var e=t.words;var r=t.sigBytes;var i=[];for(var n=0;n>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(s));}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var i=0;i>>2]|=(255&t.charCodeAt(i))<<24-i%4*8;return new c.init(r,e)}};var d=l.Utf8={stringify:function(t){try{return decodeURIComponent(escape(h.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return h.parse(unescape(encodeURIComponent(t)))}};var p=o.BufferedBlockAlgorithm=u.extend({reset:function(){this._data=new c.init;this._nDataBytes=0;},_append:function(t){if("string"==typeof t)t=d.parse(t);this._data.concat(t);this._nDataBytes+=t.sigBytes;},_process:function(e){var r;var i=this._data;var n=i.words;var s=i.sigBytes;var a=this.blockSize;var o=4*a;var u=s/o;if(e)u=t.ceil(u);else u=t.max((0|u)-this._minBufferSize,0);var l=u*a;var f=t.min(4*l,s);if(l){for(var h=0;h>>2]>>>24-s%4*8&255;var o=e[s+1>>>2]>>>24-(s+1)%4*8&255;var u=e[s+2>>>2]>>>24-(s+2)%4*8&255;var c=a<<16|o<<8|u;for(var l=0;l<4&&s+.75*l>>6*(3-l)&63));}var f=i.charAt(64);if(f)while(n.length%4)n.push(f);return n.join("")},parse:function(t){var e=t.length;var r=this._map;var i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var n=0;n>>6-a%4*2;var c=o|u;n[s>>>2]|=c<<24-s%4*8;s++;}return i.create(n,s)}})();return t.enc.Base64}));},3786:function(t,e,r){(function(i,n){t.exports=n(r(8249));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=e.enc;n.Base64url={stringify:function(t,e=true){var r=t.words;var i=t.sigBytes;var n=e?this._safe_map:this._map;t.clamp();var s=[];for(var a=0;a>>2]>>>24-a%4*8&255;var u=r[a+1>>>2]>>>24-(a+1)%4*8&255;var c=r[a+2>>>2]>>>24-(a+2)%4*8&255;var l=o<<16|u<<8|c;for(var f=0;f<4&&a+.75*f>>6*(3-f)&63));}var h=n.charAt(64);if(h)while(s.length%4)s.push(h);return s.join("")},parse:function(t,e=true){var r=t.length;var i=e?this._safe_map:this._map;var n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var s=0;s>>6-a%4*2;var c=o|u;n[s>>>2]|=c<<24-s%4*8;s++;}return i.create(n,s)}})();return t.enc.Base64url}));},298:function(t,e,r){(function(i,n){t.exports=n(r(8249));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=e.enc;n.Utf16=n.Utf16BE={stringify:function(t){var e=t.words;var r=t.sigBytes;var i=[];for(var n=0;n>>2]>>>16-n%4*8&65535;i.push(String.fromCharCode(s));}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var n=0;n>>1]|=t.charCodeAt(n)<<16-n%2*16;return i.create(r,2*e)}};n.Utf16LE={stringify:function(t){var e=t.words;var r=t.sigBytes;var i=[];for(var n=0;n>>2]>>>16-n%4*8&65535);i.push(String.fromCharCode(s));}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var n=0;n>>1]|=a(t.charCodeAt(n)<<16-n%2*16);return i.create(r,2*e)}};function a(t){return t<<8&4278255360|t>>>8&16711935}})();return t.enc.Utf16}));},888:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(2783),r(9824));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.Base;var n=r.WordArray;var s=e.algo;var a=s.MD5;var o=s.EvpKDF=i.extend({cfg:i.extend({keySize:128/32,hasher:a,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t);},compute:function(t,e){var r;var i=this.cfg;var s=i.hasher.create();var a=n.create();var o=a.words;var u=i.keySize;var c=i.iterations;while(o.lengthi)e=t.finalize(e);e.clamp();var n=this._oKey=e.clone();var a=this._iKey=e.clone();var o=n.words;var u=a.words;for(var c=0;c>>2]|=t[i]<<24-i%4*8;n.call(this,r,e);}else n.apply(this,arguments);};s.prototype=i;})();return t.lib.WordArray}));},8214:function(t,e,r){(function(i,n){t.exports=n(r(8249));})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.algo;var o=[];(function(){for(var t=0;t<64;t++)o[t]=4294967296*e.abs(e.sin(t+1))|0;})();var u=a.MD5=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878]);},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var i=e+r;var n=t[i];t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8);}var s=this._hash.words;var a=t[e+0];var u=t[e+1];var d=t[e+2];var p=t[e+3];var v=t[e+4];var g=t[e+5];var y=t[e+6];var m=t[e+7];var _=t[e+8];var w=t[e+9];var S=t[e+10];var b=t[e+11];var E=t[e+12];var D=t[e+13];var T=t[e+14];var M=t[e+15];var A=s[0];var I=s[1];var B=s[2];var x=s[3];A=c(A,I,B,x,a,7,o[0]);x=c(x,A,I,B,u,12,o[1]);B=c(B,x,A,I,d,17,o[2]);I=c(I,B,x,A,p,22,o[3]);A=c(A,I,B,x,v,7,o[4]);x=c(x,A,I,B,g,12,o[5]);B=c(B,x,A,I,y,17,o[6]);I=c(I,B,x,A,m,22,o[7]);A=c(A,I,B,x,_,7,o[8]);x=c(x,A,I,B,w,12,o[9]);B=c(B,x,A,I,S,17,o[10]);I=c(I,B,x,A,b,22,o[11]);A=c(A,I,B,x,E,7,o[12]);x=c(x,A,I,B,D,12,o[13]);B=c(B,x,A,I,T,17,o[14]);I=c(I,B,x,A,M,22,o[15]);A=l(A,I,B,x,u,5,o[16]);x=l(x,A,I,B,y,9,o[17]);B=l(B,x,A,I,b,14,o[18]);I=l(I,B,x,A,a,20,o[19]);A=l(A,I,B,x,g,5,o[20]);x=l(x,A,I,B,S,9,o[21]);B=l(B,x,A,I,M,14,o[22]);I=l(I,B,x,A,v,20,o[23]);A=l(A,I,B,x,w,5,o[24]);x=l(x,A,I,B,T,9,o[25]);B=l(B,x,A,I,p,14,o[26]);I=l(I,B,x,A,_,20,o[27]);A=l(A,I,B,x,D,5,o[28]);x=l(x,A,I,B,d,9,o[29]);B=l(B,x,A,I,m,14,o[30]);I=l(I,B,x,A,E,20,o[31]);A=f(A,I,B,x,g,4,o[32]);x=f(x,A,I,B,_,11,o[33]);B=f(B,x,A,I,b,16,o[34]);I=f(I,B,x,A,T,23,o[35]);A=f(A,I,B,x,u,4,o[36]);x=f(x,A,I,B,v,11,o[37]);B=f(B,x,A,I,m,16,o[38]);I=f(I,B,x,A,S,23,o[39]);A=f(A,I,B,x,D,4,o[40]);x=f(x,A,I,B,a,11,o[41]);B=f(B,x,A,I,p,16,o[42]);I=f(I,B,x,A,y,23,o[43]);A=f(A,I,B,x,w,4,o[44]);x=f(x,A,I,B,E,11,o[45]);B=f(B,x,A,I,M,16,o[46]);I=f(I,B,x,A,d,23,o[47]);A=h(A,I,B,x,a,6,o[48]);x=h(x,A,I,B,m,10,o[49]);B=h(B,x,A,I,T,15,o[50]);I=h(I,B,x,A,g,21,o[51]);A=h(A,I,B,x,E,6,o[52]);x=h(x,A,I,B,p,10,o[53]);B=h(B,x,A,I,S,15,o[54]);I=h(I,B,x,A,u,21,o[55]);A=h(A,I,B,x,_,6,o[56]);x=h(x,A,I,B,M,10,o[57]);B=h(B,x,A,I,y,15,o[58]);I=h(I,B,x,A,D,21,o[59]);A=h(A,I,B,x,v,6,o[60]);x=h(x,A,I,B,b,10,o[61]);B=h(B,x,A,I,d,15,o[62]);I=h(I,B,x,A,w,21,o[63]);s[0]=s[0]+A|0;s[1]=s[1]+I|0;s[2]=s[2]+B|0;s[3]=s[3]+x|0;},_doFinalize:function(){var t=this._data;var r=t.words;var i=8*this._nDataBytes;var n=8*t.sigBytes;r[n>>>5]|=128<<24-n%32;var s=e.floor(i/4294967296);var a=i;r[(n+64>>>9<<4)+15]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8);r[(n+64>>>9<<4)+14]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);t.sigBytes=4*(r.length+1);this._process();var o=this._hash;var u=o.words;for(var c=0;c<4;c++){var l=u[c];u[c]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8);}return o},clone:function(){var t=s.clone.call(this);t._hash=this._hash.clone();return t}});function c(t,e,r,i,n,s,a){var o=t+(e&r|~e&i)+n+a;return (o<>>32-s)+e}function l(t,e,r,i,n,s,a){var o=t+(e&i|r&~i)+n+a;return (o<>>32-s)+e}function f(t,e,r,i,n,s,a){var o=t+(e^r^i)+n+a;return (o<>>32-s)+e}function h(t,e,r,i,n,s,a){var o=t+(r^(e|~i))+n+a;return (o<>>32-s)+e}r.MD5=s._createHelper(u);r.HmacMD5=s._createHmacHelper(u);})(Math);return t.MD5}));},8568:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(5109));})(this,(function(t){t.mode.CFB=function(){var e=t.lib.BlockCipherMode.extend();e.Encryptor=e.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;r.call(this,t,e,n,i);this._prevBlock=t.slice(e,e+n);}});e.Decryptor=e.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;var s=t.slice(e,e+n);r.call(this,t,e,n,i);this._prevBlock=s;}});function r(t,e,r,i){var n;var s=this._iv;if(s){n=s.slice(0);this._iv=void 0;}else n=this._prevBlock;i.encryptBlock(n,0);for(var a=0;a>24&255)){var e=t>>16&255;var r=t>>8&255;var i=255&t;if(255===e){e=0;if(255===r){r=0;if(255===i)i=0;else ++i;}else ++r;}else ++e;t=0;t+=e<<16;t+=r<<8;t+=i;}else t+=1<<24;return t}function i(t){if(0===(t[0]=r(t[0])))t[1]=r(t[1]);return t}var n=e.Encryptor=e.extend({processBlock:function(t,e){var r=this._cipher;var n=r.blockSize;var s=this._iv;var a=this._counter;if(s){a=this._counter=s.slice(0);this._iv=void 0;}i(a);var o=a.slice(0);r.encryptBlock(o,0);for(var u=0;u>>2]|=n<<24-s%4*8;t.sigBytes+=n;},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e;}};return t.pad.Ansix923}));},2807:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(5109));})(this,(function(t){t.pad.Iso10126={pad:function(e,r){var i=4*r;var n=i-e.sigBytes%i;e.concat(t.lib.WordArray.random(n-1)).concat(t.lib.WordArray.create([n<<24],1));},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e;}};return t.pad.Iso10126}));},1077:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(5109));})(this,(function(t){t.pad.Iso97971={pad:function(e,r){e.concat(t.lib.WordArray.create([2147483648],1));t.pad.ZeroPadding.pad(e,r);},unpad:function(e){t.pad.ZeroPadding.unpad(e);e.sigBytes--;}};return t.pad.Iso97971}));},6991:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(5109));})(this,(function(t){t.pad.NoPadding={pad:function(){},unpad:function(){}};return t.pad.NoPadding}));},6475:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(5109));})(this,(function(t){t.pad.ZeroPadding={pad:function(t,e){var r=4*e;t.clamp();t.sigBytes+=r-(t.sigBytes%r||r);},unpad:function(t){var e=t.words;var r=t.sigBytes-1;for(var r=t.sigBytes-1;r>=0;r--)if(e[r>>>2]>>>24-r%4*8&255){t.sigBytes=r+1;break}}};return t.pad.ZeroPadding}));},2112:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(2783),r(9824));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.Base;var n=r.WordArray;var s=e.algo;var a=s.SHA1;var o=s.HMAC;var u=s.PBKDF2=i.extend({cfg:i.extend({keySize:128/32,hasher:a,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t);},compute:function(t,e){var r=this.cfg;var i=o.create(r.hasher,t);var s=n.create();var a=n.create([1]);var u=s.words;var c=a.words;var l=r.keySize;var f=r.iterations;while(u.length>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16];var i=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];this._b=0;for(var n=0;n<4;n++)c.call(this);for(var n=0;n<8;n++)i[n]^=r[n+4&7];if(e){var s=e.words;var a=s[0];var o=s[1];var u=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);var l=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8);var f=u>>>16|4294901760&l;var h=l<<16|65535&u;i[0]^=u;i[1]^=f;i[2]^=l;i[3]^=h;i[4]^=u;i[5]^=f;i[6]^=l;i[7]^=h;for(var n=0;n<4;n++)c.call(this);}},_doProcessBlock:function(t,e){var r=this._X;c.call(this);s[0]=r[0]^r[5]>>>16^r[3]<<16;s[1]=r[2]^r[7]>>>16^r[5]<<16;s[2]=r[4]^r[1]>>>16^r[7]<<16;s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++){s[i]=16711935&(s[i]<<8|s[i]>>>24)|4278255360&(s[i]<<24|s[i]>>>8);t[e+i]^=s[i];}},blockSize:128/32,ivSize:64/32});function c(){var t=this._X;var e=this._C;for(var r=0;r<8;r++)a[r]=e[r];e[0]=e[0]+1295307597+this._b|0;e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0;e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0;e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0;e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0;e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0;e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0;e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0;this._b=e[7]>>>0>>0?1:0;for(var r=0;r<8;r++){var i=t[r]+e[r];var n=65535&i;var s=i>>>16;var u=((n*n>>>17)+n*s>>>15)+s*s;var c=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=u^c;}t[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0;t[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0;t[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0;t[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0;t[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0;t[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0;t[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0;t[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0;}e.RabbitLegacy=i._createHelper(u);})();return t.RabbitLegacy}));},4454:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(8269),r(8214),r(888),r(5109));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.StreamCipher;var n=e.algo;var s=[];var a=[];var o=[];var u=n.Rabbit=i.extend({_doReset:function(){var t=this._key.words;var e=this.cfg.iv;for(var r=0;r<4;r++)t[r]=16711935&(t[r]<<8|t[r]>>>24)|4278255360&(t[r]<<24|t[r]>>>8);var i=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16];var n=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];this._b=0;for(var r=0;r<4;r++)c.call(this);for(var r=0;r<8;r++)n[r]^=i[r+4&7];if(e){var s=e.words;var a=s[0];var o=s[1];var u=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);var l=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8);var f=u>>>16|4294901760&l;var h=l<<16|65535&u;n[0]^=u;n[1]^=f;n[2]^=l;n[3]^=h;n[4]^=u;n[5]^=f;n[6]^=l;n[7]^=h;for(var r=0;r<4;r++)c.call(this);}},_doProcessBlock:function(t,e){var r=this._X;c.call(this);s[0]=r[0]^r[5]>>>16^r[3]<<16;s[1]=r[2]^r[7]>>>16^r[5]<<16;s[2]=r[4]^r[1]>>>16^r[7]<<16;s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++){s[i]=16711935&(s[i]<<8|s[i]>>>24)|4278255360&(s[i]<<24|s[i]>>>8);t[e+i]^=s[i];}},blockSize:128/32,ivSize:64/32});function c(){var t=this._X;var e=this._C;for(var r=0;r<8;r++)a[r]=e[r];e[0]=e[0]+1295307597+this._b|0;e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0;e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0;e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0;e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0;e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0;e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0;e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0;this._b=e[7]>>>0>>0?1:0;for(var r=0;r<8;r++){var i=t[r]+e[r];var n=65535&i;var s=i>>>16;var u=((n*n>>>17)+n*s>>>15)+s*s;var c=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=u^c;}t[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0;t[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0;t[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0;t[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0;t[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0;t[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0;t[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0;t[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0;}e.Rabbit=i._createHelper(u);})();return t.Rabbit}));},1857:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(8269),r(8214),r(888),r(5109));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.StreamCipher;var n=e.algo;var s=n.RC4=i.extend({_doReset:function(){var t=this._key;var e=t.words;var r=t.sigBytes;var i=this._S=[];for(var n=0;n<256;n++)i[n]=n;for(var n=0,s=0;n<256;n++){var a=n%r;var o=e[a>>>2]>>>24-a%4*8&255;s=(s+i[n]+o)%256;var u=i[n];i[n]=i[s];i[s]=u;}this._i=this._j=0;},_doProcessBlock:function(t,e){t[e]^=a.call(this);},keySize:256/32,ivSize:0});function a(){var t=this._S;var e=this._i;var r=this._j;var i=0;for(var n=0;n<4;n++){e=(e+1)%256;r=(r+t[e])%256;var s=t[e];t[e]=t[r];t[r]=s;i|=t[(t[e]+t[r])%256]<<24-8*n;}this._i=e;this._j=r;return i}e.RC4=i._createHelper(s);var o=n.RC4Drop=s.extend({cfg:s.cfg.extend({drop:192}),_doReset:function(){s._doReset.call(this);for(var t=this.cfg.drop;t>0;t--)a.call(this);}});e.RC4Drop=i._createHelper(o);})();return t.RC4}));},706:function(t,e,r){(function(i,n){t.exports=n(r(8249));})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.algo;var o=n.create([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]);var u=n.create([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]);var c=n.create([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]);var l=n.create([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]);var f=n.create([0,1518500249,1859775393,2400959708,2840853838]);var h=n.create([1352829926,1548603684,1836072691,2053994217,0]);var d=a.RIPEMD160=s.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var i=e+r;var n=t[i];t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8);}var s=this._hash.words;var a=f.words;var d=h.words;var w=o.words;var S=u.words;var b=c.words;var E=l.words;var D,T,M,A,I;var B,x,R,O,C;B=D=s[0];x=T=s[1];R=M=s[2];O=A=s[3];C=I=s[4];var k;for(var r=0;r<80;r+=1){k=D+t[e+w[r]]|0;if(r<16)k+=p(T,M,A)+a[0];else if(r<32)k+=v(T,M,A)+a[1];else if(r<48)k+=g(T,M,A)+a[2];else if(r<64)k+=y(T,M,A)+a[3];else k+=m(T,M,A)+a[4];k|=0;k=_(k,b[r]);k=k+I|0;D=I;I=A;A=_(M,10);M=T;T=k;k=B+t[e+S[r]]|0;if(r<16)k+=m(x,R,O)+d[0];else if(r<32)k+=y(x,R,O)+d[1];else if(r<48)k+=g(x,R,O)+d[2];else if(r<64)k+=v(x,R,O)+d[3];else k+=p(x,R,O)+d[4];k|=0;k=_(k,E[r]);k=k+C|0;B=C;C=O;O=_(R,10);R=x;x=k;}k=s[1]+M+O|0;s[1]=s[2]+A+C|0;s[2]=s[3]+I+B|0;s[3]=s[4]+D+x|0;s[4]=s[0]+T+R|0;s[0]=k;},_doFinalize:function(){var t=this._data;var e=t.words;var r=8*this._nDataBytes;var i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32;e[(i+64>>>9<<4)+14]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);t.sigBytes=4*(e.length+1);this._process();var n=this._hash;var s=n.words;for(var a=0;a<5;a++){var o=s[a];s[a]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8);}return n},clone:function(){var t=s.clone.call(this);t._hash=this._hash.clone();return t}});function p(t,e,r){return t^e^r}function v(t,e,r){return t&e|~t&r}function g(t,e,r){return (t|~e)^r}function y(t,e,r){return t&r|e&~r}function m(t,e,r){return t^(e|~r)}function _(t,e){return t<>>32-e}r.RIPEMD160=s._createHelper(d);r.HmacRIPEMD160=s._createHmacHelper(d);})();return t.RIPEMD160}));},2783:function(t,e,r){(function(i,n){t.exports=n(r(8249));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=r.Hasher;var s=e.algo;var a=[];var o=s.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(t,e){var r=this._hash.words;var i=r[0];var n=r[1];var s=r[2];var o=r[3];var u=r[4];for(var c=0;c<80;c++){if(c<16)a[c]=0|t[e+c];else {var l=a[c-3]^a[c-8]^a[c-14]^a[c-16];a[c]=l<<1|l>>>31;}var f=(i<<5|i>>>27)+u+a[c];if(c<20)f+=(n&s|~n&o)+1518500249;else if(c<40)f+=(n^s^o)+1859775393;else if(c<60)f+=(n&s|n&o|s&o)-1894007588;else f+=(n^s^o)-899497514;u=o;o=s;s=n<<30|n>>>2;n=i;i=f;}r[0]=r[0]+i|0;r[1]=r[1]+n|0;r[2]=r[2]+s|0;r[3]=r[3]+o|0;r[4]=r[4]+u|0;},_doFinalize:function(){var t=this._data;var e=t.words;var r=8*this._nDataBytes;var i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32;e[(i+64>>>9<<4)+14]=Math.floor(r/4294967296);e[(i+64>>>9<<4)+15]=r;t.sigBytes=4*e.length;this._process();return this._hash},clone:function(){var t=n.clone.call(this);t._hash=this._hash.clone();return t}});e.SHA1=n._createHelper(o);e.HmacSHA1=n._createHmacHelper(o);})();return t.SHA1}));},7792:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(2153));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=e.algo;var s=n.SHA256;var a=n.SHA224=s.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);},_doFinalize:function(){var t=s._doFinalize.call(this);t.sigBytes-=4;return t}});e.SHA224=s._createHelper(a);e.HmacSHA224=s._createHmacHelper(a);})();return t.SHA224}));},2153:function(t,e,r){(function(i,n){t.exports=n(r(8249));})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.algo;var o=[];var u=[];(function(){function t(t){var r=e.sqrt(t);for(var i=2;i<=r;i++)if(!(t%i))return false;return true}function r(t){return 4294967296*(t-(0|t))|0}var i=2;var n=0;while(n<64){if(t(i)){if(n<8)o[n]=r(e.pow(i,1/2));u[n]=r(e.pow(i,1/3));n++;}i++;}})();var c=[];var l=a.SHA256=s.extend({_doReset:function(){this._hash=new n.init(o.slice(0));},_doProcessBlock:function(t,e){var r=this._hash.words;var i=r[0];var n=r[1];var s=r[2];var a=r[3];var o=r[4];var l=r[5];var f=r[6];var h=r[7];for(var d=0;d<64;d++){if(d<16)c[d]=0|t[e+d];else {var p=c[d-15];var v=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3;var g=c[d-2];var y=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;c[d]=v+c[d-7]+y+c[d-16];}var m=o&l^~o&f;var _=i&n^i&s^n&s;var w=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22);var S=(o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25);var b=h+S+m+u[d]+c[d];var E=w+_;h=f;f=l;l=o;o=a+b|0;a=s;s=n;n=i;i=b+E|0;}r[0]=r[0]+i|0;r[1]=r[1]+n|0;r[2]=r[2]+s|0;r[3]=r[3]+a|0;r[4]=r[4]+o|0;r[5]=r[5]+l|0;r[6]=r[6]+f|0;r[7]=r[7]+h|0;},_doFinalize:function(){var t=this._data;var r=t.words;var i=8*this._nDataBytes;var n=8*t.sigBytes;r[n>>>5]|=128<<24-n%32;r[(n+64>>>9<<4)+14]=e.floor(i/4294967296);r[(n+64>>>9<<4)+15]=i;t.sigBytes=4*r.length;this._process();return this._hash},clone:function(){var t=s.clone.call(this);t._hash=this._hash.clone();return t}});r.SHA256=s._createHelper(l);r.HmacSHA256=s._createHmacHelper(l);})(Math);return t.SHA256}));},3327:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(4938));})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.x64;var o=a.Word;var u=r.algo;var c=[];var l=[];var f=[];(function(){var t=1,e=0;for(var r=0;r<24;r++){c[t+5*e]=(r+1)*(r+2)/2%64;var i=e%5;var n=(2*t+3*e)%5;t=i;e=n;}for(var t=0;t<5;t++)for(var e=0;e<5;e++)l[t+5*e]=e+(2*t+3*e)%5*5;var s=1;for(var a=0;a<24;a++){var u=0;var h=0;for(var d=0;d<7;d++){if(1&s){var p=(1<>>24)|4278255360&(s<<24|s>>>8);a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);var o=r[n];o.high^=a;o.low^=s;}for(var u=0;u<24;u++){for(var d=0;d<5;d++){var p=0,v=0;for(var g=0;g<5;g++){var o=r[d+5*g];p^=o.high;v^=o.low;}var y=h[d];y.high=p;y.low=v;}for(var d=0;d<5;d++){var m=h[(d+4)%5];var _=h[(d+1)%5];var w=_.high;var S=_.low;var p=m.high^(w<<1|S>>>31);var v=m.low^(S<<1|w>>>31);for(var g=0;g<5;g++){var o=r[d+5*g];o.high^=p;o.low^=v;}}for(var b=1;b<25;b++){var p;var v;var o=r[b];var E=o.high;var D=o.low;var T=c[b];if(T<32){p=E<>>32-T;v=D<>>32-T;}else {p=D<>>64-T;v=E<>>64-T;}var M=h[l[b]];M.high=p;M.low=v;}var A=h[0];var I=r[0];A.high=I.high;A.low=I.low;for(var d=0;d<5;d++)for(var g=0;g<5;g++){var b=d+5*g;var o=r[b];var B=h[b];var x=h[(d+1)%5+5*g];var R=h[(d+2)%5+5*g];o.high=B.high^~x.high&R.high;o.low=B.low^~x.low&R.low;}var o=r[0];var O=f[u];o.high^=O.high;o.low^=O.low;}},_doFinalize:function(){var t=this._data;var r=t.words;8*this._nDataBytes;var s=8*t.sigBytes;var a=32*this.blockSize;r[s>>>5]|=1<<24-s%32;r[(e.ceil((s+1)/a)*a>>>5)-1]|=128;t.sigBytes=4*r.length;this._process();var o=this._state;var u=this.cfg.outputLength/8;var c=u/8;var l=[];for(var f=0;f>>24)|4278255360&(d<<24|d>>>8);p=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8);l.push(p);l.push(d);}return new n.init(l,u)},clone:function(){var t=s.clone.call(this);var e=t._state=this._state.slice(0);for(var r=0;r<25;r++)e[r]=e[r].clone();return t}});r.SHA3=s._createHelper(d);r.HmacSHA3=s._createHmacHelper(d);})(Math);return t.SHA3}));},7460:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(4938),r(34));})(this,(function(t){(function(){var e=t;var r=e.x64;var i=r.Word;var n=r.WordArray;var s=e.algo;var a=s.SHA512;var o=s.SHA384=a.extend({_doReset:function(){this._hash=new n.init([new i.init(3418070365,3238371032),new i.init(1654270250,914150663),new i.init(2438529370,812702999),new i.init(355462360,4144912697),new i.init(1731405415,4290775857),new i.init(2394180231,1750603025),new i.init(3675008525,1694076839),new i.init(1203062813,3204075428)]);},_doFinalize:function(){var t=a._doFinalize.call(this);t.sigBytes-=16;return t}});e.SHA384=a._createHelper(o);e.HmacSHA384=a._createHmacHelper(o);})();return t.SHA384}));},34:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(4938));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.Hasher;var n=e.x64;var s=n.Word;var a=n.WordArray;var o=e.algo;function u(){return s.create.apply(s,arguments)}var c=[u(1116352408,3609767458),u(1899447441,602891725),u(3049323471,3964484399),u(3921009573,2173295548),u(961987163,4081628472),u(1508970993,3053834265),u(2453635748,2937671579),u(2870763221,3664609560),u(3624381080,2734883394),u(310598401,1164996542),u(607225278,1323610764),u(1426881987,3590304994),u(1925078388,4068182383),u(2162078206,991336113),u(2614888103,633803317),u(3248222580,3479774868),u(3835390401,2666613458),u(4022224774,944711139),u(264347078,2341262773),u(604807628,2007800933),u(770255983,1495990901),u(1249150122,1856431235),u(1555081692,3175218132),u(1996064986,2198950837),u(2554220882,3999719339),u(2821834349,766784016),u(2952996808,2566594879),u(3210313671,3203337956),u(3336571891,1034457026),u(3584528711,2466948901),u(113926993,3758326383),u(338241895,168717936),u(666307205,1188179964),u(773529912,1546045734),u(1294757372,1522805485),u(1396182291,2643833823),u(1695183700,2343527390),u(1986661051,1014477480),u(2177026350,1206759142),u(2456956037,344077627),u(2730485921,1290863460),u(2820302411,3158454273),u(3259730800,3505952657),u(3345764771,106217008),u(3516065817,3606008344),u(3600352804,1432725776),u(4094571909,1467031594),u(275423344,851169720),u(430227734,3100823752),u(506948616,1363258195),u(659060556,3750685593),u(883997877,3785050280),u(958139571,3318307427),u(1322822218,3812723403),u(1537002063,2003034995),u(1747873779,3602036899),u(1955562222,1575990012),u(2024104815,1125592928),u(2227730452,2716904306),u(2361852424,442776044),u(2428436474,593698344),u(2756734187,3733110249),u(3204031479,2999351573),u(3329325298,3815920427),u(3391569614,3928383900),u(3515267271,566280711),u(3940187606,3454069534),u(4118630271,4000239992),u(116418474,1914138554),u(174292421,2731055270),u(289380356,3203993006),u(460393269,320620315),u(685471733,587496836),u(852142971,1086792851),u(1017036298,365543100),u(1126000580,2618297676),u(1288033470,3409855158),u(1501505948,4234509866),u(1607167915,987167468),u(1816402316,1246189591)];var l=[];(function(){for(var t=0;t<80;t++)l[t]=u();})();var f=o.SHA512=i.extend({_doReset:function(){this._hash=new a.init([new s.init(1779033703,4089235720),new s.init(3144134277,2227873595),new s.init(1013904242,4271175723),new s.init(2773480762,1595750129),new s.init(1359893119,2917565137),new s.init(2600822924,725511199),new s.init(528734635,4215389547),new s.init(1541459225,327033209)]);},_doProcessBlock:function(t,e){var r=this._hash.words;var i=r[0];var n=r[1];var s=r[2];var a=r[3];var o=r[4];var u=r[5];var f=r[6];var h=r[7];var d=i.high;var p=i.low;var v=n.high;var g=n.low;var y=s.high;var m=s.low;var _=a.high;var w=a.low;var S=o.high;var b=o.low;var E=u.high;var D=u.low;var T=f.high;var M=f.low;var A=h.high;var I=h.low;var B=d;var x=p;var R=v;var O=g;var C=y;var k=m;var N=_;var P=w;var L=S;var V=b;var H=E;var U=D;var K=T;var j=M;var q=A;var F=I;for(var z=0;z<80;z++){var G;var Y;var W=l[z];if(z<16){Y=W.high=0|t[e+2*z];G=W.low=0|t[e+2*z+1];}else {var J=l[z-15];var Z=J.high;var $=J.low;var X=(Z>>>1|$<<31)^(Z>>>8|$<<24)^Z>>>7;var Q=($>>>1|Z<<31)^($>>>8|Z<<24)^($>>>7|Z<<25);var tt=l[z-2];var et=tt.high;var rt=tt.low;var it=(et>>>19|rt<<13)^(et<<3|rt>>>29)^et>>>6;var nt=(rt>>>19|et<<13)^(rt<<3|et>>>29)^(rt>>>6|et<<26);var st=l[z-7];var at=st.high;var ot=st.low;var ut=l[z-16];var ct=ut.high;var lt=ut.low;G=Q+ot;Y=X+at+(G>>>0>>0?1:0);G+=nt;Y=Y+it+(G>>>0>>0?1:0);G+=lt;Y=Y+ct+(G>>>0>>0?1:0);W.high=Y;W.low=G;}var ft=L&H^~L&K;var ht=V&U^~V&j;var dt=B&R^B&C^R&C;var pt=x&O^x&k^O&k;var vt=(B>>>28|x<<4)^(B<<30|x>>>2)^(B<<25|x>>>7);var gt=(x>>>28|B<<4)^(x<<30|B>>>2)^(x<<25|B>>>7);var yt=(L>>>14|V<<18)^(L>>>18|V<<14)^(L<<23|V>>>9);var mt=(V>>>14|L<<18)^(V>>>18|L<<14)^(V<<23|L>>>9);var _t=c[z];var wt=_t.high;var St=_t.low;var bt=F+mt;var Et=q+yt+(bt>>>0>>0?1:0);var bt=bt+ht;var Et=Et+ft+(bt>>>0>>0?1:0);var bt=bt+St;var Et=Et+wt+(bt>>>0>>0?1:0);var bt=bt+G;var Et=Et+Y+(bt>>>0>>0?1:0);var Dt=gt+pt;var Tt=vt+dt+(Dt>>>0>>0?1:0);q=K;F=j;K=H;j=U;H=L;U=V;V=P+bt|0;L=N+Et+(V>>>0

>>0?1:0)|0;N=C;P=k;C=R;k=O;R=B;O=x;x=bt+Dt|0;B=Et+Tt+(x>>>0>>0?1:0)|0;}p=i.low=p+x;i.high=d+B+(p>>>0>>0?1:0);g=n.low=g+O;n.high=v+R+(g>>>0>>0?1:0);m=s.low=m+k;s.high=y+C+(m>>>0>>0?1:0);w=a.low=w+P;a.high=_+N+(w>>>0

>>0?1:0);b=o.low=b+V;o.high=S+L+(b>>>0>>0?1:0);D=u.low=D+U;u.high=E+H+(D>>>0>>0?1:0);M=f.low=M+j;f.high=T+K+(M>>>0>>0?1:0);I=h.low=I+F;h.high=A+q+(I>>>0>>0?1:0);},_doFinalize:function(){var t=this._data;var e=t.words;var r=8*this._nDataBytes;var i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32;e[(i+128>>>10<<5)+30]=Math.floor(r/4294967296);e[(i+128>>>10<<5)+31]=r;t.sigBytes=4*e.length;this._process();var n=this._hash.toX32();return n},clone:function(){var t=i.clone.call(this);t._hash=this._hash.clone();return t},blockSize:1024/32});e.SHA512=i._createHelper(f);e.HmacSHA512=i._createHmacHelper(f);})();return t.SHA512}));},4253:function(t,e,r){(function(i,n,s){t.exports=n(r(8249),r(8269),r(8214),r(888),r(5109));})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=r.BlockCipher;var s=e.algo;var a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4];var o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32];var u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28];var c=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}];var l=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679];var f=s.DES=n.extend({_doReset:function(){var t=this._key;var e=t.words;var r=[];for(var i=0;i<56;i++){var n=a[i]-1;r[i]=e[n>>>5]>>>31-n%32&1;}var s=this._subKeys=[];for(var c=0;c<16;c++){var l=s[c]=[];var f=u[c];for(var i=0;i<24;i++){l[i/6|0]|=r[(o[i]-1+f)%28]<<31-i%6;l[4+(i/6|0)]|=r[28+(o[i+24]-1+f)%28]<<31-i%6;}l[0]=l[0]<<1|l[0]>>>31;for(var i=1;i<7;i++)l[i]=l[i]>>>4*(i-1)+3;l[7]=l[7]<<5|l[7]>>>27;}var h=this._invSubKeys=[];for(var i=0;i<16;i++)h[i]=s[15-i];},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys);},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys);},_doCryptBlock:function(t,e,r){this._lBlock=t[e];this._rBlock=t[e+1];h.call(this,4,252645135);h.call(this,16,65535);d.call(this,2,858993459);d.call(this,8,16711935);h.call(this,1,1431655765);for(var i=0;i<16;i++){var n=r[i];var s=this._lBlock;var a=this._rBlock;var o=0;for(var u=0;u<8;u++)o|=c[u][((a^n[u])&l[u])>>>0];this._lBlock=a;this._rBlock=s^o;}var f=this._lBlock;this._lBlock=this._rBlock;this._rBlock=f;h.call(this,1,1431655765);d.call(this,8,16711935);d.call(this,2,858993459);h.call(this,16,65535);h.call(this,4,252645135);t[e]=this._lBlock;t[e+1]=this._rBlock;},keySize:64/32,ivSize:64/32,blockSize:64/32});function h(t,e){var r=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=r;this._lBlock^=r<>>t^this._lBlock)&e;this._lBlock^=r;this._rBlock^=r<192.");var r=e.slice(0,2);var n=e.length<4?e.slice(0,2):e.slice(2,4);var s=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=f.createEncryptor(i.create(r));this._des2=f.createEncryptor(i.create(n));this._des3=f.createEncryptor(i.create(s));},encryptBlock:function(t,e){this._des1.encryptBlock(t,e);this._des2.decryptBlock(t,e);this._des3.encryptBlock(t,e);},decryptBlock:function(t,e){this._des3.decryptBlock(t,e);this._des2.encryptBlock(t,e);this._des1.decryptBlock(t,e);},keySize:192/32,ivSize:64/32,blockSize:64/32});e.TripleDES=n._createHelper(p);})();return t.TripleDES}));},4938:function(t,e,r){(function(i,n){t.exports=n(r(8249));})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.Base;var s=i.WordArray;var a=r.x64={};a.Word=n.extend({init:function(t,e){this.high=t;this.low=e;}});a.WordArray=n.extend({init:function(t,r){t=this.words=t||[];if(r!=e)this.sigBytes=r;else this.sigBytes=8*t.length;},toX32:function(){var t=this.words;var e=t.length;var r=[];for(var i=0;i{Object.defineProperty(e,"__esModule",{value:true});e.ErrorCode=void 0;(function(t){t[t["SUCCESS"]=0]="SUCCESS";t[t["CLIENT_ID_NOT_FOUND"]=1]="CLIENT_ID_NOT_FOUND";t[t["OPERATION_TOO_OFTEN"]=2]="OPERATION_TOO_OFTEN";t[t["REPEAT_MESSAGE"]=3]="REPEAT_MESSAGE";t[t["TIME_OUT"]=4]="TIME_OUT";})(e.ErrorCode||(e.ErrorCode={}));},5987:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1901));const s=i(r(1754));const a=i(r(1237));var o;(function(t){function e(t){a.default.debugMode=t;a.default.info(`setDebugMode: ${t}`);}t.setDebugMode=e;function r(t){try{n.default.init(t);}catch(t){a.default.error(`init error`,t);}}t.init=r;function i(t){try{n.default.setTag(t);}catch(t){a.default.error(`setTag error`,t);}}t.setTag=i;function o(t){try{n.default.bindAlias(t);}catch(t){a.default.error(`bindAlias error`,t);}}t.bindAlias=o;function u(t){try{n.default.unbindAlias(t);}catch(t){a.default.error(`unbindAlias error`,t);}}t.unbindAlias=u;function c(t){try{if(!t.url)throw new Error("invalid url");if(!t.key||!t.keyId)throw new Error("invalid key or keyId");s.default.socketUrl=t.url;s.default.publicKeyId=t.keyId;s.default.publicKey=t.key;}catch(t){a.default.error(`setSocketServer error`,t);}}t.setSocketServer=c;function l(t){try{n.default.enableSocket(t);}catch(t){a.default.error(`enableSocket error`,t);}}t.enableSocket=l;})(o||(o={}));e["default"]=o;},127:(t,e)=>{Object.defineProperty(e,"__esModule",{value:true});var r;(function(t){t.SDK_VERSION="GTMP-1.0.1.0";t.DEFAULT_SOCKET_URL="wss://wshz.getui.net:5223/nws";t.SOCKET_PROTOCOL_VERSION="1.0";t.SERVER_PUBLIC_KEY="MHwwDQYJKoZIhvcNAQEBBQADawAwaAJhAJp1rROuvBF7sBSnvLaesj2iFhMcY8aXyLvpnNLKs2wjL3JmEnyr++SlVa35liUlzi83tnAFkn3A9GB7pHBNzawyUkBh8WUhq5bnFIkk2RaDa6+5MpG84DEv52p7RR+aWwIDAQAB";t.SERVER_PUBLIC_KEY_ID="69d747c4b9f641baf4004be4297e9f3b";})(r||(r={}));e["default"]=r;},1901:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3593));const s=i(r(1237));const a=r(3118);const o=i(r(1754));const u=i(r(3854));const c=i(r(9018));const l=i(r(5084));class f{static init(t){if(this.inited)return;try{this.checkAppid(t.appid);this.inited=true;s.default.info(`init: appid=${t.appid}`);o.default.init(t);n.default.connect();}catch(e){this.inited=false;t.onError?.call(t.onError,{error:e});throw e}}static enableSocket(t){this.checkInit();n.default.allowReconnect=t;if(t)n.default.reconnect(0);else n.default.close(`enableSocket ${t}`);}static setTag(t){this.checkInit();if(!o.default.cid){t.setTagResult?.call(t.setTagResult,{resultCode:a.ErrorCode.CLIENT_ID_NOT_FOUND,message:"client id not found"});return}c.default.create(t.tags,t.setTagResult).send();}static bindAlias(t){this.checkInit();if(!o.default.cid){t.bindAliasResult?.call(t.bindAliasResult,{resultCode:a.ErrorCode.CLIENT_ID_NOT_FOUND,message:"client id not found"});return}let e=(new Date).getTime();if(e-o.default.lastAliasTime<1*1e3){s.default.error(`bind alias fail: alias option can only be called once a second`);t.bindAliasResult?.call(t.bindAliasResult,{resultCode:a.ErrorCode.OPERATION_TOO_OFTEN,message:"alias option can only be called once a second"});return}u.default.create(t.alias,true,t.bindAliasResult).send();o.default.lastAliasTime=e;}static unbindAlias(t){this.checkInit();if(!o.default.cid){t.unbindAliasResult?.call(t.unbindAliasResult,{resultCode:a.ErrorCode.CLIENT_ID_NOT_FOUND,message:"client id not found"});return}let e=(new Date).getTime();if(e-o.default.lastAliasTime<1*1e3){s.default.error(`unbindAlias alias fail: alias option can only be called once a second`);t.unbindAliasResult?.call(t.unbindAliasResult,{resultCode:a.ErrorCode.OPERATION_TOO_OFTEN,message:"alias option can only be called once a second"});return}l.default.create(t.alias,t.onlySelf,t.unbindAliasResult).send();o.default.lastAliasTime=e;}static checkInit(){if(!this.inited)throw new Error(`not init, please invoke init method firstly`)}static checkAppid(t){if(null==t||void 0==t||""==t.trim())throw new Error(`invalid appid ${t}`)}}f.inited=false;e["default"]=f;},1754:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(323));const s=i(r(207));const a=i(r(127));const o=i(r(3593));const u=i(r(1237));const c=i(r(3270));const l=i(r(5574));class f{static init(t){this.appid=l.default.to_getui(t.appid);u.default.info(`getui appid: ${this.appid}`);this.onError=t.onError;this.onClientId=t.onClientId;this.onlineState=t.onlineState;this.onPushMsg=t.onPushMsg;if(this.appid!=s.default.getSync(s.default.KEY_APPID,this.appid)){u.default.info("appid changed, clear session and cid");s.default.setSync(s.default.KEY_CID,"");s.default.setSync(s.default.KEY_SESSION,"");}s.default.setSync(s.default.KEY_APPID,this.appid);this.cid=s.default.getSync(s.default.KEY_CID,this.cid);if(this.cid)this.onClientId?.call(this,{cid:f.cid});this.session=s.default.getSync(s.default.KEY_SESSION,this.session);this.deviceId=s.default.getSync(s.default.KEY_DEVICE_ID,this.deviceId);this.regId=s.default.getSync(s.default.KEY_REGID,this.regId);if(!this.regId){this.regId=this.createRegId();s.default.set({key:s.default.KEY_REGID,data:this.regId});}this.socketUrl=s.default.getSync(s.default.KEY_SOCKET_URL,this.socketUrl);let e=this;c.default.getNetworkType({success:t=>{e.networkType=t;e.networkConnected="none"!=e.networkType&&""!=e.networkType;}});c.default.onNetworkStatusChange((t=>{e.networkConnected=t.isConnected;e.networkType=t.networkType;if(e.networkConnected)o.default.reconnect(0);}));}static createRegId(){return `M-V${n.default.md5Hex(this.getUuid())}-${(new Date).getTime()}`}static getUuid(){return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){let e=16*Math.random()|0,r="x"===t?e:3&e|8;return r.toString(16)}))}}f.appid="";f.cid="";f.regId="";f.session="";f.deviceId="";f.packetId=1;f.online=false;f.socketUrl=a.default.DEFAULT_SOCKET_URL;f.publicKeyId=a.default.SERVER_PUBLIC_KEY_ID;f.publicKey=a.default.SERVER_PUBLIC_KEY;f.lastAliasTime=0;f.networkConnected=true;f.networkType="none";e["default"]=f;},9214:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n,s;Object.defineProperty(e,"__esModule",{value:true});const a=i(r(9800));const o=r(3118);const u=i(r(1754));class c extends a.default{constructor(){super(...arguments);this.actionMsgData=new l;}static initActionMsg(t,...e){super.initMsg(t);t.command=a.default.Command.CLIENT_MSG;t.data=t.actionMsgData=l.create();return t}static parseActionMsg(t,e){super.parseMsg(t,e);t.actionMsgData=l.parse(t.data);return t}send(){setTimeout((()=>{if(c.waitingLoginMsgMap.has(this.actionMsgData.msgId)||c.waitingResponseMsgMap.has(this.actionMsgData.msgId)){c.waitingLoginMsgMap.delete(this.actionMsgData.msgId);c.waitingResponseMsgMap.delete(this.actionMsgData.msgId);this.callback?.call(this.callback,{resultCode:o.ErrorCode.TIME_OUT,message:"waiting time out"});}}),1e4);if(!u.default.online){c.waitingLoginMsgMap.set(this.actionMsgData.msgId,this);return}if(this.actionMsgData.msgAction!=c.ClientAction.RECEIVED)c.waitingResponseMsgMap.set(this.actionMsgData.msgId,this);super.send();}receive(){}static sendWaitingMessages(){let t=this.waitingLoginMsgMap.keys();let e;while(e=t.next(),!e.done){let t=this.waitingLoginMsgMap.get(e.value);this.waitingLoginMsgMap.delete(e.value);t?.send();}}static getWaitingResponseMessage(t){return c.waitingResponseMsgMap.get(t)}static removeWaitingResponseMessage(t){let e=c.waitingResponseMsgMap.get(t);if(e)c.waitingResponseMsgMap.delete(t);return e}}c.ServerAction=(n=class{},n.PUSH_MESSAGE="pushmessage",n.REDIRECT_SERVER="redirect_server",n.ADD_PHONE_INFO_RESULT="addphoneinfo",n.SET_MODE_RESULT="set_mode_result",n.SET_TAG_RESULT="settag_result",n.BIND_ALIAS_RESULT="response_bind",n.UNBIND_ALIAS_RESULT="response_unbind",n.FEED_BACK_RESULT="pushmessage_feedback",n.RECEIVED="received",n);c.ClientAction=(s=class{},s.ADD_PHONE_INFO="addphoneinfo",s.SET_MODE="set_mode",s.FEED_BACK="pushmessage_feedback",s.SET_TAGS="set_tag",s.BIND_ALIAS="bind_alias",s.UNBIND_ALIAS="unbind_alias",s.RECEIVED="received",s);c.waitingLoginMsgMap=new Map;c.waitingResponseMsgMap=new Map;class l{constructor(){this.appId="";this.cid="";this.msgId="";this.msgAction="";this.msgData="";this.msgExtraData="";}static create(){let t=new l;t.appId=u.default.appid;t.cid=u.default.cid;t.msgId=(new Date).getTime().toString().substr(4);return t}static parse(t){let e=new l;let r=JSON.parse(t);e.appId=r.appId;e.cid=r.cid;e.msgId=r.msgId;e.msgAction=r.msgAction;e.msgData=r.msgData;e.msgExtraData=r.msgExtraData;return e}}e["default"]=c;},708:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3270));const s=i(r(207));const a=i(r(127));const o=r(3118);const u=i(r(9214));const c=i(r(1754));class l extends u.default{constructor(){super(...arguments);this.addPhoneInfoData=new f;}static create(){let t=new l;super.initActionMsg(t);t.callback=e=>{if(e.resultCode!=o.ErrorCode.SUCCESS&&e.resultCode!=o.ErrorCode.REPEAT_MESSAGE)setTimeout((function(){t.send();}),30*1e3);else s.default.set({key:s.default.KEY_ADD_PHONE_INFO_TIME,data:(new Date).getTime()});};t.actionMsgData.msgAction=u.default.ClientAction.ADD_PHONE_INFO;t.addPhoneInfoData=f.create();t.actionMsgData.msgData=JSON.stringify(t.addPhoneInfoData);return t}send(){let t=(new Date).getTime();let e=s.default.getSync(s.default.KEY_ADD_PHONE_INFO_TIME,0);if(t-e<24*60*60*1e3)return;super.send();}}class f{constructor(){this.model="";this.brand="";this.system_version="";this.version="";this.device_token="";this.imei="";this.oaid="";this.mac="";this.idfa="";this.deviceid="";this.type="";this.extra={os:"",platform:"",platformVersion:"",platformId:"",appVersion:"",language:""};}static create(){let t=new f;t.model=n.default.model();t.brand=n.default.brand();t.system_version=n.default.osVersion();t.version=a.default.SDK_VERSION;t.device_token="";t.imei="";t.oaid="";t.mac="";t.idfa="";t.type="MINI";t.deviceid=`${t.type}-${c.default.deviceId}`;t.extra={os:n.default.os(),platform:n.default.platform(),platformVersion:n.default.platformVersion(),platformId:n.default.platformId(),appVersion:"",language:n.default.language()};return t}}e["default"]=l;},3854:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.bindAliasTagData=new o;}static create(t,e,r){let i=new a;super.initActionMsg(i);i.bindAliasTagData=o.create(t,e);i.callback=r;i.actionMsgData.msgAction=s.default.ClientAction.BIND_ALIAS;i.actionMsgData.msgData=JSON.stringify(i.bindAliasTagData);return i}}class o{constructor(){this.alias="";this.cid="";this.appid="";this.sn="";this.is_self="";}static create(t,e){let r=new o;r.alias=t;r.cid=n.default.cid;r.appid=n.default.appid;r.sn=(new Date).getTime().toString();r.is_self=e?"1":"0";return r}}e["default"]=a;},652:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n,s;Object.defineProperty(e,"__esModule",{value:true});const a=i(r(1754));const o=r(3118);const u=i(r(9214));class c extends u.default{constructor(){super(...arguments);this.feedbackData=new l;}static create(t,e){let r=new c;super.initActionMsg(r);r.callback=t=>{if(t.resultCode!=o.ErrorCode.SUCCESS&&t.resultCode!=o.ErrorCode.REPEAT_MESSAGE)setTimeout((function(){r.send();}),30*1e3);};r.feedbackData=l.create(t,e);r.actionMsgData.msgAction=u.default.ClientAction.FEED_BACK;r.actionMsgData.msgData=JSON.stringify(r.feedbackData);return r}send(){super.send();}}c.ActionId=(n=class{},n.RECEIVE="0",n.MP_RECEIVE="210000",n.WEB_RECEIVE="220000",n.BEGIN="1",n);c.RESULT=(s=class{},s.OK="ok",s);class l{constructor(){this.messageid="";this.appkey="";this.appid="";this.taskid="";this.actionid="";this.result="";this.timestamp="";}static create(t,e){let r=new l;r.messageid=t.pushMessageData.messageid;r.appkey=t.pushMessageData.appKey;r.appid=a.default.appid;r.taskid=t.pushMessageData.taskId;r.actionid=e;r.result=c.RESULT.OK;r.timestamp=(new Date).getTime().toString();return r}}e["default"]=c;},9018:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.setTagData=new o;}static create(t,e){let r=new a;super.initActionMsg(r);r.setTagData=o.create(t);r.callback=e;r.actionMsgData.msgAction=s.default.ClientAction.SET_TAGS;r.actionMsgData.msgData=JSON.stringify(r.setTagData);return r}}class o{constructor(){this.appid="";this.tags="";this.sn="";}static create(t){let e=new o;e.appid=n.default.appid;e.tags=u(t);e.sn=(new Date).getTime().toString();return e}}function u(t){return encodeURIComponent(t).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A")}e["default"]=a;},5084:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.unbindAliasData=new o;}static create(t,e,r){let i=new a;super.initActionMsg(i);i.unbindAliasData=o.create(t,e);i.callback=r;i.actionMsgData.msgAction=s.default.ClientAction.UNBIND_ALIAS;i.actionMsgData.msgData=JSON.stringify(i.unbindAliasData);return i}}class o{constructor(){this.alias="";this.cid="";this.appid="";this.sn="";this.is_self="";}static create(t,e){let r=new o;r.alias=t;r.cid=n.default.cid;r.appid=n.default.appid;r.sn=(new Date).getTime().toString();r.is_self=e?"1":"0";return r}}e["default"]=a;},6561:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9800));class s extends n.default{static create(){let t=new s;super.initMsg(t);t.command=n.default.Command.HEART_BEAT;return t}}e["default"]=s;},358:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(323));const s=i(r(1754));const a=i(r(9800));class o extends a.default{constructor(){super(...arguments);this.keyNegotiateData=new u;}static create(){let t=new o;super.initMsg(t);t.command=a.default.Command.KEY_NEGOTIATE;n.default.resetKey();t.data=t.keyNegotiateData=u.create();return t}send(){super.send();}}class u{constructor(){this.appId="";this.rsaPublicKeyId="";this.algorithm="";this.secretKey="";this.iv="";}static create(){let t=new u;t.appId=s.default.appid;t.rsaPublicKeyId=s.default.publicKeyId;t.algorithm="AES";t.secretKey=n.default.getEncryptedSecretKey();t.iv=n.default.getEncryptedIV();return t}}e["default"]=o;},5301:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9800));const s=i(r(323));const a=i(r(2544));const o=i(r(1237));const u=i(r(1754));class c extends n.default{constructor(){super(...arguments);this.keyNegotiateResultData=new l;}static parse(t){let e=new c;super.parseMsg(e,t);e.keyNegotiateResultData=l.parse(e.data);return e}receive(){if(0!=this.keyNegotiateResultData.errorCode){o.default.error(`key negotiate fail: ${this.data}`);u.default.onError?.call(u.default.onError,{error:`key negotiate fail: ${this.data}`});return}let t=this.keyNegotiateResultData.encryptType.split("/");if(!s.default.algorithmMap.has(t[0].trim().toLowerCase())||!s.default.modeMap.has(t[1].trim().toLowerCase())||!s.default.paddingMap.has(t[2].trim().toLowerCase())){o.default.error(`key negotiate fail: ${this.data}`);u.default.onError?.call(u.default.onError,{error:`key negotiate fail: ${this.data}`});return}s.default.setEncryptParams(t[0].trim().toLowerCase(),t[1].trim().toLowerCase(),t[2].trim().toLowerCase());a.default.create().send();}}class l{constructor(){this.errorCode=-1;this.errorMsg="";this.encryptType="";}static parse(t){let e=new l;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;e.encryptType=r.encryptType;return e}}e["default"]=c;},2544:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(323));const a=i(r(9800));const o=i(r(3527));class u extends a.default{constructor(){super(...arguments);this.loginData=new c;}static create(){let t=new u;super.initMsg(t);t.command=a.default.Command.LOGIN;t.data=t.loginData=c.create();return t}send(){if(!this.loginData.session||n.default.cid!=s.default.md5Hex(this.loginData.session)){o.default.create().send();return}super.send();}}class c{constructor(){this.appId="";this.session="";}static create(){let t=new c;t.appId=n.default.appid;t.session=n.default.session;return t}}e["default"]=u;},8734:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(9800));const a=i(r(1754));const o=i(r(9214));const u=i(r(708));const c=i(r(2544));class l extends s.default{constructor(){super(...arguments);this.loginResultData=new f;}static parse(t){let e=new l;super.parseMsg(e,t);e.loginResultData=f.parse(e.data);return e}receive(){if(0!=this.loginResultData.errorCode){this.data;a.default.session=a.default.cid="";n.default.setSync(n.default.KEY_CID,"");n.default.setSync(n.default.KEY_SESSION,"");c.default.create().send();return}if(!a.default.online){a.default.online=true;a.default.onlineState?.call(a.default.onlineState,{online:a.default.online});}o.default.sendWaitingMessages();u.default.create().send();}}class f{constructor(){this.errorCode=-1;this.errorMsg="";this.session="";}static parse(t){let e=new f;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;e.session=r.session;return e}}e["default"]=l;},9800:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n;Object.defineProperty(e,"__esModule",{value:true});const s=i(r(350));const a=i(r(3593));const o=i(r(127));const u=i(r(1754));class c{constructor(){this.version="";this.command=0;this.packetId=0;this.timeStamp=0;this.data="";this.signature="";}static initMsg(t,...e){t.version=o.default.SOCKET_PROTOCOL_VERSION;t.command=0;t.timeStamp=(new Date).getTime();return t}static parseMsg(t,e){let r=JSON.parse(e);t.version=r.version;t.command=r.command;t.packetId=r.packetId;t.timeStamp=r.timeStamp;t.data=r.data;t.signature=r.signature;return t}stringify(){return JSON.stringify(this,["version","command","packetId","timeStamp","data","signature"])}send(){if(!a.default.isAvailable())return;this.packetId=u.default.packetId++;this.data=JSON.stringify(this.data);this.stringify();if(this.command!=c.Command.HEART_BEAT){s.default.sign(this);if(this.data&&this.command!=c.Command.KEY_NEGOTIATE)s.default.encrypt(this);}a.default.send(this.stringify());}}c.Command=(n=class{},n.HEART_BEAT=0,n.KEY_NEGOTIATE=1,n.KEY_NEGOTIATE_RESULT=16,n.REGISTER=2,n.REGISTER_RESULT=32,n.LOGIN=3,n.LOGIN_RESULT=48,n.LOGOUT=4,n.LOGOUT_RESULT=64,n.CLIENT_MSG=5,n.SERVER_MSG=80,n.SERVER_CLOSE=96,n);e["default"]=c;},350:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(323));var s;(function(t){function e(t){t.data=n.default.encrypt(t.data);}t.encrypt=e;function r(t){t.data=n.default.decrypt(t.data);}t.decrypt=r;function i(t){t.signature=n.default.sha256(`${t.timeStamp}${t.packetId}${t.command}${t.data}`);}t.sign=i;function s(t){let e=n.default.sha256(`${t.timeStamp}${t.packetId}${t.command}${t.data}`);if(t.signature!=e)throw new Error(`msg signature vierfy failed`)}t.verify=s;})(s||(s={}));e["default"]=s;},1236:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(5301));const s=i(r(8734));const a=i(r(9800));const o=i(r(7078));const u=i(r(538));const c=i(r(7821));const l=i(r(217));const f=i(r(7156));const h=i(r(2535));const d=i(r(9214));const p=i(r(7303));const v=i(r(6063));const g=i(r(7923));const y=i(r(350));const m=i(r(9214));const _=i(r(6254));const w=i(r(5035));class S{static receiveMessage(t){let e=a.default.parseMsg(new a.default,t);if(e.command!=a.default.Command.KEY_NEGOTIATE_RESULT&&e.command!=a.default.Command.HEART_BEAT&&e.command!=a.default.Command.SERVER_CLOSE)y.default.decrypt(e);if(e.command!=a.default.Command.HEART_BEAT&&e.command!=a.default.Command.SERVER_CLOSE)y.default.verify(e);switch(e.command){case a.default.Command.KEY_NEGOTIATE_RESULT:n.default.parse(e.stringify()).receive();break;case a.default.Command.REGISTER_RESULT:o.default.parse(e.stringify()).receive();break;case a.default.Command.LOGIN_RESULT:s.default.parse(e.stringify()).receive();break;case a.default.Command.SERVER_MSG:this.receiveActionMsg(e.stringify());break;case a.default.Command.SERVER_CLOSE:w.default.parse(e.stringify()).receive();break;}}static receiveActionMsg(t){let e=m.default.parseActionMsg(new m.default,t);if(e.actionMsgData.msgAction!=d.default.ServerAction.RECEIVED&&e.actionMsgData.msgAction!=d.default.ServerAction.REDIRECT_SERVER){let t=JSON.parse(e.actionMsgData.msgData);_.default.create(t.id).send();}switch(e.actionMsgData.msgAction){case d.default.ServerAction.PUSH_MESSAGE:f.default.parse(t).receive();break;case d.default.ServerAction.REDIRECT_SERVER:h.default.parse(t).receive();break;case d.default.ServerAction.ADD_PHONE_INFO_RESULT:u.default.parse(t).receive();break;case d.default.ServerAction.SET_MODE_RESULT:p.default.parse(t).receive();break;case d.default.ServerAction.SET_TAG_RESULT:v.default.parse(t).receive();break;case d.default.ServerAction.BIND_ALIAS_RESULT:c.default.parse(t).receive();break;case d.default.ServerAction.UNBIND_ALIAS_RESULT:g.default.parse(t).receive();break;case d.default.ServerAction.FEED_BACK_RESULT:l.default.parse(t).receive();break;case d.default.ServerAction.RECEIVED:_.default.parse(t).receive();break}}}e["default"]=S;},6254:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=r(3118);const s=i(r(1754));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.receivedData=new u;}static create(t){let e=new o;super.initActionMsg(e);e.callback=t=>{if(t.resultCode!=n.ErrorCode.SUCCESS&&t.resultCode!=n.ErrorCode.REPEAT_MESSAGE)setTimeout((function(){e.send();}),3*1e3);};e.actionMsgData.msgAction=a.default.ClientAction.RECEIVED;e.receivedData=u.create(t);e.actionMsgData.msgData=JSON.stringify(e.receivedData);return e}static parse(t){let e=new o;super.parseActionMsg(e,t);e.receivedData=u.parse(e.data);return e}receive(){let t=a.default.getWaitingResponseMessage(this.actionMsgData.msgId);if(t&&t.actionMsgData.msgAction==a.default.ClientAction.ADD_PHONE_INFO||t&&t.actionMsgData.msgAction==a.default.ClientAction.FEED_BACK){a.default.removeWaitingResponseMessage(t.actionMsgData.msgId);t.callback?.call(t.callback,{resultCode:n.ErrorCode.SUCCESS,message:"received"});}}send(){super.send();}}class u{constructor(){this.msgId="";this.cid="";}static create(t){let e=new u;e.cid=s.default.cid;e.msgId=t;return e}static parse(t){let e=new u;let r=JSON.parse(t);e.cid=r.cid;e.msgId=r.msgId;return e}}e["default"]=o;},3527:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9800));class a extends s.default{constructor(){super(...arguments);this.registerData=new o;}static create(){let t=new a;super.initMsg(t);t.command=s.default.Command.REGISTER;t.data=t.registerData=o.create();return t}send(){super.send();}}class o{constructor(){this.appId="";this.regId="";}static create(){let t=new o;t.appId=n.default.appid;t.regId=n.default.regId;return t}}e["default"]=a;},7078:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9800));const s=i(r(207));const a=i(r(1754));const o=i(r(2544));const u=i(r(1237));class c extends n.default{constructor(){super(...arguments);this.registerResultData=new l;}static parse(t){let e=new c;super.parseMsg(e,t);e.registerResultData=l.parse(e.data);return e}receive(){if(0!=this.registerResultData.errorCode||!this.registerResultData.cid||!this.registerResultData.session){u.default.error(`register fail: ${this.data}`);a.default.onError?.call(a.default.onError,{error:`register fail: ${this.data}`});return}if(a.default.cid!=this.registerResultData.cid)s.default.setSync(s.default.KEY_ADD_PHONE_INFO_TIME,0);a.default.cid=this.registerResultData.cid;a.default.onClientId?.call(a.default.onClientId,{cid:a.default.cid});s.default.set({key:s.default.KEY_CID,data:a.default.cid});a.default.session=this.registerResultData.session;s.default.set({key:s.default.KEY_SESSION,data:a.default.session});a.default.deviceId=this.registerResultData.deviceId;s.default.set({key:s.default.KEY_DEVICE_ID,data:a.default.deviceId});o.default.create().send();}}class l{constructor(){this.errorCode=-1;this.errorMsg="";this.cid="";this.session="";this.deviceId="";this.regId="";}static parse(t){let e=new l;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;e.cid=r.cid;e.session=r.session;e.deviceId=r.deviceId;e.regId=r.regId;return e}}e["default"]=c;},5035:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3593));const s=i(r(9800));class a extends s.default{constructor(){super(...arguments);this.serverCloseData=new o;}static parse(t){let e=new a;super.parseMsg(e,t);e.serverCloseData=o.parse(e.data);return e}receive(){this.data;if(20==this.serverCloseData.code||23==this.serverCloseData.code||24==this.serverCloseData.code)n.default.allowReconnect=false;n.default.close();}}class o{constructor(){this.code=-1;this.msg="";}static parse(t){let e=new o;let r=JSON.parse(t);e.code=r.code;e.msg=r.msg;return e}}e["default"]=a;},538:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.addPhoneInfoResultData=new o;}static parse(t){let e=new a;super.parseActionMsg(e,t);e.addPhoneInfoResultData=o.parse(e.actionMsgData.msgData);return e}receive(){this.addPhoneInfoResultData;let t=s.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.addPhoneInfoResultData.errorCode,message:this.addPhoneInfoResultData.errorMsg});n.default.set({key:n.default.KEY_ADD_PHONE_INFO_TIME,data:(new Date).getTime()});}}class o{constructor(){this.errorCode=-1;this.errorMsg="";}static parse(t){let e=new o;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=a;},7821:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(1237));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.bindAliasResultData=new u;}static parse(t){let e=new o;super.parseActionMsg(e,t);e.bindAliasResultData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.info(`bind alias result`,this.bindAliasResultData);let t=a.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.bindAliasResultData.errorCode,message:this.bindAliasResultData.errorMsg});n.default.set({key:n.default.KEY_BIND_ALIAS_TIME,data:(new Date).getTime()});}}class u{constructor(){this.errorCode=-1;this.errorMsg="";}static parse(t){let e=new u;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=o;},217:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=r(3118);const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.feedbackResultData=new o;}static parse(t){let e=new a;super.parseActionMsg(e,t);e.feedbackResultData=o.parse(e.actionMsgData.msgData);return e}receive(){this.feedbackResultData;let t=s.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:n.ErrorCode.SUCCESS,message:"received"});}}class o{constructor(){this.actionId="";this.taskId="";this.result="";}static parse(t){let e=new o;let r=JSON.parse(t);e.actionId=r.actionId;e.taskId=r.taskId;e.result=r.result;return e}}e["default"]=a;},7156:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n;Object.defineProperty(e,"__esModule",{value:true});const s=i(r(1754));const a=i(r(9214));const o=i(r(652));class u extends a.default{constructor(){super(...arguments);this.pushMessageData=new c;}static parse(t){let e=new u;super.parseActionMsg(e,t);e.pushMessageData=c.parse(e.actionMsgData.msgData);return e}receive(){this.pushMessageData;if(this.pushMessageData.appId!=s.default.appid||!this.pushMessageData.messageid||!this.pushMessageData.taskId)this.stringify();o.default.create(this,o.default.ActionId.RECEIVE).send();o.default.create(this,o.default.ActionId.MP_RECEIVE).send();if(this.actionMsgData.msgExtraData&&s.default.onPushMsg)s.default.onPushMsg?.call(s.default.onPushMsg,{message:this.actionMsgData.msgExtraData});}}class c{constructor(){this.id="";this.appKey="";this.appId="";this.messageid="";this.taskId="";this.actionChain=[];this.cdnType="";}static parse(t){let e=new c;let r=JSON.parse(t);e.id=r.id;e.appKey=r.appKey;e.appId=r.appId;e.messageid=r.messageid;e.taskId=r.taskId;e.actionChain=r.actionChain;e.cdnType=r.cdnType;return e}}(n=class{},n.GO_TO="goto",n.TRANSMIT="transmit",n);e["default"]=u;},2535:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3593));const s=i(r(1754));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.redirectServerData=new u;}static parse(t){let e=new o;super.parseActionMsg(e,t);e.redirectServerData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.socketUrl=this.redirectServerData.addressList.split(",")[0];n.default.connect();}}class u{constructor(){this.addressList="";this.delay=0;this.location="";this.idConfig="";}static parse(t){let e=new u;let r=JSON.parse(t);e.addressList=r.addressList;e.delay=r.delay;e.location=r.location;e.idConfig=r.idConfig;return e}}e["default"]=o;},7303:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9214));class s extends n.default{constructor(){super(...arguments);this.setModeResultData=new a;}static parse(t){let e=new s;super.parseActionMsg(e,t);e.setModeResultData=a.parse(e.actionMsgData.msgData);return e}receive(){this.setModeResultData;let t=n.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.setModeResultData.errorCode,message:this.setModeResultData.errorMsg});}}class a{constructor(){this.errorCode=-1;this.errorMsg="";}static parse(t){let e=new a;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=s;},6063:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(1237));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.setTagResultData=new u;}static parse(t){let e=new o;super.parseActionMsg(e,t);e.setTagResultData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.info(`set tag result`,this.setTagResultData);let t=a.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.setTagResultData.errorCode,message:this.setTagResultData.errorMsg});n.default.set({key:n.default.KEY_SET_TAG_TIME,data:(new Date).getTime()});}}class u{constructor(){this.errorCode=0;this.errorMsg="";}static parse(t){let e=new u;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=o;},7923:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(1237));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.unbindAliasResultData=new u;}static parse(t){let e=new o;super.parseActionMsg(e,t);e.unbindAliasResultData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.info(`unbind alias result`,this.unbindAliasResultData);let t=a.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.unbindAliasResultData.errorCode,message:this.unbindAliasResultData.errorMsg});n.default.set({key:n.default.KEY_BIND_ALIAS_TIME,data:(new Date).getTime()});}}class u{constructor(){this.errorCode=-1;this.errorMsg="";}static parse(t){let e=new u;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=o;},9285:(t,e)=>{Object.defineProperty(e,"__esModule",{value:true});class r{constructor(t){this.delay=10;this.delay=t;}start(){this.cancel();let t=this;this.timer=setInterval((function(){t.run();}),this.delay);}cancel(){if(this.timer)clearInterval(this.timer);}}e["default"]=r;},1571:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n;Object.defineProperty(e,"__esModule",{value:true});const s=i(r(6561));const a=i(r(9285));class o extends a.default{static getInstance(){return o.InstanceHolder.instance}run(){s.default.create().send();}refresh(){this.delay=60*1e3;this.start();}}o.INTERVAL=60*1e3;o.InstanceHolder=(n=class{},n.instance=new o(o.INTERVAL),n);e["default"]=o;},3270:(t,e)=>{Object.defineProperty(e,"__esModule",{value:true});var r;(function(t){let e;let r;try{e=uni.getSystemInfoSync();r=uni.getAccountInfoSync();}catch(t){}function i(){let t="";try{t=e?e.platform:"";}catch(t){}return t?t:""}t.os=i;function n(){let t="";try{t=e?e.model:"";}catch(t){}return t?t:""}t.model=n;function s(){let t="";try{t=e?e.brand:"";}catch(t){}return t?t:""}t.brand=s;function a(){let t="";try{t=e?e.system:""; // #ifdef MP-ALIPAY let r=i();if(t&&r&&!t.toLocaleLowerCase().startsWith(r.toLowerCase()))t=i()+" "+t; // #endif @@ -78,8 +78,7 @@ uni.sendSocketMessage({data:t,success:function(t){},fail:function(t){}}); // #ifndef MP-ALIPAY e.send({data:t,success:function(t){},fail:function(t){}}); // #endif -}else throw new Error(`socket not connect`)}t.send=p;function v(t){i=false;r=false;o.default.getInstance().cancel();if(s.default.online){s.default.online=false;s.default.onlineState?.call(s.default.onlineState,{online:s.default.online});}if(s.default.online){s.default.online=false;s.default.onlineState?.call(s.default.onlineState,{online:s.default.online});}l(1e3);}let g=function(t){r=true;h();};let y=function(t){try{t.data;o.default.getInstance().refresh();a.default.receiveMessage(t.data);}catch(t){}};let m=function(t){d(`socket error`);};let _=function(t){v();};})(c||(c={}));e["default"]=c;},207:(t,e)=>{Object.defineProperty(e,"__esModule",{value:true});var r;(function(t){t.KEY_APPID="getui_appid";t.KEY_CID="getui_cid";t.KEY_SESSION="getui_session";t.KEY_REGID="getui_regid";t.KEY_SOCKET_URL="getui_socket_url";t.KEY_DEVICE_ID="getui_deviceid";t.KEY_ADD_PHONE_INFO_TIME="getui_api_time";t.KEY_BIND_ALIAS_TIME="getui_ba_time";t.KEY_SET_TAG_TIME="getui_st_time";function e(t,e){uni.setStorageSync(t,e);}t.setSync=e;function r(t){uni.setStorage({key:t.key,data:t.data,fail:()=>{t.key,t.data;t.fail?.call(t);}});}t.set=r;function i(t,e){let r=e;try{let e=uni.getStorageSync(t);if(e)r=e;}catch(t){}return r}t.getSync=i;function n(t){uni.getStorage({key:t.key,success:e=>{t.success?.call(t,e.data);},fail:()=>{t.key;t.fail?.call(t);}});}t.get=n;})(r||(r={}));e["default"]=r;},5574:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(8495));const s=i(r(4736));var a;(function(t){let e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";let r=(0, s.default)("9223372036854775808");function i(t){let e=a(t);let r=o(e);let i=r[1];let n=r[0];return u(i)+u(n)}t.to_getui=i;function a(t){let e=n.default.create().update(t).digest();e[6]&=15;e[6]|=48;e[8]&=63;e[8]|=128;return e}function o(t){let e=(0, s.default)(0);let r=(0, s.default)(0);for(let r=0;r<8;r++)e=e.multiply(256).plus((0, s.default)(255&t[r]));for(let e=8;e<16;e++)r=r.multiply(256).plus((0, s.default)(255&t[e]));return [e,r]}function u(t){if(t>=r)t=r.multiply(2).minus(t);let i="";for(;t>(0, s.default)(0);t=t.divide(62))i+=e.charAt(Number(t.divmod(62).remainder));return i}})(a||(a={}));e["default"]=a;},323:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3357));const s=i(r(1354));const a=i(r(1754));var o;(function(t){let e;let r;let i;let o;let u=new n.default;let c=s.default.mode.CBC;let l=s.default.pad.Pkcs7;let f=s.default.AES;t.algorithmMap=new Map([["aes",s.default.AES]]);t.modeMap=new Map([["cbc",s.default.mode.CBC],["cfb",s.default.mode.CFB],["cfb128",s.default.mode.CFB],["ecb",s.default.mode.ECB],["ofb",s.default.mode.OFB]]);t.paddingMap=new Map([["nopadding",s.default.pad.NoPadding],["pkcs7",s.default.pad.Pkcs7]]);function h(){e=s.default.MD5((new Date).getTime().toString());r=s.default.MD5(e);u.setPublicKey(a.default.publicKey);e.toString(s.default.enc.Hex);r.toString(s.default.enc.Hex);i=u.encrypt(e.toString(s.default.enc.Hex));o=u.encrypt(r.toString(s.default.enc.Hex));}t.resetKey=h;function d(e,r,i){f=t.algorithmMap.get(e);c=t.modeMap.get(r);l=t.paddingMap.get(i);}t.setEncryptParams=d;function p(t){return f.encrypt(t,e,{iv:r,mode:c,padding:l}).toString()}t.encrypt=p;function v(t){return f.decrypt(t,e,{iv:r,mode:c,padding:l}).toString(s.default.enc.Utf8)}t.decrypt=v;function g(t){return s.default.SHA256(t).toString(s.default.enc.Base64)}t.sha256=g;function y(t){return s.default.MD5(t).toString(s.default.enc.Hex)}t.md5Hex=y;function m(){return i?i:""}t.getEncryptedSecretKey=m;function _(){return o?o:""}t.getEncryptedIV=_;})(o||(o={}));e["default"]=o;},1237:(t,e)=>{Object.defineProperty(e,"__esModule",{value:true});class r{static info(...t){if(this.debugMode)console.info(`[GtPush]`,t);}static error(...t){console.error(`[GtPush]`,t);}}r.debugMode=false;e["default"]=r;},3357:(t,e,r)=>{r.r(e);r.d(e,{JSEncrypt:()=>_t,default:()=>bt});var i="0123456789abcdefghijklmnopqrstuvwxyz";function n(t){return i.charAt(t)}function s(t,e){return t&e}function a(t,e){return t|e}function o(t,e){return t^e}function u(t,e){return t&~e}function c(t){if(0==t)return -1;var e=0;if(0==(65535&t)){t>>=16;e+=16;}if(0==(255&t)){t>>=8;e+=8;}if(0==(15&t)){t>>=4;e+=4;}if(0==(3&t)){t>>=2;e+=2;}if(0==(1&t))++e;return e}function l(t){var e=0;while(0!=t){t&=t-1;++e;}return e}var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var h="=";function d(t){var e;var r;var i="";for(e=0;e+3<=t.length;e+=3){r=parseInt(t.substring(e,e+3),16);i+=f.charAt(r>>6)+f.charAt(63&r);}if(e+1==t.length){r=parseInt(t.substring(e,e+1),16);i+=f.charAt(r<<2);}else if(e+2==t.length){r=parseInt(t.substring(e,e+2),16);i+=f.charAt(r>>2)+f.charAt((3&r)<<4);}while((3&i.length)>0)i+=h;return i}function p(t){var e="";var r;var i=0;var s=0;for(r=0;r>2);s=3&a;i=1;}else if(1==i){e+=n(s<<2|a>>4);s=15&a;i=2;}else if(2==i){e+=n(s);e+=n(a>>2);s=3&a;i=3;}else {e+=n(s<<2|a>>4);e+=n(15&a);i=0;}}if(1==i)e+=n(s<<2);return e}var g;var y={decode:function(t){var e;if(void 0===g){var r="0123456789ABCDEF";var i=" \f\n\r\t \u2028\u2029";g={};for(e=0;e<16;++e)g[r.charAt(e)]=e;r=r.toLowerCase();for(e=10;e<16;++e)g[r.charAt(e)]=e;for(e=0;e=2){n[n.length]=s;s=0;a=0;}else s<<=4;}if(a)throw new Error("Hex encoding incomplete: 4 bits missing");return n}};var m;var _={decode:function(t){var e;if(void 0===m){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var i="= \f\n\r\t \u2028\u2029";m=Object.create(null);for(e=0;e<64;++e)m[r.charAt(e)]=e;m["-"]=62;m["_"]=63;for(e=0;e=4){n[n.length]=s>>16;n[n.length]=s>>8&255;n[n.length]=255&s;s=0;a=0;}else s<<=6;}switch(a){case 1:throw new Error("Base64 encoding incomplete: at least 2 bits missing");case 2:n[n.length]=s>>10;break;case 3:n[n.length]=s>>16;n[n.length]=s>>8&255;break}return n},re:/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,unarmor:function(t){var e=_.re.exec(t);if(e)if(e[1])t=e[1];else if(e[2])t=e[2];else throw new Error("RegExp out of sync");return _.decode(t)}};var b=1e13;var S=function(){function t(t){this.buf=[+t||0];}t.prototype.mulAdd=function(t,e){var r=this.buf;var i=r.length;var n;var s;for(n=0;n0)r[n]=e;};t.prototype.sub=function(t){var e=this.buf;var r=e.length;var i;var n;for(i=0;i=0;--i)r+=(b+e[i]).toString().substring(1);return r};t.prototype.valueOf=function(){var t=this.buf;var e=0;for(var r=t.length-1;r>=0;--r)e=e*b+t[r];return e};t.prototype.simplify=function(){var t=this.buf;return 1==t.length?t[0]:this};return t}();var w="…";var E=/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;var D=/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;function A(t,e){if(t.length>e)t=t.substring(0,e)+w;return t}var T=function(){function t(e,r){this.hexDigits="0123456789ABCDEF";if(e instanceof t){this.enc=e.enc;this.pos=e.pos;}else {this.enc=e;this.pos=r;}}t.prototype.get=function(t){if(void 0===t)t=this.pos++;if(t>=this.enc.length)throw new Error("Requesting byte offset "+t+" on a stream of length "+this.enc.length);return "string"===typeof this.enc?this.enc.charCodeAt(t):this.enc[t]};t.prototype.hexByte=function(t){return this.hexDigits.charAt(t>>4&15)+this.hexDigits.charAt(15&t)};t.prototype.hexDump=function(t,e,r){var i="";for(var n=t;n176)return false}return true};t.prototype.parseStringISO=function(t,e){var r="";for(var i=t;i191&&n<224)r+=String.fromCharCode((31&n)<<6|63&this.get(i++));else r+=String.fromCharCode((15&n)<<12|(63&this.get(i++))<<6|63&this.get(i++));}return r};t.prototype.parseStringBMP=function(t,e){var r="";var i;var n;for(var s=t;s127;var n=i?255:0;var s;var a="";while(r==n&&++t4){a=r;s<<=3;while(0==(128&(+a^n))){a=+a<<1;--s;}a="("+s+" bit)\n";}if(i)r-=256;var o=new S(r);for(var u=t+1;u=c;--l)a+=u>>l&1?"1":"0";if(a.length>r)return s+A(a,r)}return s+a};t.prototype.parseOctetString=function(t,e,r){if(this.isASCII(t,e))return A(this.parseStringISO(t,e),r);var i=e-t;var n="("+i+" byte)\n";r/=2;if(i>r)e=t+r;for(var s=t;sr)n+=w;return n};t.prototype.parseOID=function(t,e,r){var i="";var n=new S;var s=0;for(var a=t;ar)return A(i,r);n=new S;s=0;}}if(s>0)i+=".incomplete";return i};return t}();var M=function(){function t(t,e,r,i,n){if(!(i instanceof R))throw new Error("Invalid tag value.");this.stream=t;this.header=e;this.length=r;this.tag=i;this.sub=n;}t.prototype.typeName=function(){switch(this.tag.tagClass){case 0:switch(this.tag.tagNumber){case 0:return "EOC";case 1:return "BOOLEAN";case 2:return "INTEGER";case 3:return "BIT_STRING";case 4:return "OCTET_STRING";case 5:return "NULL";case 6:return "OBJECT_IDENTIFIER";case 7:return "ObjectDescriptor";case 8:return "EXTERNAL";case 9:return "REAL";case 10:return "ENUMERATED";case 11:return "EMBEDDED_PDV";case 12:return "UTF8String";case 16:return "SEQUENCE";case 17:return "SET";case 18:return "NumericString";case 19:return "PrintableString";case 20:return "TeletexString";case 21:return "VideotexString";case 22:return "IA5String";case 23:return "UTCTime";case 24:return "GeneralizedTime";case 25:return "GraphicString";case 26:return "VisibleString";case 27:return "GeneralString";case 28:return "UniversalString";case 30:return "BMPString"}return "Universal_"+this.tag.tagNumber.toString();case 1:return "Application_"+this.tag.tagNumber.toString();case 2:return "["+this.tag.tagNumber.toString()+"]";case 3:return "Private_"+this.tag.tagNumber.toString()}};t.prototype.content=function(t){if(void 0===this.tag)return null;if(void 0===t)t=1/0;var e=this.posContent();var r=Math.abs(this.length);if(!this.tag.isUniversal()){if(null!==this.sub)return "("+this.sub.length+" elem)";return this.stream.parseOctetString(e,e+r,t)}switch(this.tag.tagNumber){case 1:return 0===this.stream.get(e)?"false":"true";case 2:return this.stream.parseInteger(e,e+r);case 3:return this.sub?"("+this.sub.length+" elem)":this.stream.parseBitString(e,e+r,t);case 4:return this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(e,e+r,t);case 6:return this.stream.parseOID(e,e+r,t);case 16:case 17:if(null!==this.sub)return "("+this.sub.length+" elem)";else return "(no elem)";case 12:return A(this.stream.parseStringUTF(e,e+r),t);case 18:case 19:case 20:case 21:case 22:case 26:return A(this.stream.parseStringISO(e,e+r),t);case 30:return A(this.stream.parseStringBMP(e,e+r),t);case 23:case 24:return this.stream.parseTime(e,e+r,23==this.tag.tagNumber)}return null};t.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"};t.prototype.toPrettyString=function(t){if(void 0===t)t="";var e=t+this.typeName()+" @"+this.stream.pos;if(this.length>=0)e+="+";e+=this.length;if(this.tag.tagConstructed)e+=" (constructed)";else if(this.tag.isUniversal()&&(3==this.tag.tagNumber||4==this.tag.tagNumber)&&null!==this.sub)e+=" (encapsulates)";e+="\n";if(null!==this.sub){t+=" ";for(var r=0,i=this.sub.length;r6)throw new Error("Length over 48 bits not supported at position "+(t.pos-1));if(0===r)return null;e=0;for(var i=0;i>6;this.tagConstructed=0!==(32&e);this.tagNumber=31&e;if(31==this.tagNumber){var r=new S;do{e=t.get();r.mulAdd(128,127&e);}while(128&e);this.tagNumber=r.simplify();}}t.prototype.isUniversal=function(){return 0===this.tagClass};t.prototype.isEOC=function(){return 0===this.tagClass&&0===this.tagNumber};return t}();var I;var B=0xdeadbeefcafe;var x=15715070==(16777215&B);var C=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997];var O=(1<<26)/C[C.length-1];var k=function(){function t(t,e,r){if(null!=t)if("number"==typeof t)this.fromNumber(t,e,r);else if(null==e&&"string"!=typeof t)this.fromString(t,256);else this.fromString(t,e);}t.prototype.toString=function(t){if(this.s<0)return "-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else if(4==t)e=2;else return this.toRadix(t);var r=(1<0){if(u>u)>0){s=true;a=n(i);}while(o>=0){if(u>(u+=this.DB-e);}else {i=this[o]>>(u-=e)&r;if(u<=0){u+=this.DB;--o;}}if(i>0)s=true;if(s)a+=n(i);}}return s?a:"0"};t.prototype.negate=function(){var e=V();t.ZERO.subTo(this,e);return e};t.prototype.abs=function(){return this.s<0?this.negate():this};t.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;e=r-t.t;if(0!=e)return this.s<0?-e:e;while(--r>=0)if(0!=(e=this[r]-t[r]))return e;return 0};t.prototype.bitLength=function(){if(this.t<=0)return 0;return this.DB*(this.t-1)+J(this[this.t-1]^this.s&this.DM)};t.prototype.mod=function(e){var r=V();this.abs().divRemTo(e,null,r);if(this.s<0&&r.compareTo(t.ZERO)>0)e.subTo(r,r);return r};t.prototype.modPowInt=function(t,e){var r;if(t<256||e.isEven())r=new P(e);else r=new H(e);return this.exp(t,r)};t.prototype.clone=function(){var t=V();this.copyTo(t);return t};t.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;else if(0==this.t)return -1}else if(1==this.t)return this[0];else if(0==this.t)return 0;return (this[1]&(1<<32-this.DB)-1)<>24};t.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16};t.prototype.signum=function(){if(this.s<0)return -1;else if(this.t<=0||1==this.t&&this[0]<=0)return 0;else return 1};t.prototype.toByteArray=function(){var t=this.t;var e=[];e[0]=this.s;var r=this.DB-t*this.DB%8;var i;var n=0;if(t-- >0){if(r>r)!=(this.s&this.DM)>>r)e[n++]=i|this.s<=0){if(r<8){i=(this[t]&(1<>(r+=this.DB-8);}else {i=this[t]>>(r-=8)&255;if(r<=0){r+=this.DB;--t;}}if(0!=(128&i))i|=-256;if(0==n&&(128&this.s)!=(128&i))++n;if(n>0||i!=this.s)e[n++]=i;}}return e};t.prototype.equals=function(t){return 0==this.compareTo(t)};t.prototype.min=function(t){return this.compareTo(t)<0?this:t};t.prototype.max=function(t){return this.compareTo(t)>0?this:t};t.prototype.and=function(t){var e=V();this.bitwiseTo(t,s,e);return e};t.prototype.or=function(t){var e=V();this.bitwiseTo(t,a,e);return e};t.prototype.xor=function(t){var e=V();this.bitwiseTo(t,o,e);return e};t.prototype.andNot=function(t){var e=V();this.bitwiseTo(t,u,e);return e};t.prototype.not=function(){var t=V();for(var e=0;e=this.t)return 0!=this.s;return 0!=(this[e]&1<1){var l=V();s.sqrTo(a[1],l);while(o<=c){a[o]=V();s.mulTo(l,a[o-2],a[o]);o+=2;}}var f=t.t-1;var h;var d=true;var p=V();var v;r=J(t[f])-1;while(f>=0){if(r>=u)h=t[f]>>r-u&c;else {h=(t[f]&(1<0)h|=t[f-1]>>this.DB+r-u;}o=i;while(0==(1&h)){h>>=1;--o;}if((r-=o)<0){r+=this.DB;--f;}if(d){a[h].copyTo(n);d=false;}else {while(o>1){s.sqrTo(n,p);s.sqrTo(p,n);o-=2;}if(o>0)s.sqrTo(n,p);else {v=n;n=p;p=v;}s.mulTo(p,a[h],n);}while(f>=0&&0==(t[f]&1<=0){i.subTo(n,i);if(r)s.subTo(o,s);a.subTo(u,a);}else {n.subTo(i,n);if(r)o.subTo(s,o);u.subTo(a,u);}}if(0!=n.compareTo(t.ONE))return t.ZERO;if(u.compareTo(e)>=0)return u.subtract(e);if(u.signum()<0)u.addTo(e,u);else return u;if(u.signum()<0)return u.add(e);else return u};t.prototype.pow=function(t){return this.exp(t,new N)};t.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone();var r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var i=e;e=r;r=i;}var n=e.getLowestSetBit();var s=r.getLowestSetBit();if(s<0)return e;if(n0){e.rShiftTo(s,e);r.rShiftTo(s,r);}while(e.signum()>0){if((n=e.getLowestSetBit())>0)e.rShiftTo(n,e);if((n=r.getLowestSetBit())>0)r.rShiftTo(n,r);if(e.compareTo(r)>=0){e.subTo(r,e);e.rShiftTo(1,e);}else {r.subTo(e,r);r.rShiftTo(1,r);}}if(s>0)r.lShiftTo(s,r);return r};t.prototype.isProbablePrime=function(t){var e;var r=this.abs();if(1==r.t&&r[0]<=C[C.length-1]){for(e=0;e=0;--e)t[e]=this[e];t.t=this.t;t.s=this.s;};t.prototype.fromInt=function(t){this.t=1;this.s=t<0?-1:0;if(t>0)this[0]=t;else if(t<-1)this[0]=t+this.DV;else this.t=0;};t.prototype.fromString=function(e,r){var i;if(16==r)i=4;else if(8==r)i=3;else if(256==r)i=8;else if(2==r)i=1;else if(32==r)i=5;else if(4==r)i=2;else {this.fromRadix(e,r);return}this.t=0;this.s=0;var n=e.length;var s=false;var a=0;while(--n>=0){var o=8==i?255&+e[n]:W(e,n);if(o<0){if("-"==e.charAt(n))s=true;continue}s=false;if(0==a)this[this.t++]=o;else if(a+i>this.DB){this[this.t-1]|=(o&(1<>this.DB-a;}else this[this.t-1]|=o<=this.DB)a-=this.DB;}if(8==i&&0!=(128&+e[0])){this.s=-1;if(a>0)this[this.t-1]|=(1<0&&this[this.t-1]==t)--this.t;};t.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t;e.s=this.s;};t.prototype.drShiftTo=function(t,e){for(var r=t;r=0;--o){e[o+s+1]=this[o]>>i|a;a=(this[o]&n)<=0;--o)e[o]=0;e[s]=a;e.t=this.t+s+1;e.s=this.s;e.clamp();};t.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var i=t%this.DB;var n=this.DB-i;var s=(1<>i;for(var a=r+1;a>i;}if(i>0)e[this.t-r-1]|=(this.s&s)<>=this.DB;}if(t.t>=this.DB;}i+=this.s;}else {i+=this.s;while(r>=this.DB;}i-=t.s;}e.s=i<0?-1:0;if(i<-1)e[r++]=this.DV+i;else if(i>0)e[r++]=i;e.t=r;e.clamp();};t.prototype.multiplyTo=function(e,r){var i=this.abs();var n=e.abs();var s=i.t;r.t=s+n.t;while(--s>=0)r[s]=0;for(s=0;s=0)t[r]=0;for(r=0;r=e.DV){t[r+e.t]-=e.DV;t[r+e.t+1]=1;}}if(t.t>0)t[t.t-1]+=e.am(r,e[r],t,2*r,0,1);t.s=0;t.clamp();};t.prototype.divRemTo=function(e,r,i){var n=e.abs();if(n.t<=0)return;var s=this.abs();if(s.t0){n.lShiftTo(c,a);s.lShiftTo(c,i);}else {n.copyTo(a);s.copyTo(i);}var l=a.t;var f=a[l-1];if(0==f)return;var h=f*(1<1?a[l-2]>>this.F2:0);var d=this.FV/h;var p=(1<=0){i[i.t++]=1;i.subTo(m,i);}t.ONE.dlShiftTo(l,m);m.subTo(a,a);while(a.t=0){var _=i[--g]==f?this.DM:Math.floor(i[g]*d+(i[g-1]+v)*p);if((i[g]+=a.am(0,_,i,y,0,l))<_){a.dlShiftTo(y,m);i.subTo(m,i);while(i[g]<--_)i.subTo(m,i);}}if(null!=r){i.drShiftTo(l,r);if(o!=u)t.ZERO.subTo(r,r);}i.t=l;i.clamp();if(c>0)i.rShiftTo(c,i);if(o<0)t.ZERO.subTo(i,i);};t.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;e=e*(2-(15&t)*e)&15;e=e*(2-(255&t)*e)&255;e=e*(2-((65535&t)*e&65535))&65535;e=e*(2-t*e%this.DV)%this.DV;return e>0?this.DV-e:-e};t.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)};t.prototype.exp=function(e,r){if(e>4294967295||e<1)return t.ONE;var i=V();var n=V();var s=r.convert(this);var a=J(e)-1;s.copyTo(i);while(--a>=0){r.sqrTo(i,n);if((e&1<0)r.mulTo(n,s,i);else {var o=i;i=n;n=o;}}return r.revert(i)};t.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))};t.prototype.toRadix=function(t){if(null==t)t=10;if(0==this.signum()||t<2||t>36)return "0";var e=this.chunkSize(t);var r=Math.pow(t,e);var i=Y(r);var n=V();var s=V();var a="";this.divRemTo(i,n,s);while(n.signum()>0){a=(r+s.intValue()).toString(t).substr(1)+a;n.divRemTo(i,n,s);}return s.intValue().toString(t)+a};t.prototype.fromRadix=function(e,r){this.fromInt(0);if(null==r)r=10;var i=this.chunkSize(r);var n=Math.pow(r,i);var s=false;var a=0;var o=0;for(var u=0;u=i){this.dMultiply(n);this.dAddOffset(o,0);a=0;o=0;}}if(a>0){this.dMultiply(Math.pow(r,a));this.dAddOffset(o,0);}if(s)t.ZERO.subTo(this,this);};t.prototype.fromNumber=function(e,r,i){if("number"==typeof r)if(e<2)this.fromInt(1);else {this.fromNumber(e,i);if(!this.testBit(e-1))this.bitwiseTo(t.ONE.shiftLeft(e-1),a,this);if(this.isEven())this.dAddOffset(1,0);while(!this.isProbablePrime(r)){this.dAddOffset(2,0);if(this.bitLength()>e)this.subTo(t.ONE.shiftLeft(e-1),this);}}else {var n=[];var s=7&e;n.length=(e>>3)+1;r.nextBytes(n);if(s>0)n[0]&=(1<>=this.DB;}if(t.t>=this.DB;}i+=this.s;}else {i+=this.s;while(r>=this.DB;}i+=t.s;}e.s=i<0?-1:0;if(i>0)e[r++]=i;else if(i<-1)e[r++]=this.DV+i;e.t=r;e.clamp();};t.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t);++this.t;this.clamp();};t.prototype.dAddOffset=function(t,e){if(0==t)return;while(this.t<=e)this[this.t++]=0;this[e]+=t;while(this[e]>=this.DV){this[e]-=this.DV;if(++e>=this.t)this[this.t++]=0;++this[e];}};t.prototype.multiplyLowerTo=function(t,e,r){var i=Math.min(this.t+t.t,e);r.s=0;r.t=i;while(i>0)r[--i]=0;for(var n=r.t-this.t;i=0)r[i]=0;for(i=Math.max(e-this.t,0);i0)if(0==e)r=this[0]%t;else for(var i=this.t-1;i>=0;--i)r=(e*r+this[i])%t;return r};t.prototype.millerRabin=function(e){var r=this.subtract(t.ONE);var i=r.getLowestSetBit();if(i<=0)return false;var n=r.shiftRight(i);e=e+1>>1;if(e>C.length)e=C.length;var s=V();for(var a=0;a0){r.rShiftTo(a,r);i.rShiftTo(a,i);}var o=function(){if((s=r.getLowestSetBit())>0)r.rShiftTo(s,r);if((s=i.getLowestSetBit())>0)i.rShiftTo(s,i);if(r.compareTo(i)>=0){r.subTo(i,r);r.rShiftTo(1,r);}else {i.subTo(r,i);i.rShiftTo(1,i);}if(!(r.signum()>0)){if(a>0)i.lShiftTo(a,i);setTimeout((function(){e(i);}),0);}else setTimeout(o,0);};setTimeout(o,10);};t.prototype.fromNumberAsync=function(e,r,i,n){if("number"==typeof r)if(e<2)this.fromInt(1);else {this.fromNumber(e,i);if(!this.testBit(e-1))this.bitwiseTo(t.ONE.shiftLeft(e-1),a,this);if(this.isEven())this.dAddOffset(1,0);var s=this;var o=function(){s.dAddOffset(2,0);if(s.bitLength()>e)s.subTo(t.ONE.shiftLeft(e-1),s);if(s.isProbablePrime(r))setTimeout((function(){n();}),0);else setTimeout(o,0);};setTimeout(o,0);}else {var u=[];var c=7&e;u.length=(e>>3)+1;r.nextBytes(u);if(c>0)u[0]&=(1<=0)return t.mod(this.m);else return t};t.prototype.revert=function(t){return t};t.prototype.reduce=function(t){t.divRemTo(this.m,null,t);};t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r);this.reduce(r);};t.prototype.sqrTo=function(t,e){t.squareTo(e);this.reduce(e);};return t}();var H=function(){function t(t){this.m=t;this.mp=t.invDigit();this.mpl=32767&this.mp;this.mph=this.mp>>15;this.um=(1<0)this.m.subTo(e,e);return e};t.prototype.revert=function(t){var e=V();t.copyTo(e);this.reduce(e);return e};t.prototype.reduce=function(t){while(t.t<=this.mt2)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;r=e+this.m.t;t[r]+=this.m.am(0,i,t,e,0,this.m.t);while(t[r]>=t.DV){t[r]-=t.DV;t[++r]++;}}t.clamp();t.drShiftTo(this.m.t,t);if(t.compareTo(this.m)>=0)t.subTo(this.m,t);};t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r);this.reduce(r);};t.prototype.sqrTo=function(t,e){t.squareTo(e);this.reduce(e);};return t}();var L=function(){function t(t){this.m=t;this.r2=V();this.q3=V();k.ONE.dlShiftTo(2*t.t,this.r2);this.mu=this.r2.divide(t);}t.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);else if(t.compareTo(this.m)<0)return t;else {var e=V();t.copyTo(e);this.reduce(e);return e}};t.prototype.revert=function(t){return t};t.prototype.reduce=function(t){t.drShiftTo(this.m.t-1,this.r2);if(t.t>this.m.t+1){t.t=this.m.t+1;t.clamp();}this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3);this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);while(t.compareTo(this.r2)<0)t.dAddOffset(1,this.m.t+1);t.subTo(this.r2,t);while(t.compareTo(this.m)>=0)t.subTo(this.m,t);};t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r);this.reduce(r);};t.prototype.sqrTo=function(t,e){t.squareTo(e);this.reduce(e);};return t}();function V(){return new k(null)}function U(t,e){return new k(t,e)}var F="undefined"!==typeof navigator;if(F&&x&&"Microsoft Internet Explorer"==navigator.appName){k.prototype.am=function t(e,r,i,n,s,a){var o=32767&r;var u=r>>15;while(--a>=0){var c=32767&this[e];var l=this[e++]>>15;var f=u*c+l*o;c=o*c+((32767&f)<<15)+i[n]+(1073741823&s);s=(c>>>30)+(f>>>15)+u*l+(s>>>30);i[n++]=1073741823&c;}return s};I=30;}else if(F&&x&&"Netscape"!=navigator.appName){k.prototype.am=function t(e,r,i,n,s,a){while(--a>=0){var o=r*this[e++]+i[n]+s;s=Math.floor(o/67108864);i[n++]=67108863&o;}return s};I=26;}else {k.prototype.am=function t(e,r,i,n,s,a){var o=16383&r;var u=r>>14;while(--a>=0){var c=16383&this[e];var l=this[e++]>>14;var f=u*c+l*o;c=o*c+((16383&f)<<14)+i[n]+s;s=(c>>28)+(f>>14)+u*l;i[n++]=268435455&c;}return s};I=28;}k.prototype.DB=I;k.prototype.DM=(1<>>16)){t=r;e+=16;}if(0!=(r=t>>8)){t=r;e+=8;}if(0!=(r=t>>4)){t=r;e+=4;}if(0!=(r=t>>2)){t=r;e+=2;}if(0!=(r=t>>1)){t=r;e+=1;}return e}k.ZERO=Y(0);k.ONE=Y(1);var G=function(){function t(){this.i=0;this.j=0;this.S=[];}t.prototype.init=function(t){var e;var r;var i;for(e=0;e<256;++e)this.S[e]=e;r=0;for(e=0;e<256;++e){r=r+this.S[e]+t[e%t.length]&255;i=this.S[e];this.S[e]=this.S[r];this.S[r]=i;}this.i=0;this.j=0;};t.prototype.next=function(){var t;this.i=this.i+1&255;this.j=this.j+this.S[this.i]&255;t=this.S[this.i];this.S[this.i]=this.S[this.j];this.S[this.j]=t;return this.S[t+this.S[this.i]&255]};return t}();function X(){return new G}var Z=256;var $;var Q=null;var tt;if(null==Q){Q=[];tt=0;}function nt(){if(null==$){$=X();while(tt=0&&e>0){var n=t.charCodeAt(i--);if(n<128)r[--e]=n;else if(n>127&&n<2048){r[--e]=63&n|128;r[--e]=n>>6|192;}else {r[--e]=63&n|128;r[--e]=n>>6&63|128;r[--e]=n>>12|224;}}r[--e]=0;var s=new st;var a=[];while(e>2){a[0]=0;while(0==a[0])s.nextBytes(a);r[--e]=a[0];}r[--e]=2;r[--e]=0;return new k(r)}var ut=function(){function t(){this.n=null;this.e=0;this.d=null;this.p=null;this.q=null;this.dmp1=null;this.dmq1=null;this.coeff=null;}t.prototype.doPublic=function(t){return t.modPowInt(this.e,this.n)};t.prototype.doPrivate=function(t){if(null==this.p||null==this.q)return t.modPow(this.d,this.n);var e=t.mod(this.p).modPow(this.dmp1,this.p);var r=t.mod(this.q).modPow(this.dmq1,this.q);while(e.compareTo(r)<0)e=e.add(this.p);return e.subtract(r).multiply(this.coeff).mod(this.p).multiply(this.q).add(r)};t.prototype.setPublic=function(t,e){if(null!=t&&null!=e&&t.length>0&&e.length>0){this.n=U(t,16);this.e=parseInt(e,16);}else console.error("Invalid RSA public key");};t.prototype.encrypt=function(t){var e=this.n.bitLength()+7>>3;var r=ot(t,e);if(null==r)return null;var i=this.doPublic(r);if(null==i)return null;var n=i.toString(16);var s=n.length;for(var a=0;a<2*e-s;a++)n="0"+n;return n};t.prototype.setPrivate=function(t,e,r){if(null!=t&&null!=e&&t.length>0&&e.length>0){this.n=U(t,16);this.e=parseInt(e,16);this.d=U(r,16);}else console.error("Invalid RSA private key");};t.prototype.setPrivateEx=function(t,e,r,i,n,s,a,o){if(null!=t&&null!=e&&t.length>0&&e.length>0){this.n=U(t,16);this.e=parseInt(e,16);this.d=U(r,16);this.p=U(i,16);this.q=U(n,16);this.dmp1=U(s,16);this.dmq1=U(a,16);this.coeff=U(o,16);}else console.error("Invalid RSA private key");};t.prototype.generate=function(t,e){var r=new st;var i=t>>1;this.e=parseInt(e,16);var n=new k(e,16);for(;;){for(;;){this.p=new k(t-i,1,r);if(0==this.p.subtract(k.ONE).gcd(n).compareTo(k.ONE)&&this.p.isProbablePrime(10))break}for(;;){this.q=new k(i,1,r);if(0==this.q.subtract(k.ONE).gcd(n).compareTo(k.ONE)&&this.q.isProbablePrime(10))break}if(this.p.compareTo(this.q)<=0){var s=this.p;this.p=this.q;this.q=s;}var a=this.p.subtract(k.ONE);var o=this.q.subtract(k.ONE);var u=a.multiply(o);if(0==u.gcd(n).compareTo(k.ONE)){this.n=this.p.multiply(this.q);this.d=n.modInverse(u);this.dmp1=this.d.mod(a);this.dmq1=this.d.mod(o);this.coeff=this.q.modInverse(this.p);break}}};t.prototype.decrypt=function(t){var e=U(t,16);var r=this.doPrivate(e);if(null==r)return null;return ct(r,this.n.bitLength()+7>>3)};t.prototype.generateAsync=function(t,e,r){var i=new st;var n=t>>1;this.e=parseInt(e,16);var s=new k(e,16);var a=this;var o=function(){var e=function(){if(a.p.compareTo(a.q)<=0){var t=a.p;a.p=a.q;a.q=t;}var e=a.p.subtract(k.ONE);var i=a.q.subtract(k.ONE);var n=e.multiply(i);if(0==n.gcd(s).compareTo(k.ONE)){a.n=a.p.multiply(a.q);a.d=s.modInverse(n);a.dmp1=a.d.mod(e);a.dmq1=a.d.mod(i);a.coeff=a.q.modInverse(a.p);setTimeout((function(){r();}),0);}else setTimeout(o,0);};var u=function(){a.q=V();a.q.fromNumberAsync(n,1,i,(function(){a.q.subtract(k.ONE).gcda(s,(function(t){if(0==t.compareTo(k.ONE)&&a.q.isProbablePrime(10))setTimeout(e,0);else setTimeout(u,0);}));}));};var c=function(){a.p=V();a.p.fromNumberAsync(t-n,1,i,(function(){a.p.subtract(k.ONE).gcda(s,(function(t){if(0==t.compareTo(k.ONE)&&a.p.isProbablePrime(10))setTimeout(u,0);else setTimeout(c,0);}));}));};setTimeout(c,0);};setTimeout(o,0);};t.prototype.sign=function(t,e,r){var i=ht(r);var n=i+e(t).toString();var s=at(n,this.n.bitLength()/4);if(null==s)return null;var a=this.doPrivate(s);if(null==a)return null;var o=a.toString(16);if(0==(1&o.length))return o;else return "0"+o};t.prototype.verify=function(t,e,r){var i=U(e,16);var n=this.doPublic(i);if(null==n)return null;var s=n.toString(16).replace(/^1f+00/,"");var a=dt(s);return a==r(t).toString()};t.prototype.encryptLong=function(t){var e=this;var r="";var i=(this.n.bitLength()+7>>3)-11;var n=this.setSplitChn(t,i);n.forEach((function(t){r+=e.encrypt(t);}));return r};t.prototype.decryptLong=function(t){var e="";var r=this.n.bitLength()+7>>3;var i=2*r;if(t.length>i){var n=t.match(new RegExp(".{1,"+i+"}","g"))||[];var s=[];for(var a=0;ae){var o=t.substring(0,s);r.push(o);return this.setSplitChn(t.substring(s),e,r)}}r.push(t);return r};return t}();function ct(t,e){var r=t.toByteArray();var i=0;while(i=r.length)return null;var n="";while(++i191&&s<224){n+=String.fromCharCode((31&s)<<6|63&r[i+1]);++i;}else {n+=String.fromCharCode((15&s)<<12|(63&r[i+1])<<6|63&r[i+2]);i+=2;}}return n}function lt(t,e){var r=[];for(var i=0;i=s.length)return null;r=r.concat(s.slice(a+1));}var o=r;var u=-1;var c="";while(++u191&&l<224){c+=String.fromCharCode((31&l)<<6|63&o[u+1]);++u;}else {c+=String.fromCharCode((15&l)<<12|(63&o[u+1])<<6|63&o[u+2]);u+=2;}}return c}var ft={md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",ripemd160:"3021300906052b2403020105000414"};function ht(t){return ft[t]||""}function dt(t){for(var e in ft)if(ft.hasOwnProperty(e)){var r=ft[e];var i=r.length;if(t.substr(0,i)==r)return t.substr(i)}return t}var pt={};pt.lang={extend:function(t,e,r){if(!e||!t)throw new Error("YAHOO.lang.extend failed, please check that "+"all dependencies are included.");var i=function(){};i.prototype=e.prototype;t.prototype=new i;t.prototype.constructor=t;t.superclass=e.prototype;if(e.prototype.constructor==Object.prototype.constructor)e.prototype.constructor=e;if(r){var n;for(n in r)t.prototype[n]=r[n];var s=function(){},a=["toString","valueOf"];try{if(/MSIE/.test(navigator.userAgent))s=function(t,e){for(n=0;n15)throw "ASN.1 length too long to represent by 8x: n = "+t.toString(16);var i=128+r;return i.toString(16)+e}};this.getEncodedHex=function(){if(null==this.hTLV||this.isModified){this.hV=this.getFreshValueHex();this.hL=this.getLengthHexFromValue();this.hTLV=this.hT+this.hL+this.hV;this.isModified=false;}return this.hTLV};this.getValueHex=function(){this.getEncodedHex();return this.hV};this.getFreshValueHex=function(){return ""};};vt.asn1.DERAbstractString=function(t){vt.asn1.DERAbstractString.superclass.constructor.call(this);this.getString=function(){return this.s};this.setString=function(t){this.hTLV=null;this.isModified=true;this.s=t;this.hV=stohex(this.s);};this.setStringHex=function(t){this.hTLV=null;this.isModified=true;this.s=null;this.hV=t;};this.getFreshValueHex=function(){return this.hV};if("undefined"!=typeof t)if("string"==typeof t)this.setString(t);else if("undefined"!=typeof t["str"])this.setString(t["str"]);else if("undefined"!=typeof t["hex"])this.setStringHex(t["hex"]);};pt.lang.extend(vt.asn1.DERAbstractString,vt.asn1.ASN1Object);vt.asn1.DERAbstractTime=function(t){vt.asn1.DERAbstractTime.superclass.constructor.call(this);this.localDateToUTC=function(t){utc=t.getTime()+6e4*t.getTimezoneOffset();var e=new Date(utc);return e};this.formatDate=function(t,e,r){var i=this.zeroPadding;var n=this.localDateToUTC(t);var s=String(n.getFullYear());if("utc"==e)s=s.substr(2,2);var a=i(String(n.getMonth()+1),2);var o=i(String(n.getDate()),2);var u=i(String(n.getHours()),2);var c=i(String(n.getMinutes()),2);var l=i(String(n.getSeconds()),2);var f=s+a+o+u+c+l;if(true===r){var h=n.getMilliseconds();if(0!=h){var d=i(String(h),3);d=d.replace(/[0]+$/,"");f=f+"."+d;}}return f+"Z"};this.zeroPadding=function(t,e){if(t.length>=e)return t;return new Array(e-t.length+1).join("0")+t};this.getString=function(){return this.s};this.setString=function(t){this.hTLV=null;this.isModified=true;this.s=t;this.hV=stohex(t);};this.setByDateValue=function(t,e,r,i,n,s){var a=new Date(Date.UTC(t,e-1,r,i,n,s,0));this.setByDate(a);};this.getFreshValueHex=function(){return this.hV};};pt.lang.extend(vt.asn1.DERAbstractTime,vt.asn1.ASN1Object);vt.asn1.DERAbstractStructured=function(t){vt.asn1.DERAbstractString.superclass.constructor.call(this);this.setByASN1ObjectArray=function(t){this.hTLV=null;this.isModified=true;this.asn1Array=t;};this.appendASN1Object=function(t){this.hTLV=null;this.isModified=true;this.asn1Array.push(t);};this.asn1Array=new Array;if("undefined"!=typeof t)if("undefined"!=typeof t["array"])this.asn1Array=t["array"];};pt.lang.extend(vt.asn1.DERAbstractStructured,vt.asn1.ASN1Object);vt.asn1.DERBoolean=function(){vt.asn1.DERBoolean.superclass.constructor.call(this);this.hT="01";this.hTLV="0101ff";};pt.lang.extend(vt.asn1.DERBoolean,vt.asn1.ASN1Object);vt.asn1.DERInteger=function(t){vt.asn1.DERInteger.superclass.constructor.call(this);this.hT="02";this.setByBigInteger=function(t){this.hTLV=null;this.isModified=true;this.hV=vt.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t);};this.setByInteger=function(t){var e=new k(String(t),10);this.setByBigInteger(e);};this.setValueHex=function(t){this.hV=t;};this.getFreshValueHex=function(){return this.hV};if("undefined"!=typeof t)if("undefined"!=typeof t["bigint"])this.setByBigInteger(t["bigint"]);else if("undefined"!=typeof t["int"])this.setByInteger(t["int"]);else if("number"==typeof t)this.setByInteger(t);else if("undefined"!=typeof t["hex"])this.setValueHex(t["hex"]);};pt.lang.extend(vt.asn1.DERInteger,vt.asn1.ASN1Object);vt.asn1.DERBitString=function(t){if(void 0!==t&&"undefined"!==typeof t.obj){var e=vt.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex();}vt.asn1.DERBitString.superclass.constructor.call(this);this.hT="03";this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null;this.isModified=true;this.hV=t;};this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7{}};var __webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var r=__webpack_module_cache__[t]={id:t,loaded:false,exports:{}};__webpack_modules__[t].call(r.exports,r,r.exports,__webpack_require__);r.loaded=true;return r.exports}(()=>{__webpack_require__.amdO={};})();(()=>{__webpack_require__.d=(t,e)=>{for(var r in e)if(__webpack_require__.o(e,r)&&!__webpack_require__.o(t,r))Object.defineProperty(t,r,{enumerable:true,get:e[r]});};})();(()=>{__webpack_require__.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}();})();(()=>{__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);})();(()=>{__webpack_require__.r=t=>{if("undefined"!==typeof Symbol&&Symbol.toStringTag)Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});Object.defineProperty(t,"__esModule",{value:true});};})();(()=>{__webpack_require__.nmd=t=>{t.paths=[];if(!t.children)t.children=[];return t};})();var __webpack_exports__=__webpack_require__(5987);return __webpack_exports__})()})); - +}else throw new Error(`socket not connect`)}t.send=p;function v(t){i=false;r=false;o.default.getInstance().cancel();if(s.default.online){s.default.online=false;s.default.onlineState?.call(s.default.onlineState,{online:s.default.online});}if(s.default.online){s.default.online=false;s.default.onlineState?.call(s.default.onlineState,{online:s.default.online});}l(1e3);}let g=function(t){r=true;h();};let y=function(t){try{t.data;o.default.getInstance().refresh();a.default.receiveMessage(t.data);}catch(t){}};let m=function(t){d(`socket error`);};let _=function(t){v();};})(c||(c={}));e["default"]=c;},207:(t,e)=>{Object.defineProperty(e,"__esModule",{value:true});var r;(function(t){t.KEY_APPID="getui_appid";t.KEY_CID="getui_cid";t.KEY_SESSION="getui_session";t.KEY_REGID="getui_regid";t.KEY_SOCKET_URL="getui_socket_url";t.KEY_DEVICE_ID="getui_deviceid";t.KEY_ADD_PHONE_INFO_TIME="getui_api_time";t.KEY_BIND_ALIAS_TIME="getui_ba_time";t.KEY_SET_TAG_TIME="getui_st_time";function e(t,e){uni.setStorageSync(t,e);}t.setSync=e;function r(t){uni.setStorage({key:t.key,data:t.data,fail:()=>{t.key,t.data;t.fail?.call(t);}});}t.set=r;function i(t,e){let r=e;try{let e=uni.getStorageSync(t);if(e)r=e;}catch(t){}return r}t.getSync=i;function n(t){uni.getStorage({key:t.key,success:e=>{t.success?.call(t,e.data);},fail:()=>{t.key;t.fail?.call(t);}});}t.get=n;})(r||(r={}));e["default"]=r;},5574:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(4736));const s=i(r(323));var a;(function(t){let e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";let r=(0, n.default)("9223372036854775808");function i(t){let e=a(t);let r=o(e);let i=r[1];let n=r[0];return u(i)+u(n)}t.to_getui=i;function a(t){let e=s.default.md5Hex(t);let r=c(e);r[6]&=15;r[6]|=48;r[8]&=63;r[8]|=128;return r}function o(t){let e=(0, n.default)(0);let r=(0, n.default)(0);for(let r=0;r<8;r++)e=e.multiply(256).plus((0, n.default)(255&t[r]));for(let e=8;e<16;e++)r=r.multiply(256).plus((0, n.default)(255&t[e]));return [e,r]}function u(t){if(t>=r)t=r.multiply(2).minus(t);let i="";for(;t>(0, n.default)(0);t=t.divide(62))i+=e.charAt(Number(t.divmod(62).remainder));return i}function c(t){let e=t.length;if(e%2!=0)return [];let r=new Array;for(let i=0;i{Object.defineProperty(e,"__esModule",{value:true});class r{static info(...t){if(this.debugMode)console.info(`[GtPush]`,t);}static error(...t){console.error(`[GtPush]`,t);}}r.debugMode=false;e["default"]=r;},3357:(t,e,r)=>{r.r(e);r.d(e,{JSEncrypt:()=>_t,default:()=>wt});var i="0123456789abcdefghijklmnopqrstuvwxyz";function n(t){return i.charAt(t)}function s(t,e){return t&e}function a(t,e){return t|e}function o(t,e){return t^e}function u(t,e){return t&~e}function c(t){if(0==t)return -1;var e=0;if(0==(65535&t)){t>>=16;e+=16;}if(0==(255&t)){t>>=8;e+=8;}if(0==(15&t)){t>>=4;e+=4;}if(0==(3&t)){t>>=2;e+=2;}if(0==(1&t))++e;return e}function l(t){var e=0;while(0!=t){t&=t-1;++e;}return e}var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var h="=";function d(t){var e;var r;var i="";for(e=0;e+3<=t.length;e+=3){r=parseInt(t.substring(e,e+3),16);i+=f.charAt(r>>6)+f.charAt(63&r);}if(e+1==t.length){r=parseInt(t.substring(e,e+1),16);i+=f.charAt(r<<2);}else if(e+2==t.length){r=parseInt(t.substring(e,e+2),16);i+=f.charAt(r>>2)+f.charAt((3&r)<<4);}while((3&i.length)>0)i+=h;return i}function p(t){var e="";var r;var i=0;var s=0;for(r=0;r>2);s=3&a;i=1;}else if(1==i){e+=n(s<<2|a>>4);s=15&a;i=2;}else if(2==i){e+=n(s);e+=n(a>>2);s=3&a;i=3;}else {e+=n(s<<2|a>>4);e+=n(15&a);i=0;}}if(1==i)e+=n(s<<2);return e}var g;var y={decode:function(t){var e;if(void 0===g){var r="0123456789ABCDEF";var i=" \f\n\r\t \u2028\u2029";g={};for(e=0;e<16;++e)g[r.charAt(e)]=e;r=r.toLowerCase();for(e=10;e<16;++e)g[r.charAt(e)]=e;for(e=0;e=2){n[n.length]=s;s=0;a=0;}else s<<=4;}if(a)throw new Error("Hex encoding incomplete: 4 bits missing");return n}};var m;var _={decode:function(t){var e;if(void 0===m){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var i="= \f\n\r\t \u2028\u2029";m=Object.create(null);for(e=0;e<64;++e)m[r.charAt(e)]=e;m["-"]=62;m["_"]=63;for(e=0;e=4){n[n.length]=s>>16;n[n.length]=s>>8&255;n[n.length]=255&s;s=0;a=0;}else s<<=6;}switch(a){case 1:throw new Error("Base64 encoding incomplete: at least 2 bits missing");case 2:n[n.length]=s>>10;break;case 3:n[n.length]=s>>16;n[n.length]=s>>8&255;break}return n},re:/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,unarmor:function(t){var e=_.re.exec(t);if(e)if(e[1])t=e[1];else if(e[2])t=e[2];else throw new Error("RegExp out of sync");return _.decode(t)}};var w=1e13;var S=function(){function t(t){this.buf=[+t||0];}t.prototype.mulAdd=function(t,e){var r=this.buf;var i=r.length;var n;var s;for(n=0;n0)r[n]=e;};t.prototype.sub=function(t){var e=this.buf;var r=e.length;var i;var n;for(i=0;i=0;--i)r+=(w+e[i]).toString().substring(1);return r};t.prototype.valueOf=function(){var t=this.buf;var e=0;for(var r=t.length-1;r>=0;--r)e=e*w+t[r];return e};t.prototype.simplify=function(){var t=this.buf;return 1==t.length?t[0]:this};return t}();var b="…";var E=/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;var D=/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;function T(t,e){if(t.length>e)t=t.substring(0,e)+b;return t}var M=function(){function t(e,r){this.hexDigits="0123456789ABCDEF";if(e instanceof t){this.enc=e.enc;this.pos=e.pos;}else {this.enc=e;this.pos=r;}}t.prototype.get=function(t){if(void 0===t)t=this.pos++;if(t>=this.enc.length)throw new Error("Requesting byte offset "+t+" on a stream of length "+this.enc.length);return "string"===typeof this.enc?this.enc.charCodeAt(t):this.enc[t]};t.prototype.hexByte=function(t){return this.hexDigits.charAt(t>>4&15)+this.hexDigits.charAt(15&t)};t.prototype.hexDump=function(t,e,r){var i="";for(var n=t;n176)return false}return true};t.prototype.parseStringISO=function(t,e){var r="";for(var i=t;i191&&n<224)r+=String.fromCharCode((31&n)<<6|63&this.get(i++));else r+=String.fromCharCode((15&n)<<12|(63&this.get(i++))<<6|63&this.get(i++));}return r};t.prototype.parseStringBMP=function(t,e){var r="";var i;var n;for(var s=t;s127;var n=i?255:0;var s;var a="";while(r==n&&++t4){a=r;s<<=3;while(0==(128&(+a^n))){a=+a<<1;--s;}a="("+s+" bit)\n";}if(i)r-=256;var o=new S(r);for(var u=t+1;u=c;--l)a+=u>>l&1?"1":"0";if(a.length>r)return s+T(a,r)}return s+a};t.prototype.parseOctetString=function(t,e,r){if(this.isASCII(t,e))return T(this.parseStringISO(t,e),r);var i=e-t;var n="("+i+" byte)\n";r/=2;if(i>r)e=t+r;for(var s=t;sr)n+=b;return n};t.prototype.parseOID=function(t,e,r){var i="";var n=new S;var s=0;for(var a=t;ar)return T(i,r);n=new S;s=0;}}if(s>0)i+=".incomplete";return i};return t}();var A=function(){function t(t,e,r,i,n){if(!(i instanceof I))throw new Error("Invalid tag value.");this.stream=t;this.header=e;this.length=r;this.tag=i;this.sub=n;}t.prototype.typeName=function(){switch(this.tag.tagClass){case 0:switch(this.tag.tagNumber){case 0:return "EOC";case 1:return "BOOLEAN";case 2:return "INTEGER";case 3:return "BIT_STRING";case 4:return "OCTET_STRING";case 5:return "NULL";case 6:return "OBJECT_IDENTIFIER";case 7:return "ObjectDescriptor";case 8:return "EXTERNAL";case 9:return "REAL";case 10:return "ENUMERATED";case 11:return "EMBEDDED_PDV";case 12:return "UTF8String";case 16:return "SEQUENCE";case 17:return "SET";case 18:return "NumericString";case 19:return "PrintableString";case 20:return "TeletexString";case 21:return "VideotexString";case 22:return "IA5String";case 23:return "UTCTime";case 24:return "GeneralizedTime";case 25:return "GraphicString";case 26:return "VisibleString";case 27:return "GeneralString";case 28:return "UniversalString";case 30:return "BMPString"}return "Universal_"+this.tag.tagNumber.toString();case 1:return "Application_"+this.tag.tagNumber.toString();case 2:return "["+this.tag.tagNumber.toString()+"]";case 3:return "Private_"+this.tag.tagNumber.toString()}};t.prototype.content=function(t){if(void 0===this.tag)return null;if(void 0===t)t=1/0;var e=this.posContent();var r=Math.abs(this.length);if(!this.tag.isUniversal()){if(null!==this.sub)return "("+this.sub.length+" elem)";return this.stream.parseOctetString(e,e+r,t)}switch(this.tag.tagNumber){case 1:return 0===this.stream.get(e)?"false":"true";case 2:return this.stream.parseInteger(e,e+r);case 3:return this.sub?"("+this.sub.length+" elem)":this.stream.parseBitString(e,e+r,t);case 4:return this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(e,e+r,t);case 6:return this.stream.parseOID(e,e+r,t);case 16:case 17:if(null!==this.sub)return "("+this.sub.length+" elem)";else return "(no elem)";case 12:return T(this.stream.parseStringUTF(e,e+r),t);case 18:case 19:case 20:case 21:case 22:case 26:return T(this.stream.parseStringISO(e,e+r),t);case 30:return T(this.stream.parseStringBMP(e,e+r),t);case 23:case 24:return this.stream.parseTime(e,e+r,23==this.tag.tagNumber)}return null};t.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"};t.prototype.toPrettyString=function(t){if(void 0===t)t="";var e=t+this.typeName()+" @"+this.stream.pos;if(this.length>=0)e+="+";e+=this.length;if(this.tag.tagConstructed)e+=" (constructed)";else if(this.tag.isUniversal()&&(3==this.tag.tagNumber||4==this.tag.tagNumber)&&null!==this.sub)e+=" (encapsulates)";e+="\n";if(null!==this.sub){t+=" ";for(var r=0,i=this.sub.length;r6)throw new Error("Length over 48 bits not supported at position "+(t.pos-1));if(0===r)return null;e=0;for(var i=0;i>6;this.tagConstructed=0!==(32&e);this.tagNumber=31&e;if(31==this.tagNumber){var r=new S;do{e=t.get();r.mulAdd(128,127&e);}while(128&e);this.tagNumber=r.simplify();}}t.prototype.isUniversal=function(){return 0===this.tagClass};t.prototype.isEOC=function(){return 0===this.tagClass&&0===this.tagNumber};return t}();var B;var x=0xdeadbeefcafe;var R=15715070==(16777215&x);var O=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997];var C=(1<<26)/O[O.length-1];var k=function(){function t(t,e,r){if(null!=t)if("number"==typeof t)this.fromNumber(t,e,r);else if(null==e&&"string"!=typeof t)this.fromString(t,256);else this.fromString(t,e);}t.prototype.toString=function(t){if(this.s<0)return "-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else if(4==t)e=2;else return this.toRadix(t);var r=(1<0){if(u>u)>0){s=true;a=n(i);}while(o>=0){if(u>(u+=this.DB-e);}else {i=this[o]>>(u-=e)&r;if(u<=0){u+=this.DB;--o;}}if(i>0)s=true;if(s)a+=n(i);}}return s?a:"0"};t.prototype.negate=function(){var e=H();t.ZERO.subTo(this,e);return e};t.prototype.abs=function(){return this.s<0?this.negate():this};t.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;e=r-t.t;if(0!=e)return this.s<0?-e:e;while(--r>=0)if(0!=(e=this[r]-t[r]))return e;return 0};t.prototype.bitLength=function(){if(this.t<=0)return 0;return this.DB*(this.t-1)+W(this[this.t-1]^this.s&this.DM)};t.prototype.mod=function(e){var r=H();this.abs().divRemTo(e,null,r);if(this.s<0&&r.compareTo(t.ZERO)>0)e.subTo(r,r);return r};t.prototype.modPowInt=function(t,e){var r;if(t<256||e.isEven())r=new P(e);else r=new L(e);return this.exp(t,r)};t.prototype.clone=function(){var t=H();this.copyTo(t);return t};t.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;else if(0==this.t)return -1}else if(1==this.t)return this[0];else if(0==this.t)return 0;return (this[1]&(1<<32-this.DB)-1)<>24};t.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16};t.prototype.signum=function(){if(this.s<0)return -1;else if(this.t<=0||1==this.t&&this[0]<=0)return 0;else return 1};t.prototype.toByteArray=function(){var t=this.t;var e=[];e[0]=this.s;var r=this.DB-t*this.DB%8;var i;var n=0;if(t-- >0){if(r>r)!=(this.s&this.DM)>>r)e[n++]=i|this.s<=0){if(r<8){i=(this[t]&(1<>(r+=this.DB-8);}else {i=this[t]>>(r-=8)&255;if(r<=0){r+=this.DB;--t;}}if(0!=(128&i))i|=-256;if(0==n&&(128&this.s)!=(128&i))++n;if(n>0||i!=this.s)e[n++]=i;}}return e};t.prototype.equals=function(t){return 0==this.compareTo(t)};t.prototype.min=function(t){return this.compareTo(t)<0?this:t};t.prototype.max=function(t){return this.compareTo(t)>0?this:t};t.prototype.and=function(t){var e=H();this.bitwiseTo(t,s,e);return e};t.prototype.or=function(t){var e=H();this.bitwiseTo(t,a,e);return e};t.prototype.xor=function(t){var e=H();this.bitwiseTo(t,o,e);return e};t.prototype.andNot=function(t){var e=H();this.bitwiseTo(t,u,e);return e};t.prototype.not=function(){var t=H();for(var e=0;e=this.t)return 0!=this.s;return 0!=(this[e]&1<1){var l=H();s.sqrTo(a[1],l);while(o<=c){a[o]=H();s.mulTo(l,a[o-2],a[o]);o+=2;}}var f=t.t-1;var h;var d=true;var p=H();var v;r=W(t[f])-1;while(f>=0){if(r>=u)h=t[f]>>r-u&c;else {h=(t[f]&(1<0)h|=t[f-1]>>this.DB+r-u;}o=i;while(0==(1&h)){h>>=1;--o;}if((r-=o)<0){r+=this.DB;--f;}if(d){a[h].copyTo(n);d=false;}else {while(o>1){s.sqrTo(n,p);s.sqrTo(p,n);o-=2;}if(o>0)s.sqrTo(n,p);else {v=n;n=p;p=v;}s.mulTo(p,a[h],n);}while(f>=0&&0==(t[f]&1<=0){i.subTo(n,i);if(r)s.subTo(o,s);a.subTo(u,a);}else {n.subTo(i,n);if(r)o.subTo(s,o);u.subTo(a,u);}}if(0!=n.compareTo(t.ONE))return t.ZERO;if(u.compareTo(e)>=0)return u.subtract(e);if(u.signum()<0)u.addTo(e,u);else return u;if(u.signum()<0)return u.add(e);else return u};t.prototype.pow=function(t){return this.exp(t,new N)};t.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone();var r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var i=e;e=r;r=i;}var n=e.getLowestSetBit();var s=r.getLowestSetBit();if(s<0)return e;if(n0){e.rShiftTo(s,e);r.rShiftTo(s,r);}while(e.signum()>0){if((n=e.getLowestSetBit())>0)e.rShiftTo(n,e);if((n=r.getLowestSetBit())>0)r.rShiftTo(n,r);if(e.compareTo(r)>=0){e.subTo(r,e);e.rShiftTo(1,e);}else {r.subTo(e,r);r.rShiftTo(1,r);}}if(s>0)r.lShiftTo(s,r);return r};t.prototype.isProbablePrime=function(t){var e;var r=this.abs();if(1==r.t&&r[0]<=O[O.length-1]){for(e=0;e=0;--e)t[e]=this[e];t.t=this.t;t.s=this.s;};t.prototype.fromInt=function(t){this.t=1;this.s=t<0?-1:0;if(t>0)this[0]=t;else if(t<-1)this[0]=t+this.DV;else this.t=0;};t.prototype.fromString=function(e,r){var i;if(16==r)i=4;else if(8==r)i=3;else if(256==r)i=8;else if(2==r)i=1;else if(32==r)i=5;else if(4==r)i=2;else {this.fromRadix(e,r);return}this.t=0;this.s=0;var n=e.length;var s=false;var a=0;while(--n>=0){var o=8==i?255&+e[n]:G(e,n);if(o<0){if("-"==e.charAt(n))s=true;continue}s=false;if(0==a)this[this.t++]=o;else if(a+i>this.DB){this[this.t-1]|=(o&(1<>this.DB-a;}else this[this.t-1]|=o<=this.DB)a-=this.DB;}if(8==i&&0!=(128&+e[0])){this.s=-1;if(a>0)this[this.t-1]|=(1<0&&this[this.t-1]==t)--this.t;};t.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t;e.s=this.s;};t.prototype.drShiftTo=function(t,e){for(var r=t;r=0;--o){e[o+s+1]=this[o]>>i|a;a=(this[o]&n)<=0;--o)e[o]=0;e[s]=a;e.t=this.t+s+1;e.s=this.s;e.clamp();};t.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var i=t%this.DB;var n=this.DB-i;var s=(1<>i;for(var a=r+1;a>i;}if(i>0)e[this.t-r-1]|=(this.s&s)<>=this.DB;}if(t.t>=this.DB;}i+=this.s;}else {i+=this.s;while(r>=this.DB;}i-=t.s;}e.s=i<0?-1:0;if(i<-1)e[r++]=this.DV+i;else if(i>0)e[r++]=i;e.t=r;e.clamp();};t.prototype.multiplyTo=function(e,r){var i=this.abs();var n=e.abs();var s=i.t;r.t=s+n.t;while(--s>=0)r[s]=0;for(s=0;s=0)t[r]=0;for(r=0;r=e.DV){t[r+e.t]-=e.DV;t[r+e.t+1]=1;}}if(t.t>0)t[t.t-1]+=e.am(r,e[r],t,2*r,0,1);t.s=0;t.clamp();};t.prototype.divRemTo=function(e,r,i){var n=e.abs();if(n.t<=0)return;var s=this.abs();if(s.t0){n.lShiftTo(c,a);s.lShiftTo(c,i);}else {n.copyTo(a);s.copyTo(i);}var l=a.t;var f=a[l-1];if(0==f)return;var h=f*(1<1?a[l-2]>>this.F2:0);var d=this.FV/h;var p=(1<=0){i[i.t++]=1;i.subTo(m,i);}t.ONE.dlShiftTo(l,m);m.subTo(a,a);while(a.t=0){var _=i[--g]==f?this.DM:Math.floor(i[g]*d+(i[g-1]+v)*p);if((i[g]+=a.am(0,_,i,y,0,l))<_){a.dlShiftTo(y,m);i.subTo(m,i);while(i[g]<--_)i.subTo(m,i);}}if(null!=r){i.drShiftTo(l,r);if(o!=u)t.ZERO.subTo(r,r);}i.t=l;i.clamp();if(c>0)i.rShiftTo(c,i);if(o<0)t.ZERO.subTo(i,i);};t.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;e=e*(2-(15&t)*e)&15;e=e*(2-(255&t)*e)&255;e=e*(2-((65535&t)*e&65535))&65535;e=e*(2-t*e%this.DV)%this.DV;return e>0?this.DV-e:-e};t.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)};t.prototype.exp=function(e,r){if(e>4294967295||e<1)return t.ONE;var i=H();var n=H();var s=r.convert(this);var a=W(e)-1;s.copyTo(i);while(--a>=0){r.sqrTo(i,n);if((e&1<0)r.mulTo(n,s,i);else {var o=i;i=n;n=o;}}return r.revert(i)};t.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))};t.prototype.toRadix=function(t){if(null==t)t=10;if(0==this.signum()||t<2||t>36)return "0";var e=this.chunkSize(t);var r=Math.pow(t,e);var i=Y(r);var n=H();var s=H();var a="";this.divRemTo(i,n,s);while(n.signum()>0){a=(r+s.intValue()).toString(t).substr(1)+a;n.divRemTo(i,n,s);}return s.intValue().toString(t)+a};t.prototype.fromRadix=function(e,r){this.fromInt(0);if(null==r)r=10;var i=this.chunkSize(r);var n=Math.pow(r,i);var s=false;var a=0;var o=0;for(var u=0;u=i){this.dMultiply(n);this.dAddOffset(o,0);a=0;o=0;}}if(a>0){this.dMultiply(Math.pow(r,a));this.dAddOffset(o,0);}if(s)t.ZERO.subTo(this,this);};t.prototype.fromNumber=function(e,r,i){if("number"==typeof r)if(e<2)this.fromInt(1);else {this.fromNumber(e,i);if(!this.testBit(e-1))this.bitwiseTo(t.ONE.shiftLeft(e-1),a,this);if(this.isEven())this.dAddOffset(1,0);while(!this.isProbablePrime(r)){this.dAddOffset(2,0);if(this.bitLength()>e)this.subTo(t.ONE.shiftLeft(e-1),this);}}else {var n=[];var s=7&e;n.length=(e>>3)+1;r.nextBytes(n);if(s>0)n[0]&=(1<>=this.DB;}if(t.t>=this.DB;}i+=this.s;}else {i+=this.s;while(r>=this.DB;}i+=t.s;}e.s=i<0?-1:0;if(i>0)e[r++]=i;else if(i<-1)e[r++]=this.DV+i;e.t=r;e.clamp();};t.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t);++this.t;this.clamp();};t.prototype.dAddOffset=function(t,e){if(0==t)return;while(this.t<=e)this[this.t++]=0;this[e]+=t;while(this[e]>=this.DV){this[e]-=this.DV;if(++e>=this.t)this[this.t++]=0;++this[e];}};t.prototype.multiplyLowerTo=function(t,e,r){var i=Math.min(this.t+t.t,e);r.s=0;r.t=i;while(i>0)r[--i]=0;for(var n=r.t-this.t;i=0)r[i]=0;for(i=Math.max(e-this.t,0);i0)if(0==e)r=this[0]%t;else for(var i=this.t-1;i>=0;--i)r=(e*r+this[i])%t;return r};t.prototype.millerRabin=function(e){var r=this.subtract(t.ONE);var i=r.getLowestSetBit();if(i<=0)return false;var n=r.shiftRight(i);e=e+1>>1;if(e>O.length)e=O.length;var s=H();for(var a=0;a0){r.rShiftTo(a,r);i.rShiftTo(a,i);}var o=function(){if((s=r.getLowestSetBit())>0)r.rShiftTo(s,r);if((s=i.getLowestSetBit())>0)i.rShiftTo(s,i);if(r.compareTo(i)>=0){r.subTo(i,r);r.rShiftTo(1,r);}else {i.subTo(r,i);i.rShiftTo(1,i);}if(!(r.signum()>0)){if(a>0)i.lShiftTo(a,i);setTimeout((function(){e(i);}),0);}else setTimeout(o,0);};setTimeout(o,10);};t.prototype.fromNumberAsync=function(e,r,i,n){if("number"==typeof r)if(e<2)this.fromInt(1);else {this.fromNumber(e,i);if(!this.testBit(e-1))this.bitwiseTo(t.ONE.shiftLeft(e-1),a,this);if(this.isEven())this.dAddOffset(1,0);var s=this;var o=function(){s.dAddOffset(2,0);if(s.bitLength()>e)s.subTo(t.ONE.shiftLeft(e-1),s);if(s.isProbablePrime(r))setTimeout((function(){n();}),0);else setTimeout(o,0);};setTimeout(o,0);}else {var u=[];var c=7&e;u.length=(e>>3)+1;r.nextBytes(u);if(c>0)u[0]&=(1<=0)return t.mod(this.m);else return t};t.prototype.revert=function(t){return t};t.prototype.reduce=function(t){t.divRemTo(this.m,null,t);};t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r);this.reduce(r);};t.prototype.sqrTo=function(t,e){t.squareTo(e);this.reduce(e);};return t}();var L=function(){function t(t){this.m=t;this.mp=t.invDigit();this.mpl=32767&this.mp;this.mph=this.mp>>15;this.um=(1<0)this.m.subTo(e,e);return e};t.prototype.revert=function(t){var e=H();t.copyTo(e);this.reduce(e);return e};t.prototype.reduce=function(t){while(t.t<=this.mt2)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;r=e+this.m.t;t[r]+=this.m.am(0,i,t,e,0,this.m.t);while(t[r]>=t.DV){t[r]-=t.DV;t[++r]++;}}t.clamp();t.drShiftTo(this.m.t,t);if(t.compareTo(this.m)>=0)t.subTo(this.m,t);};t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r);this.reduce(r);};t.prototype.sqrTo=function(t,e){t.squareTo(e);this.reduce(e);};return t}();var V=function(){function t(t){this.m=t;this.r2=H();this.q3=H();k.ONE.dlShiftTo(2*t.t,this.r2);this.mu=this.r2.divide(t);}t.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);else if(t.compareTo(this.m)<0)return t;else {var e=H();t.copyTo(e);this.reduce(e);return e}};t.prototype.revert=function(t){return t};t.prototype.reduce=function(t){t.drShiftTo(this.m.t-1,this.r2);if(t.t>this.m.t+1){t.t=this.m.t+1;t.clamp();}this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3);this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);while(t.compareTo(this.r2)<0)t.dAddOffset(1,this.m.t+1);t.subTo(this.r2,t);while(t.compareTo(this.m)>=0)t.subTo(this.m,t);};t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r);this.reduce(r);};t.prototype.sqrTo=function(t,e){t.squareTo(e);this.reduce(e);};return t}();function H(){return new k(null)}function U(t,e){return new k(t,e)}var K="undefined"!==typeof navigator;if(K&&R&&"Microsoft Internet Explorer"==navigator.appName){k.prototype.am=function t(e,r,i,n,s,a){var o=32767&r;var u=r>>15;while(--a>=0){var c=32767&this[e];var l=this[e++]>>15;var f=u*c+l*o;c=o*c+((32767&f)<<15)+i[n]+(1073741823&s);s=(c>>>30)+(f>>>15)+u*l+(s>>>30);i[n++]=1073741823&c;}return s};B=30;}else if(K&&R&&"Netscape"!=navigator.appName){k.prototype.am=function t(e,r,i,n,s,a){while(--a>=0){var o=r*this[e++]+i[n]+s;s=Math.floor(o/67108864);i[n++]=67108863&o;}return s};B=26;}else {k.prototype.am=function t(e,r,i,n,s,a){var o=16383&r;var u=r>>14;while(--a>=0){var c=16383&this[e];var l=this[e++]>>14;var f=u*c+l*o;c=o*c+((16383&f)<<14)+i[n]+s;s=(c>>28)+(f>>14)+u*l;i[n++]=268435455&c;}return s};B=28;}k.prototype.DB=B;k.prototype.DM=(1<>>16)){t=r;e+=16;}if(0!=(r=t>>8)){t=r;e+=8;}if(0!=(r=t>>4)){t=r;e+=4;}if(0!=(r=t>>2)){t=r;e+=2;}if(0!=(r=t>>1)){t=r;e+=1;}return e}k.ZERO=Y(0);k.ONE=Y(1);var J=function(){function t(){this.i=0;this.j=0;this.S=[];}t.prototype.init=function(t){var e;var r;var i;for(e=0;e<256;++e)this.S[e]=e;r=0;for(e=0;e<256;++e){r=r+this.S[e]+t[e%t.length]&255;i=this.S[e];this.S[e]=this.S[r];this.S[r]=i;}this.i=0;this.j=0;};t.prototype.next=function(){var t;this.i=this.i+1&255;this.j=this.j+this.S[this.i]&255;t=this.S[this.i];this.S[this.i]=this.S[this.j];this.S[this.j]=t;return this.S[t+this.S[this.i]&255]};return t}();function Z(){return new J}var $=256;var X;var Q=null;var tt;if(null==Q){Q=[];tt=0;}function nt(){if(null==X){X=Z();while(tt<$){var t=Math.floor(65536*Math.random());Q[tt++]=255&t;}X.init(Q);for(tt=0;tt=0&&e>0){var n=t.charCodeAt(i--);if(n<128)r[--e]=n;else if(n>127&&n<2048){r[--e]=63&n|128;r[--e]=n>>6|192;}else {r[--e]=63&n|128;r[--e]=n>>6&63|128;r[--e]=n>>12|224;}}r[--e]=0;var s=new st;var a=[];while(e>2){a[0]=0;while(0==a[0])s.nextBytes(a);r[--e]=a[0];}r[--e]=2;r[--e]=0;return new k(r)}var ut=function(){function t(){this.n=null;this.e=0;this.d=null;this.p=null;this.q=null;this.dmp1=null;this.dmq1=null;this.coeff=null;}t.prototype.doPublic=function(t){return t.modPowInt(this.e,this.n)};t.prototype.doPrivate=function(t){if(null==this.p||null==this.q)return t.modPow(this.d,this.n);var e=t.mod(this.p).modPow(this.dmp1,this.p);var r=t.mod(this.q).modPow(this.dmq1,this.q);while(e.compareTo(r)<0)e=e.add(this.p);return e.subtract(r).multiply(this.coeff).mod(this.p).multiply(this.q).add(r)};t.prototype.setPublic=function(t,e){if(null!=t&&null!=e&&t.length>0&&e.length>0){this.n=U(t,16);this.e=parseInt(e,16);}else console.error("Invalid RSA public key");};t.prototype.encrypt=function(t){var e=this.n.bitLength()+7>>3;var r=ot(t,e);if(null==r)return null;var i=this.doPublic(r);if(null==i)return null;var n=i.toString(16);var s=n.length;for(var a=0;a<2*e-s;a++)n="0"+n;return n};t.prototype.setPrivate=function(t,e,r){if(null!=t&&null!=e&&t.length>0&&e.length>0){this.n=U(t,16);this.e=parseInt(e,16);this.d=U(r,16);}else console.error("Invalid RSA private key");};t.prototype.setPrivateEx=function(t,e,r,i,n,s,a,o){if(null!=t&&null!=e&&t.length>0&&e.length>0){this.n=U(t,16);this.e=parseInt(e,16);this.d=U(r,16);this.p=U(i,16);this.q=U(n,16);this.dmp1=U(s,16);this.dmq1=U(a,16);this.coeff=U(o,16);}else console.error("Invalid RSA private key");};t.prototype.generate=function(t,e){var r=new st;var i=t>>1;this.e=parseInt(e,16);var n=new k(e,16);for(;;){for(;;){this.p=new k(t-i,1,r);if(0==this.p.subtract(k.ONE).gcd(n).compareTo(k.ONE)&&this.p.isProbablePrime(10))break}for(;;){this.q=new k(i,1,r);if(0==this.q.subtract(k.ONE).gcd(n).compareTo(k.ONE)&&this.q.isProbablePrime(10))break}if(this.p.compareTo(this.q)<=0){var s=this.p;this.p=this.q;this.q=s;}var a=this.p.subtract(k.ONE);var o=this.q.subtract(k.ONE);var u=a.multiply(o);if(0==u.gcd(n).compareTo(k.ONE)){this.n=this.p.multiply(this.q);this.d=n.modInverse(u);this.dmp1=this.d.mod(a);this.dmq1=this.d.mod(o);this.coeff=this.q.modInverse(this.p);break}}};t.prototype.decrypt=function(t){var e=U(t,16);var r=this.doPrivate(e);if(null==r)return null;return ct(r,this.n.bitLength()+7>>3)};t.prototype.generateAsync=function(t,e,r){var i=new st;var n=t>>1;this.e=parseInt(e,16);var s=new k(e,16);var a=this;var o=function(){var e=function(){if(a.p.compareTo(a.q)<=0){var t=a.p;a.p=a.q;a.q=t;}var e=a.p.subtract(k.ONE);var i=a.q.subtract(k.ONE);var n=e.multiply(i);if(0==n.gcd(s).compareTo(k.ONE)){a.n=a.p.multiply(a.q);a.d=s.modInverse(n);a.dmp1=a.d.mod(e);a.dmq1=a.d.mod(i);a.coeff=a.q.modInverse(a.p);setTimeout((function(){r();}),0);}else setTimeout(o,0);};var u=function(){a.q=H();a.q.fromNumberAsync(n,1,i,(function(){a.q.subtract(k.ONE).gcda(s,(function(t){if(0==t.compareTo(k.ONE)&&a.q.isProbablePrime(10))setTimeout(e,0);else setTimeout(u,0);}));}));};var c=function(){a.p=H();a.p.fromNumberAsync(t-n,1,i,(function(){a.p.subtract(k.ONE).gcda(s,(function(t){if(0==t.compareTo(k.ONE)&&a.p.isProbablePrime(10))setTimeout(u,0);else setTimeout(c,0);}));}));};setTimeout(c,0);};setTimeout(o,0);};t.prototype.sign=function(t,e,r){var i=ht(r);var n=i+e(t).toString();var s=at(n,this.n.bitLength()/4);if(null==s)return null;var a=this.doPrivate(s);if(null==a)return null;var o=a.toString(16);if(0==(1&o.length))return o;else return "0"+o};t.prototype.verify=function(t,e,r){var i=U(e,16);var n=this.doPublic(i);if(null==n)return null;var s=n.toString(16).replace(/^1f+00/,"");var a=dt(s);return a==r(t).toString()};t.prototype.encryptLong=function(t){var e=this;var r="";var i=(this.n.bitLength()+7>>3)-11;var n=this.setSplitChn(t,i);n.forEach((function(t){r+=e.encrypt(t);}));return r};t.prototype.decryptLong=function(t){var e="";var r=this.n.bitLength()+7>>3;var i=2*r;if(t.length>i){var n=t.match(new RegExp(".{1,"+i+"}","g"))||[];var s=[];for(var a=0;ae){var o=t.substring(0,s);r.push(o);return this.setSplitChn(t.substring(s),e,r)}}r.push(t);return r};return t}();function ct(t,e){var r=t.toByteArray();var i=0;while(i=r.length)return null;var n="";while(++i191&&s<224){n+=String.fromCharCode((31&s)<<6|63&r[i+1]);++i;}else {n+=String.fromCharCode((15&s)<<12|(63&r[i+1])<<6|63&r[i+2]);i+=2;}}return n}function lt(t,e){var r=[];for(var i=0;i=s.length)return null;r=r.concat(s.slice(a+1));}var o=r;var u=-1;var c="";while(++u191&&l<224){c+=String.fromCharCode((31&l)<<6|63&o[u+1]);++u;}else {c+=String.fromCharCode((15&l)<<12|(63&o[u+1])<<6|63&o[u+2]);u+=2;}}return c}var ft={md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",ripemd160:"3021300906052b2403020105000414"};function ht(t){return ft[t]||""}function dt(t){for(var e in ft)if(ft.hasOwnProperty(e)){var r=ft[e];var i=r.length;if(t.substr(0,i)==r)return t.substr(i)}return t}var pt={};pt.lang={extend:function(t,e,r){if(!e||!t)throw new Error("YAHOO.lang.extend failed, please check that "+"all dependencies are included.");var i=function(){};i.prototype=e.prototype;t.prototype=new i;t.prototype.constructor=t;t.superclass=e.prototype;if(e.prototype.constructor==Object.prototype.constructor)e.prototype.constructor=e;if(r){var n;for(n in r)t.prototype[n]=r[n];var s=function(){},a=["toString","valueOf"];try{if(/MSIE/.test(navigator.userAgent))s=function(t,e){for(n=0;n15)throw "ASN.1 length too long to represent by 8x: n = "+t.toString(16);var i=128+r;return i.toString(16)+e}};this.getEncodedHex=function(){if(null==this.hTLV||this.isModified){this.hV=this.getFreshValueHex();this.hL=this.getLengthHexFromValue();this.hTLV=this.hT+this.hL+this.hV;this.isModified=false;}return this.hTLV};this.getValueHex=function(){this.getEncodedHex();return this.hV};this.getFreshValueHex=function(){return ""};};vt.asn1.DERAbstractString=function(t){vt.asn1.DERAbstractString.superclass.constructor.call(this);this.getString=function(){return this.s};this.setString=function(t){this.hTLV=null;this.isModified=true;this.s=t;this.hV=stohex(this.s);};this.setStringHex=function(t){this.hTLV=null;this.isModified=true;this.s=null;this.hV=t;};this.getFreshValueHex=function(){return this.hV};if("undefined"!=typeof t)if("string"==typeof t)this.setString(t);else if("undefined"!=typeof t["str"])this.setString(t["str"]);else if("undefined"!=typeof t["hex"])this.setStringHex(t["hex"]);};pt.lang.extend(vt.asn1.DERAbstractString,vt.asn1.ASN1Object);vt.asn1.DERAbstractTime=function(t){vt.asn1.DERAbstractTime.superclass.constructor.call(this);this.localDateToUTC=function(t){utc=t.getTime()+6e4*t.getTimezoneOffset();var e=new Date(utc);return e};this.formatDate=function(t,e,r){var i=this.zeroPadding;var n=this.localDateToUTC(t);var s=String(n.getFullYear());if("utc"==e)s=s.substr(2,2);var a=i(String(n.getMonth()+1),2);var o=i(String(n.getDate()),2);var u=i(String(n.getHours()),2);var c=i(String(n.getMinutes()),2);var l=i(String(n.getSeconds()),2);var f=s+a+o+u+c+l;if(true===r){var h=n.getMilliseconds();if(0!=h){var d=i(String(h),3);d=d.replace(/[0]+$/,"");f=f+"."+d;}}return f+"Z"};this.zeroPadding=function(t,e){if(t.length>=e)return t;return new Array(e-t.length+1).join("0")+t};this.getString=function(){return this.s};this.setString=function(t){this.hTLV=null;this.isModified=true;this.s=t;this.hV=stohex(t);};this.setByDateValue=function(t,e,r,i,n,s){var a=new Date(Date.UTC(t,e-1,r,i,n,s,0));this.setByDate(a);};this.getFreshValueHex=function(){return this.hV};};pt.lang.extend(vt.asn1.DERAbstractTime,vt.asn1.ASN1Object);vt.asn1.DERAbstractStructured=function(t){vt.asn1.DERAbstractString.superclass.constructor.call(this);this.setByASN1ObjectArray=function(t){this.hTLV=null;this.isModified=true;this.asn1Array=t;};this.appendASN1Object=function(t){this.hTLV=null;this.isModified=true;this.asn1Array.push(t);};this.asn1Array=new Array;if("undefined"!=typeof t)if("undefined"!=typeof t["array"])this.asn1Array=t["array"];};pt.lang.extend(vt.asn1.DERAbstractStructured,vt.asn1.ASN1Object);vt.asn1.DERBoolean=function(){vt.asn1.DERBoolean.superclass.constructor.call(this);this.hT="01";this.hTLV="0101ff";};pt.lang.extend(vt.asn1.DERBoolean,vt.asn1.ASN1Object);vt.asn1.DERInteger=function(t){vt.asn1.DERInteger.superclass.constructor.call(this);this.hT="02";this.setByBigInteger=function(t){this.hTLV=null;this.isModified=true;this.hV=vt.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t);};this.setByInteger=function(t){var e=new k(String(t),10);this.setByBigInteger(e);};this.setValueHex=function(t){this.hV=t;};this.getFreshValueHex=function(){return this.hV};if("undefined"!=typeof t)if("undefined"!=typeof t["bigint"])this.setByBigInteger(t["bigint"]);else if("undefined"!=typeof t["int"])this.setByInteger(t["int"]);else if("number"==typeof t)this.setByInteger(t);else if("undefined"!=typeof t["hex"])this.setValueHex(t["hex"]);};pt.lang.extend(vt.asn1.DERInteger,vt.asn1.ASN1Object);vt.asn1.DERBitString=function(t){if(void 0!==t&&"undefined"!==typeof t.obj){var e=vt.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex();}vt.asn1.DERBitString.superclass.constructor.call(this);this.hT="03";this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null;this.isModified=true;this.hV=t;};this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7{}};var e={};function r(i){var n=e[i];if(void 0!==n)return n.exports;var s=e[i]={id:i,loaded:false,exports:{}};t[i].call(s.exports,s,s.exports,r);s.loaded=true;return s.exports}(()=>{r.d=(t,e)=>{for(var i in e)if(r.o(e,i)&&!r.o(t,i))Object.defineProperty(t,i,{enumerable:true,get:e[i]});};})();(()=>{r.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}();})();(()=>{r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);})();(()=>{r.r=t=>{if("undefined"!==typeof Symbol&&Symbol.toStringTag)Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});Object.defineProperty(t,"__esModule",{value:true});};})();(()=>{r.nmd=t=>{t.paths=[];if(!t.children)t.children=[];return t};})();var i=r(5987);return i})()})); }); var GtPush = /*@__PURE__*/getDefaultExportFromCjs(gtpushMin); @@ -101,6 +100,15 @@ if (!appid) { else { GtPush.init({ appid, + onError: (res) => { + console.error(res.error); + // @ts-expect-error + uni.invokePushCallback({ + type: 'clientId', + cid: '', + errMsg: res.error, + }); + }, onClientId: (res) => { // @ts-expect-error uni.invokePushCallback({ diff --git a/packages/uni-push/lib/gtpush-min.d.ts b/packages/uni-push/lib/gtpush-min.d.ts index 8885e9c59..56f906e5a 100644 --- a/packages/uni-push/lib/gtpush-min.d.ts +++ b/packages/uni-push/lib/gtpush-min.d.ts @@ -12,6 +12,10 @@ declare namespace GtPush { * 个推官网生成的appid */ appid: string + /** + * 错误回调 + */ + onError?: (res: {error: any}) => void /** * 个推终端ID回调,标识当前终端和应用 */ diff --git a/packages/uni-push/lib/gtpush-min.js b/packages/uni-push/lib/gtpush-min.js index 4b317cfc5..8ad1a3b69 100644 --- a/packages/uni-push/lib/gtpush-min.js +++ b/packages/uni-push/lib/gtpush-min.js @@ -1,5 +1,5 @@ /*! For license information please see gtpush-min.js.LICENSE.txt */ -(function t(e,r){if("object"===typeof exports&&"object"===typeof module)module.exports=r();else if("function"===typeof define&&define.amd)define([],r);else if("object"===typeof exports)exports["gtpush"]=r();else e["gtpush"]=r()})(self,(function(){return(()=>{var __webpack_modules__={4736:(t,e,r)=>{t=r.nmd(t);var i;var n=function(t){"use strict";var e=1e7,r=7,i=9007199254740992,s=d(i),a="0123456789abcdefghijklmnopqrstuvwxyz";var o="function"===typeof BigInt;function u(t,e,r,i){if("undefined"===typeof t)return u[0];if("undefined"!==typeof e)return 10===+e&&!r?st(t):$(t,e,r,i);return st(t)}function c(t,e){this.value=t;this.sign=e;this.isSmall=false}c.prototype=Object.create(u.prototype);function l(t){this.value=t;this.sign=t<0;this.isSmall=true}l.prototype=Object.create(u.prototype);function f(t){this.value=t}f.prototype=Object.create(u.prototype);function h(t){return-i0)return Math.floor(t);return Math.ceil(t)}function m(t,r){var i=t.length,n=r.length,s=new Array(i),a=0,o=e,u,c;for(c=0;c=o?1:0;s[c]=u-a*o}while(c0)s.push(a);return s}function _(t,e){if(t.length>=e.length)return m(t,e);return m(e,t)}function b(t,r){var i=t.length,n=new Array(i),s=e,a,o;for(o=0;o0){n[o++]=r%s;r=Math.floor(r/s)}return n}c.prototype.add=function(t){var e=st(t);if(this.sign!==e.sign)return this.subtract(e.negate());var r=this.value,i=e.value;if(e.isSmall)return new c(b(r,Math.abs(i)),this.sign);return new c(_(r,i),this.sign)};c.prototype.plus=c.prototype.add;l.prototype.add=function(t){var e=st(t);var r=this.value;if(r<0!==e.sign)return this.subtract(e.negate());var i=e.value;if(e.isSmall){if(h(r+i))return new l(r+i);i=d(Math.abs(i))}return new c(b(i,Math.abs(r)),r<0)};l.prototype.plus=l.prototype.add;f.prototype.add=function(t){return new f(this.value+st(t).value)};f.prototype.plus=f.prototype.add;function S(t,r){var i=t.length,n=r.length,s=new Array(i),a=0,o=e,u,c;for(u=0;u=0)i=S(t,e);else{i=S(e,t);r=!r}i=p(i);if("number"===typeof i){if(r)i=-i;return new l(i)}return new c(i,r)}function E(t,r,i){var n=t.length,s=new Array(n),a=-r,o=e,u,f;for(u=0;u=0)};l.prototype.minus=l.prototype.subtract;f.prototype.subtract=function(t){return new f(this.value-st(t).value)};f.prototype.minus=f.prototype.subtract;c.prototype.negate=function(){return new c(this.value,!this.sign)};l.prototype.negate=function(){var t=this.sign;var e=new l(-this.value);e.sign=!t;return e};f.prototype.negate=function(){return new f(-this.value)};c.prototype.abs=function(){return new c(this.value,false)};l.prototype.abs=function(){return new l(Math.abs(this.value))};f.prototype.abs=function(){return new f(this.value>=0?this.value:-this.value)};function D(t,r){var i=t.length,n=r.length,s=i+n,a=g(s),o=e,u,c,l,f,h;for(l=0;l0){n[u++]=a%s;a=Math.floor(a/s)}return n}function T(t,e){var r=[];while(e-- >0)r.push(0);return r.concat(t)}function M(t,e){var r=Math.max(t.length,e.length);if(r<=30)return D(t,e);r=Math.ceil(r/2);var i=t.slice(r),n=t.slice(0,r),s=e.slice(r),a=e.slice(0,r);var o=M(n,a),u=M(i,s),c=M(_(n,i),_(a,s));var l=_(_(o,T(S(S(c,o),u),r)),T(u,2*r));v(l);return l}function R(t,e){return-.012*t-.012*e+15e-6*t*e>0}c.prototype.multiply=function(t){var r=st(t),i=this.value,n=r.value,s=this.sign!==r.sign,a;if(r.isSmall){if(0===n)return u[0];if(1===n)return this;if(-1===n)return this.negate();a=Math.abs(n);if(a=0;h--){f=s-1;if(c[h+n]!==o)f=Math.floor((c[h+n]*s+c[h+n-1])/o);d=0;v=0;m=l.length;for(y=0;yn)l=(l+1)*o;u=Math.ceil(l/f);do{h=A(r,u);if(N(h,a)<=0)break;u--}while(u);s.push(u);a=S(a,h)}s.reverse();return[p(s),p(a)]}function O(t,r){var i=t.length,n=g(i),s=e,a,o,u,c;u=0;for(a=i-1;a>=0;--a){c=u*s+t[a];o=y(c/r);u=c-o*r;n[a]=0|o}return[n,0|u]}function k(t,r){var i,n=st(r);if(o)return[new f(t.value/n.value),new f(t.value%n.value)];var s=t.value,a=n.value;var h;if(0===a)throw new Error("Cannot divide by zero");if(t.isSmall){if(n.isSmall)return[new l(y(s/a)),new l(s%a)];return[u[0],t]}if(n.isSmall){if(1===a)return[t,u[0]];if(-1==a)return[t.negate(),u[0]];var v=Math.abs(a);if(ve.length?1:-1;for(var r=t.length-1;r>=0;r--)if(t[r]!==e[r])return t[r]>e[r]?1:-1;return 0}c.prototype.compareAbs=function(t){var e=st(t),r=this.value,i=e.value;if(e.isSmall)return 1;return N(r,i)};l.prototype.compareAbs=function(t){var e=st(t),r=Math.abs(this.value),i=e.value;if(e.isSmall){i=Math.abs(i);return r===i?0:r>i?1:-1}return-1};f.prototype.compareAbs=function(t){var e=this.value;var r=st(t).value;e=e>=0?e:-e;r=r>=0?r:-r;return e===r?0:e>r?1:-1};c.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var e=st(t),r=this.value,i=e.value;if(this.sign!==e.sign)return e.sign?1:-1;if(e.isSmall)return this.sign?-1:1;return N(r,i)*(this.sign?-1:1)};c.prototype.compareTo=c.prototype.compare;l.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var e=st(t),r=this.value,i=e.value;if(e.isSmall)return r==i?0:r>i?1:-1;if(r<0!==e.sign)return r<0?-1:1;return r<0?1:-1};l.prototype.compareTo=l.prototype.compare;f.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var e=this.value;var r=st(t).value;return e===r?0:e>r?1:-1};f.prototype.compareTo=f.prototype.compare;c.prototype.equals=function(t){return 0===this.compare(t)};f.prototype.eq=f.prototype.equals=l.prototype.eq=l.prototype.equals=c.prototype.eq=c.prototype.equals;c.prototype.notEquals=function(t){return 0!==this.compare(t)};f.prototype.neq=f.prototype.notEquals=l.prototype.neq=l.prototype.notEquals=c.prototype.neq=c.prototype.notEquals;c.prototype.greater=function(t){return this.compare(t)>0};f.prototype.gt=f.prototype.greater=l.prototype.gt=l.prototype.greater=c.prototype.gt=c.prototype.greater;c.prototype.lesser=function(t){return this.compare(t)<0};f.prototype.lt=f.prototype.lesser=l.prototype.lt=l.prototype.lesser=c.prototype.lt=c.prototype.lesser;c.prototype.greaterOrEquals=function(t){return this.compare(t)>=0};f.prototype.geq=f.prototype.greaterOrEquals=l.prototype.geq=l.prototype.greaterOrEquals=c.prototype.geq=c.prototype.greaterOrEquals;c.prototype.lesserOrEquals=function(t){return this.compare(t)<=0};f.prototype.leq=f.prototype.lesserOrEquals=l.prototype.leq=l.prototype.lesserOrEquals=c.prototype.leq=c.prototype.lesserOrEquals;c.prototype.isEven=function(){return 0===(1&this.value[0])};l.prototype.isEven=function(){return 0===(1&this.value)};f.prototype.isEven=function(){return(this.value&BigInt(1))===BigInt(0)};c.prototype.isOdd=function(){return 1===(1&this.value[0])};l.prototype.isOdd=function(){return 1===(1&this.value)};f.prototype.isOdd=function(){return(this.value&BigInt(1))===BigInt(1)};c.prototype.isPositive=function(){return!this.sign};l.prototype.isPositive=function(){return this.value>0};f.prototype.isPositive=l.prototype.isPositive;c.prototype.isNegative=function(){return this.sign};l.prototype.isNegative=function(){return this.value<0};f.prototype.isNegative=l.prototype.isNegative;c.prototype.isUnit=function(){return false};l.prototype.isUnit=function(){return 1===Math.abs(this.value)};f.prototype.isUnit=function(){return this.abs().value===BigInt(1)};c.prototype.isZero=function(){return false};l.prototype.isZero=function(){return 0===this.value};f.prototype.isZero=function(){return this.value===BigInt(0)};c.prototype.isDivisibleBy=function(t){var e=st(t);if(e.isZero())return false;if(e.isUnit())return true;if(0===e.compareAbs(2))return this.isEven();return this.mod(e).isZero()};f.prototype.isDivisibleBy=l.prototype.isDivisibleBy=c.prototype.isDivisibleBy;function P(t){var e=t.abs();if(e.isUnit())return false;if(e.equals(2)||e.equals(3)||e.equals(5))return true;if(e.isEven()||e.isDivisibleBy(3)||e.isDivisibleBy(5))return false;if(e.lesser(49))return true}function H(t,e){var r=t.prev(),i=r,s=0,a,o,u,c;while(i.isEven())i=i.divide(2),s++;t:for(u=0;u-i)return new l(t-1);return new c(s,true)};f.prototype.prev=function(){return new f(this.value-BigInt(1))};var L=[1];while(2*L[L.length-1]<=e)L.push(2*L[L.length-1]);var V=L.length,U=L[V-1];function F(t){return Math.abs(t)<=e}c.prototype.shiftLeft=function(t){var e=st(t).toJSNumber();if(!F(e))throw new Error(String(e)+" is too large for shifting.");if(e<0)return this.shiftRight(-e);var r=this;if(r.isZero())return r;while(e>=V){r=r.multiply(U);e-=V-1}return r.multiply(L[e])};f.prototype.shiftLeft=l.prototype.shiftLeft=c.prototype.shiftLeft;c.prototype.shiftRight=function(t){var e;var r=st(t).toJSNumber();if(!F(r))throw new Error(String(r)+" is too large for shifting.");if(r<0)return this.shiftLeft(-r);var i=this;while(r>=V){if(i.isZero()||i.isNegative()&&i.isUnit())return i;e=k(i,U);i=e[1].isNegative()?e[0].prev():e[0];r-=V-1}e=k(i,L[r]);return e[1].isNegative()?e[0].prev():e[0]};f.prototype.shiftRight=l.prototype.shiftRight=c.prototype.shiftRight;function K(t,e,r){e=st(e);var i=t.isNegative(),s=e.isNegative();var a=i?t.not():t,o=s?e.not():e;var u=0,c=0;var l=null,f=null;var h=[];while(!a.isZero()||!o.isZero()){l=k(a,U);u=l[1].toJSNumber();if(i)u=U-1-u;f=k(o,U);c=f[1].toJSNumber();if(s)c=U-1-c;a=l[0];o=f[0];h.push(r(u,c))}var d=0!==r(i?1:0,s?1:0)?n(-1):n(0);for(var p=h.length-1;p>=0;p-=1)d=d.multiply(U).add(n(h[p]));return d}c.prototype.not=function(){return this.negate().prev()};f.prototype.not=l.prototype.not=c.prototype.not;c.prototype.and=function(t){return K(this,t,(function(t,e){return t&e}))};f.prototype.and=l.prototype.and=c.prototype.and;c.prototype.or=function(t){return K(this,t,(function(t,e){return t|e}))};f.prototype.or=l.prototype.or=c.prototype.or;c.prototype.xor=function(t){return K(this,t,(function(t,e){return t^e}))};f.prototype.xor=l.prototype.xor=c.prototype.xor;var j=1<<30,q=(e&-e)*(e&-e)|j;function z(t){var r=t.value,i="number"===typeof r?r|j:"bigint"===typeof r?r|BigInt(j):r[0]+r[1]*e|q;return i&-i}function W(t,e){if(e.compareTo(t)<=0){var r=W(t,e.square(e));var i=r.p;var s=r.e;var a=i.multiply(e);return a.compareTo(t)<=0?{p:a,e:2*s+1}:{p:i,e:2*s}}return{p:n(1),e:0}}c.prototype.bitLength=function(){var t=this;if(t.compareTo(n(0))<0)t=t.negate().subtract(n(1));if(0===t.compareTo(n(0)))return n(0);return n(W(t,n(2)).e).add(n(1))};f.prototype.bitLength=l.prototype.bitLength=c.prototype.bitLength;function Y(t,e){t=st(t);e=st(e);return t.greater(e)?t:e}function J(t,e){t=st(t);e=st(e);return t.lesser(e)?t:e}function G(t,e){t=st(t).abs();e=st(e).abs();if(t.equals(e))return t;if(t.isZero())return e;if(e.isZero())return t;var r=u[1],i,n;while(t.isEven()&&e.isEven()){i=J(z(t),z(e));t=t.divide(i);e=e.divide(i);r=r.multiply(i)}while(t.isEven())t=t.divide(z(t));do{while(e.isEven())e=e.divide(z(e));if(t.greater(e)){n=e;e=t;t=n}e=e.subtract(t)}while(!e.isZero());return r.isUnit()?t:t.multiply(r)}function X(t,e){t=st(t).abs();e=st(e).abs();return t.divide(G(t,e)).multiply(e)}function Z(t,r,i){t=st(t);r=st(r);var n=i||Math.random;var s=J(t,r),a=Y(t,r);var o=a.subtract(s).add(1);if(o.isSmall)return s.add(Math.floor(n()*o));var c=et(o,e).value;var l=[],f=true;for(var h=0;h=o){if("1"===c&&1===o)continue;throw new Error(c+" is not a valid digit in base "+e+".")}}e=st(e);var l=[];var f="-"===t[0];for(s=f?1:0;s"!==t[s]&&s=0;s--){i=i.add(t[s].times(n));n=n.times(e)}return r?i.negate():i}function tt(t,e){e=e||a;if(t"}function et(t,e){e=n(e);if(e.isZero()){if(t.isZero())return{value:[0],isNegative:false};throw new Error("Cannot convert nonzero numbers to base 0.")}if(e.equals(-1)){if(t.isZero())return{value:[0],isNegative:false};if(t.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-t.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:false};var r=Array.apply(null,Array(t.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);r.unshift([1]);return{value:[].concat.apply([],r),isNegative:false}}var i=false;if(t.isNegative()&&e.isPositive()){i=true;t=t.abs()}if(e.isUnit()){if(t.isZero())return{value:[0],isNegative:false};return{value:Array.apply(null,Array(t.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:i}}var s=[];var a=t,o;while(a.isNegative()||a.compareAbs(e)>=0){o=a.divmod(e);a=o.quotient;var u=o.remainder;if(u.isNegative()){u=e.minus(u).abs();a=a.next()}s.push(u.toJSNumber())}s.push(a.toJSNumber());return{value:s.reverse(),isNegative:i}}function rt(t,e,r){var i=et(t,e);return(i.isNegative?"-":"")+i.value.map((function(t){return tt(t,r)})).join("")}c.prototype.toArray=function(t){return et(this,t)};l.prototype.toArray=function(t){return et(this,t)};f.prototype.toArray=function(t){return et(this,t)};c.prototype.toString=function(e,r){if(e===t)e=10;if(10!==e)return rt(this,e,r);var i=this.value,n=i.length,s=String(i[--n]),a="0000000",o;while(--n>=0){o=String(i[n]);s+=a.slice(o.length)+o}var u=this.sign?"-":"";return u+s};l.prototype.toString=function(e,r){if(e===t)e=10;if(10!=e)return rt(this,e,r);return String(this.value)};f.prototype.toString=l.prototype.toString;f.prototype.toJSON=c.prototype.toJSON=l.prototype.toJSON=function(){return this.toString()};c.prototype.valueOf=function(){return parseInt(this.toString(),10)};c.prototype.toJSNumber=c.prototype.valueOf;l.prototype.valueOf=function(){return this.value};l.prototype.toJSNumber=l.prototype.valueOf;f.prototype.valueOf=f.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};function it(t){if(h(+t)){var e=+t;if(e===y(e))return o?new f(BigInt(e)):new l(e);throw new Error("Invalid integer: "+t)}var i="-"===t[0];if(i)t=t.slice(1);var n=t.split(/e/i);if(n.length>2)throw new Error("Invalid integer: "+n.join("e"));if(2===n.length){var s=n[1];if("+"===s[0])s=s.slice(1);s=+s;if(s!==y(s)||!h(s))throw new Error("Invalid integer: "+s+" is not a valid exponent.");var a=n[0];var u=a.indexOf(".");if(u>=0){s-=a.length-u-1;a=a.slice(0,u)+a.slice(u+1)}if(s<0)throw new Error("Cannot include negative exponent part for integers");a+=new Array(s+1).join("0");t=a}var d=/^([0-9][0-9]*)$/.test(t);if(!d)throw new Error("Invalid integer: "+t);if(o)return new f(BigInt(i?"-"+t:t));var p=[],g=t.length,m=r,_=g-m;while(g>0){p.push(+t.slice(_,g));_-=m;if(_<0)_=0;g-=m}v(p);return new c(p,i)}function nt(t){if(o)return new f(BigInt(t));if(h(t)){if(t!==y(t))throw new Error(t+" is not an integer.");return new l(t)}return it(t.toString())}function st(t){if("number"===typeof t)return nt(t);if("string"===typeof t)return it(t);if("bigint"===typeof t)return new f(t);return t}for(var at=0;at<1e3;at++){u[at]=st(at);if(at>0)u[-at]=st(-at)}u.one=u[1];u.zero=u[0];u.minusOne=u[-1];u.max=Y;u.min=J;u.gcd=G;u.lcm=X;u.isInstance=function(t){return t instanceof c||t instanceof l||t instanceof f};u.randBetween=Z;u.fromArray=function(t,e,r){return Q(t.map(st),st(e||10),r)};return u}();if(true&&t.hasOwnProperty("exports"))t.exports=n;if(true)i=function(){return n}.call(e,r,e,t),void 0!==i&&(t.exports=i)},452:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(8269),r(8214),r(888),r(5109))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.BlockCipher;var n=e.algo;var s=[];var a=[];var o=[];var u=[];var c=[];var l=[];var f=[];var h=[];var d=[];var p=[];(function(){var t=[];for(var e=0;e<256;e++)if(e<128)t[e]=e<<1;else t[e]=e<<1^283;var r=0;var i=0;for(var e=0;e<256;e++){var n=i^i<<1^i<<2^i<<3^i<<4;n=n>>>8^255&n^99;s[r]=n;a[n]=r;var v=t[r];var g=t[v];var y=t[g];var m=257*t[n]^16843008*n;o[r]=m<<24|m>>>8;u[r]=m<<16|m>>>16;c[r]=m<<8|m>>>24;l[r]=m;var m=16843009*y^65537*g^257*v^16843008*r;f[n]=m<<24|m>>>8;h[n]=m<<16|m>>>16;d[n]=m<<8|m>>>24;p[n]=m;if(!r)r=i=1;else{r=v^t[t[t[y^v]]];i^=t[t[i]]}}})();var v=[0,1,2,4,8,16,32,64,128,27,54];var g=n.AES=i.extend({_doReset:function(){var t;if(this._nRounds&&this._keyPriorReset===this._key)return;var e=this._keyPriorReset=this._key;var r=e.words;var i=e.sigBytes/4;var n=this._nRounds=i+6;var a=4*(n+1);var o=this._keySchedule=[];for(var u=0;u>>24;t=s[t>>>24]<<24|s[t>>>16&255]<<16|s[t>>>8&255]<<8|s[255&t];t^=v[u/i|0]<<24}else if(i>6&&u%i==4)t=s[t>>>24]<<24|s[t>>>16&255]<<16|s[t>>>8&255]<<8|s[255&t];o[u]=o[u-i]^t}var c=this._invKeySchedule=[];for(var l=0;l>>24]]^h[s[t>>>16&255]]^d[s[t>>>8&255]]^p[s[255&t]]}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,o,u,c,l,s)},decryptBlock:function(t,e){var r=t[e+1];t[e+1]=t[e+3];t[e+3]=r;this._doCryptBlock(t,e,this._invKeySchedule,f,h,d,p,a);var r=t[e+1];t[e+1]=t[e+3];t[e+3]=r},_doCryptBlock:function(t,e,r,i,n,s,a,o){var u=this._nRounds;var c=t[e]^r[0];var l=t[e+1]^r[1];var f=t[e+2]^r[2];var h=t[e+3]^r[3];var d=4;for(var p=1;p>>24]^n[l>>>16&255]^s[f>>>8&255]^a[255&h]^r[d++];var g=i[l>>>24]^n[f>>>16&255]^s[h>>>8&255]^a[255&c]^r[d++];var y=i[f>>>24]^n[h>>>16&255]^s[c>>>8&255]^a[255&l]^r[d++];var m=i[h>>>24]^n[c>>>16&255]^s[l>>>8&255]^a[255&f]^r[d++];c=v;l=g;f=y;h=m}var v=(o[c>>>24]<<24|o[l>>>16&255]<<16|o[f>>>8&255]<<8|o[255&h])^r[d++];var g=(o[l>>>24]<<24|o[f>>>16&255]<<16|o[h>>>8&255]<<8|o[255&c])^r[d++];var y=(o[f>>>24]<<24|o[h>>>16&255]<<16|o[c>>>8&255]<<8|o[255&l])^r[d++];var m=(o[h>>>24]<<24|o[c>>>16&255]<<16|o[l>>>8&255]<<8|o[255&f])^r[d++];t[e]=v;t[e+1]=g;t[e+2]=y;t[e+3]=m},keySize:256/32});e.AES=i._createHelper(g)})();return t.AES}))},5109:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(888))})(this,(function(t){t.lib.Cipher||function(e){var r=t;var i=r.lib;var n=i.Base;var s=i.WordArray;var a=i.BufferedBlockAlgorithm;var o=r.enc;var u=o.Utf8;var c=o.Base64;var l=r.algo;var f=l.EvpKDF;var h=i.Cipher=a.extend({cfg:n.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,r){this.cfg=this.cfg.extend(r);this._xformMode=t;this._key=e;this.reset()},reset:function(){a.reset.call(this);this._doReset()},process:function(t){this._append(t);return this._process()},finalize:function(t){if(t)this._append(t);var e=this._doFinalize();return e},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){if("string"==typeof t)return T;else return E}return function(e){return{encrypt:function(r,i,n){return t(i).encrypt(e,r,i,n)},decrypt:function(r,i,n){return t(i).decrypt(e,r,i,n)}}}}()});var d=i.StreamCipher=h.extend({_doFinalize:function(){var t=this._process(!!"flush");return t},blockSize:1});var p=r.mode={};var v=i.BlockCipherMode=n.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t;this._iv=e}});var g=p.CBC=function(){var t=v.extend();t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;r.call(this,t,e,n);i.encryptBlock(t,e);this._prevBlock=t.slice(e,e+n)}});t.Decryptor=t.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;var s=t.slice(e,e+n);i.decryptBlock(t,e);r.call(this,t,e,n);this._prevBlock=s}});function r(t,r,i){var n;var s=this._iv;if(s){n=s;this._iv=e}else n=this._prevBlock;for(var a=0;a>>2];t.sigBytes-=e}};var _=i.BlockCipher=h.extend({cfg:h.cfg.extend({mode:g,padding:m}),reset:function(){var t;h.reset.call(this);var e=this.cfg;var r=e.iv;var i=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)t=i.createEncryptor;else{t=i.createDecryptor;this._minBufferSize=1}if(this._mode&&this._mode.__creator==t)this._mode.init(this,r&&r.words);else{this._mode=t.call(i,this,r&&r.words);this._mode.__creator=t}},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t;var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);t=this._process(!!"flush")}else{t=this._process(!!"flush");e.unpad(t)}return t},blockSize:128/32});var b=i.CipherParams=n.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}});var S=r.format={};var w=S.OpenSSL={stringify:function(t){var e;var r=t.ciphertext;var i=t.salt;if(i)e=s.create([1398893684,1701076831]).concat(i).concat(r);else e=r;return e.toString(c)},parse:function(t){var e;var r=c.parse(t);var i=r.words;if(1398893684==i[0]&&1701076831==i[1]){e=s.create(i.slice(2,4));i.splice(0,4);r.sigBytes-=16}return b.create({ciphertext:r,salt:e})}};var E=i.SerializableCipher=n.extend({cfg:n.extend({format:w}),encrypt:function(t,e,r,i){i=this.cfg.extend(i);var n=t.createEncryptor(r,i);var s=n.finalize(e);var a=n.cfg;return b.create({ciphertext:s,key:r,iv:a.iv,algorithm:t,mode:a.mode,padding:a.padding,blockSize:t.blockSize,formatter:i.format})},decrypt:function(t,e,r,i){i=this.cfg.extend(i);e=this._parse(e,i.format);var n=t.createDecryptor(r,i).finalize(e.ciphertext);return n},_parse:function(t,e){if("string"==typeof t)return e.parse(t,this);else return t}});var D=r.kdf={};var A=D.OpenSSL={execute:function(t,e,r,i){if(!i)i=s.random(64/8);var n=f.create({keySize:e+r}).compute(t,i);var a=s.create(n.words.slice(e),4*r);n.sigBytes=4*e;return b.create({key:n,iv:a,salt:i})}};var T=i.PasswordBasedCipher=E.extend({cfg:E.cfg.extend({kdf:A}),encrypt:function(t,e,r,i){i=this.cfg.extend(i);var n=i.kdf.execute(r,t.keySize,t.ivSize);i.iv=n.iv;var s=E.encrypt.call(this,t,e,n.key,i);s.mixIn(n);return s},decrypt:function(t,e,r,i){i=this.cfg.extend(i);e=this._parse(e,i.format);var n=i.kdf.execute(r,t.keySize,t.ivSize,e.salt);i.iv=n.iv;var s=E.decrypt.call(this,t,e,n.key,i);return s}})}()}))},8249:function(t,e,r){(function(r,i){if(true)t.exports=e=i()})(this,(function(){var t=t||function(t,e){var i;if("undefined"!==typeof window&&window.crypto)i=window.crypto;if("undefined"!==typeof self&&self.crypto)i=self.crypto;if("undefined"!==typeof globalThis&&globalThis.crypto)i=globalThis.crypto;if(!i&&"undefined"!==typeof window&&window.msCrypto)i=window.msCrypto;if(!i&&"undefined"!==typeof r.g&&r.g.crypto)i=r.g.crypto;if(!i&&"function"==="function")try{i=r(2480)}catch(t){}var n=function(){if(i){if("function"===typeof i.getRandomValues)try{return i.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"===typeof i.randomBytes)try{return i.randomBytes(4).readInt32LE()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")};var s=Object.create||function(){function t(){}return function(e){var r;t.prototype=e;r=new t;t.prototype=null;return r}}();var a={};var o=a.lib={};var u=o.Base=function(){return{extend:function(t){var e=s(this);if(t)e.mixIn(t);if(!e.hasOwnProperty("init")||this.init===e.init)e.init=function(){e.$super.init.apply(this,arguments)};e.init.prototype=e;e.$super=this;return e},create:function(){var t=this.extend();t.init.apply(t,arguments);return t},init:function(){},mixIn:function(t){for(var e in t)if(t.hasOwnProperty(e))this[e]=t[e];if(t.hasOwnProperty("toString"))this.toString=t.toString},clone:function(){return this.init.prototype.extend(this)}}}();var c=o.WordArray=u.extend({init:function(t,r){t=this.words=t||[];if(r!=e)this.sigBytes=r;else this.sigBytes=4*t.length},toString:function(t){return(t||f).stringify(this)},concat:function(t){var e=this.words;var r=t.words;var i=this.sigBytes;var n=t.sigBytes;this.clamp();if(i%4)for(var s=0;s>>2]>>>24-s%4*8&255;e[i+s>>>2]|=a<<24-(i+s)%4*8}else for(var o=0;o>>2]=r[o>>>2];this.sigBytes+=n;return this},clamp:function(){var e=this.words;var r=this.sigBytes;e[r>>>2]&=4294967295<<32-r%4*8;e.length=t.ceil(r/4)},clone:function(){var t=u.clone.call(this);t.words=this.words.slice(0);return t},random:function(t){var e=[];for(var r=0;r>>2]>>>24-n%4*8&255;i.push((s>>>4).toString(16));i.push((15&s).toString(16))}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var i=0;i>>3]|=parseInt(t.substr(i,2),16)<<24-i%8*4;return new c.init(r,e/2)}};var h=l.Latin1={stringify:function(t){var e=t.words;var r=t.sigBytes;var i=[];for(var n=0;n>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(s))}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var i=0;i>>2]|=(255&t.charCodeAt(i))<<24-i%4*8;return new c.init(r,e)}};var d=l.Utf8={stringify:function(t){try{return decodeURIComponent(escape(h.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return h.parse(unescape(encodeURIComponent(t)))}};var p=o.BufferedBlockAlgorithm=u.extend({reset:function(){this._data=new c.init;this._nDataBytes=0},_append:function(t){if("string"==typeof t)t=d.parse(t);this._data.concat(t);this._nDataBytes+=t.sigBytes},_process:function(e){var r;var i=this._data;var n=i.words;var s=i.sigBytes;var a=this.blockSize;var o=4*a;var u=s/o;if(e)u=t.ceil(u);else u=t.max((0|u)-this._minBufferSize,0);var l=u*a;var f=t.min(4*l,s);if(l){for(var h=0;h>>2]>>>24-s%4*8&255;var o=e[s+1>>>2]>>>24-(s+1)%4*8&255;var u=e[s+2>>>2]>>>24-(s+2)%4*8&255;var c=a<<16|o<<8|u;for(var l=0;l<4&&s+.75*l>>6*(3-l)&63))}var f=i.charAt(64);if(f)while(n.length%4)n.push(f);return n.join("")},parse:function(t){var e=t.length;var r=this._map;var i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var n=0;n>>6-a%4*2;var c=o|u;n[s>>>2]|=c<<24-s%4*8;s++}return i.create(n,s)}})();return t.enc.Base64}))},3786:function(t,e,r){(function(i,n){if(true)t.exports=e=n(r(8249))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=e.enc;var s=n.Base64url={stringify:function(t,e=true){var r=t.words;var i=t.sigBytes;var n=e?this._safe_map:this._map;t.clamp();var s=[];for(var a=0;a>>2]>>>24-a%4*8&255;var u=r[a+1>>>2]>>>24-(a+1)%4*8&255;var c=r[a+2>>>2]>>>24-(a+2)%4*8&255;var l=o<<16|u<<8|c;for(var f=0;f<4&&a+.75*f>>6*(3-f)&63))}var h=n.charAt(64);if(h)while(s.length%4)s.push(h);return s.join("")},parse:function(t,e=true){var r=t.length;var i=e?this._safe_map:this._map;var n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var s=0;s>>6-a%4*2;var c=o|u;n[s>>>2]|=c<<24-s%4*8;s++}return i.create(n,s)}})();return t.enc.Base64url}))},298:function(t,e,r){(function(i,n){if(true)t.exports=e=n(r(8249))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=e.enc;var s=n.Utf16=n.Utf16BE={stringify:function(t){var e=t.words;var r=t.sigBytes;var i=[];for(var n=0;n>>2]>>>16-n%4*8&65535;i.push(String.fromCharCode(s))}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var n=0;n>>1]|=t.charCodeAt(n)<<16-n%2*16;return i.create(r,2*e)}};n.Utf16LE={stringify:function(t){var e=t.words;var r=t.sigBytes;var i=[];for(var n=0;n>>2]>>>16-n%4*8&65535);i.push(String.fromCharCode(s))}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var n=0;n>>1]|=a(t.charCodeAt(n)<<16-n%2*16);return i.create(r,2*e)}};function a(t){return t<<8&4278255360|t>>>8&16711935}})();return t.enc.Utf16}))},888:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(2783),r(9824))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.Base;var n=r.WordArray;var s=e.algo;var a=s.MD5;var o=s.EvpKDF=i.extend({cfg:i.extend({keySize:128/32,hasher:a,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){var r;var i=this.cfg;var s=i.hasher.create();var a=n.create();var o=a.words;var u=i.keySize;var c=i.iterations;while(o.lengthi)e=t.finalize(e);e.clamp();var n=this._oKey=e.clone();var a=this._iKey=e.clone();var o=n.words;var u=a.words;for(var c=0;c>>2]|=t[i]<<24-i%4*8;n.call(this,r,e)}else n.apply(this,arguments)};s.prototype=i})();return t.lib.WordArray}))},8214:function(t,e,r){(function(i,n){if(true)t.exports=e=n(r(8249))})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.algo;var o=[];(function(){for(var t=0;t<64;t++)o[t]=4294967296*e.abs(e.sin(t+1))|0})();var u=a.MD5=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var i=e+r;var n=t[i];t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var s=this._hash.words;var a=t[e+0];var u=t[e+1];var d=t[e+2];var p=t[e+3];var v=t[e+4];var g=t[e+5];var y=t[e+6];var m=t[e+7];var _=t[e+8];var b=t[e+9];var S=t[e+10];var w=t[e+11];var E=t[e+12];var D=t[e+13];var A=t[e+14];var T=t[e+15];var M=s[0];var R=s[1];var I=s[2];var B=s[3];M=c(M,R,I,B,a,7,o[0]);B=c(B,M,R,I,u,12,o[1]);I=c(I,B,M,R,d,17,o[2]);R=c(R,I,B,M,p,22,o[3]);M=c(M,R,I,B,v,7,o[4]);B=c(B,M,R,I,g,12,o[5]);I=c(I,B,M,R,y,17,o[6]);R=c(R,I,B,M,m,22,o[7]);M=c(M,R,I,B,_,7,o[8]);B=c(B,M,R,I,b,12,o[9]);I=c(I,B,M,R,S,17,o[10]);R=c(R,I,B,M,w,22,o[11]);M=c(M,R,I,B,E,7,o[12]);B=c(B,M,R,I,D,12,o[13]);I=c(I,B,M,R,A,17,o[14]);R=c(R,I,B,M,T,22,o[15]);M=l(M,R,I,B,u,5,o[16]);B=l(B,M,R,I,y,9,o[17]);I=l(I,B,M,R,w,14,o[18]);R=l(R,I,B,M,a,20,o[19]);M=l(M,R,I,B,g,5,o[20]);B=l(B,M,R,I,S,9,o[21]);I=l(I,B,M,R,T,14,o[22]);R=l(R,I,B,M,v,20,o[23]);M=l(M,R,I,B,b,5,o[24]);B=l(B,M,R,I,A,9,o[25]);I=l(I,B,M,R,p,14,o[26]);R=l(R,I,B,M,_,20,o[27]);M=l(M,R,I,B,D,5,o[28]);B=l(B,M,R,I,d,9,o[29]);I=l(I,B,M,R,m,14,o[30]);R=l(R,I,B,M,E,20,o[31]);M=f(M,R,I,B,g,4,o[32]);B=f(B,M,R,I,_,11,o[33]);I=f(I,B,M,R,w,16,o[34]);R=f(R,I,B,M,A,23,o[35]);M=f(M,R,I,B,u,4,o[36]);B=f(B,M,R,I,v,11,o[37]);I=f(I,B,M,R,m,16,o[38]);R=f(R,I,B,M,S,23,o[39]);M=f(M,R,I,B,D,4,o[40]);B=f(B,M,R,I,a,11,o[41]);I=f(I,B,M,R,p,16,o[42]);R=f(R,I,B,M,y,23,o[43]);M=f(M,R,I,B,b,4,o[44]);B=f(B,M,R,I,E,11,o[45]);I=f(I,B,M,R,T,16,o[46]);R=f(R,I,B,M,d,23,o[47]);M=h(M,R,I,B,a,6,o[48]);B=h(B,M,R,I,m,10,o[49]);I=h(I,B,M,R,A,15,o[50]);R=h(R,I,B,M,g,21,o[51]);M=h(M,R,I,B,E,6,o[52]);B=h(B,M,R,I,p,10,o[53]);I=h(I,B,M,R,S,15,o[54]);R=h(R,I,B,M,u,21,o[55]);M=h(M,R,I,B,_,6,o[56]);B=h(B,M,R,I,T,10,o[57]);I=h(I,B,M,R,y,15,o[58]);R=h(R,I,B,M,D,21,o[59]);M=h(M,R,I,B,v,6,o[60]);B=h(B,M,R,I,w,10,o[61]);I=h(I,B,M,R,d,15,o[62]);R=h(R,I,B,M,b,21,o[63]);s[0]=s[0]+M|0;s[1]=s[1]+R|0;s[2]=s[2]+I|0;s[3]=s[3]+B|0},_doFinalize:function(){var t=this._data;var r=t.words;var i=8*this._nDataBytes;var n=8*t.sigBytes;r[n>>>5]|=128<<24-n%32;var s=e.floor(i/4294967296);var a=i;r[(n+64>>>9<<4)+15]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8);r[(n+64>>>9<<4)+14]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);t.sigBytes=4*(r.length+1);this._process();var o=this._hash;var u=o.words;for(var c=0;c<4;c++){var l=u[c];u[c]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return o},clone:function(){var t=s.clone.call(this);t._hash=this._hash.clone();return t}});function c(t,e,r,i,n,s,a){var o=t+(e&r|~e&i)+n+a;return(o<>>32-s)+e}function l(t,e,r,i,n,s,a){var o=t+(e&i|r&~i)+n+a;return(o<>>32-s)+e}function f(t,e,r,i,n,s,a){var o=t+(e^r^i)+n+a;return(o<>>32-s)+e}function h(t,e,r,i,n,s,a){var o=t+(r^(e|~i))+n+a;return(o<>>32-s)+e}r.MD5=s._createHelper(u);r.HmacMD5=s._createHmacHelper(u)})(Math);return t.MD5}))},8568:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(5109))})(this,(function(t){t.mode.CFB=function(){var e=t.lib.BlockCipherMode.extend();e.Encryptor=e.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;r.call(this,t,e,n,i);this._prevBlock=t.slice(e,e+n)}});e.Decryptor=e.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;var s=t.slice(e,e+n);r.call(this,t,e,n,i);this._prevBlock=s}});function r(t,e,r,i){var n;var s=this._iv;if(s){n=s.slice(0);this._iv=void 0}else n=this._prevBlock;i.encryptBlock(n,0);for(var a=0;a>24&255)){var e=t>>16&255;var r=t>>8&255;var i=255&t;if(255===e){e=0;if(255===r){r=0;if(255===i)i=0;else++i}else++r}else++e;t=0;t+=e<<16;t+=r<<8;t+=i}else t+=1<<24;return t}function i(t){if(0===(t[0]=r(t[0])))t[1]=r(t[1]);return t}var n=e.Encryptor=e.extend({processBlock:function(t,e){var r=this._cipher;var n=r.blockSize;var s=this._iv;var a=this._counter;if(s){a=this._counter=s.slice(0);this._iv=void 0}i(a);var o=a.slice(0);r.encryptBlock(o,0);for(var u=0;u>>2]|=n<<24-s%4*8;t.sigBytes+=n},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}};return t.pad.Ansix923}))},2807:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(5109))})(this,(function(t){t.pad.Iso10126={pad:function(e,r){var i=4*r;var n=i-e.sigBytes%i;e.concat(t.lib.WordArray.random(n-1)).concat(t.lib.WordArray.create([n<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}};return t.pad.Iso10126}))},1077:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(5109))})(this,(function(t){t.pad.Iso97971={pad:function(e,r){e.concat(t.lib.WordArray.create([2147483648],1));t.pad.ZeroPadding.pad(e,r)},unpad:function(e){t.pad.ZeroPadding.unpad(e);e.sigBytes--}};return t.pad.Iso97971}))},6991:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(5109))})(this,(function(t){t.pad.NoPadding={pad:function(){},unpad:function(){}};return t.pad.NoPadding}))},6475:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(5109))})(this,(function(t){t.pad.ZeroPadding={pad:function(t,e){var r=4*e;t.clamp();t.sigBytes+=r-(t.sigBytes%r||r)},unpad:function(t){var e=t.words;var r=t.sigBytes-1;for(var r=t.sigBytes-1;r>=0;r--)if(e[r>>>2]>>>24-r%4*8&255){t.sigBytes=r+1;break}}};return t.pad.ZeroPadding}))},2112:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(2783),r(9824))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.Base;var n=r.WordArray;var s=e.algo;var a=s.SHA1;var o=s.HMAC;var u=s.PBKDF2=i.extend({cfg:i.extend({keySize:128/32,hasher:a,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){var r=this.cfg;var i=o.create(r.hasher,t);var s=n.create();var a=n.create([1]);var u=s.words;var c=a.words;var l=r.keySize;var f=r.iterations;while(u.length>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16];var i=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];this._b=0;for(var n=0;n<4;n++)c.call(this);for(var n=0;n<8;n++)i[n]^=r[n+4&7];if(e){var s=e.words;var a=s[0];var o=s[1];var u=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);var l=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8);var f=u>>>16|4294901760&l;var h=l<<16|65535&u;i[0]^=u;i[1]^=f;i[2]^=l;i[3]^=h;i[4]^=u;i[5]^=f;i[6]^=l;i[7]^=h;for(var n=0;n<4;n++)c.call(this)}},_doProcessBlock:function(t,e){var r=this._X;c.call(this);s[0]=r[0]^r[5]>>>16^r[3]<<16;s[1]=r[2]^r[7]>>>16^r[5]<<16;s[2]=r[4]^r[1]>>>16^r[7]<<16;s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++){s[i]=16711935&(s[i]<<8|s[i]>>>24)|4278255360&(s[i]<<24|s[i]>>>8);t[e+i]^=s[i]}},blockSize:128/32,ivSize:64/32});function c(){var t=this._X;var e=this._C;for(var r=0;r<8;r++)a[r]=e[r];e[0]=e[0]+1295307597+this._b|0;e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0;e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0;e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0;e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0;e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0;e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0;e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0;this._b=e[7]>>>0>>0?1:0;for(var r=0;r<8;r++){var i=t[r]+e[r];var n=65535&i;var s=i>>>16;var u=((n*n>>>17)+n*s>>>15)+s*s;var c=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=u^c}t[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0;t[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0;t[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0;t[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0;t[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0;t[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0;t[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0;t[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.RabbitLegacy=i._createHelper(u)})();return t.RabbitLegacy}))},4454:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(8269),r(8214),r(888),r(5109))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.StreamCipher;var n=e.algo;var s=[];var a=[];var o=[];var u=n.Rabbit=i.extend({_doReset:function(){var t=this._key.words;var e=this.cfg.iv;for(var r=0;r<4;r++)t[r]=16711935&(t[r]<<8|t[r]>>>24)|4278255360&(t[r]<<24|t[r]>>>8);var i=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16];var n=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];this._b=0;for(var r=0;r<4;r++)c.call(this);for(var r=0;r<8;r++)n[r]^=i[r+4&7];if(e){var s=e.words;var a=s[0];var o=s[1];var u=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);var l=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8);var f=u>>>16|4294901760&l;var h=l<<16|65535&u;n[0]^=u;n[1]^=f;n[2]^=l;n[3]^=h;n[4]^=u;n[5]^=f;n[6]^=l;n[7]^=h;for(var r=0;r<4;r++)c.call(this)}},_doProcessBlock:function(t,e){var r=this._X;c.call(this);s[0]=r[0]^r[5]>>>16^r[3]<<16;s[1]=r[2]^r[7]>>>16^r[5]<<16;s[2]=r[4]^r[1]>>>16^r[7]<<16;s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++){s[i]=16711935&(s[i]<<8|s[i]>>>24)|4278255360&(s[i]<<24|s[i]>>>8);t[e+i]^=s[i]}},blockSize:128/32,ivSize:64/32});function c(){var t=this._X;var e=this._C;for(var r=0;r<8;r++)a[r]=e[r];e[0]=e[0]+1295307597+this._b|0;e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0;e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0;e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0;e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0;e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0;e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0;e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0;this._b=e[7]>>>0>>0?1:0;for(var r=0;r<8;r++){var i=t[r]+e[r];var n=65535&i;var s=i>>>16;var u=((n*n>>>17)+n*s>>>15)+s*s;var c=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=u^c}t[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0;t[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0;t[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0;t[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0;t[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0;t[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0;t[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0;t[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.Rabbit=i._createHelper(u)})();return t.Rabbit}))},1857:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(8269),r(8214),r(888),r(5109))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.StreamCipher;var n=e.algo;var s=n.RC4=i.extend({_doReset:function(){var t=this._key;var e=t.words;var r=t.sigBytes;var i=this._S=[];for(var n=0;n<256;n++)i[n]=n;for(var n=0,s=0;n<256;n++){var a=n%r;var o=e[a>>>2]>>>24-a%4*8&255;s=(s+i[n]+o)%256;var u=i[n];i[n]=i[s];i[s]=u}this._i=this._j=0},_doProcessBlock:function(t,e){t[e]^=a.call(this)},keySize:256/32,ivSize:0});function a(){var t=this._S;var e=this._i;var r=this._j;var i=0;for(var n=0;n<4;n++){e=(e+1)%256;r=(r+t[e])%256;var s=t[e];t[e]=t[r];t[r]=s;i|=t[(t[e]+t[r])%256]<<24-8*n}this._i=e;this._j=r;return i}e.RC4=i._createHelper(s);var o=n.RC4Drop=s.extend({cfg:s.cfg.extend({drop:192}),_doReset:function(){s._doReset.call(this);for(var t=this.cfg.drop;t>0;t--)a.call(this)}});e.RC4Drop=i._createHelper(o)})();return t.RC4}))},706:function(t,e,r){(function(i,n){if(true)t.exports=e=n(r(8249))})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.algo;var o=n.create([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]);var u=n.create([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]);var c=n.create([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]);var l=n.create([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]);var f=n.create([0,1518500249,1859775393,2400959708,2840853838]);var h=n.create([1352829926,1548603684,1836072691,2053994217,0]);var d=a.RIPEMD160=s.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var i=e+r;var n=t[i];t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var s=this._hash.words;var a=f.words;var d=h.words;var b=o.words;var S=u.words;var w=c.words;var E=l.words;var D,A,T,M,R;var I,B,x,C,O;I=D=s[0];B=A=s[1];x=T=s[2];C=M=s[3];O=R=s[4];var k;for(var r=0;r<80;r+=1){k=D+t[e+b[r]]|0;if(r<16)k+=p(A,T,M)+a[0];else if(r<32)k+=v(A,T,M)+a[1];else if(r<48)k+=g(A,T,M)+a[2];else if(r<64)k+=y(A,T,M)+a[3];else k+=m(A,T,M)+a[4];k|=0;k=_(k,w[r]);k=k+R|0;D=R;R=M;M=_(T,10);T=A;A=k;k=I+t[e+S[r]]|0;if(r<16)k+=m(B,x,C)+d[0];else if(r<32)k+=y(B,x,C)+d[1];else if(r<48)k+=g(B,x,C)+d[2];else if(r<64)k+=v(B,x,C)+d[3];else k+=p(B,x,C)+d[4];k|=0;k=_(k,E[r]);k=k+O|0;I=O;O=C;C=_(x,10);x=B;B=k}k=s[1]+T+C|0;s[1]=s[2]+M+O|0;s[2]=s[3]+R+I|0;s[3]=s[4]+D+B|0;s[4]=s[0]+A+x|0;s[0]=k},_doFinalize:function(){var t=this._data;var e=t.words;var r=8*this._nDataBytes;var i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32;e[(i+64>>>9<<4)+14]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);t.sigBytes=4*(e.length+1);this._process();var n=this._hash;var s=n.words;for(var a=0;a<5;a++){var o=s[a];s[a]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}return n},clone:function(){var t=s.clone.call(this);t._hash=this._hash.clone();return t}});function p(t,e,r){return t^e^r}function v(t,e,r){return t&e|~t&r}function g(t,e,r){return(t|~e)^r}function y(t,e,r){return t&r|e&~r}function m(t,e,r){return t^(e|~r)}function _(t,e){return t<>>32-e}r.RIPEMD160=s._createHelper(d);r.HmacRIPEMD160=s._createHmacHelper(d)})(Math);return t.RIPEMD160}))},2783:function(t,e,r){(function(i,n){if(true)t.exports=e=n(r(8249))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=r.Hasher;var s=e.algo;var a=[];var o=s.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){var r=this._hash.words;var i=r[0];var n=r[1];var s=r[2];var o=r[3];var u=r[4];for(var c=0;c<80;c++){if(c<16)a[c]=0|t[e+c];else{var l=a[c-3]^a[c-8]^a[c-14]^a[c-16];a[c]=l<<1|l>>>31}var f=(i<<5|i>>>27)+u+a[c];if(c<20)f+=(n&s|~n&o)+1518500249;else if(c<40)f+=(n^s^o)+1859775393;else if(c<60)f+=(n&s|n&o|s&o)-1894007588;else f+=(n^s^o)-899497514;u=o;o=s;s=n<<30|n>>>2;n=i;i=f}r[0]=r[0]+i|0;r[1]=r[1]+n|0;r[2]=r[2]+s|0;r[3]=r[3]+o|0;r[4]=r[4]+u|0},_doFinalize:function(){var t=this._data;var e=t.words;var r=8*this._nDataBytes;var i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32;e[(i+64>>>9<<4)+14]=Math.floor(r/4294967296);e[(i+64>>>9<<4)+15]=r;t.sigBytes=4*e.length;this._process();return this._hash},clone:function(){var t=n.clone.call(this);t._hash=this._hash.clone();return t}});e.SHA1=n._createHelper(o);e.HmacSHA1=n._createHmacHelper(o)})();return t.SHA1}))},7792:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(2153))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=e.algo;var s=n.SHA256;var a=n.SHA224=s.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var t=s._doFinalize.call(this);t.sigBytes-=4;return t}});e.SHA224=s._createHelper(a);e.HmacSHA224=s._createHmacHelper(a)})();return t.SHA224}))},2153:function(t,e,r){(function(i,n){if(true)t.exports=e=n(r(8249))})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.algo;var o=[];var u=[];(function(){function t(t){var r=e.sqrt(t);for(var i=2;i<=r;i++)if(!(t%i))return false;return true}function r(t){return 4294967296*(t-(0|t))|0}var i=2;var n=0;while(n<64){if(t(i)){if(n<8)o[n]=r(e.pow(i,1/2));u[n]=r(e.pow(i,1/3));n++}i++}})();var c=[];var l=a.SHA256=s.extend({_doReset:function(){this._hash=new n.init(o.slice(0))},_doProcessBlock:function(t,e){var r=this._hash.words;var i=r[0];var n=r[1];var s=r[2];var a=r[3];var o=r[4];var l=r[5];var f=r[6];var h=r[7];for(var d=0;d<64;d++){if(d<16)c[d]=0|t[e+d];else{var p=c[d-15];var v=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3;var g=c[d-2];var y=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;c[d]=v+c[d-7]+y+c[d-16]}var m=o&l^~o&f;var _=i&n^i&s^n&s;var b=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22);var S=(o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25);var w=h+S+m+u[d]+c[d];var E=b+_;h=f;f=l;l=o;o=a+w|0;a=s;s=n;n=i;i=w+E|0}r[0]=r[0]+i|0;r[1]=r[1]+n|0;r[2]=r[2]+s|0;r[3]=r[3]+a|0;r[4]=r[4]+o|0;r[5]=r[5]+l|0;r[6]=r[6]+f|0;r[7]=r[7]+h|0},_doFinalize:function(){var t=this._data;var r=t.words;var i=8*this._nDataBytes;var n=8*t.sigBytes;r[n>>>5]|=128<<24-n%32;r[(n+64>>>9<<4)+14]=e.floor(i/4294967296);r[(n+64>>>9<<4)+15]=i;t.sigBytes=4*r.length;this._process();return this._hash},clone:function(){var t=s.clone.call(this);t._hash=this._hash.clone();return t}});r.SHA256=s._createHelper(l);r.HmacSHA256=s._createHmacHelper(l)})(Math);return t.SHA256}))},3327:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(4938))})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.x64;var o=a.Word;var u=r.algo;var c=[];var l=[];var f=[];(function(){var t=1,e=0;for(var r=0;r<24;r++){c[t+5*e]=(r+1)*(r+2)/2%64;var i=e%5;var n=(2*t+3*e)%5;t=i;e=n}for(var t=0;t<5;t++)for(var e=0;e<5;e++)l[t+5*e]=e+(2*t+3*e)%5*5;var s=1;for(var a=0;a<24;a++){var u=0;var h=0;for(var d=0;d<7;d++){if(1&s){var p=(1<>>24)|4278255360&(s<<24|s>>>8);a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);var o=r[n];o.high^=a;o.low^=s}for(var u=0;u<24;u++){for(var d=0;d<5;d++){var p=0,v=0;for(var g=0;g<5;g++){var o=r[d+5*g];p^=o.high;v^=o.low}var y=h[d];y.high=p;y.low=v}for(var d=0;d<5;d++){var m=h[(d+4)%5];var _=h[(d+1)%5];var b=_.high;var S=_.low;var p=m.high^(b<<1|S>>>31);var v=m.low^(S<<1|b>>>31);for(var g=0;g<5;g++){var o=r[d+5*g];o.high^=p;o.low^=v}}for(var w=1;w<25;w++){var p;var v;var o=r[w];var E=o.high;var D=o.low;var A=c[w];if(A<32){p=E<>>32-A;v=D<>>32-A}else{p=D<>>64-A;v=E<>>64-A}var T=h[l[w]];T.high=p;T.low=v}var M=h[0];var R=r[0];M.high=R.high;M.low=R.low;for(var d=0;d<5;d++)for(var g=0;g<5;g++){var w=d+5*g;var o=r[w];var I=h[w];var B=h[(d+1)%5+5*g];var x=h[(d+2)%5+5*g];o.high=I.high^~B.high&x.high;o.low=I.low^~B.low&x.low}var o=r[0];var C=f[u];o.high^=C.high;o.low^=C.low}},_doFinalize:function(){var t=this._data;var r=t.words;var i=8*this._nDataBytes;var s=8*t.sigBytes;var a=32*this.blockSize;r[s>>>5]|=1<<24-s%32;r[(e.ceil((s+1)/a)*a>>>5)-1]|=128;t.sigBytes=4*r.length;this._process();var o=this._state;var u=this.cfg.outputLength/8;var c=u/8;var l=[];for(var f=0;f>>24)|4278255360&(d<<24|d>>>8);p=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8);l.push(p);l.push(d)}return new n.init(l,u)},clone:function(){var t=s.clone.call(this);var e=t._state=this._state.slice(0);for(var r=0;r<25;r++)e[r]=e[r].clone();return t}});r.SHA3=s._createHelper(d);r.HmacSHA3=s._createHmacHelper(d)})(Math);return t.SHA3}))},7460:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(4938),r(34))})(this,(function(t){(function(){var e=t;var r=e.x64;var i=r.Word;var n=r.WordArray;var s=e.algo;var a=s.SHA512;var o=s.SHA384=a.extend({_doReset:function(){this._hash=new n.init([new i.init(3418070365,3238371032),new i.init(1654270250,914150663),new i.init(2438529370,812702999),new i.init(355462360,4144912697),new i.init(1731405415,4290775857),new i.init(2394180231,1750603025),new i.init(3675008525,1694076839),new i.init(1203062813,3204075428)])},_doFinalize:function(){var t=a._doFinalize.call(this);t.sigBytes-=16;return t}});e.SHA384=a._createHelper(o);e.HmacSHA384=a._createHmacHelper(o)})();return t.SHA384}))},34:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(4938))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.Hasher;var n=e.x64;var s=n.Word;var a=n.WordArray;var o=e.algo;function u(){return s.create.apply(s,arguments)}var c=[u(1116352408,3609767458),u(1899447441,602891725),u(3049323471,3964484399),u(3921009573,2173295548),u(961987163,4081628472),u(1508970993,3053834265),u(2453635748,2937671579),u(2870763221,3664609560),u(3624381080,2734883394),u(310598401,1164996542),u(607225278,1323610764),u(1426881987,3590304994),u(1925078388,4068182383),u(2162078206,991336113),u(2614888103,633803317),u(3248222580,3479774868),u(3835390401,2666613458),u(4022224774,944711139),u(264347078,2341262773),u(604807628,2007800933),u(770255983,1495990901),u(1249150122,1856431235),u(1555081692,3175218132),u(1996064986,2198950837),u(2554220882,3999719339),u(2821834349,766784016),u(2952996808,2566594879),u(3210313671,3203337956),u(3336571891,1034457026),u(3584528711,2466948901),u(113926993,3758326383),u(338241895,168717936),u(666307205,1188179964),u(773529912,1546045734),u(1294757372,1522805485),u(1396182291,2643833823),u(1695183700,2343527390),u(1986661051,1014477480),u(2177026350,1206759142),u(2456956037,344077627),u(2730485921,1290863460),u(2820302411,3158454273),u(3259730800,3505952657),u(3345764771,106217008),u(3516065817,3606008344),u(3600352804,1432725776),u(4094571909,1467031594),u(275423344,851169720),u(430227734,3100823752),u(506948616,1363258195),u(659060556,3750685593),u(883997877,3785050280),u(958139571,3318307427),u(1322822218,3812723403),u(1537002063,2003034995),u(1747873779,3602036899),u(1955562222,1575990012),u(2024104815,1125592928),u(2227730452,2716904306),u(2361852424,442776044),u(2428436474,593698344),u(2756734187,3733110249),u(3204031479,2999351573),u(3329325298,3815920427),u(3391569614,3928383900),u(3515267271,566280711),u(3940187606,3454069534),u(4118630271,4000239992),u(116418474,1914138554),u(174292421,2731055270),u(289380356,3203993006),u(460393269,320620315),u(685471733,587496836),u(852142971,1086792851),u(1017036298,365543100),u(1126000580,2618297676),u(1288033470,3409855158),u(1501505948,4234509866),u(1607167915,987167468),u(1816402316,1246189591)];var l=[];(function(){for(var t=0;t<80;t++)l[t]=u()})();var f=o.SHA512=i.extend({_doReset:function(){this._hash=new a.init([new s.init(1779033703,4089235720),new s.init(3144134277,2227873595),new s.init(1013904242,4271175723),new s.init(2773480762,1595750129),new s.init(1359893119,2917565137),new s.init(2600822924,725511199),new s.init(528734635,4215389547),new s.init(1541459225,327033209)])},_doProcessBlock:function(t,e){var r=this._hash.words;var i=r[0];var n=r[1];var s=r[2];var a=r[3];var o=r[4];var u=r[5];var f=r[6];var h=r[7];var d=i.high;var p=i.low;var v=n.high;var g=n.low;var y=s.high;var m=s.low;var _=a.high;var b=a.low;var S=o.high;var w=o.low;var E=u.high;var D=u.low;var A=f.high;var T=f.low;var M=h.high;var R=h.low;var I=d;var B=p;var x=v;var C=g;var O=y;var k=m;var N=_;var P=b;var H=S;var L=w;var V=E;var U=D;var F=A;var K=T;var j=M;var q=R;for(var z=0;z<80;z++){var W;var Y;var J=l[z];if(z<16){Y=J.high=0|t[e+2*z];W=J.low=0|t[e+2*z+1]}else{var G=l[z-15];var X=G.high;var Z=G.low;var $=(X>>>1|Z<<31)^(X>>>8|Z<<24)^X>>>7;var Q=(Z>>>1|X<<31)^(Z>>>8|X<<24)^(Z>>>7|X<<25);var tt=l[z-2];var et=tt.high;var rt=tt.low;var it=(et>>>19|rt<<13)^(et<<3|rt>>>29)^et>>>6;var nt=(rt>>>19|et<<13)^(rt<<3|et>>>29)^(rt>>>6|et<<26);var st=l[z-7];var at=st.high;var ot=st.low;var ut=l[z-16];var ct=ut.high;var lt=ut.low;W=Q+ot;Y=$+at+(W>>>0>>0?1:0);W+=nt;Y=Y+it+(W>>>0>>0?1:0);W+=lt;Y=Y+ct+(W>>>0>>0?1:0);J.high=Y;J.low=W}var ft=H&V^~H&F;var ht=L&U^~L&K;var dt=I&x^I&O^x&O;var pt=B&C^B&k^C&k;var vt=(I>>>28|B<<4)^(I<<30|B>>>2)^(I<<25|B>>>7);var gt=(B>>>28|I<<4)^(B<<30|I>>>2)^(B<<25|I>>>7);var yt=(H>>>14|L<<18)^(H>>>18|L<<14)^(H<<23|L>>>9);var mt=(L>>>14|H<<18)^(L>>>18|H<<14)^(L<<23|H>>>9);var _t=c[z];var bt=_t.high;var St=_t.low;var wt=q+mt;var Et=j+yt+(wt>>>0>>0?1:0);var wt=wt+ht;var Et=Et+ft+(wt>>>0>>0?1:0);var wt=wt+St;var Et=Et+bt+(wt>>>0>>0?1:0);var wt=wt+W;var Et=Et+Y+(wt>>>0>>0?1:0);var Dt=gt+pt;var At=vt+dt+(Dt>>>0>>0?1:0);j=F;q=K;F=V;K=U;V=H;U=L;L=P+wt|0;H=N+Et+(L>>>0

>>0?1:0)|0;N=O;P=k;O=x;k=C;x=I;C=B;B=wt+Dt|0;I=Et+At+(B>>>0>>0?1:0)|0}p=i.low=p+B;i.high=d+I+(p>>>0>>0?1:0);g=n.low=g+C;n.high=v+x+(g>>>0>>0?1:0);m=s.low=m+k;s.high=y+O+(m>>>0>>0?1:0);b=a.low=b+P;a.high=_+N+(b>>>0

>>0?1:0);w=o.low=w+L;o.high=S+H+(w>>>0>>0?1:0);D=u.low=D+U;u.high=E+V+(D>>>0>>0?1:0);T=f.low=T+K;f.high=A+F+(T>>>0>>0?1:0);R=h.low=R+q;h.high=M+j+(R>>>0>>0?1:0)},_doFinalize:function(){var t=this._data;var e=t.words;var r=8*this._nDataBytes;var i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32;e[(i+128>>>10<<5)+30]=Math.floor(r/4294967296);e[(i+128>>>10<<5)+31]=r;t.sigBytes=4*e.length;this._process();var n=this._hash.toX32();return n},clone:function(){var t=i.clone.call(this);t._hash=this._hash.clone();return t},blockSize:1024/32});e.SHA512=i._createHelper(f);e.HmacSHA512=i._createHmacHelper(f)})();return t.SHA512}))},4253:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(8269),r(8214),r(888),r(5109))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=r.BlockCipher;var s=e.algo;var a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4];var o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32];var u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28];var c=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}];var l=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679];var f=s.DES=n.extend({_doReset:function(){var t=this._key;var e=t.words;var r=[];for(var i=0;i<56;i++){var n=a[i]-1;r[i]=e[n>>>5]>>>31-n%32&1}var s=this._subKeys=[];for(var c=0;c<16;c++){var l=s[c]=[];var f=u[c];for(var i=0;i<24;i++){l[i/6|0]|=r[(o[i]-1+f)%28]<<31-i%6;l[4+(i/6|0)]|=r[28+(o[i+24]-1+f)%28]<<31-i%6}l[0]=l[0]<<1|l[0]>>>31;for(var i=1;i<7;i++)l[i]=l[i]>>>4*(i-1)+3;l[7]=l[7]<<5|l[7]>>>27}var h=this._invSubKeys=[];for(var i=0;i<16;i++)h[i]=s[15-i]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(t,e,r){this._lBlock=t[e];this._rBlock=t[e+1];h.call(this,4,252645135);h.call(this,16,65535);d.call(this,2,858993459);d.call(this,8,16711935);h.call(this,1,1431655765);for(var i=0;i<16;i++){var n=r[i];var s=this._lBlock;var a=this._rBlock;var o=0;for(var u=0;u<8;u++)o|=c[u][((a^n[u])&l[u])>>>0];this._lBlock=a;this._rBlock=s^o}var f=this._lBlock;this._lBlock=this._rBlock;this._rBlock=f;h.call(this,1,1431655765);d.call(this,8,16711935);d.call(this,2,858993459);h.call(this,16,65535);h.call(this,4,252645135);t[e]=this._lBlock;t[e+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function h(t,e){var r=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=r;this._lBlock^=r<>>t^this._lBlock)&e;this._lBlock^=r;this._rBlock^=r<192.");var r=e.slice(0,2);var n=e.length<4?e.slice(0,2):e.slice(2,4);var s=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=f.createEncryptor(i.create(r));this._des2=f.createEncryptor(i.create(n));this._des3=f.createEncryptor(i.create(s))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e);this._des2.decryptBlock(t,e);this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e);this._des2.encryptBlock(t,e);this._des1.decryptBlock(t,e)},keySize:192/32,ivSize:64/32,blockSize:64/32});e.TripleDES=n._createHelper(p)})();return t.TripleDES}))},4938:function(t,e,r){(function(i,n){if(true)t.exports=e=n(r(8249))})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.Base;var s=i.WordArray;var a=r.x64={};var o=a.Word=n.extend({init:function(t,e){this.high=t;this.low=e}});var u=a.WordArray=n.extend({init:function(t,r){t=this.words=t||[];if(r!=e)this.sigBytes=r;else this.sigBytes=8*t.length},toX32:function(){var t=this.words;var e=t.length;var r=[];for(var i=0;i{var __WEBPACK_AMD_DEFINE_RESULT__;(function(){"use strict";var ERROR="input is invalid type";var WINDOW="object"===typeof window;var root=WINDOW?window:{};if(root.JS_MD5_NO_WINDOW)WINDOW=false;var WEB_WORKER=!WINDOW&&"object"===typeof self;var NODE_JS=!root.JS_MD5_NO_NODE_JS&&"object"===typeof process&&process.versions&&process.versions.node;if(NODE_JS)root=__webpack_require__.g;else if(WEB_WORKER)root=self;var COMMON_JS=!root.JS_MD5_NO_COMMON_JS&&"object"==="object"&&module.exports;var AMD=true&&__webpack_require__.amdO;var ARRAY_BUFFER=!root.JS_MD5_NO_ARRAY_BUFFER&&"undefined"!==typeof ArrayBuffer;var HEX_CHARS="0123456789abcdef".split("");var EXTRA=[128,32768,8388608,-2147483648];var SHIFT=[0,8,16,24];var OUTPUT_TYPES=["hex","array","digest","buffer","arrayBuffer","base64"];var BASE64_ENCODE_CHAR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");var blocks=[],buffer8;if(ARRAY_BUFFER){var buffer=new ArrayBuffer(68);buffer8=new Uint8Array(buffer);blocks=new Uint32Array(buffer)}if(root.JS_MD5_NO_NODE_JS||!Array.isArray)Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)};if(ARRAY_BUFFER&&(root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView))ArrayBuffer.isView=function(t){return"object"===typeof t&&t.buffer&&t.buffer.constructor===ArrayBuffer};var createOutputMethod=function(t){return function(e){return new Md5(true).update(e)[t]()}};var createMethod=function(){var t=createOutputMethod("hex");if(NODE_JS)t=nodeWrap(t);t.create=function(){return new Md5};t.update=function(e){return t.create().update(e)};for(var e=0;e>2]|=t[n]<>6;u[s++]=128|63&i}else if(i<55296||i>=57344){u[s++]=224|i>>12;u[s++]=128|i>>6&63;u[s++]=128|63&i}else{i=65536+((1023&i)<<10|1023&t.charCodeAt(++n));u[s++]=240|i>>18;u[s++]=128|i>>12&63;u[s++]=128|i>>6&63;u[s++]=128|63&i}}else for(s=this.start;n>2]|=i<>2]|=(192|i>>6)<>2]|=(128|63&i)<=57344){o[s>>2]|=(224|i>>12)<>2]|=(128|i>>6&63)<>2]|=(128|63&i)<>2]|=(240|i>>18)<>2]|=(128|i>>12&63)<>2]|=(128|i>>6&63)<>2]|=(128|63&i)<=64){this.start=s-64;this.hash();this.hashed=true}else this.start=s}if(this.bytes>4294967295){this.hBytes+=this.bytes/4294967296<<0;this.bytes=this.bytes%4294967296}return this};Md5.prototype.finalize=function(){if(this.finalized)return;this.finalized=true;var t=this.blocks,e=this.lastByteIndex;t[e>>2]|=EXTRA[3&e];if(e>=56){if(!this.hashed)this.hash();t[0]=t[16];t[16]=t[1]=t[2]=t[3]=t[4]=t[5]=t[6]=t[7]=t[8]=t[9]=t[10]=t[11]=t[12]=t[13]=t[14]=t[15]=0}t[14]=this.bytes<<3;t[15]=this.hBytes<<3|this.bytes>>>29;this.hash()};Md5.prototype.hash=function(){var t,e,r,i,n,s,a=this.blocks;if(this.first){t=a[0]-680876937;t=(t<<7|t>>>25)-271733879<<0;i=(-1732584194^2004318071&t)+a[1]-117830708;i=(i<<12|i>>>20)+t<<0;r=(-271733879^i&(-271733879^t))+a[2]-1126478375;r=(r<<17|r>>>15)+i<<0;e=(t^r&(i^t))+a[3]-1316259209;e=(e<<22|e>>>10)+r<<0}else{t=this.h0;e=this.h1;r=this.h2;i=this.h3;t+=(i^e&(r^i))+a[0]-680876936;t=(t<<7|t>>>25)+e<<0;i+=(r^t&(e^r))+a[1]-389564586;i=(i<<12|i>>>20)+t<<0;r+=(e^i&(t^e))+a[2]+606105819;r=(r<<17|r>>>15)+i<<0;e+=(t^r&(i^t))+a[3]-1044525330;e=(e<<22|e>>>10)+r<<0}t+=(i^e&(r^i))+a[4]-176418897;t=(t<<7|t>>>25)+e<<0;i+=(r^t&(e^r))+a[5]+1200080426;i=(i<<12|i>>>20)+t<<0;r+=(e^i&(t^e))+a[6]-1473231341;r=(r<<17|r>>>15)+i<<0;e+=(t^r&(i^t))+a[7]-45705983;e=(e<<22|e>>>10)+r<<0;t+=(i^e&(r^i))+a[8]+1770035416;t=(t<<7|t>>>25)+e<<0;i+=(r^t&(e^r))+a[9]-1958414417;i=(i<<12|i>>>20)+t<<0;r+=(e^i&(t^e))+a[10]-42063;r=(r<<17|r>>>15)+i<<0;e+=(t^r&(i^t))+a[11]-1990404162;e=(e<<22|e>>>10)+r<<0;t+=(i^e&(r^i))+a[12]+1804603682;t=(t<<7|t>>>25)+e<<0;i+=(r^t&(e^r))+a[13]-40341101;i=(i<<12|i>>>20)+t<<0;r+=(e^i&(t^e))+a[14]-1502002290;r=(r<<17|r>>>15)+i<<0;e+=(t^r&(i^t))+a[15]+1236535329;e=(e<<22|e>>>10)+r<<0;t+=(r^i&(e^r))+a[1]-165796510;t=(t<<5|t>>>27)+e<<0;i+=(e^r&(t^e))+a[6]-1069501632;i=(i<<9|i>>>23)+t<<0;r+=(t^e&(i^t))+a[11]+643717713;r=(r<<14|r>>>18)+i<<0;e+=(i^t&(r^i))+a[0]-373897302;e=(e<<20|e>>>12)+r<<0;t+=(r^i&(e^r))+a[5]-701558691;t=(t<<5|t>>>27)+e<<0;i+=(e^r&(t^e))+a[10]+38016083;i=(i<<9|i>>>23)+t<<0;r+=(t^e&(i^t))+a[15]-660478335;r=(r<<14|r>>>18)+i<<0;e+=(i^t&(r^i))+a[4]-405537848;e=(e<<20|e>>>12)+r<<0;t+=(r^i&(e^r))+a[9]+568446438;t=(t<<5|t>>>27)+e<<0;i+=(e^r&(t^e))+a[14]-1019803690;i=(i<<9|i>>>23)+t<<0;r+=(t^e&(i^t))+a[3]-187363961;r=(r<<14|r>>>18)+i<<0;e+=(i^t&(r^i))+a[8]+1163531501;e=(e<<20|e>>>12)+r<<0;t+=(r^i&(e^r))+a[13]-1444681467;t=(t<<5|t>>>27)+e<<0;i+=(e^r&(t^e))+a[2]-51403784;i=(i<<9|i>>>23)+t<<0;r+=(t^e&(i^t))+a[7]+1735328473;r=(r<<14|r>>>18)+i<<0;e+=(i^t&(r^i))+a[12]-1926607734;e=(e<<20|e>>>12)+r<<0;n=e^r;t+=(n^i)+a[5]-378558;t=(t<<4|t>>>28)+e<<0;i+=(n^t)+a[8]-2022574463;i=(i<<11|i>>>21)+t<<0;s=i^t;r+=(s^e)+a[11]+1839030562;r=(r<<16|r>>>16)+i<<0;e+=(s^r)+a[14]-35309556;e=(e<<23|e>>>9)+r<<0;n=e^r;t+=(n^i)+a[1]-1530992060;t=(t<<4|t>>>28)+e<<0;i+=(n^t)+a[4]+1272893353;i=(i<<11|i>>>21)+t<<0;s=i^t;r+=(s^e)+a[7]-155497632;r=(r<<16|r>>>16)+i<<0;e+=(s^r)+a[10]-1094730640;e=(e<<23|e>>>9)+r<<0;n=e^r;t+=(n^i)+a[13]+681279174;t=(t<<4|t>>>28)+e<<0;i+=(n^t)+a[0]-358537222;i=(i<<11|i>>>21)+t<<0;s=i^t;r+=(s^e)+a[3]-722521979;r=(r<<16|r>>>16)+i<<0;e+=(s^r)+a[6]+76029189;e=(e<<23|e>>>9)+r<<0;n=e^r;t+=(n^i)+a[9]-640364487;t=(t<<4|t>>>28)+e<<0;i+=(n^t)+a[12]-421815835;i=(i<<11|i>>>21)+t<<0;s=i^t;r+=(s^e)+a[15]+530742520;r=(r<<16|r>>>16)+i<<0;e+=(s^r)+a[2]-995338651;e=(e<<23|e>>>9)+r<<0;t+=(r^(e|~i))+a[0]-198630844;t=(t<<6|t>>>26)+e<<0;i+=(e^(t|~r))+a[7]+1126891415;i=(i<<10|i>>>22)+t<<0;r+=(t^(i|~e))+a[14]-1416354905;r=(r<<15|r>>>17)+i<<0;e+=(i^(r|~t))+a[5]-57434055;e=(e<<21|e>>>11)+r<<0;t+=(r^(e|~i))+a[12]+1700485571;t=(t<<6|t>>>26)+e<<0;i+=(e^(t|~r))+a[3]-1894986606;i=(i<<10|i>>>22)+t<<0;r+=(t^(i|~e))+a[10]-1051523;r=(r<<15|r>>>17)+i<<0;e+=(i^(r|~t))+a[1]-2054922799;e=(e<<21|e>>>11)+r<<0;t+=(r^(e|~i))+a[8]+1873313359;t=(t<<6|t>>>26)+e<<0;i+=(e^(t|~r))+a[15]-30611744;i=(i<<10|i>>>22)+t<<0;r+=(t^(i|~e))+a[6]-1560198380;r=(r<<15|r>>>17)+i<<0;e+=(i^(r|~t))+a[13]+1309151649;e=(e<<21|e>>>11)+r<<0;t+=(r^(e|~i))+a[4]-145523070;t=(t<<6|t>>>26)+e<<0;i+=(e^(t|~r))+a[11]-1120210379;i=(i<<10|i>>>22)+t<<0;r+=(t^(i|~e))+a[2]+718787259;r=(r<<15|r>>>17)+i<<0;e+=(i^(r|~t))+a[9]-343485551;e=(e<<21|e>>>11)+r<<0;if(this.first){this.h0=t+1732584193<<0;this.h1=e-271733879<<0;this.h2=r-1732584194<<0;this.h3=i+271733878<<0;this.first=false}else{this.h0=this.h0+t<<0;this.h1=this.h1+e<<0;this.h2=this.h2+r<<0;this.h3=this.h3+i<<0}};Md5.prototype.hex=function(){this.finalize();var t=this.h0,e=this.h1,r=this.h2,i=this.h3;return HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[15&r]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[i>>4&15]+HEX_CHARS[15&i]+HEX_CHARS[i>>12&15]+HEX_CHARS[i>>8&15]+HEX_CHARS[i>>20&15]+HEX_CHARS[i>>16&15]+HEX_CHARS[i>>28&15]+HEX_CHARS[i>>24&15]};Md5.prototype.toString=Md5.prototype.hex;Md5.prototype.digest=function(){this.finalize();var t=this.h0,e=this.h1,r=this.h2,i=this.h3;return[255&t,t>>8&255,t>>16&255,t>>24&255,255&e,e>>8&255,e>>16&255,e>>24&255,255&r,r>>8&255,r>>16&255,r>>24&255,255&i,i>>8&255,i>>16&255,i>>24&255]};Md5.prototype.array=Md5.prototype.digest;Md5.prototype.arrayBuffer=function(){this.finalize();var t=new ArrayBuffer(16);var e=new Uint32Array(t);e[0]=this.h0;e[1]=this.h1;e[2]=this.h2;e[3]=this.h3;return t};Md5.prototype.buffer=Md5.prototype.arrayBuffer;Md5.prototype.base64=function(){var t,e,r,i="",n=this.array();for(var s=0;s<15;){t=n[s++];e=n[s++];r=n[s++];i+=BASE64_ENCODE_CHAR[t>>>2]+BASE64_ENCODE_CHAR[63&(t<<4|e>>>4)]+BASE64_ENCODE_CHAR[63&(e<<2|r>>>6)]+BASE64_ENCODE_CHAR[63&r]}t=n[s];i+=BASE64_ENCODE_CHAR[t>>>2]+BASE64_ENCODE_CHAR[t<<4&63]+"==";return i};var exports=createMethod();if(COMMON_JS)module.exports=exports;else{root.md5=exports;if(AMD)__WEBPACK_AMD_DEFINE_RESULT__=function(){return exports}.call(exports,__webpack_require__,exports,module),void 0!==__WEBPACK_AMD_DEFINE_RESULT__&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}})()},3118:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.ErrorCode=void 0;var r;(function(t){t[t["SUCCESS"]=0]="SUCCESS";t[t["CLIENT_ID_NOT_FOUND"]=1]="CLIENT_ID_NOT_FOUND";t[t["OPERATION_TOO_OFTEN"]=2]="OPERATION_TOO_OFTEN";t[t["REPEAT_MESSAGE"]=3]="REPEAT_MESSAGE";t[t["TIME_OUT"]=4]="TIME_OUT"})(r=e.ErrorCode||(e.ErrorCode={}))},5987:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1901));const s=i(r(1754));const a=i(r(1237));var o;(function(t){function e(t){a.default.debugMode=t;a.default.info(`setDebugMode: ${t}`)}t.setDebugMode=e;function r(t){try{f(t.appid);n.default.init(t)}catch(t){a.default.error(`init error`,t)}}t.init=r;function i(t){try{n.default.setTag(t)}catch(t){a.default.error(`setTag error`,t)}}t.setTag=i;function o(t){try{n.default.bindAlias(t)}catch(t){a.default.error(`bindAlias error`,t)}}t.bindAlias=o;function u(t){try{n.default.unbindAlias(t)}catch(t){a.default.error(`unbindAlias error`,t)}}t.unbindAlias=u;function c(t){try{if(!t.url)throw new Error("invalid url");if(!t.key||!t.keyId)throw new Error("invalid key or keyId");s.default.socketUrl=t.url;s.default.publicKeyId=t.keyId;s.default.publicKey=t.key}catch(t){a.default.error(`setSocketServer error`,t)}}t.setSocketServer=c;function l(t){try{n.default.enableSocket(t)}catch(t){a.default.error(`enableSocket error`,t)}}t.enableSocket=l;function f(t){if(null==t||void 0==t||""==t.trim())throw new Error(`invalid appid ${t}`)}})(o||(o={}));e["default"]=o},127:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});var r;(function(t){t.SDK_VERSION="GTMP-1.0.1.0";t.DEFAULT_SOCKET_URL="wss://wshz.getui.net:5223/nws";t.SOCKET_PROTOCOL_VERSION="1.0";t.SERVER_PUBLIC_KEY="MHwwDQYJKoZIhvcNAQEBBQADawAwaAJhAJp1rROuvBF7sBSnvLaesj2iFhMcY8aXyLvpnNLKs2wjL3JmEnyr++SlVa35liUlzi83tnAFkn3A9GB7pHBNzawyUkBh8WUhq5bnFIkk2RaDa6+5MpG84DEv52p7RR+aWwIDAQAB";t.SERVER_PUBLIC_KEY_ID="69d747c4b9f641baf4004be4297e9f3b"})(r||(r={}));e["default"]=r},1901:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3593));const s=i(r(1237));const a=r(3118);const o=i(r(1754));const u=i(r(3854));const c=i(r(9018));const l=i(r(5084));class f{static init(t){if(this.inited)return;try{this.inited=true;s.default.info(`init: appid=${t.appid}`);o.default.init(t);n.default.connect()}catch(t){this.inited=false}}static enableSocket(t){this.checkInit();n.default.allowReconnect=t;if(t)n.default.reconnect(0);else n.default.close(`enableSocket ${t}`)}static setTag(t){this.checkInit();if(!o.default.cid){t.setTagResult?.call(t.setTagResult,{resultCode:a.ErrorCode.CLIENT_ID_NOT_FOUND,message:"client id not found"});return}c.default.create(t.tags,t.setTagResult).send()}static bindAlias(t){this.checkInit();if(!o.default.cid){t.bindAliasResult?.call(t.bindAliasResult,{resultCode:a.ErrorCode.CLIENT_ID_NOT_FOUND,message:"client id not found"});return}let e=(new Date).getTime();if(e-o.default.lastAliasTime<1*1e3){s.default.error(`bind alias fail: alias option can only be called once a second`);t.bindAliasResult?.call(t.bindAliasResult,{resultCode:a.ErrorCode.OPERATION_TOO_OFTEN,message:"alias option can only be called once a second"});return}u.default.create(t.alias,true,t.bindAliasResult).send();o.default.lastAliasTime=e}static unbindAlias(t){this.checkInit();if(!o.default.cid){t.unbindAliasResult?.call(t.unbindAliasResult,{resultCode:a.ErrorCode.CLIENT_ID_NOT_FOUND,message:"client id not found"});return}let e=(new Date).getTime();if(e-o.default.lastAliasTime<1*1e3){s.default.error(`unbindAlias alias fail: alias option can only be called once a second`);t.unbindAliasResult?.call(t.unbindAliasResult,{resultCode:a.ErrorCode.OPERATION_TOO_OFTEN,message:"alias option can only be called once a second"});return}l.default.create(t.alias,t.onlySelf,t.unbindAliasResult).send();o.default.lastAliasTime=e}static turnOff(){}static turnOn(){}static checkInit(){if(!this.inited)throw new Error(`not init, please invoke init method firstly`)}}f.inited=false;e["default"]=f},1754:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(323));const s=i(r(207));const a=i(r(127));const o=i(r(3593));const u=i(r(1237));const c=i(r(3270));const l=i(r(5574));class f{static init(t){this.appid=l.default.to_getui(t.appid);u.default.info(`getui appid: ${this.appid}`);this.onClientId=t.onClientId;this.onlineState=t.onlineState;this.onPushMsg=t.onPushMsg;if(this.appid!=s.default.getSync(s.default.KEY_APPID,this.appid)){u.default.info("appid changed, clear session and cid");s.default.setSync(s.default.KEY_CID,"");s.default.setSync(s.default.KEY_SESSION,"")}s.default.setSync(s.default.KEY_APPID,this.appid);this.cid=s.default.getSync(s.default.KEY_CID,this.cid);if(this.cid)this.onClientId?.call(this,{cid:f.cid});this.session=s.default.getSync(s.default.KEY_SESSION,this.session);this.deviceId=s.default.getSync(s.default.KEY_DEVICE_ID,this.deviceId);this.regId=s.default.getSync(s.default.KEY_REGID,this.regId);if(!this.regId){this.regId=this.createRegId();s.default.set({key:s.default.KEY_REGID,data:this.regId})}this.socketUrl=s.default.getSync(s.default.KEY_SOCKET_URL,this.socketUrl);let e=this;c.default.getNetworkType({success:t=>{e.networkType=t;e.networkConnected="none"!=e.networkType&&""!=e.networkType}});c.default.onNetworkStatusChange((t=>{e.networkConnected=t.isConnected;e.networkType=t.networkType;if(e.networkConnected)o.default.reconnect(0)}))}static createRegId(){return`M-V${n.default.md5Hex(this.getUuid())}-${(new Date).getTime()}`}static getUuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){let e=16*Math.random()|0,r="x"===t?e:3&e|8;return r.toString(16)}))}}f.appid="";f.cid="";f.regId="";f.session="";f.deviceId="";f.packetId=1;f.online=false;f.socketUrl=a.default.DEFAULT_SOCKET_URL;f.publicKeyId=a.default.SERVER_PUBLIC_KEY_ID;f.publicKey=a.default.SERVER_PUBLIC_KEY;f.lastAliasTime=0;f.networkConnected=true;f.networkType="none";e["default"]=f},9214:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n,s;Object.defineProperty(e,"__esModule",{value:true});const a=i(r(9800));const o=r(3118);const u=i(r(1754));class c extends a.default{constructor(){super(...arguments);this.actionMsgData=new l}static initActionMsg(t,...e){super.initMsg(t);t.command=a.default.Command.CLIENT_MSG;t.data=t.actionMsgData=l.create();return t}static parseActionMsg(t,e){super.parseMsg(t,e);t.actionMsgData=l.parse(t.data);return t}send(){let t=setTimeout((()=>{if(c.waitingLoginMsgMap.has(this.actionMsgData.msgId)||c.waitingResponseMsgMap.has(this.actionMsgData.msgId)){c.waitingLoginMsgMap.delete(this.actionMsgData.msgId);c.waitingResponseMsgMap.delete(this.actionMsgData.msgId);this.callback?.call(this.callback,{resultCode:o.ErrorCode.TIME_OUT,message:"waiting time out"})}}),1e4);if(!u.default.online){c.waitingLoginMsgMap.set(this.actionMsgData.msgId,this);return}if(this.actionMsgData.msgAction!=c.ClientAction.RECEIVED)c.waitingResponseMsgMap.set(this.actionMsgData.msgId,this);super.send()}receive(){}static sendWaitingMessages(){let t=this.waitingLoginMsgMap.keys();let e;while(e=t.next(),!e.done){let t=this.waitingLoginMsgMap.get(e.value);this.waitingLoginMsgMap.delete(e.value);t?.send()}}static getWaitingResponseMessage(t){return c.waitingResponseMsgMap.get(t)}static removeWaitingResponseMessage(t){let e=c.waitingResponseMsgMap.get(t);if(e)c.waitingResponseMsgMap.delete(t);return e}}c.ServerAction=(n=class{},n.PUSH_MESSAGE="pushmessage",n.REDIRECT_SERVER="redirect_server",n.ADD_PHONE_INFO_RESULT="addphoneinfo",n.SET_MODE_RESULT="set_mode_result",n.SET_TAG_RESULT="settag_result",n.BIND_ALIAS_RESULT="response_bind",n.UNBIND_ALIAS_RESULT="response_unbind",n.FEED_BACK_RESULT="pushmessage_feedback",n.RECEIVED="received",n);c.ClientAction=(s=class{},s.ADD_PHONE_INFO="addphoneinfo",s.SET_MODE="set_mode",s.FEED_BACK="pushmessage_feedback",s.SET_TAGS="set_tag",s.BIND_ALIAS="bind_alias",s.UNBIND_ALIAS="unbind_alias",s.RECEIVED="received",s);c.waitingLoginMsgMap=new Map;c.waitingResponseMsgMap=new Map;class l{constructor(){this.appId="";this.cid="";this.msgId="";this.msgAction="";this.msgData="";this.msgExtraData=""}static create(){let t=new l;t.appId=u.default.appid;t.cid=u.default.cid;t.msgId=(new Date).getTime().toString().substr(4);return t}static parse(t){let e=new l;let r=JSON.parse(t);e.appId=r.appId;e.cid=r.cid;e.msgId=r.msgId;e.msgAction=r.msgAction;e.msgData=r.msgData;e.msgExtraData=r.msgExtraData;return e}}e["default"]=c},708:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3270));const s=i(r(207));const a=i(r(127));const o=r(3118);const u=i(r(9214));const c=i(r(1754));class l extends u.default{constructor(){super(...arguments);this.addPhoneInfoData=new f}static create(){let t=new l;super.initActionMsg(t);t.callback=e=>{if(e.resultCode!=o.ErrorCode.SUCCESS&&e.resultCode!=o.ErrorCode.REPEAT_MESSAGE)setTimeout((function(){t.send()}),30*1e3);else s.default.set({key:s.default.KEY_ADD_PHONE_INFO_TIME,data:(new Date).getTime()})};t.actionMsgData.msgAction=u.default.ClientAction.ADD_PHONE_INFO;t.addPhoneInfoData=f.create();t.actionMsgData.msgData=JSON.stringify(t.addPhoneInfoData);return t}send(){let t=(new Date).getTime();let e=s.default.getSync(s.default.KEY_ADD_PHONE_INFO_TIME,0);if(t-e<24*60*60*1e3)return;super.send()}}class f{constructor(){this.model="";this.brand="";this.system_version="";this.version="";this.device_token="";this.imei="";this.oaid="";this.mac="";this.idfa="";this.deviceid="";this.type="";this.extra={os:"",platform:"",platformVersion:"",platformId:"",appVersion:"",language:""}}static create(){let t=new f;t.model=n.default.model();t.brand=n.default.brand();t.system_version=n.default.osVersion();t.version=a.default.SDK_VERSION;t.device_token="";t.imei="";t.oaid="";t.mac="";t.idfa="";t.type="MINI";t.deviceid=`${t.type}-${c.default.deviceId}`;t.extra={os:n.default.os(),platform:n.default.platform(),platformVersion:n.default.platformVersion(),platformId:n.default.platformId(),appVersion:"",language:n.default.language()};return t}}e["default"]=l},3854:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.bindAliasTagData=new o}static create(t,e,r){let i=new a;super.initActionMsg(i);i.bindAliasTagData=o.create(t,e);i.callback=r;i.actionMsgData.msgAction=s.default.ClientAction.BIND_ALIAS;i.actionMsgData.msgData=JSON.stringify(i.bindAliasTagData);return i}}class o{constructor(){this.alias="";this.cid="";this.appid="";this.sn="";this.is_self=""}static create(t,e){let r=new o;r.alias=t;r.cid=n.default.cid;r.appid=n.default.appid;r.sn=(new Date).getTime().toString();r.is_self=e?"1":"0";return r}}e["default"]=a},652:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n,s;Object.defineProperty(e,"__esModule",{value:true});const a=i(r(1754));const o=r(3118);const u=i(r(9214));class c extends u.default{constructor(){super(...arguments);this.feedbackData=new l}static create(t,e){let r=new c;super.initActionMsg(r);r.callback=t=>{if(t.resultCode!=o.ErrorCode.SUCCESS&&t.resultCode!=o.ErrorCode.REPEAT_MESSAGE)setTimeout((function(){r.send()}),30*1e3)};r.feedbackData=l.create(t,e);r.actionMsgData.msgAction=u.default.ClientAction.FEED_BACK;r.actionMsgData.msgData=JSON.stringify(r.feedbackData);return r}send(){super.send()}}c.ActionId=(n=class{},n.RECEIVE="0",n.MP_RECEIVE="210000",n.WEB_RECEIVE="220000",n.BEGIN="1",n);c.RESULT=(s=class{},s.OK="ok",s);class l{constructor(){this.messageid="";this.appkey="";this.appid="";this.taskid="";this.actionid="";this.result="";this.timestamp=""}static create(t,e){let r=new l;r.messageid=t.pushMessageData.messageid;r.appkey=t.pushMessageData.appKey;r.appid=a.default.appid;r.taskid=t.pushMessageData.taskId;r.actionid=e;r.result=c.RESULT.OK;r.timestamp=(new Date).getTime().toString();return r}}e["default"]=c},9018:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.setTagData=new o}static create(t,e){let r=new a;super.initActionMsg(r);r.setTagData=o.create(t);r.callback=e;r.actionMsgData.msgAction=s.default.ClientAction.SET_TAGS;r.actionMsgData.msgData=JSON.stringify(r.setTagData);return r}}class o{constructor(){this.appid="";this.tags="";this.sn=""}static create(t){let e=new o;e.appid=n.default.appid;e.tags=u(t);e.sn=(new Date).getTime().toString();return e}}function u(t){return encodeURIComponent(t).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A")}e["default"]=a},5084:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.unbindAliasData=new o}static create(t,e,r){let i=new a;super.initActionMsg(i);i.unbindAliasData=o.create(t,e);i.callback=r;i.actionMsgData.msgAction=s.default.ClientAction.UNBIND_ALIAS;i.actionMsgData.msgData=JSON.stringify(i.unbindAliasData);return i}}class o{constructor(){this.alias="";this.cid="";this.appid="";this.sn="";this.is_self=""}static create(t,e){let r=new o;r.alias=t;r.cid=n.default.cid;r.appid=n.default.appid;r.sn=(new Date).getTime().toString();r.is_self=e?"1":"0";return r}}e["default"]=a},6561:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9800));class s extends n.default{static create(){let t=new s;super.initMsg(t);t.command=n.default.Command.HEART_BEAT;return t}}e["default"]=s},358:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(323));const s=i(r(1754));const a=i(r(9800));class o extends a.default{constructor(){super(...arguments);this.keyNegotiateData=new u}static create(){let t=new o;super.initMsg(t);t.command=a.default.Command.KEY_NEGOTIATE;n.default.resetKey();t.data=t.keyNegotiateData=u.create();return t}send(){super.send()}}class u{constructor(){this.appId="";this.rsaPublicKeyId="";this.algorithm="";this.secretKey="";this.iv=""}static create(){let t=new u;t.appId=s.default.appid;t.rsaPublicKeyId=s.default.publicKeyId;t.algorithm="AES";t.secretKey=n.default.getEncryptedSecretKey();t.iv=n.default.getEncryptedIV();return t}}e["default"]=o},5301:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9800));const s=i(r(323));const a=i(r(2544));class o extends n.default{constructor(){super(...arguments);this.keyNegotiateResultData=new u}static parse(t){let e=new o;super.parseMsg(e,t);e.keyNegotiateResultData=u.parse(e.data);return e}receive(){if(0!=this.keyNegotiateResultData.errorCode){console.error(`key negotiate fail: ${this.data}`);return}let t=this.keyNegotiateResultData.encryptType.split("/");if(!s.default.algorithmMap.has(t[0].trim().toLowerCase())||!s.default.modeMap.has(t[1].trim().toLowerCase())||!s.default.paddingMap.has(t[2].trim().toLowerCase())){console.error(`key negotiate fail: ${this.data}`);return}s.default.setEncryptParams(t[0].trim().toLowerCase(),t[1].trim().toLowerCase(),t[2].trim().toLowerCase());a.default.create().send()}}class u{constructor(){this.errorCode=-1;this.errorMsg="";this.encryptType=""}static parse(t){let e=new u;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;e.encryptType=r.encryptType;return e}}e["default"]=o},2544:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(323));const a=i(r(9800));const o=i(r(3527));class u extends a.default{constructor(){super(...arguments);this.loginData=new c}static create(){let t=new u;super.initMsg(t);t.command=a.default.Command.LOGIN;t.data=t.loginData=c.create();return t}send(){if(!this.loginData.session||n.default.cid!=s.default.md5Hex(this.loginData.session)){o.default.create().send();return}super.send()}}class c{constructor(){this.appId="";this.session=""}static create(){let t=new c;t.appId=n.default.appid;t.session=n.default.session;return t}}e["default"]=u},8734:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(9800));const a=i(r(1754));const o=i(r(9214));const u=i(r(708));const c=i(r(2544));class l extends s.default{constructor(){super(...arguments);this.loginResultData=new f}static parse(t){let e=new l;super.parseMsg(e,t);e.loginResultData=f.parse(e.data);return e}receive(){if(0!=this.loginResultData.errorCode){this.data;a.default.session=a.default.cid="";n.default.setSync(n.default.KEY_CID,"");n.default.setSync(n.default.KEY_SESSION,"");c.default.create().send();return}if(!a.default.online){a.default.online=true;a.default.onlineState?.call(a.default.onlineState,{online:a.default.online})}o.default.sendWaitingMessages();u.default.create().send()}}class f{constructor(){this.errorCode=-1;this.errorMsg="";this.session=""}static parse(t){let e=new f;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;e.session=r.session;return e}}e["default"]=l},9800:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n;Object.defineProperty(e,"__esModule",{value:true});const s=i(r(350));const a=i(r(3593));const o=i(r(127));const u=i(r(1754));class c{constructor(){this.version="";this.command=0;this.packetId=0;this.timeStamp=0;this.data="";this.signature=""}static initMsg(t,...e){t.version=o.default.SOCKET_PROTOCOL_VERSION;t.command=0;t.timeStamp=(new Date).getTime();return t}static parseMsg(t,e){let r=JSON.parse(e);t.version=r.version;t.command=r.command;t.packetId=r.packetId;t.timeStamp=r.timeStamp;t.data=r.data;t.signature=r.signature;return t}stringify(){return JSON.stringify(this,["version","command","packetId","timeStamp","data","signature"])}send(){if(!a.default.isAvailable())return;this.packetId=u.default.packetId++;this.data=JSON.stringify(this.data);this.stringify();if(this.command!=c.Command.HEART_BEAT){s.default.sign(this);if(this.data&&this.command!=c.Command.KEY_NEGOTIATE)s.default.encrypt(this)}a.default.send(this.stringify())}}c.Command=(n=class{},n.HEART_BEAT=0,n.KEY_NEGOTIATE=1,n.KEY_NEGOTIATE_RESULT=16,n.REGISTER=2,n.REGISTER_RESULT=32,n.LOGIN=3,n.LOGIN_RESULT=48,n.LOGOUT=4,n.LOGOUT_RESULT=64,n.CLIENT_MSG=5,n.SERVER_MSG=80,n.SERVER_CLOSE=96,n);e["default"]=c},350:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(323));var s;(function(t){function e(t){t.data=n.default.encrypt(t.data)}t.encrypt=e;function r(t){t.data=n.default.decrypt(t.data)}t.decrypt=r;function i(t){t.signature=n.default.sha256(`${t.timeStamp}${t.packetId}${t.command}${t.data}`)}t.sign=i;function s(t){let e=n.default.sha256(`${t.timeStamp}${t.packetId}${t.command}${t.data}`);if(t.signature!=e)throw new Error(`msg signature vierfy failed`)}t.verify=s})(s||(s={}));e["default"]=s},1236:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(5301));const s=i(r(8734));const a=i(r(9800));const o=i(r(7078));const u=i(r(538));const c=i(r(7821));const l=i(r(217));const f=i(r(7156));const h=i(r(2535));const d=i(r(9214));const p=i(r(7303));const v=i(r(6063));const g=i(r(7923));const y=i(r(350));const m=i(r(9214));const _=i(r(6254));const b=i(r(5035));class S{static receiveMessage(t){let e=a.default.parseMsg(new a.default,t);if(e.command!=a.default.Command.KEY_NEGOTIATE_RESULT&&e.command!=a.default.Command.HEART_BEAT&&e.command!=a.default.Command.SERVER_CLOSE)y.default.decrypt(e);if(e.command!=a.default.Command.HEART_BEAT&&e.command!=a.default.Command.SERVER_CLOSE)y.default.verify(e);switch(e.command){case a.default.Command.KEY_NEGOTIATE_RESULT:n.default.parse(e.stringify()).receive();break;case a.default.Command.REGISTER_RESULT:o.default.parse(e.stringify()).receive();break;case a.default.Command.LOGIN_RESULT:s.default.parse(e.stringify()).receive();break;case a.default.Command.SERVER_MSG:this.receiveActionMsg(e.stringify());break;case a.default.Command.SERVER_CLOSE:b.default.parse(e.stringify()).receive();break;default:break}}static receiveActionMsg(t){let e=m.default.parseActionMsg(new m.default,t);if(e.actionMsgData.msgAction!=d.default.ServerAction.RECEIVED&&e.actionMsgData.msgAction!=d.default.ServerAction.REDIRECT_SERVER){let t=JSON.parse(e.actionMsgData.msgData);_.default.create(t.id).send()}switch(e.actionMsgData.msgAction){case d.default.ServerAction.PUSH_MESSAGE:f.default.parse(t).receive();break;case d.default.ServerAction.REDIRECT_SERVER:h.default.parse(t).receive();break;case d.default.ServerAction.ADD_PHONE_INFO_RESULT:u.default.parse(t).receive();break;case d.default.ServerAction.SET_MODE_RESULT:p.default.parse(t).receive();break;case d.default.ServerAction.SET_TAG_RESULT:v.default.parse(t).receive();break;case d.default.ServerAction.BIND_ALIAS_RESULT:c.default.parse(t).receive();break;case d.default.ServerAction.UNBIND_ALIAS_RESULT:g.default.parse(t).receive();break;case d.default.ServerAction.FEED_BACK_RESULT:l.default.parse(t).receive();break;case d.default.ServerAction.RECEIVED:_.default.parse(t).receive();break}}}e["default"]=S},6254:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=r(3118);const s=i(r(1754));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.receivedData=new u}static create(t){let e=new o;super.initActionMsg(e);e.callback=t=>{if(t.resultCode!=n.ErrorCode.SUCCESS&&t.resultCode!=n.ErrorCode.REPEAT_MESSAGE)setTimeout((function(){e.send()}),3*1e3)};e.actionMsgData.msgAction=a.default.ClientAction.RECEIVED;e.receivedData=u.create(t);e.actionMsgData.msgData=JSON.stringify(e.receivedData);return e}static parse(t){let e=new o;super.parseActionMsg(e,t);e.receivedData=u.parse(e.data);return e}receive(){let t=a.default.getWaitingResponseMessage(this.actionMsgData.msgId);if(t&&t.actionMsgData.msgAction==a.default.ClientAction.ADD_PHONE_INFO||t&&t.actionMsgData.msgAction==a.default.ClientAction.FEED_BACK){a.default.removeWaitingResponseMessage(t.actionMsgData.msgId);t.callback?.call(t.callback,{resultCode:n.ErrorCode.SUCCESS,message:"received"})}}send(){super.send()}}class u{constructor(){this.msgId="";this.cid=""}static create(t){let e=new u;e.cid=s.default.cid;e.msgId=t;return e}static parse(t){let e=new u;let r=JSON.parse(t);e.cid=r.cid;e.msgId=r.msgId;return e}}e["default"]=o},3527:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9800));class a extends s.default{constructor(){super(...arguments);this.registerData=new o}static create(){let t=new a;super.initMsg(t);t.command=s.default.Command.REGISTER;t.data=t.registerData=o.create();return t}send(){super.send()}}class o{constructor(){this.appId="";this.regId=""}static create(){let t=new o;t.appId=n.default.appid;t.regId=n.default.regId;return t}}e["default"]=a},7078:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9800));const s=i(r(207));const a=i(r(1754));const o=i(r(2544));class u extends n.default{constructor(){super(...arguments);this.registerResultData=new c}static parse(t){let e=new u;super.parseMsg(e,t);e.registerResultData=c.parse(e.data);return e}receive(){if(0!=this.registerResultData.errorCode||!this.registerResultData.cid||!this.registerResultData.session){console.error(`register fail: ${this.data}`);return}if(a.default.cid!=this.registerResultData.cid)s.default.setSync(s.default.KEY_ADD_PHONE_INFO_TIME,0);a.default.cid=this.registerResultData.cid;a.default.onClientId?.call(a.default.onClientId,{cid:a.default.cid});s.default.set({key:s.default.KEY_CID,data:a.default.cid});a.default.session=this.registerResultData.session;s.default.set({key:s.default.KEY_SESSION,data:a.default.session});a.default.deviceId=this.registerResultData.deviceId;s.default.set({key:s.default.KEY_DEVICE_ID,data:a.default.deviceId});o.default.create().send()}}class c{constructor(){this.errorCode=-1;this.errorMsg="";this.cid="";this.session="";this.deviceId="";this.regId=""}static parse(t){let e=new c;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;e.cid=r.cid;e.session=r.session;e.deviceId=r.deviceId;e.regId=r.regId;return e}}e["default"]=u},5035:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3593));const s=i(r(9800));class a extends s.default{constructor(){super(...arguments);this.serverCloseData=new o}static parse(t){let e=new a;super.parseMsg(e,t);e.serverCloseData=o.parse(e.data);return e}receive(){this.data;if(20==this.serverCloseData.code||23==this.serverCloseData.code||24==this.serverCloseData.code)n.default.allowReconnect=false;n.default.close()}}class o{constructor(){this.code=-1;this.msg=""}static parse(t){let e=new o;let r=JSON.parse(t);e.code=r.code;e.msg=r.msg;return e}}e["default"]=a},538:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.addPhoneInfoResultData=new o}static parse(t){let e=new a;super.parseActionMsg(e,t);e.addPhoneInfoResultData=o.parse(e.actionMsgData.msgData);return e}receive(){this.addPhoneInfoResultData;let t=s.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.addPhoneInfoResultData.errorCode,message:this.addPhoneInfoResultData.errorMsg});n.default.set({key:n.default.KEY_ADD_PHONE_INFO_TIME,data:(new Date).getTime()})}}class o{constructor(){this.errorCode=-1;this.errorMsg=""}static parse(t){let e=new o;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=a},7821:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(1237));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.bindAliasResultData=new u}static parse(t){let e=new o;super.parseActionMsg(e,t);e.bindAliasResultData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.info(`bind alias result`,this.bindAliasResultData);let t=a.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.bindAliasResultData.errorCode,message:this.bindAliasResultData.errorMsg});n.default.set({key:n.default.KEY_BIND_ALIAS_TIME,data:(new Date).getTime()})}}class u{constructor(){this.errorCode=-1;this.errorMsg=""}static parse(t){let e=new u;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=o},217:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=r(3118);const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.feedbackResultData=new o}static parse(t){let e=new a;super.parseActionMsg(e,t);e.feedbackResultData=o.parse(e.actionMsgData.msgData);return e}receive(){this.feedbackResultData;let t=s.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:n.ErrorCode.SUCCESS,message:"received"})}}class o{constructor(){this.actionId="";this.taskId="";this.result=""}static parse(t){let e=new o;let r=JSON.parse(t);e.actionId=r.actionId;e.taskId=r.taskId;e.result=r.result;return e}}e["default"]=a},7156:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n;Object.defineProperty(e,"__esModule",{value:true});const s=i(r(1754));const a=i(r(9214));const o=i(r(652));class u extends a.default{constructor(){super(...arguments);this.pushMessageData=new c}static parse(t){let e=new u;super.parseActionMsg(e,t);e.pushMessageData=c.parse(e.actionMsgData.msgData);return e}receive(){this.pushMessageData;if(this.pushMessageData.appId!=s.default.appid||!this.pushMessageData.messageid||!this.pushMessageData.taskId)this.stringify();o.default.create(this,o.default.ActionId.RECEIVE).send();o.default.create(this,o.default.ActionId.MP_RECEIVE).send();if(this.actionMsgData.msgExtraData&&s.default.onPushMsg)s.default.onPushMsg?.call(s.default.onPushMsg,{message:this.actionMsgData.msgExtraData})}}class c{constructor(){this.id="";this.appKey="";this.appId="";this.messageid="";this.taskId="";this.actionChain=[];this.cdnType=""}static parse(t){let e=new c;let r=JSON.parse(t);e.id=r.id;e.appKey=r.appKey;e.appId=r.appId;e.messageid=r.messageid;e.taskId=r.taskId;e.actionChain=r.actionChain;e.cdnType=r.cdnType;return e}}class l{constructor(){this.type="";this.actionid="";this.do=""}}l.Type=(n=class{},n.GO_TO="goto",n.TRANSMIT="transmit",n);e["default"]=u},2535:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3593));const s=i(r(1754));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.redirectServerData=new u}static parse(t){let e=new o;super.parseActionMsg(e,t);e.redirectServerData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.socketUrl=this.redirectServerData.addressList.split(",")[0];n.default.connect()}}class u{constructor(){this.addressList="";this.delay=0;this.location="";this.idConfig=""}static parse(t){let e=new u;let r=JSON.parse(t);e.addressList=r.addressList;e.delay=r.delay;e.location=r.location;e.idConfig=r.idConfig;return e}}e["default"]=o},7303:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9214));class s extends n.default{constructor(){super(...arguments);this.setModeResultData=new a}static parse(t){let e=new s;super.parseActionMsg(e,t);e.setModeResultData=a.parse(e.actionMsgData.msgData);return e}receive(){this.setModeResultData;let t=n.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.setModeResultData.errorCode,message:this.setModeResultData.errorMsg})}}class a{constructor(){this.errorCode=-1;this.errorMsg=""}static parse(t){let e=new a;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=s},6063:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(1237));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.setTagResultData=new u}static parse(t){let e=new o;super.parseActionMsg(e,t);e.setTagResultData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.info(`set tag result`,this.setTagResultData);let t=a.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.setTagResultData.errorCode,message:this.setTagResultData.errorMsg});n.default.set({key:n.default.KEY_SET_TAG_TIME,data:(new Date).getTime()})}}class u{constructor(){this.errorCode=0;this.errorMsg=""}static parse(t){let e=new u;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=o},7923:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(1237));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.unbindAliasResultData=new u}static parse(t){let e=new o;super.parseActionMsg(e,t);e.unbindAliasResultData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.info(`unbind alias result`,this.unbindAliasResultData);let t=a.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.unbindAliasResultData.errorCode,message:this.unbindAliasResultData.errorMsg});n.default.set({key:n.default.KEY_BIND_ALIAS_TIME,data:(new Date).getTime()})}}class u{constructor(){this.errorCode=-1;this.errorMsg=""}static parse(t){let e=new u;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=o},9285:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});class r{constructor(t){this.delay=10;this.delay=t}start(){this.cancel();let t=this;this.timer=setInterval((function(){t.run()}),this.delay)}cancel(){if(this.timer)clearInterval(this.timer)}}e["default"]=r},1571:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n;Object.defineProperty(e,"__esModule",{value:true});const s=i(r(6561));const a=i(r(9285));class o extends a.default{static getInstance(){return o.InstanceHolder.instance}run(){s.default.create().send()}refresh(){this.delay=60*1e3;this.start()}}o.INTERVAL=60*1e3;o.InstanceHolder=(n=class{},n.instance=new o(o.INTERVAL),n);e["default"]=o},3270:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});var r;(function(t){let e;let r;try{e=uni.getSystemInfoSync();r=uni.getAccountInfoSync()}catch(t){}function i(){let t="";try{t=e?e.platform:""}catch(t){}return t?t:""}t.os=i;function n(){let t="";try{t=e?e.model:""}catch(t){}return t?t:""}t.model=n;function s(){let t="";try{t=e?e.brand:""}catch(t){}return t?t:""}t.brand=s;function a(){let t="";try{t=e?e.system:""; +(function t(e,r){if("object"===typeof exports&&"object"===typeof module)module.exports=r();else if("function"===typeof define&&define.amd)define([],r);else if("object"===typeof exports)exports["gtpush"]=r();else e["gtpush"]=r()})(self,(function(){return(()=>{var t={4736:(t,e,r)=>{t=r.nmd(t);var i;var n=function(t){"use strict";var e=1e7,r=7,i=9007199254740992,s=d(i),a="0123456789abcdefghijklmnopqrstuvwxyz";var o="function"===typeof BigInt;function u(t,e,r,i){if("undefined"===typeof t)return u[0];if("undefined"!==typeof e)return 10===+e&&!r?st(t):X(t,e,r,i);return st(t)}function c(t,e){this.value=t;this.sign=e;this.isSmall=false}c.prototype=Object.create(u.prototype);function l(t){this.value=t;this.sign=t<0;this.isSmall=true}l.prototype=Object.create(u.prototype);function f(t){this.value=t}f.prototype=Object.create(u.prototype);function h(t){return-i0)return Math.floor(t);return Math.ceil(t)}function m(t,r){var i=t.length,n=r.length,s=new Array(i),a=0,o=e,u,c;for(c=0;c=o?1:0;s[c]=u-a*o}while(c0)s.push(a);return s}function _(t,e){if(t.length>=e.length)return m(t,e);return m(e,t)}function w(t,r){var i=t.length,n=new Array(i),s=e,a,o;for(o=0;o0){n[o++]=r%s;r=Math.floor(r/s)}return n}c.prototype.add=function(t){var e=st(t);if(this.sign!==e.sign)return this.subtract(e.negate());var r=this.value,i=e.value;if(e.isSmall)return new c(w(r,Math.abs(i)),this.sign);return new c(_(r,i),this.sign)};c.prototype.plus=c.prototype.add;l.prototype.add=function(t){var e=st(t);var r=this.value;if(r<0!==e.sign)return this.subtract(e.negate());var i=e.value;if(e.isSmall){if(h(r+i))return new l(r+i);i=d(Math.abs(i))}return new c(w(i,Math.abs(r)),r<0)};l.prototype.plus=l.prototype.add;f.prototype.add=function(t){return new f(this.value+st(t).value)};f.prototype.plus=f.prototype.add;function S(t,r){var i=t.length,n=r.length,s=new Array(i),a=0,o=e,u,c;for(u=0;u=0)i=S(t,e);else{i=S(e,t);r=!r}i=p(i);if("number"===typeof i){if(r)i=-i;return new l(i)}return new c(i,r)}function E(t,r,i){var n=t.length,s=new Array(n),a=-r,o=e,u,f;for(u=0;u=0)};l.prototype.minus=l.prototype.subtract;f.prototype.subtract=function(t){return new f(this.value-st(t).value)};f.prototype.minus=f.prototype.subtract;c.prototype.negate=function(){return new c(this.value,!this.sign)};l.prototype.negate=function(){var t=this.sign;var e=new l(-this.value);e.sign=!t;return e};f.prototype.negate=function(){return new f(-this.value)};c.prototype.abs=function(){return new c(this.value,false)};l.prototype.abs=function(){return new l(Math.abs(this.value))};f.prototype.abs=function(){return new f(this.value>=0?this.value:-this.value)};function D(t,r){var i=t.length,n=r.length,s=i+n,a=g(s),o=e,u,c,l,f,h;for(l=0;l0){n[u++]=a%s;a=Math.floor(a/s)}return n}function M(t,e){var r=[];while(e-- >0)r.push(0);return r.concat(t)}function A(t,e){var r=Math.max(t.length,e.length);if(r<=30)return D(t,e);r=Math.ceil(r/2);var i=t.slice(r),n=t.slice(0,r),s=e.slice(r),a=e.slice(0,r);var o=A(n,a),u=A(i,s),c=A(_(n,i),_(a,s));var l=_(_(o,M(S(S(c,o),u),r)),M(u,2*r));v(l);return l}function I(t,e){return-.012*t-.012*e+15e-6*t*e>0}c.prototype.multiply=function(t){var r=st(t),i=this.value,n=r.value,s=this.sign!==r.sign,a;if(r.isSmall){if(0===n)return u[0];if(1===n)return this;if(-1===n)return this.negate();a=Math.abs(n);if(a=0;h--){f=s-1;if(c[h+n]!==o)f=Math.floor((c[h+n]*s+c[h+n-1])/o);d=0;v=0;m=l.length;for(y=0;yn)l=(l+1)*o;u=Math.ceil(l/f);do{h=T(r,u);if(N(h,a)<=0)break;u--}while(u);s.push(u);a=S(a,h)}s.reverse();return[p(s),p(a)]}function C(t,r){var i=t.length,n=g(i),s=e,a,o,u,c;u=0;for(a=i-1;a>=0;--a){c=u*s+t[a];o=y(c/r);u=c-o*r;n[a]=0|o}return[n,0|u]}function k(t,r){var i,n=st(r);if(o)return[new f(t.value/n.value),new f(t.value%n.value)];var s=t.value,a=n.value;var h;if(0===a)throw new Error("Cannot divide by zero");if(t.isSmall){if(n.isSmall)return[new l(y(s/a)),new l(s%a)];return[u[0],t]}if(n.isSmall){if(1===a)return[t,u[0]];if(-1==a)return[t.negate(),u[0]];var v=Math.abs(a);if(ve.length?1:-1;for(var r=t.length-1;r>=0;r--)if(t[r]!==e[r])return t[r]>e[r]?1:-1;return 0}c.prototype.compareAbs=function(t){var e=st(t),r=this.value,i=e.value;if(e.isSmall)return 1;return N(r,i)};l.prototype.compareAbs=function(t){var e=st(t),r=Math.abs(this.value),i=e.value;if(e.isSmall){i=Math.abs(i);return r===i?0:r>i?1:-1}return-1};f.prototype.compareAbs=function(t){var e=this.value;var r=st(t).value;e=e>=0?e:-e;r=r>=0?r:-r;return e===r?0:e>r?1:-1};c.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var e=st(t),r=this.value,i=e.value;if(this.sign!==e.sign)return e.sign?1:-1;if(e.isSmall)return this.sign?-1:1;return N(r,i)*(this.sign?-1:1)};c.prototype.compareTo=c.prototype.compare;l.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var e=st(t),r=this.value,i=e.value;if(e.isSmall)return r==i?0:r>i?1:-1;if(r<0!==e.sign)return r<0?-1:1;return r<0?1:-1};l.prototype.compareTo=l.prototype.compare;f.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var e=this.value;var r=st(t).value;return e===r?0:e>r?1:-1};f.prototype.compareTo=f.prototype.compare;c.prototype.equals=function(t){return 0===this.compare(t)};f.prototype.eq=f.prototype.equals=l.prototype.eq=l.prototype.equals=c.prototype.eq=c.prototype.equals;c.prototype.notEquals=function(t){return 0!==this.compare(t)};f.prototype.neq=f.prototype.notEquals=l.prototype.neq=l.prototype.notEquals=c.prototype.neq=c.prototype.notEquals;c.prototype.greater=function(t){return this.compare(t)>0};f.prototype.gt=f.prototype.greater=l.prototype.gt=l.prototype.greater=c.prototype.gt=c.prototype.greater;c.prototype.lesser=function(t){return this.compare(t)<0};f.prototype.lt=f.prototype.lesser=l.prototype.lt=l.prototype.lesser=c.prototype.lt=c.prototype.lesser;c.prototype.greaterOrEquals=function(t){return this.compare(t)>=0};f.prototype.geq=f.prototype.greaterOrEquals=l.prototype.geq=l.prototype.greaterOrEquals=c.prototype.geq=c.prototype.greaterOrEquals;c.prototype.lesserOrEquals=function(t){return this.compare(t)<=0};f.prototype.leq=f.prototype.lesserOrEquals=l.prototype.leq=l.prototype.lesserOrEquals=c.prototype.leq=c.prototype.lesserOrEquals;c.prototype.isEven=function(){return 0===(1&this.value[0])};l.prototype.isEven=function(){return 0===(1&this.value)};f.prototype.isEven=function(){return(this.value&BigInt(1))===BigInt(0)};c.prototype.isOdd=function(){return 1===(1&this.value[0])};l.prototype.isOdd=function(){return 1===(1&this.value)};f.prototype.isOdd=function(){return(this.value&BigInt(1))===BigInt(1)};c.prototype.isPositive=function(){return!this.sign};l.prototype.isPositive=function(){return this.value>0};f.prototype.isPositive=l.prototype.isPositive;c.prototype.isNegative=function(){return this.sign};l.prototype.isNegative=function(){return this.value<0};f.prototype.isNegative=l.prototype.isNegative;c.prototype.isUnit=function(){return false};l.prototype.isUnit=function(){return 1===Math.abs(this.value)};f.prototype.isUnit=function(){return this.abs().value===BigInt(1)};c.prototype.isZero=function(){return false};l.prototype.isZero=function(){return 0===this.value};f.prototype.isZero=function(){return this.value===BigInt(0)};c.prototype.isDivisibleBy=function(t){var e=st(t);if(e.isZero())return false;if(e.isUnit())return true;if(0===e.compareAbs(2))return this.isEven();return this.mod(e).isZero()};f.prototype.isDivisibleBy=l.prototype.isDivisibleBy=c.prototype.isDivisibleBy;function P(t){var e=t.abs();if(e.isUnit())return false;if(e.equals(2)||e.equals(3)||e.equals(5))return true;if(e.isEven()||e.isDivisibleBy(3)||e.isDivisibleBy(5))return false;if(e.lesser(49))return true}function L(t,e){var r=t.prev(),i=r,s=0,a,o,u,c;while(i.isEven())i=i.divide(2),s++;t:for(u=0;u-i)return new l(t-1);return new c(s,true)};f.prototype.prev=function(){return new f(this.value-BigInt(1))};var V=[1];while(2*V[V.length-1]<=e)V.push(2*V[V.length-1]);var H=V.length,U=V[H-1];function K(t){return Math.abs(t)<=e}c.prototype.shiftLeft=function(t){var e=st(t).toJSNumber();if(!K(e))throw new Error(String(e)+" is too large for shifting.");if(e<0)return this.shiftRight(-e);var r=this;if(r.isZero())return r;while(e>=H){r=r.multiply(U);e-=H-1}return r.multiply(V[e])};f.prototype.shiftLeft=l.prototype.shiftLeft=c.prototype.shiftLeft;c.prototype.shiftRight=function(t){var e;var r=st(t).toJSNumber();if(!K(r))throw new Error(String(r)+" is too large for shifting.");if(r<0)return this.shiftLeft(-r);var i=this;while(r>=H){if(i.isZero()||i.isNegative()&&i.isUnit())return i;e=k(i,U);i=e[1].isNegative()?e[0].prev():e[0];r-=H-1}e=k(i,V[r]);return e[1].isNegative()?e[0].prev():e[0]};f.prototype.shiftRight=l.prototype.shiftRight=c.prototype.shiftRight;function j(t,e,r){e=st(e);var i=t.isNegative(),s=e.isNegative();var a=i?t.not():t,o=s?e.not():e;var u=0,c=0;var l=null,f=null;var h=[];while(!a.isZero()||!o.isZero()){l=k(a,U);u=l[1].toJSNumber();if(i)u=U-1-u;f=k(o,U);c=f[1].toJSNumber();if(s)c=U-1-c;a=l[0];o=f[0];h.push(r(u,c))}var d=0!==r(i?1:0,s?1:0)?n(-1):n(0);for(var p=h.length-1;p>=0;p-=1)d=d.multiply(U).add(n(h[p]));return d}c.prototype.not=function(){return this.negate().prev()};f.prototype.not=l.prototype.not=c.prototype.not;c.prototype.and=function(t){return j(this,t,(function(t,e){return t&e}))};f.prototype.and=l.prototype.and=c.prototype.and;c.prototype.or=function(t){return j(this,t,(function(t,e){return t|e}))};f.prototype.or=l.prototype.or=c.prototype.or;c.prototype.xor=function(t){return j(this,t,(function(t,e){return t^e}))};f.prototype.xor=l.prototype.xor=c.prototype.xor;var q=1<<30,F=(e&-e)*(e&-e)|q;function z(t){var r=t.value,i="number"===typeof r?r|q:"bigint"===typeof r?r|BigInt(q):r[0]+r[1]*e|F;return i&-i}function G(t,e){if(e.compareTo(t)<=0){var r=G(t,e.square(e));var i=r.p;var s=r.e;var a=i.multiply(e);return a.compareTo(t)<=0?{p:a,e:2*s+1}:{p:i,e:2*s}}return{p:n(1),e:0}}c.prototype.bitLength=function(){var t=this;if(t.compareTo(n(0))<0)t=t.negate().subtract(n(1));if(0===t.compareTo(n(0)))return n(0);return n(G(t,n(2)).e).add(n(1))};f.prototype.bitLength=l.prototype.bitLength=c.prototype.bitLength;function Y(t,e){t=st(t);e=st(e);return t.greater(e)?t:e}function W(t,e){t=st(t);e=st(e);return t.lesser(e)?t:e}function J(t,e){t=st(t).abs();e=st(e).abs();if(t.equals(e))return t;if(t.isZero())return e;if(e.isZero())return t;var r=u[1],i,n;while(t.isEven()&&e.isEven()){i=W(z(t),z(e));t=t.divide(i);e=e.divide(i);r=r.multiply(i)}while(t.isEven())t=t.divide(z(t));do{while(e.isEven())e=e.divide(z(e));if(t.greater(e)){n=e;e=t;t=n}e=e.subtract(t)}while(!e.isZero());return r.isUnit()?t:t.multiply(r)}function Z(t,e){t=st(t).abs();e=st(e).abs();return t.divide(J(t,e)).multiply(e)}function $(t,r,i){t=st(t);r=st(r);var n=i||Math.random;var s=W(t,r),a=Y(t,r);var o=a.subtract(s).add(1);if(o.isSmall)return s.add(Math.floor(n()*o));var c=et(o,e).value;var l=[],f=true;for(var h=0;h=o){if("1"===c&&1===o)continue;throw new Error(c+" is not a valid digit in base "+e+".")}}e=st(e);var l=[];var f="-"===t[0];for(s=f?1:0;s"!==t[s]&&s=0;s--){i=i.add(t[s].times(n));n=n.times(e)}return r?i.negate():i}function tt(t,e){e=e||a;if(t"}function et(t,e){e=n(e);if(e.isZero()){if(t.isZero())return{value:[0],isNegative:false};throw new Error("Cannot convert nonzero numbers to base 0.")}if(e.equals(-1)){if(t.isZero())return{value:[0],isNegative:false};if(t.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-t.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:false};var r=Array.apply(null,Array(t.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);r.unshift([1]);return{value:[].concat.apply([],r),isNegative:false}}var i=false;if(t.isNegative()&&e.isPositive()){i=true;t=t.abs()}if(e.isUnit()){if(t.isZero())return{value:[0],isNegative:false};return{value:Array.apply(null,Array(t.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:i}}var s=[];var a=t,o;while(a.isNegative()||a.compareAbs(e)>=0){o=a.divmod(e);a=o.quotient;var u=o.remainder;if(u.isNegative()){u=e.minus(u).abs();a=a.next()}s.push(u.toJSNumber())}s.push(a.toJSNumber());return{value:s.reverse(),isNegative:i}}function rt(t,e,r){var i=et(t,e);return(i.isNegative?"-":"")+i.value.map((function(t){return tt(t,r)})).join("")}c.prototype.toArray=function(t){return et(this,t)};l.prototype.toArray=function(t){return et(this,t)};f.prototype.toArray=function(t){return et(this,t)};c.prototype.toString=function(e,r){if(e===t)e=10;if(10!==e)return rt(this,e,r);var i=this.value,n=i.length,s=String(i[--n]),a="0000000",o;while(--n>=0){o=String(i[n]);s+=a.slice(o.length)+o}var u=this.sign?"-":"";return u+s};l.prototype.toString=function(e,r){if(e===t)e=10;if(10!=e)return rt(this,e,r);return String(this.value)};f.prototype.toString=l.prototype.toString;f.prototype.toJSON=c.prototype.toJSON=l.prototype.toJSON=function(){return this.toString()};c.prototype.valueOf=function(){return parseInt(this.toString(),10)};c.prototype.toJSNumber=c.prototype.valueOf;l.prototype.valueOf=function(){return this.value};l.prototype.toJSNumber=l.prototype.valueOf;f.prototype.valueOf=f.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};function it(t){if(h(+t)){var e=+t;if(e===y(e))return o?new f(BigInt(e)):new l(e);throw new Error("Invalid integer: "+t)}var i="-"===t[0];if(i)t=t.slice(1);var n=t.split(/e/i);if(n.length>2)throw new Error("Invalid integer: "+n.join("e"));if(2===n.length){var s=n[1];if("+"===s[0])s=s.slice(1);s=+s;if(s!==y(s)||!h(s))throw new Error("Invalid integer: "+s+" is not a valid exponent.");var a=n[0];var u=a.indexOf(".");if(u>=0){s-=a.length-u-1;a=a.slice(0,u)+a.slice(u+1)}if(s<0)throw new Error("Cannot include negative exponent part for integers");a+=new Array(s+1).join("0");t=a}var d=/^([0-9][0-9]*)$/.test(t);if(!d)throw new Error("Invalid integer: "+t);if(o)return new f(BigInt(i?"-"+t:t));var p=[],g=t.length,m=r,_=g-m;while(g>0){p.push(+t.slice(_,g));_-=m;if(_<0)_=0;g-=m}v(p);return new c(p,i)}function nt(t){if(o)return new f(BigInt(t));if(h(t)){if(t!==y(t))throw new Error(t+" is not an integer.");return new l(t)}return it(t.toString())}function st(t){if("number"===typeof t)return nt(t);if("string"===typeof t)return it(t);if("bigint"===typeof t)return new f(t);return t}for(var at=0;at<1e3;at++){u[at]=st(at);if(at>0)u[-at]=st(-at)}u.one=u[1];u.zero=u[0];u.minusOne=u[-1];u.max=Y;u.min=W;u.gcd=J;u.lcm=Z;u.isInstance=function(t){return t instanceof c||t instanceof l||t instanceof f};u.randBetween=$;u.fromArray=function(t,e,r){return Q(t.map(st),st(e||10),r)};return u}();if(true&&t.hasOwnProperty("exports"))t.exports=n;if(true)i=function(){return n}.call(e,r,e,t),void 0!==i&&(t.exports=i)},452:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(8269),r(8214),r(888),r(5109))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.BlockCipher;var n=e.algo;var s=[];var a=[];var o=[];var u=[];var c=[];var l=[];var f=[];var h=[];var d=[];var p=[];(function(){var t=[];for(var e=0;e<256;e++)if(e<128)t[e]=e<<1;else t[e]=e<<1^283;var r=0;var i=0;for(var e=0;e<256;e++){var n=i^i<<1^i<<2^i<<3^i<<4;n=n>>>8^255&n^99;s[r]=n;a[n]=r;var v=t[r];var g=t[v];var y=t[g];var m=257*t[n]^16843008*n;o[r]=m<<24|m>>>8;u[r]=m<<16|m>>>16;c[r]=m<<8|m>>>24;l[r]=m;var m=16843009*y^65537*g^257*v^16843008*r;f[n]=m<<24|m>>>8;h[n]=m<<16|m>>>16;d[n]=m<<8|m>>>24;p[n]=m;if(!r)r=i=1;else{r=v^t[t[t[y^v]]];i^=t[t[i]]}}})();var v=[0,1,2,4,8,16,32,64,128,27,54];var g=n.AES=i.extend({_doReset:function(){var t;if(this._nRounds&&this._keyPriorReset===this._key)return;var e=this._keyPriorReset=this._key;var r=e.words;var i=e.sigBytes/4;var n=this._nRounds=i+6;var a=4*(n+1);var o=this._keySchedule=[];for(var u=0;u>>24;t=s[t>>>24]<<24|s[t>>>16&255]<<16|s[t>>>8&255]<<8|s[255&t];t^=v[u/i|0]<<24}else if(i>6&&u%i==4)t=s[t>>>24]<<24|s[t>>>16&255]<<16|s[t>>>8&255]<<8|s[255&t];o[u]=o[u-i]^t}var c=this._invKeySchedule=[];for(var l=0;l>>24]]^h[s[t>>>16&255]]^d[s[t>>>8&255]]^p[s[255&t]]}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,o,u,c,l,s)},decryptBlock:function(t,e){var r=t[e+1];t[e+1]=t[e+3];t[e+3]=r;this._doCryptBlock(t,e,this._invKeySchedule,f,h,d,p,a);var r=t[e+1];t[e+1]=t[e+3];t[e+3]=r},_doCryptBlock:function(t,e,r,i,n,s,a,o){var u=this._nRounds;var c=t[e]^r[0];var l=t[e+1]^r[1];var f=t[e+2]^r[2];var h=t[e+3]^r[3];var d=4;for(var p=1;p>>24]^n[l>>>16&255]^s[f>>>8&255]^a[255&h]^r[d++];var g=i[l>>>24]^n[f>>>16&255]^s[h>>>8&255]^a[255&c]^r[d++];var y=i[f>>>24]^n[h>>>16&255]^s[c>>>8&255]^a[255&l]^r[d++];var m=i[h>>>24]^n[c>>>16&255]^s[l>>>8&255]^a[255&f]^r[d++];c=v;l=g;f=y;h=m}var v=(o[c>>>24]<<24|o[l>>>16&255]<<16|o[f>>>8&255]<<8|o[255&h])^r[d++];var g=(o[l>>>24]<<24|o[f>>>16&255]<<16|o[h>>>8&255]<<8|o[255&c])^r[d++];var y=(o[f>>>24]<<24|o[h>>>16&255]<<16|o[c>>>8&255]<<8|o[255&l])^r[d++];var m=(o[h>>>24]<<24|o[c>>>16&255]<<16|o[l>>>8&255]<<8|o[255&f])^r[d++];t[e]=v;t[e+1]=g;t[e+2]=y;t[e+3]=m},keySize:256/32});e.AES=i._createHelper(g)})();return t.AES}))},5109:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(888))})(this,(function(t){t.lib.Cipher||function(e){var r=t;var i=r.lib;var n=i.Base;var s=i.WordArray;var a=i.BufferedBlockAlgorithm;var o=r.enc;var u=o.Utf8;var c=o.Base64;var l=r.algo;var f=l.EvpKDF;var h=i.Cipher=a.extend({cfg:n.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,r){this.cfg=this.cfg.extend(r);this._xformMode=t;this._key=e;this.reset()},reset:function(){a.reset.call(this);this._doReset()},process:function(t){this._append(t);return this._process()},finalize:function(t){if(t)this._append(t);var e=this._doFinalize();return e},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){if("string"==typeof t)return M;else return E}return function(e){return{encrypt:function(r,i,n){return t(i).encrypt(e,r,i,n)},decrypt:function(r,i,n){return t(i).decrypt(e,r,i,n)}}}}()});var d=i.StreamCipher=h.extend({_doFinalize:function(){var t=this._process(!!"flush");return t},blockSize:1});var p=r.mode={};var v=i.BlockCipherMode=n.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t;this._iv=e}});var g=p.CBC=function(){var t=v.extend();t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;r.call(this,t,e,n);i.encryptBlock(t,e);this._prevBlock=t.slice(e,e+n)}});t.Decryptor=t.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;var s=t.slice(e,e+n);i.decryptBlock(t,e);r.call(this,t,e,n);this._prevBlock=s}});function r(t,r,i){var n;var s=this._iv;if(s){n=s;this._iv=e}else n=this._prevBlock;for(var a=0;a>>2];t.sigBytes-=e}};var _=i.BlockCipher=h.extend({cfg:h.cfg.extend({mode:g,padding:m}),reset:function(){var t;h.reset.call(this);var e=this.cfg;var r=e.iv;var i=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)t=i.createEncryptor;else{t=i.createDecryptor;this._minBufferSize=1}if(this._mode&&this._mode.__creator==t)this._mode.init(this,r&&r.words);else{this._mode=t.call(i,this,r&&r.words);this._mode.__creator=t}},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t;var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);t=this._process(!!"flush")}else{t=this._process(!!"flush");e.unpad(t)}return t},blockSize:128/32});var w=i.CipherParams=n.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}});var S=r.format={};var b=S.OpenSSL={stringify:function(t){var e;var r=t.ciphertext;var i=t.salt;if(i)e=s.create([1398893684,1701076831]).concat(i).concat(r);else e=r;return e.toString(c)},parse:function(t){var e;var r=c.parse(t);var i=r.words;if(1398893684==i[0]&&1701076831==i[1]){e=s.create(i.slice(2,4));i.splice(0,4);r.sigBytes-=16}return w.create({ciphertext:r,salt:e})}};var E=i.SerializableCipher=n.extend({cfg:n.extend({format:b}),encrypt:function(t,e,r,i){i=this.cfg.extend(i);var n=t.createEncryptor(r,i);var s=n.finalize(e);var a=n.cfg;return w.create({ciphertext:s,key:r,iv:a.iv,algorithm:t,mode:a.mode,padding:a.padding,blockSize:t.blockSize,formatter:i.format})},decrypt:function(t,e,r,i){i=this.cfg.extend(i);e=this._parse(e,i.format);var n=t.createDecryptor(r,i).finalize(e.ciphertext);return n},_parse:function(t,e){if("string"==typeof t)return e.parse(t,this);else return t}});var D=r.kdf={};var T=D.OpenSSL={execute:function(t,e,r,i){if(!i)i=s.random(64/8);var n=f.create({keySize:e+r}).compute(t,i);var a=s.create(n.words.slice(e),4*r);n.sigBytes=4*e;return w.create({key:n,iv:a,salt:i})}};var M=i.PasswordBasedCipher=E.extend({cfg:E.cfg.extend({kdf:T}),encrypt:function(t,e,r,i){i=this.cfg.extend(i);var n=i.kdf.execute(r,t.keySize,t.ivSize);i.iv=n.iv;var s=E.encrypt.call(this,t,e,n.key,i);s.mixIn(n);return s},decrypt:function(t,e,r,i){i=this.cfg.extend(i);e=this._parse(e,i.format);var n=i.kdf.execute(r,t.keySize,t.ivSize,e.salt);i.iv=n.iv;var s=E.decrypt.call(this,t,e,n.key,i);return s}})}()}))},8249:function(t,e,r){(function(r,i){if(true)t.exports=e=i()})(this,(function(){var t=t||function(t,e){var i;if("undefined"!==typeof window&&window.crypto)i=window.crypto;if("undefined"!==typeof self&&self.crypto)i=self.crypto;if("undefined"!==typeof globalThis&&globalThis.crypto)i=globalThis.crypto;if(!i&&"undefined"!==typeof window&&window.msCrypto)i=window.msCrypto;if(!i&&"undefined"!==typeof r.g&&r.g.crypto)i=r.g.crypto;if(!i&&"function"==="function")try{i=r(2480)}catch(t){}var n=function(){if(i){if("function"===typeof i.getRandomValues)try{return i.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"===typeof i.randomBytes)try{return i.randomBytes(4).readInt32LE()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")};var s=Object.create||function(){function t(){}return function(e){var r;t.prototype=e;r=new t;t.prototype=null;return r}}();var a={};var o=a.lib={};var u=o.Base=function(){return{extend:function(t){var e=s(this);if(t)e.mixIn(t);if(!e.hasOwnProperty("init")||this.init===e.init)e.init=function(){e.$super.init.apply(this,arguments)};e.init.prototype=e;e.$super=this;return e},create:function(){var t=this.extend();t.init.apply(t,arguments);return t},init:function(){},mixIn:function(t){for(var e in t)if(t.hasOwnProperty(e))this[e]=t[e];if(t.hasOwnProperty("toString"))this.toString=t.toString},clone:function(){return this.init.prototype.extend(this)}}}();var c=o.WordArray=u.extend({init:function(t,r){t=this.words=t||[];if(r!=e)this.sigBytes=r;else this.sigBytes=4*t.length},toString:function(t){return(t||f).stringify(this)},concat:function(t){var e=this.words;var r=t.words;var i=this.sigBytes;var n=t.sigBytes;this.clamp();if(i%4)for(var s=0;s>>2]>>>24-s%4*8&255;e[i+s>>>2]|=a<<24-(i+s)%4*8}else for(var o=0;o>>2]=r[o>>>2];this.sigBytes+=n;return this},clamp:function(){var e=this.words;var r=this.sigBytes;e[r>>>2]&=4294967295<<32-r%4*8;e.length=t.ceil(r/4)},clone:function(){var t=u.clone.call(this);t.words=this.words.slice(0);return t},random:function(t){var e=[];for(var r=0;r>>2]>>>24-n%4*8&255;i.push((s>>>4).toString(16));i.push((15&s).toString(16))}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var i=0;i>>3]|=parseInt(t.substr(i,2),16)<<24-i%8*4;return new c.init(r,e/2)}};var h=l.Latin1={stringify:function(t){var e=t.words;var r=t.sigBytes;var i=[];for(var n=0;n>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(s))}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var i=0;i>>2]|=(255&t.charCodeAt(i))<<24-i%4*8;return new c.init(r,e)}};var d=l.Utf8={stringify:function(t){try{return decodeURIComponent(escape(h.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return h.parse(unescape(encodeURIComponent(t)))}};var p=o.BufferedBlockAlgorithm=u.extend({reset:function(){this._data=new c.init;this._nDataBytes=0},_append:function(t){if("string"==typeof t)t=d.parse(t);this._data.concat(t);this._nDataBytes+=t.sigBytes},_process:function(e){var r;var i=this._data;var n=i.words;var s=i.sigBytes;var a=this.blockSize;var o=4*a;var u=s/o;if(e)u=t.ceil(u);else u=t.max((0|u)-this._minBufferSize,0);var l=u*a;var f=t.min(4*l,s);if(l){for(var h=0;h>>2]>>>24-s%4*8&255;var o=e[s+1>>>2]>>>24-(s+1)%4*8&255;var u=e[s+2>>>2]>>>24-(s+2)%4*8&255;var c=a<<16|o<<8|u;for(var l=0;l<4&&s+.75*l>>6*(3-l)&63))}var f=i.charAt(64);if(f)while(n.length%4)n.push(f);return n.join("")},parse:function(t){var e=t.length;var r=this._map;var i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var n=0;n>>6-a%4*2;var c=o|u;n[s>>>2]|=c<<24-s%4*8;s++}return i.create(n,s)}})();return t.enc.Base64}))},3786:function(t,e,r){(function(i,n){if(true)t.exports=e=n(r(8249))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=e.enc;var s=n.Base64url={stringify:function(t,e=true){var r=t.words;var i=t.sigBytes;var n=e?this._safe_map:this._map;t.clamp();var s=[];for(var a=0;a>>2]>>>24-a%4*8&255;var u=r[a+1>>>2]>>>24-(a+1)%4*8&255;var c=r[a+2>>>2]>>>24-(a+2)%4*8&255;var l=o<<16|u<<8|c;for(var f=0;f<4&&a+.75*f>>6*(3-f)&63))}var h=n.charAt(64);if(h)while(s.length%4)s.push(h);return s.join("")},parse:function(t,e=true){var r=t.length;var i=e?this._safe_map:this._map;var n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var s=0;s>>6-a%4*2;var c=o|u;n[s>>>2]|=c<<24-s%4*8;s++}return i.create(n,s)}})();return t.enc.Base64url}))},298:function(t,e,r){(function(i,n){if(true)t.exports=e=n(r(8249))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=e.enc;var s=n.Utf16=n.Utf16BE={stringify:function(t){var e=t.words;var r=t.sigBytes;var i=[];for(var n=0;n>>2]>>>16-n%4*8&65535;i.push(String.fromCharCode(s))}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var n=0;n>>1]|=t.charCodeAt(n)<<16-n%2*16;return i.create(r,2*e)}};n.Utf16LE={stringify:function(t){var e=t.words;var r=t.sigBytes;var i=[];for(var n=0;n>>2]>>>16-n%4*8&65535);i.push(String.fromCharCode(s))}return i.join("")},parse:function(t){var e=t.length;var r=[];for(var n=0;n>>1]|=a(t.charCodeAt(n)<<16-n%2*16);return i.create(r,2*e)}};function a(t){return t<<8&4278255360|t>>>8&16711935}})();return t.enc.Utf16}))},888:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(2783),r(9824))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.Base;var n=r.WordArray;var s=e.algo;var a=s.MD5;var o=s.EvpKDF=i.extend({cfg:i.extend({keySize:128/32,hasher:a,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){var r;var i=this.cfg;var s=i.hasher.create();var a=n.create();var o=a.words;var u=i.keySize;var c=i.iterations;while(o.lengthi)e=t.finalize(e);e.clamp();var n=this._oKey=e.clone();var a=this._iKey=e.clone();var o=n.words;var u=a.words;for(var c=0;c>>2]|=t[i]<<24-i%4*8;n.call(this,r,e)}else n.apply(this,arguments)};s.prototype=i})();return t.lib.WordArray}))},8214:function(t,e,r){(function(i,n){if(true)t.exports=e=n(r(8249))})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.algo;var o=[];(function(){for(var t=0;t<64;t++)o[t]=4294967296*e.abs(e.sin(t+1))|0})();var u=a.MD5=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var i=e+r;var n=t[i];t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var s=this._hash.words;var a=t[e+0];var u=t[e+1];var d=t[e+2];var p=t[e+3];var v=t[e+4];var g=t[e+5];var y=t[e+6];var m=t[e+7];var _=t[e+8];var w=t[e+9];var S=t[e+10];var b=t[e+11];var E=t[e+12];var D=t[e+13];var T=t[e+14];var M=t[e+15];var A=s[0];var I=s[1];var B=s[2];var x=s[3];A=c(A,I,B,x,a,7,o[0]);x=c(x,A,I,B,u,12,o[1]);B=c(B,x,A,I,d,17,o[2]);I=c(I,B,x,A,p,22,o[3]);A=c(A,I,B,x,v,7,o[4]);x=c(x,A,I,B,g,12,o[5]);B=c(B,x,A,I,y,17,o[6]);I=c(I,B,x,A,m,22,o[7]);A=c(A,I,B,x,_,7,o[8]);x=c(x,A,I,B,w,12,o[9]);B=c(B,x,A,I,S,17,o[10]);I=c(I,B,x,A,b,22,o[11]);A=c(A,I,B,x,E,7,o[12]);x=c(x,A,I,B,D,12,o[13]);B=c(B,x,A,I,T,17,o[14]);I=c(I,B,x,A,M,22,o[15]);A=l(A,I,B,x,u,5,o[16]);x=l(x,A,I,B,y,9,o[17]);B=l(B,x,A,I,b,14,o[18]);I=l(I,B,x,A,a,20,o[19]);A=l(A,I,B,x,g,5,o[20]);x=l(x,A,I,B,S,9,o[21]);B=l(B,x,A,I,M,14,o[22]);I=l(I,B,x,A,v,20,o[23]);A=l(A,I,B,x,w,5,o[24]);x=l(x,A,I,B,T,9,o[25]);B=l(B,x,A,I,p,14,o[26]);I=l(I,B,x,A,_,20,o[27]);A=l(A,I,B,x,D,5,o[28]);x=l(x,A,I,B,d,9,o[29]);B=l(B,x,A,I,m,14,o[30]);I=l(I,B,x,A,E,20,o[31]);A=f(A,I,B,x,g,4,o[32]);x=f(x,A,I,B,_,11,o[33]);B=f(B,x,A,I,b,16,o[34]);I=f(I,B,x,A,T,23,o[35]);A=f(A,I,B,x,u,4,o[36]);x=f(x,A,I,B,v,11,o[37]);B=f(B,x,A,I,m,16,o[38]);I=f(I,B,x,A,S,23,o[39]);A=f(A,I,B,x,D,4,o[40]);x=f(x,A,I,B,a,11,o[41]);B=f(B,x,A,I,p,16,o[42]);I=f(I,B,x,A,y,23,o[43]);A=f(A,I,B,x,w,4,o[44]);x=f(x,A,I,B,E,11,o[45]);B=f(B,x,A,I,M,16,o[46]);I=f(I,B,x,A,d,23,o[47]);A=h(A,I,B,x,a,6,o[48]);x=h(x,A,I,B,m,10,o[49]);B=h(B,x,A,I,T,15,o[50]);I=h(I,B,x,A,g,21,o[51]);A=h(A,I,B,x,E,6,o[52]);x=h(x,A,I,B,p,10,o[53]);B=h(B,x,A,I,S,15,o[54]);I=h(I,B,x,A,u,21,o[55]);A=h(A,I,B,x,_,6,o[56]);x=h(x,A,I,B,M,10,o[57]);B=h(B,x,A,I,y,15,o[58]);I=h(I,B,x,A,D,21,o[59]);A=h(A,I,B,x,v,6,o[60]);x=h(x,A,I,B,b,10,o[61]);B=h(B,x,A,I,d,15,o[62]);I=h(I,B,x,A,w,21,o[63]);s[0]=s[0]+A|0;s[1]=s[1]+I|0;s[2]=s[2]+B|0;s[3]=s[3]+x|0},_doFinalize:function(){var t=this._data;var r=t.words;var i=8*this._nDataBytes;var n=8*t.sigBytes;r[n>>>5]|=128<<24-n%32;var s=e.floor(i/4294967296);var a=i;r[(n+64>>>9<<4)+15]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8);r[(n+64>>>9<<4)+14]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);t.sigBytes=4*(r.length+1);this._process();var o=this._hash;var u=o.words;for(var c=0;c<4;c++){var l=u[c];u[c]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return o},clone:function(){var t=s.clone.call(this);t._hash=this._hash.clone();return t}});function c(t,e,r,i,n,s,a){var o=t+(e&r|~e&i)+n+a;return(o<>>32-s)+e}function l(t,e,r,i,n,s,a){var o=t+(e&i|r&~i)+n+a;return(o<>>32-s)+e}function f(t,e,r,i,n,s,a){var o=t+(e^r^i)+n+a;return(o<>>32-s)+e}function h(t,e,r,i,n,s,a){var o=t+(r^(e|~i))+n+a;return(o<>>32-s)+e}r.MD5=s._createHelper(u);r.HmacMD5=s._createHmacHelper(u)})(Math);return t.MD5}))},8568:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(5109))})(this,(function(t){t.mode.CFB=function(){var e=t.lib.BlockCipherMode.extend();e.Encryptor=e.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;r.call(this,t,e,n,i);this._prevBlock=t.slice(e,e+n)}});e.Decryptor=e.extend({processBlock:function(t,e){var i=this._cipher;var n=i.blockSize;var s=t.slice(e,e+n);r.call(this,t,e,n,i);this._prevBlock=s}});function r(t,e,r,i){var n;var s=this._iv;if(s){n=s.slice(0);this._iv=void 0}else n=this._prevBlock;i.encryptBlock(n,0);for(var a=0;a>24&255)){var e=t>>16&255;var r=t>>8&255;var i=255&t;if(255===e){e=0;if(255===r){r=0;if(255===i)i=0;else++i}else++r}else++e;t=0;t+=e<<16;t+=r<<8;t+=i}else t+=1<<24;return t}function i(t){if(0===(t[0]=r(t[0])))t[1]=r(t[1]);return t}var n=e.Encryptor=e.extend({processBlock:function(t,e){var r=this._cipher;var n=r.blockSize;var s=this._iv;var a=this._counter;if(s){a=this._counter=s.slice(0);this._iv=void 0}i(a);var o=a.slice(0);r.encryptBlock(o,0);for(var u=0;u>>2]|=n<<24-s%4*8;t.sigBytes+=n},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}};return t.pad.Ansix923}))},2807:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(5109))})(this,(function(t){t.pad.Iso10126={pad:function(e,r){var i=4*r;var n=i-e.sigBytes%i;e.concat(t.lib.WordArray.random(n-1)).concat(t.lib.WordArray.create([n<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}};return t.pad.Iso10126}))},1077:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(5109))})(this,(function(t){t.pad.Iso97971={pad:function(e,r){e.concat(t.lib.WordArray.create([2147483648],1));t.pad.ZeroPadding.pad(e,r)},unpad:function(e){t.pad.ZeroPadding.unpad(e);e.sigBytes--}};return t.pad.Iso97971}))},6991:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(5109))})(this,(function(t){t.pad.NoPadding={pad:function(){},unpad:function(){}};return t.pad.NoPadding}))},6475:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(5109))})(this,(function(t){t.pad.ZeroPadding={pad:function(t,e){var r=4*e;t.clamp();t.sigBytes+=r-(t.sigBytes%r||r)},unpad:function(t){var e=t.words;var r=t.sigBytes-1;for(var r=t.sigBytes-1;r>=0;r--)if(e[r>>>2]>>>24-r%4*8&255){t.sigBytes=r+1;break}}};return t.pad.ZeroPadding}))},2112:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(2783),r(9824))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.Base;var n=r.WordArray;var s=e.algo;var a=s.SHA1;var o=s.HMAC;var u=s.PBKDF2=i.extend({cfg:i.extend({keySize:128/32,hasher:a,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){var r=this.cfg;var i=o.create(r.hasher,t);var s=n.create();var a=n.create([1]);var u=s.words;var c=a.words;var l=r.keySize;var f=r.iterations;while(u.length>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16];var i=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];this._b=0;for(var n=0;n<4;n++)c.call(this);for(var n=0;n<8;n++)i[n]^=r[n+4&7];if(e){var s=e.words;var a=s[0];var o=s[1];var u=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);var l=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8);var f=u>>>16|4294901760&l;var h=l<<16|65535&u;i[0]^=u;i[1]^=f;i[2]^=l;i[3]^=h;i[4]^=u;i[5]^=f;i[6]^=l;i[7]^=h;for(var n=0;n<4;n++)c.call(this)}},_doProcessBlock:function(t,e){var r=this._X;c.call(this);s[0]=r[0]^r[5]>>>16^r[3]<<16;s[1]=r[2]^r[7]>>>16^r[5]<<16;s[2]=r[4]^r[1]>>>16^r[7]<<16;s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++){s[i]=16711935&(s[i]<<8|s[i]>>>24)|4278255360&(s[i]<<24|s[i]>>>8);t[e+i]^=s[i]}},blockSize:128/32,ivSize:64/32});function c(){var t=this._X;var e=this._C;for(var r=0;r<8;r++)a[r]=e[r];e[0]=e[0]+1295307597+this._b|0;e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0;e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0;e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0;e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0;e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0;e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0;e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0;this._b=e[7]>>>0>>0?1:0;for(var r=0;r<8;r++){var i=t[r]+e[r];var n=65535&i;var s=i>>>16;var u=((n*n>>>17)+n*s>>>15)+s*s;var c=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=u^c}t[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0;t[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0;t[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0;t[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0;t[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0;t[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0;t[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0;t[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.RabbitLegacy=i._createHelper(u)})();return t.RabbitLegacy}))},4454:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(8269),r(8214),r(888),r(5109))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.StreamCipher;var n=e.algo;var s=[];var a=[];var o=[];var u=n.Rabbit=i.extend({_doReset:function(){var t=this._key.words;var e=this.cfg.iv;for(var r=0;r<4;r++)t[r]=16711935&(t[r]<<8|t[r]>>>24)|4278255360&(t[r]<<24|t[r]>>>8);var i=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16];var n=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];this._b=0;for(var r=0;r<4;r++)c.call(this);for(var r=0;r<8;r++)n[r]^=i[r+4&7];if(e){var s=e.words;var a=s[0];var o=s[1];var u=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);var l=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8);var f=u>>>16|4294901760&l;var h=l<<16|65535&u;n[0]^=u;n[1]^=f;n[2]^=l;n[3]^=h;n[4]^=u;n[5]^=f;n[6]^=l;n[7]^=h;for(var r=0;r<4;r++)c.call(this)}},_doProcessBlock:function(t,e){var r=this._X;c.call(this);s[0]=r[0]^r[5]>>>16^r[3]<<16;s[1]=r[2]^r[7]>>>16^r[5]<<16;s[2]=r[4]^r[1]>>>16^r[7]<<16;s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++){s[i]=16711935&(s[i]<<8|s[i]>>>24)|4278255360&(s[i]<<24|s[i]>>>8);t[e+i]^=s[i]}},blockSize:128/32,ivSize:64/32});function c(){var t=this._X;var e=this._C;for(var r=0;r<8;r++)a[r]=e[r];e[0]=e[0]+1295307597+this._b|0;e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0;e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0;e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0;e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0;e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0;e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0;e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0;this._b=e[7]>>>0>>0?1:0;for(var r=0;r<8;r++){var i=t[r]+e[r];var n=65535&i;var s=i>>>16;var u=((n*n>>>17)+n*s>>>15)+s*s;var c=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=u^c}t[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0;t[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0;t[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0;t[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0;t[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0;t[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0;t[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0;t[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.Rabbit=i._createHelper(u)})();return t.Rabbit}))},1857:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(8269),r(8214),r(888),r(5109))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.StreamCipher;var n=e.algo;var s=n.RC4=i.extend({_doReset:function(){var t=this._key;var e=t.words;var r=t.sigBytes;var i=this._S=[];for(var n=0;n<256;n++)i[n]=n;for(var n=0,s=0;n<256;n++){var a=n%r;var o=e[a>>>2]>>>24-a%4*8&255;s=(s+i[n]+o)%256;var u=i[n];i[n]=i[s];i[s]=u}this._i=this._j=0},_doProcessBlock:function(t,e){t[e]^=a.call(this)},keySize:256/32,ivSize:0});function a(){var t=this._S;var e=this._i;var r=this._j;var i=0;for(var n=0;n<4;n++){e=(e+1)%256;r=(r+t[e])%256;var s=t[e];t[e]=t[r];t[r]=s;i|=t[(t[e]+t[r])%256]<<24-8*n}this._i=e;this._j=r;return i}e.RC4=i._createHelper(s);var o=n.RC4Drop=s.extend({cfg:s.cfg.extend({drop:192}),_doReset:function(){s._doReset.call(this);for(var t=this.cfg.drop;t>0;t--)a.call(this)}});e.RC4Drop=i._createHelper(o)})();return t.RC4}))},706:function(t,e,r){(function(i,n){if(true)t.exports=e=n(r(8249))})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.algo;var o=n.create([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]);var u=n.create([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]);var c=n.create([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]);var l=n.create([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]);var f=n.create([0,1518500249,1859775393,2400959708,2840853838]);var h=n.create([1352829926,1548603684,1836072691,2053994217,0]);var d=a.RIPEMD160=s.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var i=e+r;var n=t[i];t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var s=this._hash.words;var a=f.words;var d=h.words;var w=o.words;var S=u.words;var b=c.words;var E=l.words;var D,T,M,A,I;var B,x,R,O,C;B=D=s[0];x=T=s[1];R=M=s[2];O=A=s[3];C=I=s[4];var k;for(var r=0;r<80;r+=1){k=D+t[e+w[r]]|0;if(r<16)k+=p(T,M,A)+a[0];else if(r<32)k+=v(T,M,A)+a[1];else if(r<48)k+=g(T,M,A)+a[2];else if(r<64)k+=y(T,M,A)+a[3];else k+=m(T,M,A)+a[4];k|=0;k=_(k,b[r]);k=k+I|0;D=I;I=A;A=_(M,10);M=T;T=k;k=B+t[e+S[r]]|0;if(r<16)k+=m(x,R,O)+d[0];else if(r<32)k+=y(x,R,O)+d[1];else if(r<48)k+=g(x,R,O)+d[2];else if(r<64)k+=v(x,R,O)+d[3];else k+=p(x,R,O)+d[4];k|=0;k=_(k,E[r]);k=k+C|0;B=C;C=O;O=_(R,10);R=x;x=k}k=s[1]+M+O|0;s[1]=s[2]+A+C|0;s[2]=s[3]+I+B|0;s[3]=s[4]+D+x|0;s[4]=s[0]+T+R|0;s[0]=k},_doFinalize:function(){var t=this._data;var e=t.words;var r=8*this._nDataBytes;var i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32;e[(i+64>>>9<<4)+14]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);t.sigBytes=4*(e.length+1);this._process();var n=this._hash;var s=n.words;for(var a=0;a<5;a++){var o=s[a];s[a]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}return n},clone:function(){var t=s.clone.call(this);t._hash=this._hash.clone();return t}});function p(t,e,r){return t^e^r}function v(t,e,r){return t&e|~t&r}function g(t,e,r){return(t|~e)^r}function y(t,e,r){return t&r|e&~r}function m(t,e,r){return t^(e|~r)}function _(t,e){return t<>>32-e}r.RIPEMD160=s._createHelper(d);r.HmacRIPEMD160=s._createHmacHelper(d)})(Math);return t.RIPEMD160}))},2783:function(t,e,r){(function(i,n){if(true)t.exports=e=n(r(8249))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=r.Hasher;var s=e.algo;var a=[];var o=s.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){var r=this._hash.words;var i=r[0];var n=r[1];var s=r[2];var o=r[3];var u=r[4];for(var c=0;c<80;c++){if(c<16)a[c]=0|t[e+c];else{var l=a[c-3]^a[c-8]^a[c-14]^a[c-16];a[c]=l<<1|l>>>31}var f=(i<<5|i>>>27)+u+a[c];if(c<20)f+=(n&s|~n&o)+1518500249;else if(c<40)f+=(n^s^o)+1859775393;else if(c<60)f+=(n&s|n&o|s&o)-1894007588;else f+=(n^s^o)-899497514;u=o;o=s;s=n<<30|n>>>2;n=i;i=f}r[0]=r[0]+i|0;r[1]=r[1]+n|0;r[2]=r[2]+s|0;r[3]=r[3]+o|0;r[4]=r[4]+u|0},_doFinalize:function(){var t=this._data;var e=t.words;var r=8*this._nDataBytes;var i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32;e[(i+64>>>9<<4)+14]=Math.floor(r/4294967296);e[(i+64>>>9<<4)+15]=r;t.sigBytes=4*e.length;this._process();return this._hash},clone:function(){var t=n.clone.call(this);t._hash=this._hash.clone();return t}});e.SHA1=n._createHelper(o);e.HmacSHA1=n._createHmacHelper(o)})();return t.SHA1}))},7792:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(2153))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=e.algo;var s=n.SHA256;var a=n.SHA224=s.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var t=s._doFinalize.call(this);t.sigBytes-=4;return t}});e.SHA224=s._createHelper(a);e.HmacSHA224=s._createHmacHelper(a)})();return t.SHA224}))},2153:function(t,e,r){(function(i,n){if(true)t.exports=e=n(r(8249))})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.algo;var o=[];var u=[];(function(){function t(t){var r=e.sqrt(t);for(var i=2;i<=r;i++)if(!(t%i))return false;return true}function r(t){return 4294967296*(t-(0|t))|0}var i=2;var n=0;while(n<64){if(t(i)){if(n<8)o[n]=r(e.pow(i,1/2));u[n]=r(e.pow(i,1/3));n++}i++}})();var c=[];var l=a.SHA256=s.extend({_doReset:function(){this._hash=new n.init(o.slice(0))},_doProcessBlock:function(t,e){var r=this._hash.words;var i=r[0];var n=r[1];var s=r[2];var a=r[3];var o=r[4];var l=r[5];var f=r[6];var h=r[7];for(var d=0;d<64;d++){if(d<16)c[d]=0|t[e+d];else{var p=c[d-15];var v=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3;var g=c[d-2];var y=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;c[d]=v+c[d-7]+y+c[d-16]}var m=o&l^~o&f;var _=i&n^i&s^n&s;var w=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22);var S=(o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25);var b=h+S+m+u[d]+c[d];var E=w+_;h=f;f=l;l=o;o=a+b|0;a=s;s=n;n=i;i=b+E|0}r[0]=r[0]+i|0;r[1]=r[1]+n|0;r[2]=r[2]+s|0;r[3]=r[3]+a|0;r[4]=r[4]+o|0;r[5]=r[5]+l|0;r[6]=r[6]+f|0;r[7]=r[7]+h|0},_doFinalize:function(){var t=this._data;var r=t.words;var i=8*this._nDataBytes;var n=8*t.sigBytes;r[n>>>5]|=128<<24-n%32;r[(n+64>>>9<<4)+14]=e.floor(i/4294967296);r[(n+64>>>9<<4)+15]=i;t.sigBytes=4*r.length;this._process();return this._hash},clone:function(){var t=s.clone.call(this);t._hash=this._hash.clone();return t}});r.SHA256=s._createHelper(l);r.HmacSHA256=s._createHmacHelper(l)})(Math);return t.SHA256}))},3327:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(4938))})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.WordArray;var s=i.Hasher;var a=r.x64;var o=a.Word;var u=r.algo;var c=[];var l=[];var f=[];(function(){var t=1,e=0;for(var r=0;r<24;r++){c[t+5*e]=(r+1)*(r+2)/2%64;var i=e%5;var n=(2*t+3*e)%5;t=i;e=n}for(var t=0;t<5;t++)for(var e=0;e<5;e++)l[t+5*e]=e+(2*t+3*e)%5*5;var s=1;for(var a=0;a<24;a++){var u=0;var h=0;for(var d=0;d<7;d++){if(1&s){var p=(1<>>24)|4278255360&(s<<24|s>>>8);a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);var o=r[n];o.high^=a;o.low^=s}for(var u=0;u<24;u++){for(var d=0;d<5;d++){var p=0,v=0;for(var g=0;g<5;g++){var o=r[d+5*g];p^=o.high;v^=o.low}var y=h[d];y.high=p;y.low=v}for(var d=0;d<5;d++){var m=h[(d+4)%5];var _=h[(d+1)%5];var w=_.high;var S=_.low;var p=m.high^(w<<1|S>>>31);var v=m.low^(S<<1|w>>>31);for(var g=0;g<5;g++){var o=r[d+5*g];o.high^=p;o.low^=v}}for(var b=1;b<25;b++){var p;var v;var o=r[b];var E=o.high;var D=o.low;var T=c[b];if(T<32){p=E<>>32-T;v=D<>>32-T}else{p=D<>>64-T;v=E<>>64-T}var M=h[l[b]];M.high=p;M.low=v}var A=h[0];var I=r[0];A.high=I.high;A.low=I.low;for(var d=0;d<5;d++)for(var g=0;g<5;g++){var b=d+5*g;var o=r[b];var B=h[b];var x=h[(d+1)%5+5*g];var R=h[(d+2)%5+5*g];o.high=B.high^~x.high&R.high;o.low=B.low^~x.low&R.low}var o=r[0];var O=f[u];o.high^=O.high;o.low^=O.low}},_doFinalize:function(){var t=this._data;var r=t.words;var i=8*this._nDataBytes;var s=8*t.sigBytes;var a=32*this.blockSize;r[s>>>5]|=1<<24-s%32;r[(e.ceil((s+1)/a)*a>>>5)-1]|=128;t.sigBytes=4*r.length;this._process();var o=this._state;var u=this.cfg.outputLength/8;var c=u/8;var l=[];for(var f=0;f>>24)|4278255360&(d<<24|d>>>8);p=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8);l.push(p);l.push(d)}return new n.init(l,u)},clone:function(){var t=s.clone.call(this);var e=t._state=this._state.slice(0);for(var r=0;r<25;r++)e[r]=e[r].clone();return t}});r.SHA3=s._createHelper(d);r.HmacSHA3=s._createHmacHelper(d)})(Math);return t.SHA3}))},7460:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(4938),r(34))})(this,(function(t){(function(){var e=t;var r=e.x64;var i=r.Word;var n=r.WordArray;var s=e.algo;var a=s.SHA512;var o=s.SHA384=a.extend({_doReset:function(){this._hash=new n.init([new i.init(3418070365,3238371032),new i.init(1654270250,914150663),new i.init(2438529370,812702999),new i.init(355462360,4144912697),new i.init(1731405415,4290775857),new i.init(2394180231,1750603025),new i.init(3675008525,1694076839),new i.init(1203062813,3204075428)])},_doFinalize:function(){var t=a._doFinalize.call(this);t.sigBytes-=16;return t}});e.SHA384=a._createHelper(o);e.HmacSHA384=a._createHmacHelper(o)})();return t.SHA384}))},34:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(4938))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.Hasher;var n=e.x64;var s=n.Word;var a=n.WordArray;var o=e.algo;function u(){return s.create.apply(s,arguments)}var c=[u(1116352408,3609767458),u(1899447441,602891725),u(3049323471,3964484399),u(3921009573,2173295548),u(961987163,4081628472),u(1508970993,3053834265),u(2453635748,2937671579),u(2870763221,3664609560),u(3624381080,2734883394),u(310598401,1164996542),u(607225278,1323610764),u(1426881987,3590304994),u(1925078388,4068182383),u(2162078206,991336113),u(2614888103,633803317),u(3248222580,3479774868),u(3835390401,2666613458),u(4022224774,944711139),u(264347078,2341262773),u(604807628,2007800933),u(770255983,1495990901),u(1249150122,1856431235),u(1555081692,3175218132),u(1996064986,2198950837),u(2554220882,3999719339),u(2821834349,766784016),u(2952996808,2566594879),u(3210313671,3203337956),u(3336571891,1034457026),u(3584528711,2466948901),u(113926993,3758326383),u(338241895,168717936),u(666307205,1188179964),u(773529912,1546045734),u(1294757372,1522805485),u(1396182291,2643833823),u(1695183700,2343527390),u(1986661051,1014477480),u(2177026350,1206759142),u(2456956037,344077627),u(2730485921,1290863460),u(2820302411,3158454273),u(3259730800,3505952657),u(3345764771,106217008),u(3516065817,3606008344),u(3600352804,1432725776),u(4094571909,1467031594),u(275423344,851169720),u(430227734,3100823752),u(506948616,1363258195),u(659060556,3750685593),u(883997877,3785050280),u(958139571,3318307427),u(1322822218,3812723403),u(1537002063,2003034995),u(1747873779,3602036899),u(1955562222,1575990012),u(2024104815,1125592928),u(2227730452,2716904306),u(2361852424,442776044),u(2428436474,593698344),u(2756734187,3733110249),u(3204031479,2999351573),u(3329325298,3815920427),u(3391569614,3928383900),u(3515267271,566280711),u(3940187606,3454069534),u(4118630271,4000239992),u(116418474,1914138554),u(174292421,2731055270),u(289380356,3203993006),u(460393269,320620315),u(685471733,587496836),u(852142971,1086792851),u(1017036298,365543100),u(1126000580,2618297676),u(1288033470,3409855158),u(1501505948,4234509866),u(1607167915,987167468),u(1816402316,1246189591)];var l=[];(function(){for(var t=0;t<80;t++)l[t]=u()})();var f=o.SHA512=i.extend({_doReset:function(){this._hash=new a.init([new s.init(1779033703,4089235720),new s.init(3144134277,2227873595),new s.init(1013904242,4271175723),new s.init(2773480762,1595750129),new s.init(1359893119,2917565137),new s.init(2600822924,725511199),new s.init(528734635,4215389547),new s.init(1541459225,327033209)])},_doProcessBlock:function(t,e){var r=this._hash.words;var i=r[0];var n=r[1];var s=r[2];var a=r[3];var o=r[4];var u=r[5];var f=r[6];var h=r[7];var d=i.high;var p=i.low;var v=n.high;var g=n.low;var y=s.high;var m=s.low;var _=a.high;var w=a.low;var S=o.high;var b=o.low;var E=u.high;var D=u.low;var T=f.high;var M=f.low;var A=h.high;var I=h.low;var B=d;var x=p;var R=v;var O=g;var C=y;var k=m;var N=_;var P=w;var L=S;var V=b;var H=E;var U=D;var K=T;var j=M;var q=A;var F=I;for(var z=0;z<80;z++){var G;var Y;var W=l[z];if(z<16){Y=W.high=0|t[e+2*z];G=W.low=0|t[e+2*z+1]}else{var J=l[z-15];var Z=J.high;var $=J.low;var X=(Z>>>1|$<<31)^(Z>>>8|$<<24)^Z>>>7;var Q=($>>>1|Z<<31)^($>>>8|Z<<24)^($>>>7|Z<<25);var tt=l[z-2];var et=tt.high;var rt=tt.low;var it=(et>>>19|rt<<13)^(et<<3|rt>>>29)^et>>>6;var nt=(rt>>>19|et<<13)^(rt<<3|et>>>29)^(rt>>>6|et<<26);var st=l[z-7];var at=st.high;var ot=st.low;var ut=l[z-16];var ct=ut.high;var lt=ut.low;G=Q+ot;Y=X+at+(G>>>0>>0?1:0);G+=nt;Y=Y+it+(G>>>0>>0?1:0);G+=lt;Y=Y+ct+(G>>>0>>0?1:0);W.high=Y;W.low=G}var ft=L&H^~L&K;var ht=V&U^~V&j;var dt=B&R^B&C^R&C;var pt=x&O^x&k^O&k;var vt=(B>>>28|x<<4)^(B<<30|x>>>2)^(B<<25|x>>>7);var gt=(x>>>28|B<<4)^(x<<30|B>>>2)^(x<<25|B>>>7);var yt=(L>>>14|V<<18)^(L>>>18|V<<14)^(L<<23|V>>>9);var mt=(V>>>14|L<<18)^(V>>>18|L<<14)^(V<<23|L>>>9);var _t=c[z];var wt=_t.high;var St=_t.low;var bt=F+mt;var Et=q+yt+(bt>>>0>>0?1:0);var bt=bt+ht;var Et=Et+ft+(bt>>>0>>0?1:0);var bt=bt+St;var Et=Et+wt+(bt>>>0>>0?1:0);var bt=bt+G;var Et=Et+Y+(bt>>>0>>0?1:0);var Dt=gt+pt;var Tt=vt+dt+(Dt>>>0>>0?1:0);q=K;F=j;K=H;j=U;H=L;U=V;V=P+bt|0;L=N+Et+(V>>>0

>>0?1:0)|0;N=C;P=k;C=R;k=O;R=B;O=x;x=bt+Dt|0;B=Et+Tt+(x>>>0>>0?1:0)|0}p=i.low=p+x;i.high=d+B+(p>>>0>>0?1:0);g=n.low=g+O;n.high=v+R+(g>>>0>>0?1:0);m=s.low=m+k;s.high=y+C+(m>>>0>>0?1:0);w=a.low=w+P;a.high=_+N+(w>>>0

>>0?1:0);b=o.low=b+V;o.high=S+L+(b>>>0>>0?1:0);D=u.low=D+U;u.high=E+H+(D>>>0>>0?1:0);M=f.low=M+j;f.high=T+K+(M>>>0>>0?1:0);I=h.low=I+F;h.high=A+q+(I>>>0>>0?1:0)},_doFinalize:function(){var t=this._data;var e=t.words;var r=8*this._nDataBytes;var i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32;e[(i+128>>>10<<5)+30]=Math.floor(r/4294967296);e[(i+128>>>10<<5)+31]=r;t.sigBytes=4*e.length;this._process();var n=this._hash.toX32();return n},clone:function(){var t=i.clone.call(this);t._hash=this._hash.clone();return t},blockSize:1024/32});e.SHA512=i._createHelper(f);e.HmacSHA512=i._createHmacHelper(f)})();return t.SHA512}))},4253:function(t,e,r){(function(i,n,s){if(true)t.exports=e=n(r(8249),r(8269),r(8214),r(888),r(5109))})(this,(function(t){(function(){var e=t;var r=e.lib;var i=r.WordArray;var n=r.BlockCipher;var s=e.algo;var a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4];var o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32];var u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28];var c=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}];var l=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679];var f=s.DES=n.extend({_doReset:function(){var t=this._key;var e=t.words;var r=[];for(var i=0;i<56;i++){var n=a[i]-1;r[i]=e[n>>>5]>>>31-n%32&1}var s=this._subKeys=[];for(var c=0;c<16;c++){var l=s[c]=[];var f=u[c];for(var i=0;i<24;i++){l[i/6|0]|=r[(o[i]-1+f)%28]<<31-i%6;l[4+(i/6|0)]|=r[28+(o[i+24]-1+f)%28]<<31-i%6}l[0]=l[0]<<1|l[0]>>>31;for(var i=1;i<7;i++)l[i]=l[i]>>>4*(i-1)+3;l[7]=l[7]<<5|l[7]>>>27}var h=this._invSubKeys=[];for(var i=0;i<16;i++)h[i]=s[15-i]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(t,e,r){this._lBlock=t[e];this._rBlock=t[e+1];h.call(this,4,252645135);h.call(this,16,65535);d.call(this,2,858993459);d.call(this,8,16711935);h.call(this,1,1431655765);for(var i=0;i<16;i++){var n=r[i];var s=this._lBlock;var a=this._rBlock;var o=0;for(var u=0;u<8;u++)o|=c[u][((a^n[u])&l[u])>>>0];this._lBlock=a;this._rBlock=s^o}var f=this._lBlock;this._lBlock=this._rBlock;this._rBlock=f;h.call(this,1,1431655765);d.call(this,8,16711935);d.call(this,2,858993459);h.call(this,16,65535);h.call(this,4,252645135);t[e]=this._lBlock;t[e+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function h(t,e){var r=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=r;this._lBlock^=r<>>t^this._lBlock)&e;this._lBlock^=r;this._rBlock^=r<192.");var r=e.slice(0,2);var n=e.length<4?e.slice(0,2):e.slice(2,4);var s=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=f.createEncryptor(i.create(r));this._des2=f.createEncryptor(i.create(n));this._des3=f.createEncryptor(i.create(s))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e);this._des2.decryptBlock(t,e);this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e);this._des2.encryptBlock(t,e);this._des1.decryptBlock(t,e)},keySize:192/32,ivSize:64/32,blockSize:64/32});e.TripleDES=n._createHelper(p)})();return t.TripleDES}))},4938:function(t,e,r){(function(i,n){if(true)t.exports=e=n(r(8249))})(this,(function(t){(function(e){var r=t;var i=r.lib;var n=i.Base;var s=i.WordArray;var a=r.x64={};var o=a.Word=n.extend({init:function(t,e){this.high=t;this.low=e}});var u=a.WordArray=n.extend({init:function(t,r){t=this.words=t||[];if(r!=e)this.sigBytes=r;else this.sigBytes=8*t.length},toX32:function(){var t=this.words;var e=t.length;var r=[];for(var i=0;i{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.ErrorCode=void 0;var r;(function(t){t[t["SUCCESS"]=0]="SUCCESS";t[t["CLIENT_ID_NOT_FOUND"]=1]="CLIENT_ID_NOT_FOUND";t[t["OPERATION_TOO_OFTEN"]=2]="OPERATION_TOO_OFTEN";t[t["REPEAT_MESSAGE"]=3]="REPEAT_MESSAGE";t[t["TIME_OUT"]=4]="TIME_OUT"})(r=e.ErrorCode||(e.ErrorCode={}))},5987:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1901));const s=i(r(1754));const a=i(r(1237));var o;(function(t){function e(t){a.default.debugMode=t;a.default.info(`setDebugMode: ${t}`)}t.setDebugMode=e;function r(t){try{n.default.init(t)}catch(t){a.default.error(`init error`,t)}}t.init=r;function i(t){try{n.default.setTag(t)}catch(t){a.default.error(`setTag error`,t)}}t.setTag=i;function o(t){try{n.default.bindAlias(t)}catch(t){a.default.error(`bindAlias error`,t)}}t.bindAlias=o;function u(t){try{n.default.unbindAlias(t)}catch(t){a.default.error(`unbindAlias error`,t)}}t.unbindAlias=u;function c(t){try{if(!t.url)throw new Error("invalid url");if(!t.key||!t.keyId)throw new Error("invalid key or keyId");s.default.socketUrl=t.url;s.default.publicKeyId=t.keyId;s.default.publicKey=t.key}catch(t){a.default.error(`setSocketServer error`,t)}}t.setSocketServer=c;function l(t){try{n.default.enableSocket(t)}catch(t){a.default.error(`enableSocket error`,t)}}t.enableSocket=l})(o||(o={}));e["default"]=o},127:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});var r;(function(t){t.SDK_VERSION="GTMP-1.0.1.0";t.DEFAULT_SOCKET_URL="wss://wshz.getui.net:5223/nws";t.SOCKET_PROTOCOL_VERSION="1.0";t.SERVER_PUBLIC_KEY="MHwwDQYJKoZIhvcNAQEBBQADawAwaAJhAJp1rROuvBF7sBSnvLaesj2iFhMcY8aXyLvpnNLKs2wjL3JmEnyr++SlVa35liUlzi83tnAFkn3A9GB7pHBNzawyUkBh8WUhq5bnFIkk2RaDa6+5MpG84DEv52p7RR+aWwIDAQAB";t.SERVER_PUBLIC_KEY_ID="69d747c4b9f641baf4004be4297e9f3b"})(r||(r={}));e["default"]=r},1901:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3593));const s=i(r(1237));const a=r(3118);const o=i(r(1754));const u=i(r(3854));const c=i(r(9018));const l=i(r(5084));class f{static init(t){if(this.inited)return;try{this.checkAppid(t.appid);this.inited=true;s.default.info(`init: appid=${t.appid}`);o.default.init(t);n.default.connect()}catch(e){this.inited=false;t.onError?.call(t.onError,{error:e});throw e}}static enableSocket(t){this.checkInit();n.default.allowReconnect=t;if(t)n.default.reconnect(0);else n.default.close(`enableSocket ${t}`)}static setTag(t){this.checkInit();if(!o.default.cid){t.setTagResult?.call(t.setTagResult,{resultCode:a.ErrorCode.CLIENT_ID_NOT_FOUND,message:"client id not found"});return}c.default.create(t.tags,t.setTagResult).send()}static bindAlias(t){this.checkInit();if(!o.default.cid){t.bindAliasResult?.call(t.bindAliasResult,{resultCode:a.ErrorCode.CLIENT_ID_NOT_FOUND,message:"client id not found"});return}let e=(new Date).getTime();if(e-o.default.lastAliasTime<1*1e3){s.default.error(`bind alias fail: alias option can only be called once a second`);t.bindAliasResult?.call(t.bindAliasResult,{resultCode:a.ErrorCode.OPERATION_TOO_OFTEN,message:"alias option can only be called once a second"});return}u.default.create(t.alias,true,t.bindAliasResult).send();o.default.lastAliasTime=e}static unbindAlias(t){this.checkInit();if(!o.default.cid){t.unbindAliasResult?.call(t.unbindAliasResult,{resultCode:a.ErrorCode.CLIENT_ID_NOT_FOUND,message:"client id not found"});return}let e=(new Date).getTime();if(e-o.default.lastAliasTime<1*1e3){s.default.error(`unbindAlias alias fail: alias option can only be called once a second`);t.unbindAliasResult?.call(t.unbindAliasResult,{resultCode:a.ErrorCode.OPERATION_TOO_OFTEN,message:"alias option can only be called once a second"});return}l.default.create(t.alias,t.onlySelf,t.unbindAliasResult).send();o.default.lastAliasTime=e}static checkInit(){if(!this.inited)throw new Error(`not init, please invoke init method firstly`)}static checkAppid(t){if(null==t||void 0==t||""==t.trim())throw new Error(`invalid appid ${t}`)}}f.inited=false;e["default"]=f},1754:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(323));const s=i(r(207));const a=i(r(127));const o=i(r(3593));const u=i(r(1237));const c=i(r(3270));const l=i(r(5574));class f{static init(t){this.appid=l.default.to_getui(t.appid);u.default.info(`getui appid: ${this.appid}`);this.onError=t.onError;this.onClientId=t.onClientId;this.onlineState=t.onlineState;this.onPushMsg=t.onPushMsg;if(this.appid!=s.default.getSync(s.default.KEY_APPID,this.appid)){u.default.info("appid changed, clear session and cid");s.default.setSync(s.default.KEY_CID,"");s.default.setSync(s.default.KEY_SESSION,"")}s.default.setSync(s.default.KEY_APPID,this.appid);this.cid=s.default.getSync(s.default.KEY_CID,this.cid);if(this.cid)this.onClientId?.call(this,{cid:f.cid});this.session=s.default.getSync(s.default.KEY_SESSION,this.session);this.deviceId=s.default.getSync(s.default.KEY_DEVICE_ID,this.deviceId);this.regId=s.default.getSync(s.default.KEY_REGID,this.regId);if(!this.regId){this.regId=this.createRegId();s.default.set({key:s.default.KEY_REGID,data:this.regId})}this.socketUrl=s.default.getSync(s.default.KEY_SOCKET_URL,this.socketUrl);let e=this;c.default.getNetworkType({success:t=>{e.networkType=t;e.networkConnected="none"!=e.networkType&&""!=e.networkType}});c.default.onNetworkStatusChange((t=>{e.networkConnected=t.isConnected;e.networkType=t.networkType;if(e.networkConnected)o.default.reconnect(0)}))}static createRegId(){return`M-V${n.default.md5Hex(this.getUuid())}-${(new Date).getTime()}`}static getUuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){let e=16*Math.random()|0,r="x"===t?e:3&e|8;return r.toString(16)}))}}f.appid="";f.cid="";f.regId="";f.session="";f.deviceId="";f.packetId=1;f.online=false;f.socketUrl=a.default.DEFAULT_SOCKET_URL;f.publicKeyId=a.default.SERVER_PUBLIC_KEY_ID;f.publicKey=a.default.SERVER_PUBLIC_KEY;f.lastAliasTime=0;f.networkConnected=true;f.networkType="none";e["default"]=f},9214:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n,s;Object.defineProperty(e,"__esModule",{value:true});const a=i(r(9800));const o=r(3118);const u=i(r(1754));class c extends a.default{constructor(){super(...arguments);this.actionMsgData=new l}static initActionMsg(t,...e){super.initMsg(t);t.command=a.default.Command.CLIENT_MSG;t.data=t.actionMsgData=l.create();return t}static parseActionMsg(t,e){super.parseMsg(t,e);t.actionMsgData=l.parse(t.data);return t}send(){let t=setTimeout((()=>{if(c.waitingLoginMsgMap.has(this.actionMsgData.msgId)||c.waitingResponseMsgMap.has(this.actionMsgData.msgId)){c.waitingLoginMsgMap.delete(this.actionMsgData.msgId);c.waitingResponseMsgMap.delete(this.actionMsgData.msgId);this.callback?.call(this.callback,{resultCode:o.ErrorCode.TIME_OUT,message:"waiting time out"})}}),1e4);if(!u.default.online){c.waitingLoginMsgMap.set(this.actionMsgData.msgId,this);return}if(this.actionMsgData.msgAction!=c.ClientAction.RECEIVED)c.waitingResponseMsgMap.set(this.actionMsgData.msgId,this);super.send()}receive(){}static sendWaitingMessages(){let t=this.waitingLoginMsgMap.keys();let e;while(e=t.next(),!e.done){let t=this.waitingLoginMsgMap.get(e.value);this.waitingLoginMsgMap.delete(e.value);t?.send()}}static getWaitingResponseMessage(t){return c.waitingResponseMsgMap.get(t)}static removeWaitingResponseMessage(t){let e=c.waitingResponseMsgMap.get(t);if(e)c.waitingResponseMsgMap.delete(t);return e}}c.ServerAction=(n=class{},n.PUSH_MESSAGE="pushmessage",n.REDIRECT_SERVER="redirect_server",n.ADD_PHONE_INFO_RESULT="addphoneinfo",n.SET_MODE_RESULT="set_mode_result",n.SET_TAG_RESULT="settag_result",n.BIND_ALIAS_RESULT="response_bind",n.UNBIND_ALIAS_RESULT="response_unbind",n.FEED_BACK_RESULT="pushmessage_feedback",n.RECEIVED="received",n);c.ClientAction=(s=class{},s.ADD_PHONE_INFO="addphoneinfo",s.SET_MODE="set_mode",s.FEED_BACK="pushmessage_feedback",s.SET_TAGS="set_tag",s.BIND_ALIAS="bind_alias",s.UNBIND_ALIAS="unbind_alias",s.RECEIVED="received",s);c.waitingLoginMsgMap=new Map;c.waitingResponseMsgMap=new Map;class l{constructor(){this.appId="";this.cid="";this.msgId="";this.msgAction="";this.msgData="";this.msgExtraData=""}static create(){let t=new l;t.appId=u.default.appid;t.cid=u.default.cid;t.msgId=(new Date).getTime().toString().substr(4);return t}static parse(t){let e=new l;let r=JSON.parse(t);e.appId=r.appId;e.cid=r.cid;e.msgId=r.msgId;e.msgAction=r.msgAction;e.msgData=r.msgData;e.msgExtraData=r.msgExtraData;return e}}e["default"]=c},708:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3270));const s=i(r(207));const a=i(r(127));const o=r(3118);const u=i(r(9214));const c=i(r(1754));class l extends u.default{constructor(){super(...arguments);this.addPhoneInfoData=new f}static create(){let t=new l;super.initActionMsg(t);t.callback=e=>{if(e.resultCode!=o.ErrorCode.SUCCESS&&e.resultCode!=o.ErrorCode.REPEAT_MESSAGE)setTimeout((function(){t.send()}),30*1e3);else s.default.set({key:s.default.KEY_ADD_PHONE_INFO_TIME,data:(new Date).getTime()})};t.actionMsgData.msgAction=u.default.ClientAction.ADD_PHONE_INFO;t.addPhoneInfoData=f.create();t.actionMsgData.msgData=JSON.stringify(t.addPhoneInfoData);return t}send(){let t=(new Date).getTime();let e=s.default.getSync(s.default.KEY_ADD_PHONE_INFO_TIME,0);if(t-e<24*60*60*1e3)return;super.send()}}class f{constructor(){this.model="";this.brand="";this.system_version="";this.version="";this.device_token="";this.imei="";this.oaid="";this.mac="";this.idfa="";this.deviceid="";this.type="";this.extra={os:"",platform:"",platformVersion:"",platformId:"",appVersion:"",language:""}}static create(){let t=new f;t.model=n.default.model();t.brand=n.default.brand();t.system_version=n.default.osVersion();t.version=a.default.SDK_VERSION;t.device_token="";t.imei="";t.oaid="";t.mac="";t.idfa="";t.type="MINI";t.deviceid=`${t.type}-${c.default.deviceId}`;t.extra={os:n.default.os(),platform:n.default.platform(),platformVersion:n.default.platformVersion(),platformId:n.default.platformId(),appVersion:"",language:n.default.language()};return t}}e["default"]=l},3854:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.bindAliasTagData=new o}static create(t,e,r){let i=new a;super.initActionMsg(i);i.bindAliasTagData=o.create(t,e);i.callback=r;i.actionMsgData.msgAction=s.default.ClientAction.BIND_ALIAS;i.actionMsgData.msgData=JSON.stringify(i.bindAliasTagData);return i}}class o{constructor(){this.alias="";this.cid="";this.appid="";this.sn="";this.is_self=""}static create(t,e){let r=new o;r.alias=t;r.cid=n.default.cid;r.appid=n.default.appid;r.sn=(new Date).getTime().toString();r.is_self=e?"1":"0";return r}}e["default"]=a},652:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n,s;Object.defineProperty(e,"__esModule",{value:true});const a=i(r(1754));const o=r(3118);const u=i(r(9214));class c extends u.default{constructor(){super(...arguments);this.feedbackData=new l}static create(t,e){let r=new c;super.initActionMsg(r);r.callback=t=>{if(t.resultCode!=o.ErrorCode.SUCCESS&&t.resultCode!=o.ErrorCode.REPEAT_MESSAGE)setTimeout((function(){r.send()}),30*1e3)};r.feedbackData=l.create(t,e);r.actionMsgData.msgAction=u.default.ClientAction.FEED_BACK;r.actionMsgData.msgData=JSON.stringify(r.feedbackData);return r}send(){super.send()}}c.ActionId=(n=class{},n.RECEIVE="0",n.MP_RECEIVE="210000",n.WEB_RECEIVE="220000",n.BEGIN="1",n);c.RESULT=(s=class{},s.OK="ok",s);class l{constructor(){this.messageid="";this.appkey="";this.appid="";this.taskid="";this.actionid="";this.result="";this.timestamp=""}static create(t,e){let r=new l;r.messageid=t.pushMessageData.messageid;r.appkey=t.pushMessageData.appKey;r.appid=a.default.appid;r.taskid=t.pushMessageData.taskId;r.actionid=e;r.result=c.RESULT.OK;r.timestamp=(new Date).getTime().toString();return r}}e["default"]=c},9018:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.setTagData=new o}static create(t,e){let r=new a;super.initActionMsg(r);r.setTagData=o.create(t);r.callback=e;r.actionMsgData.msgAction=s.default.ClientAction.SET_TAGS;r.actionMsgData.msgData=JSON.stringify(r.setTagData);return r}}class o{constructor(){this.appid="";this.tags="";this.sn=""}static create(t){let e=new o;e.appid=n.default.appid;e.tags=u(t);e.sn=(new Date).getTime().toString();return e}}function u(t){return encodeURIComponent(t).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A")}e["default"]=a},5084:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.unbindAliasData=new o}static create(t,e,r){let i=new a;super.initActionMsg(i);i.unbindAliasData=o.create(t,e);i.callback=r;i.actionMsgData.msgAction=s.default.ClientAction.UNBIND_ALIAS;i.actionMsgData.msgData=JSON.stringify(i.unbindAliasData);return i}}class o{constructor(){this.alias="";this.cid="";this.appid="";this.sn="";this.is_self=""}static create(t,e){let r=new o;r.alias=t;r.cid=n.default.cid;r.appid=n.default.appid;r.sn=(new Date).getTime().toString();r.is_self=e?"1":"0";return r}}e["default"]=a},6561:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9800));class s extends n.default{static create(){let t=new s;super.initMsg(t);t.command=n.default.Command.HEART_BEAT;return t}}e["default"]=s},358:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(323));const s=i(r(1754));const a=i(r(9800));class o extends a.default{constructor(){super(...arguments);this.keyNegotiateData=new u}static create(){let t=new o;super.initMsg(t);t.command=a.default.Command.KEY_NEGOTIATE;n.default.resetKey();t.data=t.keyNegotiateData=u.create();return t}send(){super.send()}}class u{constructor(){this.appId="";this.rsaPublicKeyId="";this.algorithm="";this.secretKey="";this.iv=""}static create(){let t=new u;t.appId=s.default.appid;t.rsaPublicKeyId=s.default.publicKeyId;t.algorithm="AES";t.secretKey=n.default.getEncryptedSecretKey();t.iv=n.default.getEncryptedIV();return t}}e["default"]=o},5301:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9800));const s=i(r(323));const a=i(r(2544));const o=i(r(1237));const u=i(r(1754));class c extends n.default{constructor(){super(...arguments);this.keyNegotiateResultData=new l}static parse(t){let e=new c;super.parseMsg(e,t);e.keyNegotiateResultData=l.parse(e.data);return e}receive(){if(0!=this.keyNegotiateResultData.errorCode){o.default.error(`key negotiate fail: ${this.data}`);u.default.onError?.call(u.default.onError,{error:`key negotiate fail: ${this.data}`});return}let t=this.keyNegotiateResultData.encryptType.split("/");if(!s.default.algorithmMap.has(t[0].trim().toLowerCase())||!s.default.modeMap.has(t[1].trim().toLowerCase())||!s.default.paddingMap.has(t[2].trim().toLowerCase())){o.default.error(`key negotiate fail: ${this.data}`);u.default.onError?.call(u.default.onError,{error:`key negotiate fail: ${this.data}`});return}s.default.setEncryptParams(t[0].trim().toLowerCase(),t[1].trim().toLowerCase(),t[2].trim().toLowerCase());a.default.create().send()}}class l{constructor(){this.errorCode=-1;this.errorMsg="";this.encryptType=""}static parse(t){let e=new l;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;e.encryptType=r.encryptType;return e}}e["default"]=c},2544:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(323));const a=i(r(9800));const o=i(r(3527));class u extends a.default{constructor(){super(...arguments);this.loginData=new c}static create(){let t=new u;super.initMsg(t);t.command=a.default.Command.LOGIN;t.data=t.loginData=c.create();return t}send(){if(!this.loginData.session||n.default.cid!=s.default.md5Hex(this.loginData.session)){o.default.create().send();return}super.send()}}class c{constructor(){this.appId="";this.session=""}static create(){let t=new c;t.appId=n.default.appid;t.session=n.default.session;return t}}e["default"]=u},8734:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(9800));const a=i(r(1754));const o=i(r(9214));const u=i(r(708));const c=i(r(2544));class l extends s.default{constructor(){super(...arguments);this.loginResultData=new f}static parse(t){let e=new l;super.parseMsg(e,t);e.loginResultData=f.parse(e.data);return e}receive(){if(0!=this.loginResultData.errorCode){this.data;a.default.session=a.default.cid="";n.default.setSync(n.default.KEY_CID,"");n.default.setSync(n.default.KEY_SESSION,"");c.default.create().send();return}if(!a.default.online){a.default.online=true;a.default.onlineState?.call(a.default.onlineState,{online:a.default.online})}o.default.sendWaitingMessages();u.default.create().send()}}class f{constructor(){this.errorCode=-1;this.errorMsg="";this.session=""}static parse(t){let e=new f;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;e.session=r.session;return e}}e["default"]=l},9800:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n;Object.defineProperty(e,"__esModule",{value:true});const s=i(r(350));const a=i(r(3593));const o=i(r(127));const u=i(r(1754));class c{constructor(){this.version="";this.command=0;this.packetId=0;this.timeStamp=0;this.data="";this.signature=""}static initMsg(t,...e){t.version=o.default.SOCKET_PROTOCOL_VERSION;t.command=0;t.timeStamp=(new Date).getTime();return t}static parseMsg(t,e){let r=JSON.parse(e);t.version=r.version;t.command=r.command;t.packetId=r.packetId;t.timeStamp=r.timeStamp;t.data=r.data;t.signature=r.signature;return t}stringify(){return JSON.stringify(this,["version","command","packetId","timeStamp","data","signature"])}send(){if(!a.default.isAvailable())return;this.packetId=u.default.packetId++;this.data=JSON.stringify(this.data);this.stringify();if(this.command!=c.Command.HEART_BEAT){s.default.sign(this);if(this.data&&this.command!=c.Command.KEY_NEGOTIATE)s.default.encrypt(this)}a.default.send(this.stringify())}}c.Command=(n=class{},n.HEART_BEAT=0,n.KEY_NEGOTIATE=1,n.KEY_NEGOTIATE_RESULT=16,n.REGISTER=2,n.REGISTER_RESULT=32,n.LOGIN=3,n.LOGIN_RESULT=48,n.LOGOUT=4,n.LOGOUT_RESULT=64,n.CLIENT_MSG=5,n.SERVER_MSG=80,n.SERVER_CLOSE=96,n);e["default"]=c},350:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(323));var s;(function(t){function e(t){t.data=n.default.encrypt(t.data)}t.encrypt=e;function r(t){t.data=n.default.decrypt(t.data)}t.decrypt=r;function i(t){t.signature=n.default.sha256(`${t.timeStamp}${t.packetId}${t.command}${t.data}`)}t.sign=i;function s(t){let e=n.default.sha256(`${t.timeStamp}${t.packetId}${t.command}${t.data}`);if(t.signature!=e)throw new Error(`msg signature vierfy failed`)}t.verify=s})(s||(s={}));e["default"]=s},1236:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(5301));const s=i(r(8734));const a=i(r(9800));const o=i(r(7078));const u=i(r(538));const c=i(r(7821));const l=i(r(217));const f=i(r(7156));const h=i(r(2535));const d=i(r(9214));const p=i(r(7303));const v=i(r(6063));const g=i(r(7923));const y=i(r(350));const m=i(r(9214));const _=i(r(6254));const w=i(r(5035));class S{static receiveMessage(t){let e=a.default.parseMsg(new a.default,t);if(e.command!=a.default.Command.KEY_NEGOTIATE_RESULT&&e.command!=a.default.Command.HEART_BEAT&&e.command!=a.default.Command.SERVER_CLOSE)y.default.decrypt(e);if(e.command!=a.default.Command.HEART_BEAT&&e.command!=a.default.Command.SERVER_CLOSE)y.default.verify(e);switch(e.command){case a.default.Command.KEY_NEGOTIATE_RESULT:n.default.parse(e.stringify()).receive();break;case a.default.Command.REGISTER_RESULT:o.default.parse(e.stringify()).receive();break;case a.default.Command.LOGIN_RESULT:s.default.parse(e.stringify()).receive();break;case a.default.Command.SERVER_MSG:this.receiveActionMsg(e.stringify());break;case a.default.Command.SERVER_CLOSE:w.default.parse(e.stringify()).receive();break;default:break}}static receiveActionMsg(t){let e=m.default.parseActionMsg(new m.default,t);if(e.actionMsgData.msgAction!=d.default.ServerAction.RECEIVED&&e.actionMsgData.msgAction!=d.default.ServerAction.REDIRECT_SERVER){let t=JSON.parse(e.actionMsgData.msgData);_.default.create(t.id).send()}switch(e.actionMsgData.msgAction){case d.default.ServerAction.PUSH_MESSAGE:f.default.parse(t).receive();break;case d.default.ServerAction.REDIRECT_SERVER:h.default.parse(t).receive();break;case d.default.ServerAction.ADD_PHONE_INFO_RESULT:u.default.parse(t).receive();break;case d.default.ServerAction.SET_MODE_RESULT:p.default.parse(t).receive();break;case d.default.ServerAction.SET_TAG_RESULT:v.default.parse(t).receive();break;case d.default.ServerAction.BIND_ALIAS_RESULT:c.default.parse(t).receive();break;case d.default.ServerAction.UNBIND_ALIAS_RESULT:g.default.parse(t).receive();break;case d.default.ServerAction.FEED_BACK_RESULT:l.default.parse(t).receive();break;case d.default.ServerAction.RECEIVED:_.default.parse(t).receive();break}}}e["default"]=S},6254:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=r(3118);const s=i(r(1754));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.receivedData=new u}static create(t){let e=new o;super.initActionMsg(e);e.callback=t=>{if(t.resultCode!=n.ErrorCode.SUCCESS&&t.resultCode!=n.ErrorCode.REPEAT_MESSAGE)setTimeout((function(){e.send()}),3*1e3)};e.actionMsgData.msgAction=a.default.ClientAction.RECEIVED;e.receivedData=u.create(t);e.actionMsgData.msgData=JSON.stringify(e.receivedData);return e}static parse(t){let e=new o;super.parseActionMsg(e,t);e.receivedData=u.parse(e.data);return e}receive(){let t=a.default.getWaitingResponseMessage(this.actionMsgData.msgId);if(t&&t.actionMsgData.msgAction==a.default.ClientAction.ADD_PHONE_INFO||t&&t.actionMsgData.msgAction==a.default.ClientAction.FEED_BACK){a.default.removeWaitingResponseMessage(t.actionMsgData.msgId);t.callback?.call(t.callback,{resultCode:n.ErrorCode.SUCCESS,message:"received"})}}send(){super.send()}}class u{constructor(){this.msgId="";this.cid=""}static create(t){let e=new u;e.cid=s.default.cid;e.msgId=t;return e}static parse(t){let e=new u;let r=JSON.parse(t);e.cid=r.cid;e.msgId=r.msgId;return e}}e["default"]=o},3527:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(1754));const s=i(r(9800));class a extends s.default{constructor(){super(...arguments);this.registerData=new o}static create(){let t=new a;super.initMsg(t);t.command=s.default.Command.REGISTER;t.data=t.registerData=o.create();return t}send(){super.send()}}class o{constructor(){this.appId="";this.regId=""}static create(){let t=new o;t.appId=n.default.appid;t.regId=n.default.regId;return t}}e["default"]=a},7078:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9800));const s=i(r(207));const a=i(r(1754));const o=i(r(2544));const u=i(r(1237));class c extends n.default{constructor(){super(...arguments);this.registerResultData=new l}static parse(t){let e=new c;super.parseMsg(e,t);e.registerResultData=l.parse(e.data);return e}receive(){if(0!=this.registerResultData.errorCode||!this.registerResultData.cid||!this.registerResultData.session){u.default.error(`register fail: ${this.data}`);a.default.onError?.call(a.default.onError,{error:`register fail: ${this.data}`});return}if(a.default.cid!=this.registerResultData.cid)s.default.setSync(s.default.KEY_ADD_PHONE_INFO_TIME,0);a.default.cid=this.registerResultData.cid;a.default.onClientId?.call(a.default.onClientId,{cid:a.default.cid});s.default.set({key:s.default.KEY_CID,data:a.default.cid});a.default.session=this.registerResultData.session;s.default.set({key:s.default.KEY_SESSION,data:a.default.session});a.default.deviceId=this.registerResultData.deviceId;s.default.set({key:s.default.KEY_DEVICE_ID,data:a.default.deviceId});o.default.create().send()}}class l{constructor(){this.errorCode=-1;this.errorMsg="";this.cid="";this.session="";this.deviceId="";this.regId=""}static parse(t){let e=new l;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;e.cid=r.cid;e.session=r.session;e.deviceId=r.deviceId;e.regId=r.regId;return e}}e["default"]=c},5035:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3593));const s=i(r(9800));class a extends s.default{constructor(){super(...arguments);this.serverCloseData=new o}static parse(t){let e=new a;super.parseMsg(e,t);e.serverCloseData=o.parse(e.data);return e}receive(){this.data;if(20==this.serverCloseData.code||23==this.serverCloseData.code||24==this.serverCloseData.code)n.default.allowReconnect=false;n.default.close()}}class o{constructor(){this.code=-1;this.msg=""}static parse(t){let e=new o;let r=JSON.parse(t);e.code=r.code;e.msg=r.msg;return e}}e["default"]=a},538:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.addPhoneInfoResultData=new o}static parse(t){let e=new a;super.parseActionMsg(e,t);e.addPhoneInfoResultData=o.parse(e.actionMsgData.msgData);return e}receive(){this.addPhoneInfoResultData;let t=s.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.addPhoneInfoResultData.errorCode,message:this.addPhoneInfoResultData.errorMsg});n.default.set({key:n.default.KEY_ADD_PHONE_INFO_TIME,data:(new Date).getTime()})}}class o{constructor(){this.errorCode=-1;this.errorMsg=""}static parse(t){let e=new o;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=a},7821:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(1237));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.bindAliasResultData=new u}static parse(t){let e=new o;super.parseActionMsg(e,t);e.bindAliasResultData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.info(`bind alias result`,this.bindAliasResultData);let t=a.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.bindAliasResultData.errorCode,message:this.bindAliasResultData.errorMsg});n.default.set({key:n.default.KEY_BIND_ALIAS_TIME,data:(new Date).getTime()})}}class u{constructor(){this.errorCode=-1;this.errorMsg=""}static parse(t){let e=new u;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=o},217:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=r(3118);const s=i(r(9214));class a extends s.default{constructor(){super(...arguments);this.feedbackResultData=new o}static parse(t){let e=new a;super.parseActionMsg(e,t);e.feedbackResultData=o.parse(e.actionMsgData.msgData);return e}receive(){this.feedbackResultData;let t=s.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:n.ErrorCode.SUCCESS,message:"received"})}}class o{constructor(){this.actionId="";this.taskId="";this.result=""}static parse(t){let e=new o;let r=JSON.parse(t);e.actionId=r.actionId;e.taskId=r.taskId;e.result=r.result;return e}}e["default"]=a},7156:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n;Object.defineProperty(e,"__esModule",{value:true});const s=i(r(1754));const a=i(r(9214));const o=i(r(652));class u extends a.default{constructor(){super(...arguments);this.pushMessageData=new c}static parse(t){let e=new u;super.parseActionMsg(e,t);e.pushMessageData=c.parse(e.actionMsgData.msgData);return e}receive(){this.pushMessageData;if(this.pushMessageData.appId!=s.default.appid||!this.pushMessageData.messageid||!this.pushMessageData.taskId)this.stringify();o.default.create(this,o.default.ActionId.RECEIVE).send();o.default.create(this,o.default.ActionId.MP_RECEIVE).send();if(this.actionMsgData.msgExtraData&&s.default.onPushMsg)s.default.onPushMsg?.call(s.default.onPushMsg,{message:this.actionMsgData.msgExtraData})}}class c{constructor(){this.id="";this.appKey="";this.appId="";this.messageid="";this.taskId="";this.actionChain=[];this.cdnType=""}static parse(t){let e=new c;let r=JSON.parse(t);e.id=r.id;e.appKey=r.appKey;e.appId=r.appId;e.messageid=r.messageid;e.taskId=r.taskId;e.actionChain=r.actionChain;e.cdnType=r.cdnType;return e}}class l{constructor(){this.type="";this.actionid="";this.do=""}}l.Type=(n=class{},n.GO_TO="goto",n.TRANSMIT="transmit",n);e["default"]=u},2535:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3593));const s=i(r(1754));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.redirectServerData=new u}static parse(t){let e=new o;super.parseActionMsg(e,t);e.redirectServerData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.socketUrl=this.redirectServerData.addressList.split(",")[0];n.default.connect()}}class u{constructor(){this.addressList="";this.delay=0;this.location="";this.idConfig=""}static parse(t){let e=new u;let r=JSON.parse(t);e.addressList=r.addressList;e.delay=r.delay;e.location=r.location;e.idConfig=r.idConfig;return e}}e["default"]=o},7303:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(9214));class s extends n.default{constructor(){super(...arguments);this.setModeResultData=new a}static parse(t){let e=new s;super.parseActionMsg(e,t);e.setModeResultData=a.parse(e.actionMsgData.msgData);return e}receive(){this.setModeResultData;let t=n.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.setModeResultData.errorCode,message:this.setModeResultData.errorMsg})}}class a{constructor(){this.errorCode=-1;this.errorMsg=""}static parse(t){let e=new a;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=s},6063:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(1237));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.setTagResultData=new u}static parse(t){let e=new o;super.parseActionMsg(e,t);e.setTagResultData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.info(`set tag result`,this.setTagResultData);let t=a.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.setTagResultData.errorCode,message:this.setTagResultData.errorMsg});n.default.set({key:n.default.KEY_SET_TAG_TIME,data:(new Date).getTime()})}}class u{constructor(){this.errorCode=0;this.errorMsg=""}static parse(t){let e=new u;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=o},7923:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(207));const s=i(r(1237));const a=i(r(9214));class o extends a.default{constructor(){super(...arguments);this.unbindAliasResultData=new u}static parse(t){let e=new o;super.parseActionMsg(e,t);e.unbindAliasResultData=u.parse(e.actionMsgData.msgData);return e}receive(){s.default.info(`unbind alias result`,this.unbindAliasResultData);let t=a.default.removeWaitingResponseMessage(this.actionMsgData.msgId);if(t)t.callback?.call(t.callback,{resultCode:this.unbindAliasResultData.errorCode,message:this.unbindAliasResultData.errorMsg});n.default.set({key:n.default.KEY_BIND_ALIAS_TIME,data:(new Date).getTime()})}}class u{constructor(){this.errorCode=-1;this.errorMsg=""}static parse(t){let e=new u;let r=JSON.parse(t);e.errorCode=r.errorCode;e.errorMsg=r.errorMsg;return e}}e["default"]=o},9285:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});class r{constructor(t){this.delay=10;this.delay=t}start(){this.cancel();let t=this;this.timer=setInterval((function(){t.run()}),this.delay)}cancel(){if(this.timer)clearInterval(this.timer)}}e["default"]=r},1571:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};var n;Object.defineProperty(e,"__esModule",{value:true});const s=i(r(6561));const a=i(r(9285));class o extends a.default{static getInstance(){return o.InstanceHolder.instance}run(){s.default.create().send()}refresh(){this.delay=60*1e3;this.start()}}o.INTERVAL=60*1e3;o.InstanceHolder=(n=class{},n.instance=new o(o.INTERVAL),n);e["default"]=o},3270:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});var r;(function(t){let e;let r;try{e=uni.getSystemInfoSync();r=uni.getAccountInfoSync()}catch(t){}function i(){let t="";try{t=e?e.platform:""}catch(t){}return t?t:""}t.os=i;function n(){let t="";try{t=e?e.model:""}catch(t){}return t?t:""}t.model=n;function s(){let t="";try{t=e?e.brand:""}catch(t){}return t?t:""}t.brand=s;function a(){let t="";try{t=e?e.system:""; // #ifdef MP-ALIPAY let r=i();if(t&&r&&!t.toLocaleLowerCase().startsWith(r.toLowerCase()))t=i()+" "+t; // #endif @@ -67,5 +67,4 @@ uni.sendSocketMessage({data:t,success:function(t){},fail:function(t){}}); // #ifndef MP-ALIPAY e.send({data:t,success:function(t){},fail:function(t){}}); // #endif -}else throw new Error(`socket not connect`)}t.send=p;function v(t){i=false;r=false;o.default.getInstance().cancel();if(s.default.online){s.default.online=false;s.default.onlineState?.call(s.default.onlineState,{online:s.default.online})}if(s.default.online){s.default.online=false;s.default.onlineState?.call(s.default.onlineState,{online:s.default.online})}l(1e3)}let g=function(t){r=true;h()};let y=function(t){try{t.data;o.default.getInstance().refresh();a.default.receiveMessage(t.data)}catch(t){}};let m=function(t){d(`socket error`)};let _=function(t){v(t)}})(c||(c={}));e["default"]=c},207:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});var r;(function(t){t.KEY_APPID="getui_appid";t.KEY_CID="getui_cid";t.KEY_SESSION="getui_session";t.KEY_REGID="getui_regid";t.KEY_SOCKET_URL="getui_socket_url";t.KEY_DEVICE_ID="getui_deviceid";t.KEY_ADD_PHONE_INFO_TIME="getui_api_time";t.KEY_BIND_ALIAS_TIME="getui_ba_time";t.KEY_SET_TAG_TIME="getui_st_time";function e(t,e){uni.setStorageSync(t,e)}t.setSync=e;function r(t){uni.setStorage({key:t.key,data:t.data,fail:()=>{t.key,t.data;t.fail?.call(t)}})}t.set=r;function i(t,e){let r=e;try{let e=uni.getStorageSync(t);if(e)r=e}catch(t){}return r}t.getSync=i;function n(t){uni.getStorage({key:t.key,success:e=>{t.success?.call(t,e.data)},fail:()=>{t.key;t.fail?.call(t)}})}t.get=n})(r||(r={}));e["default"]=r},5574:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(8495));const s=i(r(4736));var a;(function(t){let e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";let r=(0,s.default)("9223372036854775808");function i(t){let e=a(t);let r=o(e);let i=r[1];let n=r[0];return u(i)+u(n)}t.to_getui=i;function a(t){let e=n.default.create().update(t).digest();e[6]&=15;e[6]|=48;e[8]&=63;e[8]|=128;return e}function o(t){let e=(0,s.default)(0);let r=(0,s.default)(0);for(let r=0;r<8;r++)e=e.multiply(256).plus((0,s.default)(255&t[r]));for(let e=8;e<16;e++)r=r.multiply(256).plus((0,s.default)(255&t[e]));return[e,r]}function u(t){if(t>=r)t=r.multiply(2).minus(t);let i="";for(;t>(0,s.default)(0);t=t.divide(62))i+=e.charAt(Number(t.divmod(62).remainder));return i}})(a||(a={}));e["default"]=a},323:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(3357));const s=i(r(1354));const a=i(r(1754));var o;(function(t){let e;let r;let i;let o;let u=new n.default;let c=s.default.mode.CBC;let l=s.default.pad.Pkcs7;let f=s.default.AES;t.algorithmMap=new Map([["aes",s.default.AES]]);t.modeMap=new Map([["cbc",s.default.mode.CBC],["cfb",s.default.mode.CFB],["cfb128",s.default.mode.CFB],["ecb",s.default.mode.ECB],["ofb",s.default.mode.OFB]]);t.paddingMap=new Map([["nopadding",s.default.pad.NoPadding],["pkcs7",s.default.pad.Pkcs7]]);function h(){e=s.default.MD5((new Date).getTime().toString());r=s.default.MD5(e);u.setPublicKey(a.default.publicKey);e.toString(s.default.enc.Hex);r.toString(s.default.enc.Hex);i=u.encrypt(e.toString(s.default.enc.Hex));o=u.encrypt(r.toString(s.default.enc.Hex))}t.resetKey=h;function d(e,r,i){f=t.algorithmMap.get(e);c=t.modeMap.get(r);l=t.paddingMap.get(i)}t.setEncryptParams=d;function p(t){return f.encrypt(t,e,{iv:r,mode:c,padding:l}).toString()}t.encrypt=p;function v(t){return f.decrypt(t,e,{iv:r,mode:c,padding:l}).toString(s.default.enc.Utf8)}t.decrypt=v;function g(t){return s.default.SHA256(t).toString(s.default.enc.Base64)}t.sha256=g;function y(t){return s.default.MD5(t).toString(s.default.enc.Hex)}t.md5Hex=y;function m(){return i?i:""}t.getEncryptedSecretKey=m;function _(){return o?o:""}t.getEncryptedIV=_})(o||(o={}));e["default"]=o},1237:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});class r{static info(...t){if(this.debugMode)console.info(`[GtPush]`,t)}static error(...t){console.error(`[GtPush]`,t)}}r.debugMode=false;e["default"]=r},3357:(t,e,r)=>{"use strict";r.r(e);r.d(e,{JSEncrypt:()=>_t,default:()=>bt});var i="0123456789abcdefghijklmnopqrstuvwxyz";function n(t){return i.charAt(t)}function s(t,e){return t&e}function a(t,e){return t|e}function o(t,e){return t^e}function u(t,e){return t&~e}function c(t){if(0==t)return-1;var e=0;if(0==(65535&t)){t>>=16;e+=16}if(0==(255&t)){t>>=8;e+=8}if(0==(15&t)){t>>=4;e+=4}if(0==(3&t)){t>>=2;e+=2}if(0==(1&t))++e;return e}function l(t){var e=0;while(0!=t){t&=t-1;++e}return e}var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var h="=";function d(t){var e;var r;var i="";for(e=0;e+3<=t.length;e+=3){r=parseInt(t.substring(e,e+3),16);i+=f.charAt(r>>6)+f.charAt(63&r)}if(e+1==t.length){r=parseInt(t.substring(e,e+1),16);i+=f.charAt(r<<2)}else if(e+2==t.length){r=parseInt(t.substring(e,e+2),16);i+=f.charAt(r>>2)+f.charAt((3&r)<<4)}while((3&i.length)>0)i+=h;return i}function p(t){var e="";var r;var i=0;var s=0;for(r=0;r>2);s=3&a;i=1}else if(1==i){e+=n(s<<2|a>>4);s=15&a;i=2}else if(2==i){e+=n(s);e+=n(a>>2);s=3&a;i=3}else{e+=n(s<<2|a>>4);e+=n(15&a);i=0}}if(1==i)e+=n(s<<2);return e}function v(t){var e=p(t);var r;var i=[];for(r=0;2*r=2){n[n.length]=s;s=0;a=0}else s<<=4}if(a)throw new Error("Hex encoding incomplete: 4 bits missing");return n}};var m;var _={decode:function(t){var e;if(void 0===m){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var i="= \f\n\r\t \u2028\u2029";m=Object.create(null);for(e=0;e<64;++e)m[r.charAt(e)]=e;m["-"]=62;m["_"]=63;for(e=0;e=4){n[n.length]=s>>16;n[n.length]=s>>8&255;n[n.length]=255&s;s=0;a=0}else s<<=6}switch(a){case 1:throw new Error("Base64 encoding incomplete: at least 2 bits missing");case 2:n[n.length]=s>>10;break;case 3:n[n.length]=s>>16;n[n.length]=s>>8&255;break}return n},re:/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,unarmor:function(t){var e=_.re.exec(t);if(e)if(e[1])t=e[1];else if(e[2])t=e[2];else throw new Error("RegExp out of sync");return _.decode(t)}};var b=1e13;var S=function(){function t(t){this.buf=[+t||0]}t.prototype.mulAdd=function(t,e){var r=this.buf;var i=r.length;var n;var s;for(n=0;n0)r[n]=e};t.prototype.sub=function(t){var e=this.buf;var r=e.length;var i;var n;for(i=0;i=0;--i)r+=(b+e[i]).toString().substring(1);return r};t.prototype.valueOf=function(){var t=this.buf;var e=0;for(var r=t.length-1;r>=0;--r)e=e*b+t[r];return e};t.prototype.simplify=function(){var t=this.buf;return 1==t.length?t[0]:this};return t}();var w="…";var E=/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;var D=/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;function A(t,e){if(t.length>e)t=t.substring(0,e)+w;return t}var T=function(){function t(e,r){this.hexDigits="0123456789ABCDEF";if(e instanceof t){this.enc=e.enc;this.pos=e.pos}else{this.enc=e;this.pos=r}}t.prototype.get=function(t){if(void 0===t)t=this.pos++;if(t>=this.enc.length)throw new Error("Requesting byte offset "+t+" on a stream of length "+this.enc.length);return"string"===typeof this.enc?this.enc.charCodeAt(t):this.enc[t]};t.prototype.hexByte=function(t){return this.hexDigits.charAt(t>>4&15)+this.hexDigits.charAt(15&t)};t.prototype.hexDump=function(t,e,r){var i="";for(var n=t;n176)return false}return true};t.prototype.parseStringISO=function(t,e){var r="";for(var i=t;i191&&n<224)r+=String.fromCharCode((31&n)<<6|63&this.get(i++));else r+=String.fromCharCode((15&n)<<12|(63&this.get(i++))<<6|63&this.get(i++))}return r};t.prototype.parseStringBMP=function(t,e){var r="";var i;var n;for(var s=t;s127;var n=i?255:0;var s;var a="";while(r==n&&++t4){a=r;s<<=3;while(0==(128&(+a^n))){a=+a<<1;--s}a="("+s+" bit)\n"}if(i)r-=256;var o=new S(r);for(var u=t+1;u=c;--l)a+=u>>l&1?"1":"0";if(a.length>r)return s+A(a,r)}return s+a};t.prototype.parseOctetString=function(t,e,r){if(this.isASCII(t,e))return A(this.parseStringISO(t,e),r);var i=e-t;var n="("+i+" byte)\n";r/=2;if(i>r)e=t+r;for(var s=t;sr)n+=w;return n};t.prototype.parseOID=function(t,e,r){var i="";var n=new S;var s=0;for(var a=t;ar)return A(i,r);n=new S;s=0}}if(s>0)i+=".incomplete";return i};return t}();var M=function(){function t(t,e,r,i,n){if(!(i instanceof R))throw new Error("Invalid tag value.");this.stream=t;this.header=e;this.length=r;this.tag=i;this.sub=n}t.prototype.typeName=function(){switch(this.tag.tagClass){case 0:switch(this.tag.tagNumber){case 0:return"EOC";case 1:return"BOOLEAN";case 2:return"INTEGER";case 3:return"BIT_STRING";case 4:return"OCTET_STRING";case 5:return"NULL";case 6:return"OBJECT_IDENTIFIER";case 7:return"ObjectDescriptor";case 8:return"EXTERNAL";case 9:return"REAL";case 10:return"ENUMERATED";case 11:return"EMBEDDED_PDV";case 12:return"UTF8String";case 16:return"SEQUENCE";case 17:return"SET";case 18:return"NumericString";case 19:return"PrintableString";case 20:return"TeletexString";case 21:return"VideotexString";case 22:return"IA5String";case 23:return"UTCTime";case 24:return"GeneralizedTime";case 25:return"GraphicString";case 26:return"VisibleString";case 27:return"GeneralString";case 28:return"UniversalString";case 30:return"BMPString"}return"Universal_"+this.tag.tagNumber.toString();case 1:return"Application_"+this.tag.tagNumber.toString();case 2:return"["+this.tag.tagNumber.toString()+"]";case 3:return"Private_"+this.tag.tagNumber.toString()}};t.prototype.content=function(t){if(void 0===this.tag)return null;if(void 0===t)t=1/0;var e=this.posContent();var r=Math.abs(this.length);if(!this.tag.isUniversal()){if(null!==this.sub)return"("+this.sub.length+" elem)";return this.stream.parseOctetString(e,e+r,t)}switch(this.tag.tagNumber){case 1:return 0===this.stream.get(e)?"false":"true";case 2:return this.stream.parseInteger(e,e+r);case 3:return this.sub?"("+this.sub.length+" elem)":this.stream.parseBitString(e,e+r,t);case 4:return this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(e,e+r,t);case 6:return this.stream.parseOID(e,e+r,t);case 16:case 17:if(null!==this.sub)return"("+this.sub.length+" elem)";else return"(no elem)";case 12:return A(this.stream.parseStringUTF(e,e+r),t);case 18:case 19:case 20:case 21:case 22:case 26:return A(this.stream.parseStringISO(e,e+r),t);case 30:return A(this.stream.parseStringBMP(e,e+r),t);case 23:case 24:return this.stream.parseTime(e,e+r,23==this.tag.tagNumber)}return null};t.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"};t.prototype.toPrettyString=function(t){if(void 0===t)t="";var e=t+this.typeName()+" @"+this.stream.pos;if(this.length>=0)e+="+";e+=this.length;if(this.tag.tagConstructed)e+=" (constructed)";else if(this.tag.isUniversal()&&(3==this.tag.tagNumber||4==this.tag.tagNumber)&&null!==this.sub)e+=" (encapsulates)";e+="\n";if(null!==this.sub){t+=" ";for(var r=0,i=this.sub.length;r6)throw new Error("Length over 48 bits not supported at position "+(t.pos-1));if(0===r)return null;e=0;for(var i=0;i>6;this.tagConstructed=0!==(32&e);this.tagNumber=31&e;if(31==this.tagNumber){var r=new S;do{e=t.get();r.mulAdd(128,127&e)}while(128&e);this.tagNumber=r.simplify()}}t.prototype.isUniversal=function(){return 0===this.tagClass};t.prototype.isEOC=function(){return 0===this.tagClass&&0===this.tagNumber};return t}();var I;var B=0xdeadbeefcafe;var x=15715070==(16777215&B);var C=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997];var O=(1<<26)/C[C.length-1];var k=function(){function t(t,e,r){if(null!=t)if("number"==typeof t)this.fromNumber(t,e,r);else if(null==e&&"string"!=typeof t)this.fromString(t,256);else this.fromString(t,e)}t.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else if(4==t)e=2;else return this.toRadix(t);var r=(1<0){if(u>u)>0){s=true;a=n(i)}while(o>=0){if(u>(u+=this.DB-e)}else{i=this[o]>>(u-=e)&r;if(u<=0){u+=this.DB;--o}}if(i>0)s=true;if(s)a+=n(i)}}return s?a:"0"};t.prototype.negate=function(){var e=V();t.ZERO.subTo(this,e);return e};t.prototype.abs=function(){return this.s<0?this.negate():this};t.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;e=r-t.t;if(0!=e)return this.s<0?-e:e;while(--r>=0)if(0!=(e=this[r]-t[r]))return e;return 0};t.prototype.bitLength=function(){if(this.t<=0)return 0;return this.DB*(this.t-1)+J(this[this.t-1]^this.s&this.DM)};t.prototype.mod=function(e){var r=V();this.abs().divRemTo(e,null,r);if(this.s<0&&r.compareTo(t.ZERO)>0)e.subTo(r,r);return r};t.prototype.modPowInt=function(t,e){var r;if(t<256||e.isEven())r=new P(e);else r=new H(e);return this.exp(t,r)};t.prototype.clone=function(){var t=V();this.copyTo(t);return t};t.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;else if(0==this.t)return-1}else if(1==this.t)return this[0];else if(0==this.t)return 0;return(this[1]&(1<<32-this.DB)-1)<>24};t.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16};t.prototype.signum=function(){if(this.s<0)return-1;else if(this.t<=0||1==this.t&&this[0]<=0)return 0;else return 1};t.prototype.toByteArray=function(){var t=this.t;var e=[];e[0]=this.s;var r=this.DB-t*this.DB%8;var i;var n=0;if(t-- >0){if(r>r)!=(this.s&this.DM)>>r)e[n++]=i|this.s<=0){if(r<8){i=(this[t]&(1<>(r+=this.DB-8)}else{i=this[t]>>(r-=8)&255;if(r<=0){r+=this.DB;--t}}if(0!=(128&i))i|=-256;if(0==n&&(128&this.s)!=(128&i))++n;if(n>0||i!=this.s)e[n++]=i}}return e};t.prototype.equals=function(t){return 0==this.compareTo(t)};t.prototype.min=function(t){return this.compareTo(t)<0?this:t};t.prototype.max=function(t){return this.compareTo(t)>0?this:t};t.prototype.and=function(t){var e=V();this.bitwiseTo(t,s,e);return e};t.prototype.or=function(t){var e=V();this.bitwiseTo(t,a,e);return e};t.prototype.xor=function(t){var e=V();this.bitwiseTo(t,o,e);return e};t.prototype.andNot=function(t){var e=V();this.bitwiseTo(t,u,e);return e};t.prototype.not=function(){var t=V();for(var e=0;e=this.t)return 0!=this.s;return 0!=(this[e]&1<1){var l=V();s.sqrTo(a[1],l);while(o<=c){a[o]=V();s.mulTo(l,a[o-2],a[o]);o+=2}}var f=t.t-1;var h;var d=true;var p=V();var v;r=J(t[f])-1;while(f>=0){if(r>=u)h=t[f]>>r-u&c;else{h=(t[f]&(1<0)h|=t[f-1]>>this.DB+r-u}o=i;while(0==(1&h)){h>>=1;--o}if((r-=o)<0){r+=this.DB;--f}if(d){a[h].copyTo(n);d=false}else{while(o>1){s.sqrTo(n,p);s.sqrTo(p,n);o-=2}if(o>0)s.sqrTo(n,p);else{v=n;n=p;p=v}s.mulTo(p,a[h],n)}while(f>=0&&0==(t[f]&1<=0){i.subTo(n,i);if(r)s.subTo(o,s);a.subTo(u,a)}else{n.subTo(i,n);if(r)o.subTo(s,o);u.subTo(a,u)}}if(0!=n.compareTo(t.ONE))return t.ZERO;if(u.compareTo(e)>=0)return u.subtract(e);if(u.signum()<0)u.addTo(e,u);else return u;if(u.signum()<0)return u.add(e);else return u};t.prototype.pow=function(t){return this.exp(t,new N)};t.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone();var r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var i=e;e=r;r=i}var n=e.getLowestSetBit();var s=r.getLowestSetBit();if(s<0)return e;if(n0){e.rShiftTo(s,e);r.rShiftTo(s,r)}while(e.signum()>0){if((n=e.getLowestSetBit())>0)e.rShiftTo(n,e);if((n=r.getLowestSetBit())>0)r.rShiftTo(n,r);if(e.compareTo(r)>=0){e.subTo(r,e);e.rShiftTo(1,e)}else{r.subTo(e,r);r.rShiftTo(1,r)}}if(s>0)r.lShiftTo(s,r);return r};t.prototype.isProbablePrime=function(t){var e;var r=this.abs();if(1==r.t&&r[0]<=C[C.length-1]){for(e=0;e=0;--e)t[e]=this[e];t.t=this.t;t.s=this.s};t.prototype.fromInt=function(t){this.t=1;this.s=t<0?-1:0;if(t>0)this[0]=t;else if(t<-1)this[0]=t+this.DV;else this.t=0};t.prototype.fromString=function(e,r){var i;if(16==r)i=4;else if(8==r)i=3;else if(256==r)i=8;else if(2==r)i=1;else if(32==r)i=5;else if(4==r)i=2;else{this.fromRadix(e,r);return}this.t=0;this.s=0;var n=e.length;var s=false;var a=0;while(--n>=0){var o=8==i?255&+e[n]:W(e,n);if(o<0){if("-"==e.charAt(n))s=true;continue}s=false;if(0==a)this[this.t++]=o;else if(a+i>this.DB){this[this.t-1]|=(o&(1<>this.DB-a}else this[this.t-1]|=o<=this.DB)a-=this.DB}if(8==i&&0!=(128&+e[0])){this.s=-1;if(a>0)this[this.t-1]|=(1<0&&this[this.t-1]==t)--this.t};t.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t;e.s=this.s};t.prototype.drShiftTo=function(t,e){for(var r=t;r=0;--o){e[o+s+1]=this[o]>>i|a;a=(this[o]&n)<=0;--o)e[o]=0;e[s]=a;e.t=this.t+s+1;e.s=this.s;e.clamp()};t.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var i=t%this.DB;var n=this.DB-i;var s=(1<>i;for(var a=r+1;a>i}if(i>0)e[this.t-r-1]|=(this.s&s)<>=this.DB}if(t.t>=this.DB}i+=this.s}else{i+=this.s;while(r>=this.DB}i-=t.s}e.s=i<0?-1:0;if(i<-1)e[r++]=this.DV+i;else if(i>0)e[r++]=i;e.t=r;e.clamp()};t.prototype.multiplyTo=function(e,r){var i=this.abs();var n=e.abs();var s=i.t;r.t=s+n.t;while(--s>=0)r[s]=0;for(s=0;s=0)t[r]=0;for(r=0;r=e.DV){t[r+e.t]-=e.DV;t[r+e.t+1]=1}}if(t.t>0)t[t.t-1]+=e.am(r,e[r],t,2*r,0,1);t.s=0;t.clamp()};t.prototype.divRemTo=function(e,r,i){var n=e.abs();if(n.t<=0)return;var s=this.abs();if(s.t0){n.lShiftTo(c,a);s.lShiftTo(c,i)}else{n.copyTo(a);s.copyTo(i)}var l=a.t;var f=a[l-1];if(0==f)return;var h=f*(1<1?a[l-2]>>this.F2:0);var d=this.FV/h;var p=(1<=0){i[i.t++]=1;i.subTo(m,i)}t.ONE.dlShiftTo(l,m);m.subTo(a,a);while(a.t=0){var _=i[--g]==f?this.DM:Math.floor(i[g]*d+(i[g-1]+v)*p);if((i[g]+=a.am(0,_,i,y,0,l))<_){a.dlShiftTo(y,m);i.subTo(m,i);while(i[g]<--_)i.subTo(m,i)}}if(null!=r){i.drShiftTo(l,r);if(o!=u)t.ZERO.subTo(r,r)}i.t=l;i.clamp();if(c>0)i.rShiftTo(c,i);if(o<0)t.ZERO.subTo(i,i)};t.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;e=e*(2-(15&t)*e)&15;e=e*(2-(255&t)*e)&255;e=e*(2-((65535&t)*e&65535))&65535;e=e*(2-t*e%this.DV)%this.DV;return e>0?this.DV-e:-e};t.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)};t.prototype.exp=function(e,r){if(e>4294967295||e<1)return t.ONE;var i=V();var n=V();var s=r.convert(this);var a=J(e)-1;s.copyTo(i);while(--a>=0){r.sqrTo(i,n);if((e&1<0)r.mulTo(n,s,i);else{var o=i;i=n;n=o}}return r.revert(i)};t.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))};t.prototype.toRadix=function(t){if(null==t)t=10;if(0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t);var r=Math.pow(t,e);var i=Y(r);var n=V();var s=V();var a="";this.divRemTo(i,n,s);while(n.signum()>0){a=(r+s.intValue()).toString(t).substr(1)+a;n.divRemTo(i,n,s)}return s.intValue().toString(t)+a};t.prototype.fromRadix=function(e,r){this.fromInt(0);if(null==r)r=10;var i=this.chunkSize(r);var n=Math.pow(r,i);var s=false;var a=0;var o=0;for(var u=0;u=i){this.dMultiply(n);this.dAddOffset(o,0);a=0;o=0}}if(a>0){this.dMultiply(Math.pow(r,a));this.dAddOffset(o,0)}if(s)t.ZERO.subTo(this,this)};t.prototype.fromNumber=function(e,r,i){if("number"==typeof r)if(e<2)this.fromInt(1);else{this.fromNumber(e,i);if(!this.testBit(e-1))this.bitwiseTo(t.ONE.shiftLeft(e-1),a,this);if(this.isEven())this.dAddOffset(1,0);while(!this.isProbablePrime(r)){this.dAddOffset(2,0);if(this.bitLength()>e)this.subTo(t.ONE.shiftLeft(e-1),this)}}else{var n=[];var s=7&e;n.length=(e>>3)+1;r.nextBytes(n);if(s>0)n[0]&=(1<>=this.DB}if(t.t>=this.DB}i+=this.s}else{i+=this.s;while(r>=this.DB}i+=t.s}e.s=i<0?-1:0;if(i>0)e[r++]=i;else if(i<-1)e[r++]=this.DV+i;e.t=r;e.clamp()};t.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t);++this.t;this.clamp()};t.prototype.dAddOffset=function(t,e){if(0==t)return;while(this.t<=e)this[this.t++]=0;this[e]+=t;while(this[e]>=this.DV){this[e]-=this.DV;if(++e>=this.t)this[this.t++]=0;++this[e]}};t.prototype.multiplyLowerTo=function(t,e,r){var i=Math.min(this.t+t.t,e);r.s=0;r.t=i;while(i>0)r[--i]=0;for(var n=r.t-this.t;i=0)r[i]=0;for(i=Math.max(e-this.t,0);i0)if(0==e)r=this[0]%t;else for(var i=this.t-1;i>=0;--i)r=(e*r+this[i])%t;return r};t.prototype.millerRabin=function(e){var r=this.subtract(t.ONE);var i=r.getLowestSetBit();if(i<=0)return false;var n=r.shiftRight(i);e=e+1>>1;if(e>C.length)e=C.length;var s=V();for(var a=0;a0){r.rShiftTo(a,r);i.rShiftTo(a,i)}var o=function(){if((s=r.getLowestSetBit())>0)r.rShiftTo(s,r);if((s=i.getLowestSetBit())>0)i.rShiftTo(s,i);if(r.compareTo(i)>=0){r.subTo(i,r);r.rShiftTo(1,r)}else{i.subTo(r,i);i.rShiftTo(1,i)}if(!(r.signum()>0)){if(a>0)i.lShiftTo(a,i);setTimeout((function(){e(i)}),0)}else setTimeout(o,0)};setTimeout(o,10)};t.prototype.fromNumberAsync=function(e,r,i,n){if("number"==typeof r)if(e<2)this.fromInt(1);else{this.fromNumber(e,i);if(!this.testBit(e-1))this.bitwiseTo(t.ONE.shiftLeft(e-1),a,this);if(this.isEven())this.dAddOffset(1,0);var s=this;var o=function(){s.dAddOffset(2,0);if(s.bitLength()>e)s.subTo(t.ONE.shiftLeft(e-1),s);if(s.isProbablePrime(r))setTimeout((function(){n()}),0);else setTimeout(o,0)};setTimeout(o,0)}else{var u=[];var c=7&e;u.length=(e>>3)+1;r.nextBytes(u);if(c>0)u[0]&=(1<=0)return t.mod(this.m);else return t};t.prototype.revert=function(t){return t};t.prototype.reduce=function(t){t.divRemTo(this.m,null,t)};t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r);this.reduce(r)};t.prototype.sqrTo=function(t,e){t.squareTo(e);this.reduce(e)};return t}();var H=function(){function t(t){this.m=t;this.mp=t.invDigit();this.mpl=32767&this.mp;this.mph=this.mp>>15;this.um=(1<0)this.m.subTo(e,e);return e};t.prototype.revert=function(t){var e=V();t.copyTo(e);this.reduce(e);return e};t.prototype.reduce=function(t){while(t.t<=this.mt2)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;r=e+this.m.t;t[r]+=this.m.am(0,i,t,e,0,this.m.t);while(t[r]>=t.DV){t[r]-=t.DV;t[++r]++}}t.clamp();t.drShiftTo(this.m.t,t);if(t.compareTo(this.m)>=0)t.subTo(this.m,t)};t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r);this.reduce(r)};t.prototype.sqrTo=function(t,e){t.squareTo(e);this.reduce(e)};return t}();var L=function(){function t(t){this.m=t;this.r2=V();this.q3=V();k.ONE.dlShiftTo(2*t.t,this.r2);this.mu=this.r2.divide(t)}t.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);else if(t.compareTo(this.m)<0)return t;else{var e=V();t.copyTo(e);this.reduce(e);return e}};t.prototype.revert=function(t){return t};t.prototype.reduce=function(t){t.drShiftTo(this.m.t-1,this.r2);if(t.t>this.m.t+1){t.t=this.m.t+1;t.clamp()}this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3);this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);while(t.compareTo(this.r2)<0)t.dAddOffset(1,this.m.t+1);t.subTo(this.r2,t);while(t.compareTo(this.m)>=0)t.subTo(this.m,t)};t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r);this.reduce(r)};t.prototype.sqrTo=function(t,e){t.squareTo(e);this.reduce(e)};return t}();function V(){return new k(null)}function U(t,e){return new k(t,e)}var F="undefined"!==typeof navigator;if(F&&x&&"Microsoft Internet Explorer"==navigator.appName){k.prototype.am=function t(e,r,i,n,s,a){var o=32767&r;var u=r>>15;while(--a>=0){var c=32767&this[e];var l=this[e++]>>15;var f=u*c+l*o;c=o*c+((32767&f)<<15)+i[n]+(1073741823&s);s=(c>>>30)+(f>>>15)+u*l+(s>>>30);i[n++]=1073741823&c}return s};I=30}else if(F&&x&&"Netscape"!=navigator.appName){k.prototype.am=function t(e,r,i,n,s,a){while(--a>=0){var o=r*this[e++]+i[n]+s;s=Math.floor(o/67108864);i[n++]=67108863&o}return s};I=26}else{k.prototype.am=function t(e,r,i,n,s,a){var o=16383&r;var u=r>>14;while(--a>=0){var c=16383&this[e];var l=this[e++]>>14;var f=u*c+l*o;c=o*c+((16383&f)<<14)+i[n]+s;s=(c>>28)+(f>>14)+u*l;i[n++]=268435455&c}return s};I=28}k.prototype.DB=I;k.prototype.DM=(1<>>16)){t=r;e+=16}if(0!=(r=t>>8)){t=r;e+=8}if(0!=(r=t>>4)){t=r;e+=4}if(0!=(r=t>>2)){t=r;e+=2}if(0!=(r=t>>1)){t=r;e+=1}return e}k.ZERO=Y(0);k.ONE=Y(1);var G=function(){function t(){this.i=0;this.j=0;this.S=[]}t.prototype.init=function(t){var e;var r;var i;for(e=0;e<256;++e)this.S[e]=e;r=0;for(e=0;e<256;++e){r=r+this.S[e]+t[e%t.length]&255;i=this.S[e];this.S[e]=this.S[r];this.S[r]=i}this.i=0;this.j=0};t.prototype.next=function(){var t;this.i=this.i+1&255;this.j=this.j+this.S[this.i]&255;t=this.S[this.i];this.S[this.i]=this.S[this.j];this.S[this.j]=t;return this.S[t+this.S[this.i]&255]};return t}();function X(){return new G}var Z=256;var $;var Q=null;var tt;if(null==Q){Q=[];tt=0;var et=void 0;var rt=0;var it=function(t){rt=rt||0;if(rt>=256||tt>=rng_psize)return;try{var e=t.x+t.y;Q[tt++]=255&e;rt+=1}catch(t){}}}function nt(){if(null==$){$=X();while(tt=0&&e>0){var n=t.charCodeAt(i--);if(n<128)r[--e]=n;else if(n>127&&n<2048){r[--e]=63&n|128;r[--e]=n>>6|192}else{r[--e]=63&n|128;r[--e]=n>>6&63|128;r[--e]=n>>12|224}}r[--e]=0;var s=new st;var a=[];while(e>2){a[0]=0;while(0==a[0])s.nextBytes(a);r[--e]=a[0]}r[--e]=2;r[--e]=0;return new k(r)}var ut=function(){function t(){this.n=null;this.e=0;this.d=null;this.p=null;this.q=null;this.dmp1=null;this.dmq1=null;this.coeff=null}t.prototype.doPublic=function(t){return t.modPowInt(this.e,this.n)};t.prototype.doPrivate=function(t){if(null==this.p||null==this.q)return t.modPow(this.d,this.n);var e=t.mod(this.p).modPow(this.dmp1,this.p);var r=t.mod(this.q).modPow(this.dmq1,this.q);while(e.compareTo(r)<0)e=e.add(this.p);return e.subtract(r).multiply(this.coeff).mod(this.p).multiply(this.q).add(r)};t.prototype.setPublic=function(t,e){if(null!=t&&null!=e&&t.length>0&&e.length>0){this.n=U(t,16);this.e=parseInt(e,16)}else console.error("Invalid RSA public key")};t.prototype.encrypt=function(t){var e=this.n.bitLength()+7>>3;var r=ot(t,e);if(null==r)return null;var i=this.doPublic(r);if(null==i)return null;var n=i.toString(16);var s=n.length;for(var a=0;a<2*e-s;a++)n="0"+n;return n};t.prototype.setPrivate=function(t,e,r){if(null!=t&&null!=e&&t.length>0&&e.length>0){this.n=U(t,16);this.e=parseInt(e,16);this.d=U(r,16)}else console.error("Invalid RSA private key")};t.prototype.setPrivateEx=function(t,e,r,i,n,s,a,o){if(null!=t&&null!=e&&t.length>0&&e.length>0){this.n=U(t,16);this.e=parseInt(e,16);this.d=U(r,16);this.p=U(i,16);this.q=U(n,16);this.dmp1=U(s,16);this.dmq1=U(a,16);this.coeff=U(o,16)}else console.error("Invalid RSA private key")};t.prototype.generate=function(t,e){var r=new st;var i=t>>1;this.e=parseInt(e,16);var n=new k(e,16);for(;;){for(;;){this.p=new k(t-i,1,r);if(0==this.p.subtract(k.ONE).gcd(n).compareTo(k.ONE)&&this.p.isProbablePrime(10))break}for(;;){this.q=new k(i,1,r);if(0==this.q.subtract(k.ONE).gcd(n).compareTo(k.ONE)&&this.q.isProbablePrime(10))break}if(this.p.compareTo(this.q)<=0){var s=this.p;this.p=this.q;this.q=s}var a=this.p.subtract(k.ONE);var o=this.q.subtract(k.ONE);var u=a.multiply(o);if(0==u.gcd(n).compareTo(k.ONE)){this.n=this.p.multiply(this.q);this.d=n.modInverse(u);this.dmp1=this.d.mod(a);this.dmq1=this.d.mod(o);this.coeff=this.q.modInverse(this.p);break}}};t.prototype.decrypt=function(t){var e=U(t,16);var r=this.doPrivate(e);if(null==r)return null;return ct(r,this.n.bitLength()+7>>3)};t.prototype.generateAsync=function(t,e,r){var i=new st;var n=t>>1;this.e=parseInt(e,16);var s=new k(e,16);var a=this;var o=function(){var e=function(){if(a.p.compareTo(a.q)<=0){var t=a.p;a.p=a.q;a.q=t}var e=a.p.subtract(k.ONE);var i=a.q.subtract(k.ONE);var n=e.multiply(i);if(0==n.gcd(s).compareTo(k.ONE)){a.n=a.p.multiply(a.q);a.d=s.modInverse(n);a.dmp1=a.d.mod(e);a.dmq1=a.d.mod(i);a.coeff=a.q.modInverse(a.p);setTimeout((function(){r()}),0)}else setTimeout(o,0)};var u=function(){a.q=V();a.q.fromNumberAsync(n,1,i,(function(){a.q.subtract(k.ONE).gcda(s,(function(t){if(0==t.compareTo(k.ONE)&&a.q.isProbablePrime(10))setTimeout(e,0);else setTimeout(u,0)}))}))};var c=function(){a.p=V();a.p.fromNumberAsync(t-n,1,i,(function(){a.p.subtract(k.ONE).gcda(s,(function(t){if(0==t.compareTo(k.ONE)&&a.p.isProbablePrime(10))setTimeout(u,0);else setTimeout(c,0)}))}))};setTimeout(c,0)};setTimeout(o,0)};t.prototype.sign=function(t,e,r){var i=ht(r);var n=i+e(t).toString();var s=at(n,this.n.bitLength()/4);if(null==s)return null;var a=this.doPrivate(s);if(null==a)return null;var o=a.toString(16);if(0==(1&o.length))return o;else return"0"+o};t.prototype.verify=function(t,e,r){var i=U(e,16);var n=this.doPublic(i);if(null==n)return null;var s=n.toString(16).replace(/^1f+00/,"");var a=dt(s);return a==r(t).toString()};t.prototype.encryptLong=function(t){var e=this;var r="";var i=(this.n.bitLength()+7>>3)-11;var n=this.setSplitChn(t,i);n.forEach((function(t){r+=e.encrypt(t)}));return r};t.prototype.decryptLong=function(t){var e="";var r=this.n.bitLength()+7>>3;var i=2*r;if(t.length>i){var n=t.match(new RegExp(".{1,"+i+"}","g"))||[];var s=[];for(var a=0;ae){var o=t.substring(0,s);r.push(o);return this.setSplitChn(t.substring(s),e,r)}}r.push(t);return r};return t}();function ct(t,e){var r=t.toByteArray();var i=0;while(i=r.length)return null;var n="";while(++i191&&s<224){n+=String.fromCharCode((31&s)<<6|63&r[i+1]);++i}else{n+=String.fromCharCode((15&s)<<12|(63&r[i+1])<<6|63&r[i+2]);i+=2}}return n}function lt(t,e){var r=[];for(var i=0;i=s.length)return null;r=r.concat(s.slice(a+1))}var o=r;var u=-1;var c="";while(++u191&&l<224){c+=String.fromCharCode((31&l)<<6|63&o[u+1]);++u}else{c+=String.fromCharCode((15&l)<<12|(63&o[u+1])<<6|63&o[u+2]);u+=2}}return c}var ft={md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",ripemd160:"3021300906052b2403020105000414"};function ht(t){return ft[t]||""}function dt(t){for(var e in ft)if(ft.hasOwnProperty(e)){var r=ft[e];var i=r.length;if(t.substr(0,i)==r)return t.substr(i)}return t}var pt={};pt.lang={extend:function(t,e,r){if(!e||!t)throw new Error("YAHOO.lang.extend failed, please check that "+"all dependencies are included.");var i=function(){};i.prototype=e.prototype;t.prototype=new i;t.prototype.constructor=t;t.superclass=e.prototype;if(e.prototype.constructor==Object.prototype.constructor)e.prototype.constructor=e;if(r){var n;for(n in r)t.prototype[n]=r[n];var s=function(){},a=["toString","valueOf"];try{if(/MSIE/.test(navigator.userAgent))s=function(t,e){for(n=0;n15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);var i=128+r;return i.toString(16)+e}};this.getEncodedHex=function(){if(null==this.hTLV||this.isModified){this.hV=this.getFreshValueHex();this.hL=this.getLengthHexFromValue();this.hTLV=this.hT+this.hL+this.hV;this.isModified=false}return this.hTLV};this.getValueHex=function(){this.getEncodedHex();return this.hV};this.getFreshValueHex=function(){return""}};vt.asn1.DERAbstractString=function(t){vt.asn1.DERAbstractString.superclass.constructor.call(this);var e=null;var r=null;this.getString=function(){return this.s};this.setString=function(t){this.hTLV=null;this.isModified=true;this.s=t;this.hV=stohex(this.s)};this.setStringHex=function(t){this.hTLV=null;this.isModified=true;this.s=null;this.hV=t};this.getFreshValueHex=function(){return this.hV};if("undefined"!=typeof t)if("string"==typeof t)this.setString(t);else if("undefined"!=typeof t["str"])this.setString(t["str"]);else if("undefined"!=typeof t["hex"])this.setStringHex(t["hex"])};pt.lang.extend(vt.asn1.DERAbstractString,vt.asn1.ASN1Object);vt.asn1.DERAbstractTime=function(t){vt.asn1.DERAbstractTime.superclass.constructor.call(this);var e=null;var r=null;this.localDateToUTC=function(t){utc=t.getTime()+6e4*t.getTimezoneOffset();var e=new Date(utc);return e};this.formatDate=function(t,e,r){var i=this.zeroPadding;var n=this.localDateToUTC(t);var s=String(n.getFullYear());if("utc"==e)s=s.substr(2,2);var a=i(String(n.getMonth()+1),2);var o=i(String(n.getDate()),2);var u=i(String(n.getHours()),2);var c=i(String(n.getMinutes()),2);var l=i(String(n.getSeconds()),2);var f=s+a+o+u+c+l;if(true===r){var h=n.getMilliseconds();if(0!=h){var d=i(String(h),3);d=d.replace(/[0]+$/,"");f=f+"."+d}}return f+"Z"};this.zeroPadding=function(t,e){if(t.length>=e)return t;return new Array(e-t.length+1).join("0")+t};this.getString=function(){return this.s};this.setString=function(t){this.hTLV=null;this.isModified=true;this.s=t;this.hV=stohex(t)};this.setByDateValue=function(t,e,r,i,n,s){var a=new Date(Date.UTC(t,e-1,r,i,n,s,0));this.setByDate(a)};this.getFreshValueHex=function(){return this.hV}};pt.lang.extend(vt.asn1.DERAbstractTime,vt.asn1.ASN1Object);vt.asn1.DERAbstractStructured=function(t){vt.asn1.DERAbstractString.superclass.constructor.call(this);var e=null;this.setByASN1ObjectArray=function(t){this.hTLV=null;this.isModified=true;this.asn1Array=t};this.appendASN1Object=function(t){this.hTLV=null;this.isModified=true;this.asn1Array.push(t)};this.asn1Array=new Array;if("undefined"!=typeof t)if("undefined"!=typeof t["array"])this.asn1Array=t["array"]};pt.lang.extend(vt.asn1.DERAbstractStructured,vt.asn1.ASN1Object);vt.asn1.DERBoolean=function(){vt.asn1.DERBoolean.superclass.constructor.call(this);this.hT="01";this.hTLV="0101ff"};pt.lang.extend(vt.asn1.DERBoolean,vt.asn1.ASN1Object);vt.asn1.DERInteger=function(t){vt.asn1.DERInteger.superclass.constructor.call(this);this.hT="02";this.setByBigInteger=function(t){this.hTLV=null;this.isModified=true;this.hV=vt.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)};this.setByInteger=function(t){var e=new k(String(t),10);this.setByBigInteger(e)};this.setValueHex=function(t){this.hV=t};this.getFreshValueHex=function(){return this.hV};if("undefined"!=typeof t)if("undefined"!=typeof t["bigint"])this.setByBigInteger(t["bigint"]);else if("undefined"!=typeof t["int"])this.setByInteger(t["int"]);else if("number"==typeof t)this.setByInteger(t);else if("undefined"!=typeof t["hex"])this.setValueHex(t["hex"])};pt.lang.extend(vt.asn1.DERInteger,vt.asn1.ASN1Object);vt.asn1.DERBitString=function(t){if(void 0!==t&&"undefined"!==typeof t.obj){var e=vt.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}vt.asn1.DERBitString.superclass.constructor.call(this);this.hT="03";this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null;this.isModified=true;this.hV=t};this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7{}};var __webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var r=__webpack_module_cache__[t]={id:t,loaded:false,exports:{}};__webpack_modules__[t].call(r.exports,r,r.exports,__webpack_require__);r.loaded=true;return r.exports}(()=>{__webpack_require__.amdO={}})();(()=>{__webpack_require__.d=(t,e)=>{for(var r in e)if(__webpack_require__.o(e,r)&&!__webpack_require__.o(t,r))Object.defineProperty(t,r,{enumerable:true,get:e[r]})}})();(()=>{__webpack_require__.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}()})();(()=>{__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e)})();(()=>{__webpack_require__.r=t=>{if("undefined"!==typeof Symbol&&Symbol.toStringTag)Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});Object.defineProperty(t,"__esModule",{value:true})}})();(()=>{__webpack_require__.nmd=t=>{t.paths=[];if(!t.children)t.children=[];return t}})();var __webpack_exports__=__webpack_require__(5987);return __webpack_exports__})()})); -//# sourceMappingURL=gtpush.map \ No newline at end of file +}else throw new Error(`socket not connect`)}t.send=p;function v(t){i=false;r=false;o.default.getInstance().cancel();if(s.default.online){s.default.online=false;s.default.onlineState?.call(s.default.onlineState,{online:s.default.online})}if(s.default.online){s.default.online=false;s.default.onlineState?.call(s.default.onlineState,{online:s.default.online})}l(1e3)}let g=function(t){r=true;h()};let y=function(t){try{t.data;o.default.getInstance().refresh();a.default.receiveMessage(t.data)}catch(t){}};let m=function(t){d(`socket error`)};let _=function(t){v(t)}})(c||(c={}));e["default"]=c},207:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});var r;(function(t){t.KEY_APPID="getui_appid";t.KEY_CID="getui_cid";t.KEY_SESSION="getui_session";t.KEY_REGID="getui_regid";t.KEY_SOCKET_URL="getui_socket_url";t.KEY_DEVICE_ID="getui_deviceid";t.KEY_ADD_PHONE_INFO_TIME="getui_api_time";t.KEY_BIND_ALIAS_TIME="getui_ba_time";t.KEY_SET_TAG_TIME="getui_st_time";function e(t,e){uni.setStorageSync(t,e)}t.setSync=e;function r(t){uni.setStorage({key:t.key,data:t.data,fail:()=>{t.key,t.data;t.fail?.call(t)}})}t.set=r;function i(t,e){let r=e;try{let e=uni.getStorageSync(t);if(e)r=e}catch(t){}return r}t.getSync=i;function n(t){uni.getStorage({key:t.key,success:e=>{t.success?.call(t,e.data)},fail:()=>{t.key;t.fail?.call(t)}})}t.get=n})(r||(r={}));e["default"]=r},5574:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:true});const n=i(r(4736));const s=i(r(323));var a;(function(t){let e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";let r=(0,n.default)("9223372036854775808");function i(t){let e=a(t);let r=o(e);let i=r[1];let n=r[0];return u(i)+u(n)}t.to_getui=i;function a(t){let e=s.default.md5Hex(t);let r=c(e);r[6]&=15;r[6]|=48;r[8]&=63;r[8]|=128;return r}function o(t){let e=(0,n.default)(0);let r=(0,n.default)(0);for(let r=0;r<8;r++)e=e.multiply(256).plus((0,n.default)(255&t[r]));for(let e=8;e<16;e++)r=r.multiply(256).plus((0,n.default)(255&t[e]));return[e,r]}function u(t){if(t>=r)t=r.multiply(2).minus(t);let i="";for(;t>(0,n.default)(0);t=t.divide(62))i+=e.charAt(Number(t.divmod(62).remainder));return i}function c(t){let e=t.length;if(e%2!=0)return[];let r=new Array;for(let i=0;i{"use strict";Object.defineProperty(e,"__esModule",{value:true});class r{static info(...t){if(this.debugMode)console.info(`[GtPush]`,t)}static error(...t){console.error(`[GtPush]`,t)}}r.debugMode=false;e["default"]=r},3357:(t,e,r)=>{"use strict";r.r(e);r.d(e,{JSEncrypt:()=>_t,default:()=>wt});var i="0123456789abcdefghijklmnopqrstuvwxyz";function n(t){return i.charAt(t)}function s(t,e){return t&e}function a(t,e){return t|e}function o(t,e){return t^e}function u(t,e){return t&~e}function c(t){if(0==t)return-1;var e=0;if(0==(65535&t)){t>>=16;e+=16}if(0==(255&t)){t>>=8;e+=8}if(0==(15&t)){t>>=4;e+=4}if(0==(3&t)){t>>=2;e+=2}if(0==(1&t))++e;return e}function l(t){var e=0;while(0!=t){t&=t-1;++e}return e}var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var h="=";function d(t){var e;var r;var i="";for(e=0;e+3<=t.length;e+=3){r=parseInt(t.substring(e,e+3),16);i+=f.charAt(r>>6)+f.charAt(63&r)}if(e+1==t.length){r=parseInt(t.substring(e,e+1),16);i+=f.charAt(r<<2)}else if(e+2==t.length){r=parseInt(t.substring(e,e+2),16);i+=f.charAt(r>>2)+f.charAt((3&r)<<4)}while((3&i.length)>0)i+=h;return i}function p(t){var e="";var r;var i=0;var s=0;for(r=0;r>2);s=3&a;i=1}else if(1==i){e+=n(s<<2|a>>4);s=15&a;i=2}else if(2==i){e+=n(s);e+=n(a>>2);s=3&a;i=3}else{e+=n(s<<2|a>>4);e+=n(15&a);i=0}}if(1==i)e+=n(s<<2);return e}function v(t){var e=p(t);var r;var i=[];for(r=0;2*r=2){n[n.length]=s;s=0;a=0}else s<<=4}if(a)throw new Error("Hex encoding incomplete: 4 bits missing");return n}};var m;var _={decode:function(t){var e;if(void 0===m){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var i="= \f\n\r\t \u2028\u2029";m=Object.create(null);for(e=0;e<64;++e)m[r.charAt(e)]=e;m["-"]=62;m["_"]=63;for(e=0;e=4){n[n.length]=s>>16;n[n.length]=s>>8&255;n[n.length]=255&s;s=0;a=0}else s<<=6}switch(a){case 1:throw new Error("Base64 encoding incomplete: at least 2 bits missing");case 2:n[n.length]=s>>10;break;case 3:n[n.length]=s>>16;n[n.length]=s>>8&255;break}return n},re:/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,unarmor:function(t){var e=_.re.exec(t);if(e)if(e[1])t=e[1];else if(e[2])t=e[2];else throw new Error("RegExp out of sync");return _.decode(t)}};var w=1e13;var S=function(){function t(t){this.buf=[+t||0]}t.prototype.mulAdd=function(t,e){var r=this.buf;var i=r.length;var n;var s;for(n=0;n0)r[n]=e};t.prototype.sub=function(t){var e=this.buf;var r=e.length;var i;var n;for(i=0;i=0;--i)r+=(w+e[i]).toString().substring(1);return r};t.prototype.valueOf=function(){var t=this.buf;var e=0;for(var r=t.length-1;r>=0;--r)e=e*w+t[r];return e};t.prototype.simplify=function(){var t=this.buf;return 1==t.length?t[0]:this};return t}();var b="…";var E=/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;var D=/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;function T(t,e){if(t.length>e)t=t.substring(0,e)+b;return t}var M=function(){function t(e,r){this.hexDigits="0123456789ABCDEF";if(e instanceof t){this.enc=e.enc;this.pos=e.pos}else{this.enc=e;this.pos=r}}t.prototype.get=function(t){if(void 0===t)t=this.pos++;if(t>=this.enc.length)throw new Error("Requesting byte offset "+t+" on a stream of length "+this.enc.length);return"string"===typeof this.enc?this.enc.charCodeAt(t):this.enc[t]};t.prototype.hexByte=function(t){return this.hexDigits.charAt(t>>4&15)+this.hexDigits.charAt(15&t)};t.prototype.hexDump=function(t,e,r){var i="";for(var n=t;n176)return false}return true};t.prototype.parseStringISO=function(t,e){var r="";for(var i=t;i191&&n<224)r+=String.fromCharCode((31&n)<<6|63&this.get(i++));else r+=String.fromCharCode((15&n)<<12|(63&this.get(i++))<<6|63&this.get(i++))}return r};t.prototype.parseStringBMP=function(t,e){var r="";var i;var n;for(var s=t;s127;var n=i?255:0;var s;var a="";while(r==n&&++t4){a=r;s<<=3;while(0==(128&(+a^n))){a=+a<<1;--s}a="("+s+" bit)\n"}if(i)r-=256;var o=new S(r);for(var u=t+1;u=c;--l)a+=u>>l&1?"1":"0";if(a.length>r)return s+T(a,r)}return s+a};t.prototype.parseOctetString=function(t,e,r){if(this.isASCII(t,e))return T(this.parseStringISO(t,e),r);var i=e-t;var n="("+i+" byte)\n";r/=2;if(i>r)e=t+r;for(var s=t;sr)n+=b;return n};t.prototype.parseOID=function(t,e,r){var i="";var n=new S;var s=0;for(var a=t;ar)return T(i,r);n=new S;s=0}}if(s>0)i+=".incomplete";return i};return t}();var A=function(){function t(t,e,r,i,n){if(!(i instanceof I))throw new Error("Invalid tag value.");this.stream=t;this.header=e;this.length=r;this.tag=i;this.sub=n}t.prototype.typeName=function(){switch(this.tag.tagClass){case 0:switch(this.tag.tagNumber){case 0:return"EOC";case 1:return"BOOLEAN";case 2:return"INTEGER";case 3:return"BIT_STRING";case 4:return"OCTET_STRING";case 5:return"NULL";case 6:return"OBJECT_IDENTIFIER";case 7:return"ObjectDescriptor";case 8:return"EXTERNAL";case 9:return"REAL";case 10:return"ENUMERATED";case 11:return"EMBEDDED_PDV";case 12:return"UTF8String";case 16:return"SEQUENCE";case 17:return"SET";case 18:return"NumericString";case 19:return"PrintableString";case 20:return"TeletexString";case 21:return"VideotexString";case 22:return"IA5String";case 23:return"UTCTime";case 24:return"GeneralizedTime";case 25:return"GraphicString";case 26:return"VisibleString";case 27:return"GeneralString";case 28:return"UniversalString";case 30:return"BMPString"}return"Universal_"+this.tag.tagNumber.toString();case 1:return"Application_"+this.tag.tagNumber.toString();case 2:return"["+this.tag.tagNumber.toString()+"]";case 3:return"Private_"+this.tag.tagNumber.toString()}};t.prototype.content=function(t){if(void 0===this.tag)return null;if(void 0===t)t=1/0;var e=this.posContent();var r=Math.abs(this.length);if(!this.tag.isUniversal()){if(null!==this.sub)return"("+this.sub.length+" elem)";return this.stream.parseOctetString(e,e+r,t)}switch(this.tag.tagNumber){case 1:return 0===this.stream.get(e)?"false":"true";case 2:return this.stream.parseInteger(e,e+r);case 3:return this.sub?"("+this.sub.length+" elem)":this.stream.parseBitString(e,e+r,t);case 4:return this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(e,e+r,t);case 6:return this.stream.parseOID(e,e+r,t);case 16:case 17:if(null!==this.sub)return"("+this.sub.length+" elem)";else return"(no elem)";case 12:return T(this.stream.parseStringUTF(e,e+r),t);case 18:case 19:case 20:case 21:case 22:case 26:return T(this.stream.parseStringISO(e,e+r),t);case 30:return T(this.stream.parseStringBMP(e,e+r),t);case 23:case 24:return this.stream.parseTime(e,e+r,23==this.tag.tagNumber)}return null};t.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"};t.prototype.toPrettyString=function(t){if(void 0===t)t="";var e=t+this.typeName()+" @"+this.stream.pos;if(this.length>=0)e+="+";e+=this.length;if(this.tag.tagConstructed)e+=" (constructed)";else if(this.tag.isUniversal()&&(3==this.tag.tagNumber||4==this.tag.tagNumber)&&null!==this.sub)e+=" (encapsulates)";e+="\n";if(null!==this.sub){t+=" ";for(var r=0,i=this.sub.length;r6)throw new Error("Length over 48 bits not supported at position "+(t.pos-1));if(0===r)return null;e=0;for(var i=0;i>6;this.tagConstructed=0!==(32&e);this.tagNumber=31&e;if(31==this.tagNumber){var r=new S;do{e=t.get();r.mulAdd(128,127&e)}while(128&e);this.tagNumber=r.simplify()}}t.prototype.isUniversal=function(){return 0===this.tagClass};t.prototype.isEOC=function(){return 0===this.tagClass&&0===this.tagNumber};return t}();var B;var x=0xdeadbeefcafe;var R=15715070==(16777215&x);var O=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997];var C=(1<<26)/O[O.length-1];var k=function(){function t(t,e,r){if(null!=t)if("number"==typeof t)this.fromNumber(t,e,r);else if(null==e&&"string"!=typeof t)this.fromString(t,256);else this.fromString(t,e)}t.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else if(4==t)e=2;else return this.toRadix(t);var r=(1<0){if(u>u)>0){s=true;a=n(i)}while(o>=0){if(u>(u+=this.DB-e)}else{i=this[o]>>(u-=e)&r;if(u<=0){u+=this.DB;--o}}if(i>0)s=true;if(s)a+=n(i)}}return s?a:"0"};t.prototype.negate=function(){var e=H();t.ZERO.subTo(this,e);return e};t.prototype.abs=function(){return this.s<0?this.negate():this};t.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;e=r-t.t;if(0!=e)return this.s<0?-e:e;while(--r>=0)if(0!=(e=this[r]-t[r]))return e;return 0};t.prototype.bitLength=function(){if(this.t<=0)return 0;return this.DB*(this.t-1)+W(this[this.t-1]^this.s&this.DM)};t.prototype.mod=function(e){var r=H();this.abs().divRemTo(e,null,r);if(this.s<0&&r.compareTo(t.ZERO)>0)e.subTo(r,r);return r};t.prototype.modPowInt=function(t,e){var r;if(t<256||e.isEven())r=new P(e);else r=new L(e);return this.exp(t,r)};t.prototype.clone=function(){var t=H();this.copyTo(t);return t};t.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;else if(0==this.t)return-1}else if(1==this.t)return this[0];else if(0==this.t)return 0;return(this[1]&(1<<32-this.DB)-1)<>24};t.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16};t.prototype.signum=function(){if(this.s<0)return-1;else if(this.t<=0||1==this.t&&this[0]<=0)return 0;else return 1};t.prototype.toByteArray=function(){var t=this.t;var e=[];e[0]=this.s;var r=this.DB-t*this.DB%8;var i;var n=0;if(t-- >0){if(r>r)!=(this.s&this.DM)>>r)e[n++]=i|this.s<=0){if(r<8){i=(this[t]&(1<>(r+=this.DB-8)}else{i=this[t]>>(r-=8)&255;if(r<=0){r+=this.DB;--t}}if(0!=(128&i))i|=-256;if(0==n&&(128&this.s)!=(128&i))++n;if(n>0||i!=this.s)e[n++]=i}}return e};t.prototype.equals=function(t){return 0==this.compareTo(t)};t.prototype.min=function(t){return this.compareTo(t)<0?this:t};t.prototype.max=function(t){return this.compareTo(t)>0?this:t};t.prototype.and=function(t){var e=H();this.bitwiseTo(t,s,e);return e};t.prototype.or=function(t){var e=H();this.bitwiseTo(t,a,e);return e};t.prototype.xor=function(t){var e=H();this.bitwiseTo(t,o,e);return e};t.prototype.andNot=function(t){var e=H();this.bitwiseTo(t,u,e);return e};t.prototype.not=function(){var t=H();for(var e=0;e=this.t)return 0!=this.s;return 0!=(this[e]&1<1){var l=H();s.sqrTo(a[1],l);while(o<=c){a[o]=H();s.mulTo(l,a[o-2],a[o]);o+=2}}var f=t.t-1;var h;var d=true;var p=H();var v;r=W(t[f])-1;while(f>=0){if(r>=u)h=t[f]>>r-u&c;else{h=(t[f]&(1<0)h|=t[f-1]>>this.DB+r-u}o=i;while(0==(1&h)){h>>=1;--o}if((r-=o)<0){r+=this.DB;--f}if(d){a[h].copyTo(n);d=false}else{while(o>1){s.sqrTo(n,p);s.sqrTo(p,n);o-=2}if(o>0)s.sqrTo(n,p);else{v=n;n=p;p=v}s.mulTo(p,a[h],n)}while(f>=0&&0==(t[f]&1<=0){i.subTo(n,i);if(r)s.subTo(o,s);a.subTo(u,a)}else{n.subTo(i,n);if(r)o.subTo(s,o);u.subTo(a,u)}}if(0!=n.compareTo(t.ONE))return t.ZERO;if(u.compareTo(e)>=0)return u.subtract(e);if(u.signum()<0)u.addTo(e,u);else return u;if(u.signum()<0)return u.add(e);else return u};t.prototype.pow=function(t){return this.exp(t,new N)};t.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone();var r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var i=e;e=r;r=i}var n=e.getLowestSetBit();var s=r.getLowestSetBit();if(s<0)return e;if(n0){e.rShiftTo(s,e);r.rShiftTo(s,r)}while(e.signum()>0){if((n=e.getLowestSetBit())>0)e.rShiftTo(n,e);if((n=r.getLowestSetBit())>0)r.rShiftTo(n,r);if(e.compareTo(r)>=0){e.subTo(r,e);e.rShiftTo(1,e)}else{r.subTo(e,r);r.rShiftTo(1,r)}}if(s>0)r.lShiftTo(s,r);return r};t.prototype.isProbablePrime=function(t){var e;var r=this.abs();if(1==r.t&&r[0]<=O[O.length-1]){for(e=0;e=0;--e)t[e]=this[e];t.t=this.t;t.s=this.s};t.prototype.fromInt=function(t){this.t=1;this.s=t<0?-1:0;if(t>0)this[0]=t;else if(t<-1)this[0]=t+this.DV;else this.t=0};t.prototype.fromString=function(e,r){var i;if(16==r)i=4;else if(8==r)i=3;else if(256==r)i=8;else if(2==r)i=1;else if(32==r)i=5;else if(4==r)i=2;else{this.fromRadix(e,r);return}this.t=0;this.s=0;var n=e.length;var s=false;var a=0;while(--n>=0){var o=8==i?255&+e[n]:G(e,n);if(o<0){if("-"==e.charAt(n))s=true;continue}s=false;if(0==a)this[this.t++]=o;else if(a+i>this.DB){this[this.t-1]|=(o&(1<>this.DB-a}else this[this.t-1]|=o<=this.DB)a-=this.DB}if(8==i&&0!=(128&+e[0])){this.s=-1;if(a>0)this[this.t-1]|=(1<0&&this[this.t-1]==t)--this.t};t.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t;e.s=this.s};t.prototype.drShiftTo=function(t,e){for(var r=t;r=0;--o){e[o+s+1]=this[o]>>i|a;a=(this[o]&n)<=0;--o)e[o]=0;e[s]=a;e.t=this.t+s+1;e.s=this.s;e.clamp()};t.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var i=t%this.DB;var n=this.DB-i;var s=(1<>i;for(var a=r+1;a>i}if(i>0)e[this.t-r-1]|=(this.s&s)<>=this.DB}if(t.t>=this.DB}i+=this.s}else{i+=this.s;while(r>=this.DB}i-=t.s}e.s=i<0?-1:0;if(i<-1)e[r++]=this.DV+i;else if(i>0)e[r++]=i;e.t=r;e.clamp()};t.prototype.multiplyTo=function(e,r){var i=this.abs();var n=e.abs();var s=i.t;r.t=s+n.t;while(--s>=0)r[s]=0;for(s=0;s=0)t[r]=0;for(r=0;r=e.DV){t[r+e.t]-=e.DV;t[r+e.t+1]=1}}if(t.t>0)t[t.t-1]+=e.am(r,e[r],t,2*r,0,1);t.s=0;t.clamp()};t.prototype.divRemTo=function(e,r,i){var n=e.abs();if(n.t<=0)return;var s=this.abs();if(s.t0){n.lShiftTo(c,a);s.lShiftTo(c,i)}else{n.copyTo(a);s.copyTo(i)}var l=a.t;var f=a[l-1];if(0==f)return;var h=f*(1<1?a[l-2]>>this.F2:0);var d=this.FV/h;var p=(1<=0){i[i.t++]=1;i.subTo(m,i)}t.ONE.dlShiftTo(l,m);m.subTo(a,a);while(a.t=0){var _=i[--g]==f?this.DM:Math.floor(i[g]*d+(i[g-1]+v)*p);if((i[g]+=a.am(0,_,i,y,0,l))<_){a.dlShiftTo(y,m);i.subTo(m,i);while(i[g]<--_)i.subTo(m,i)}}if(null!=r){i.drShiftTo(l,r);if(o!=u)t.ZERO.subTo(r,r)}i.t=l;i.clamp();if(c>0)i.rShiftTo(c,i);if(o<0)t.ZERO.subTo(i,i)};t.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;e=e*(2-(15&t)*e)&15;e=e*(2-(255&t)*e)&255;e=e*(2-((65535&t)*e&65535))&65535;e=e*(2-t*e%this.DV)%this.DV;return e>0?this.DV-e:-e};t.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)};t.prototype.exp=function(e,r){if(e>4294967295||e<1)return t.ONE;var i=H();var n=H();var s=r.convert(this);var a=W(e)-1;s.copyTo(i);while(--a>=0){r.sqrTo(i,n);if((e&1<0)r.mulTo(n,s,i);else{var o=i;i=n;n=o}}return r.revert(i)};t.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))};t.prototype.toRadix=function(t){if(null==t)t=10;if(0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t);var r=Math.pow(t,e);var i=Y(r);var n=H();var s=H();var a="";this.divRemTo(i,n,s);while(n.signum()>0){a=(r+s.intValue()).toString(t).substr(1)+a;n.divRemTo(i,n,s)}return s.intValue().toString(t)+a};t.prototype.fromRadix=function(e,r){this.fromInt(0);if(null==r)r=10;var i=this.chunkSize(r);var n=Math.pow(r,i);var s=false;var a=0;var o=0;for(var u=0;u=i){this.dMultiply(n);this.dAddOffset(o,0);a=0;o=0}}if(a>0){this.dMultiply(Math.pow(r,a));this.dAddOffset(o,0)}if(s)t.ZERO.subTo(this,this)};t.prototype.fromNumber=function(e,r,i){if("number"==typeof r)if(e<2)this.fromInt(1);else{this.fromNumber(e,i);if(!this.testBit(e-1))this.bitwiseTo(t.ONE.shiftLeft(e-1),a,this);if(this.isEven())this.dAddOffset(1,0);while(!this.isProbablePrime(r)){this.dAddOffset(2,0);if(this.bitLength()>e)this.subTo(t.ONE.shiftLeft(e-1),this)}}else{var n=[];var s=7&e;n.length=(e>>3)+1;r.nextBytes(n);if(s>0)n[0]&=(1<>=this.DB}if(t.t>=this.DB}i+=this.s}else{i+=this.s;while(r>=this.DB}i+=t.s}e.s=i<0?-1:0;if(i>0)e[r++]=i;else if(i<-1)e[r++]=this.DV+i;e.t=r;e.clamp()};t.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t);++this.t;this.clamp()};t.prototype.dAddOffset=function(t,e){if(0==t)return;while(this.t<=e)this[this.t++]=0;this[e]+=t;while(this[e]>=this.DV){this[e]-=this.DV;if(++e>=this.t)this[this.t++]=0;++this[e]}};t.prototype.multiplyLowerTo=function(t,e,r){var i=Math.min(this.t+t.t,e);r.s=0;r.t=i;while(i>0)r[--i]=0;for(var n=r.t-this.t;i=0)r[i]=0;for(i=Math.max(e-this.t,0);i0)if(0==e)r=this[0]%t;else for(var i=this.t-1;i>=0;--i)r=(e*r+this[i])%t;return r};t.prototype.millerRabin=function(e){var r=this.subtract(t.ONE);var i=r.getLowestSetBit();if(i<=0)return false;var n=r.shiftRight(i);e=e+1>>1;if(e>O.length)e=O.length;var s=H();for(var a=0;a0){r.rShiftTo(a,r);i.rShiftTo(a,i)}var o=function(){if((s=r.getLowestSetBit())>0)r.rShiftTo(s,r);if((s=i.getLowestSetBit())>0)i.rShiftTo(s,i);if(r.compareTo(i)>=0){r.subTo(i,r);r.rShiftTo(1,r)}else{i.subTo(r,i);i.rShiftTo(1,i)}if(!(r.signum()>0)){if(a>0)i.lShiftTo(a,i);setTimeout((function(){e(i)}),0)}else setTimeout(o,0)};setTimeout(o,10)};t.prototype.fromNumberAsync=function(e,r,i,n){if("number"==typeof r)if(e<2)this.fromInt(1);else{this.fromNumber(e,i);if(!this.testBit(e-1))this.bitwiseTo(t.ONE.shiftLeft(e-1),a,this);if(this.isEven())this.dAddOffset(1,0);var s=this;var o=function(){s.dAddOffset(2,0);if(s.bitLength()>e)s.subTo(t.ONE.shiftLeft(e-1),s);if(s.isProbablePrime(r))setTimeout((function(){n()}),0);else setTimeout(o,0)};setTimeout(o,0)}else{var u=[];var c=7&e;u.length=(e>>3)+1;r.nextBytes(u);if(c>0)u[0]&=(1<=0)return t.mod(this.m);else return t};t.prototype.revert=function(t){return t};t.prototype.reduce=function(t){t.divRemTo(this.m,null,t)};t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r);this.reduce(r)};t.prototype.sqrTo=function(t,e){t.squareTo(e);this.reduce(e)};return t}();var L=function(){function t(t){this.m=t;this.mp=t.invDigit();this.mpl=32767&this.mp;this.mph=this.mp>>15;this.um=(1<0)this.m.subTo(e,e);return e};t.prototype.revert=function(t){var e=H();t.copyTo(e);this.reduce(e);return e};t.prototype.reduce=function(t){while(t.t<=this.mt2)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;r=e+this.m.t;t[r]+=this.m.am(0,i,t,e,0,this.m.t);while(t[r]>=t.DV){t[r]-=t.DV;t[++r]++}}t.clamp();t.drShiftTo(this.m.t,t);if(t.compareTo(this.m)>=0)t.subTo(this.m,t)};t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r);this.reduce(r)};t.prototype.sqrTo=function(t,e){t.squareTo(e);this.reduce(e)};return t}();var V=function(){function t(t){this.m=t;this.r2=H();this.q3=H();k.ONE.dlShiftTo(2*t.t,this.r2);this.mu=this.r2.divide(t)}t.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);else if(t.compareTo(this.m)<0)return t;else{var e=H();t.copyTo(e);this.reduce(e);return e}};t.prototype.revert=function(t){return t};t.prototype.reduce=function(t){t.drShiftTo(this.m.t-1,this.r2);if(t.t>this.m.t+1){t.t=this.m.t+1;t.clamp()}this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3);this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);while(t.compareTo(this.r2)<0)t.dAddOffset(1,this.m.t+1);t.subTo(this.r2,t);while(t.compareTo(this.m)>=0)t.subTo(this.m,t)};t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r);this.reduce(r)};t.prototype.sqrTo=function(t,e){t.squareTo(e);this.reduce(e)};return t}();function H(){return new k(null)}function U(t,e){return new k(t,e)}var K="undefined"!==typeof navigator;if(K&&R&&"Microsoft Internet Explorer"==navigator.appName){k.prototype.am=function t(e,r,i,n,s,a){var o=32767&r;var u=r>>15;while(--a>=0){var c=32767&this[e];var l=this[e++]>>15;var f=u*c+l*o;c=o*c+((32767&f)<<15)+i[n]+(1073741823&s);s=(c>>>30)+(f>>>15)+u*l+(s>>>30);i[n++]=1073741823&c}return s};B=30}else if(K&&R&&"Netscape"!=navigator.appName){k.prototype.am=function t(e,r,i,n,s,a){while(--a>=0){var o=r*this[e++]+i[n]+s;s=Math.floor(o/67108864);i[n++]=67108863&o}return s};B=26}else{k.prototype.am=function t(e,r,i,n,s,a){var o=16383&r;var u=r>>14;while(--a>=0){var c=16383&this[e];var l=this[e++]>>14;var f=u*c+l*o;c=o*c+((16383&f)<<14)+i[n]+s;s=(c>>28)+(f>>14)+u*l;i[n++]=268435455&c}return s};B=28}k.prototype.DB=B;k.prototype.DM=(1<>>16)){t=r;e+=16}if(0!=(r=t>>8)){t=r;e+=8}if(0!=(r=t>>4)){t=r;e+=4}if(0!=(r=t>>2)){t=r;e+=2}if(0!=(r=t>>1)){t=r;e+=1}return e}k.ZERO=Y(0);k.ONE=Y(1);var J=function(){function t(){this.i=0;this.j=0;this.S=[]}t.prototype.init=function(t){var e;var r;var i;for(e=0;e<256;++e)this.S[e]=e;r=0;for(e=0;e<256;++e){r=r+this.S[e]+t[e%t.length]&255;i=this.S[e];this.S[e]=this.S[r];this.S[r]=i}this.i=0;this.j=0};t.prototype.next=function(){var t;this.i=this.i+1&255;this.j=this.j+this.S[this.i]&255;t=this.S[this.i];this.S[this.i]=this.S[this.j];this.S[this.j]=t;return this.S[t+this.S[this.i]&255]};return t}();function Z(){return new J}var $=256;var X;var Q=null;var tt;if(null==Q){Q=[];tt=0;var et=void 0;var rt=0;var it=function(t){rt=rt||0;if(rt>=256||tt>=rng_psize)return;try{var e=t.x+t.y;Q[tt++]=255&e;rt+=1}catch(t){}}}function nt(){if(null==X){X=Z();while(tt<$){var t=Math.floor(65536*Math.random());Q[tt++]=255&t}X.init(Q);for(tt=0;tt=0&&e>0){var n=t.charCodeAt(i--);if(n<128)r[--e]=n;else if(n>127&&n<2048){r[--e]=63&n|128;r[--e]=n>>6|192}else{r[--e]=63&n|128;r[--e]=n>>6&63|128;r[--e]=n>>12|224}}r[--e]=0;var s=new st;var a=[];while(e>2){a[0]=0;while(0==a[0])s.nextBytes(a);r[--e]=a[0]}r[--e]=2;r[--e]=0;return new k(r)}var ut=function(){function t(){this.n=null;this.e=0;this.d=null;this.p=null;this.q=null;this.dmp1=null;this.dmq1=null;this.coeff=null}t.prototype.doPublic=function(t){return t.modPowInt(this.e,this.n)};t.prototype.doPrivate=function(t){if(null==this.p||null==this.q)return t.modPow(this.d,this.n);var e=t.mod(this.p).modPow(this.dmp1,this.p);var r=t.mod(this.q).modPow(this.dmq1,this.q);while(e.compareTo(r)<0)e=e.add(this.p);return e.subtract(r).multiply(this.coeff).mod(this.p).multiply(this.q).add(r)};t.prototype.setPublic=function(t,e){if(null!=t&&null!=e&&t.length>0&&e.length>0){this.n=U(t,16);this.e=parseInt(e,16)}else console.error("Invalid RSA public key")};t.prototype.encrypt=function(t){var e=this.n.bitLength()+7>>3;var r=ot(t,e);if(null==r)return null;var i=this.doPublic(r);if(null==i)return null;var n=i.toString(16);var s=n.length;for(var a=0;a<2*e-s;a++)n="0"+n;return n};t.prototype.setPrivate=function(t,e,r){if(null!=t&&null!=e&&t.length>0&&e.length>0){this.n=U(t,16);this.e=parseInt(e,16);this.d=U(r,16)}else console.error("Invalid RSA private key")};t.prototype.setPrivateEx=function(t,e,r,i,n,s,a,o){if(null!=t&&null!=e&&t.length>0&&e.length>0){this.n=U(t,16);this.e=parseInt(e,16);this.d=U(r,16);this.p=U(i,16);this.q=U(n,16);this.dmp1=U(s,16);this.dmq1=U(a,16);this.coeff=U(o,16)}else console.error("Invalid RSA private key")};t.prototype.generate=function(t,e){var r=new st;var i=t>>1;this.e=parseInt(e,16);var n=new k(e,16);for(;;){for(;;){this.p=new k(t-i,1,r);if(0==this.p.subtract(k.ONE).gcd(n).compareTo(k.ONE)&&this.p.isProbablePrime(10))break}for(;;){this.q=new k(i,1,r);if(0==this.q.subtract(k.ONE).gcd(n).compareTo(k.ONE)&&this.q.isProbablePrime(10))break}if(this.p.compareTo(this.q)<=0){var s=this.p;this.p=this.q;this.q=s}var a=this.p.subtract(k.ONE);var o=this.q.subtract(k.ONE);var u=a.multiply(o);if(0==u.gcd(n).compareTo(k.ONE)){this.n=this.p.multiply(this.q);this.d=n.modInverse(u);this.dmp1=this.d.mod(a);this.dmq1=this.d.mod(o);this.coeff=this.q.modInverse(this.p);break}}};t.prototype.decrypt=function(t){var e=U(t,16);var r=this.doPrivate(e);if(null==r)return null;return ct(r,this.n.bitLength()+7>>3)};t.prototype.generateAsync=function(t,e,r){var i=new st;var n=t>>1;this.e=parseInt(e,16);var s=new k(e,16);var a=this;var o=function(){var e=function(){if(a.p.compareTo(a.q)<=0){var t=a.p;a.p=a.q;a.q=t}var e=a.p.subtract(k.ONE);var i=a.q.subtract(k.ONE);var n=e.multiply(i);if(0==n.gcd(s).compareTo(k.ONE)){a.n=a.p.multiply(a.q);a.d=s.modInverse(n);a.dmp1=a.d.mod(e);a.dmq1=a.d.mod(i);a.coeff=a.q.modInverse(a.p);setTimeout((function(){r()}),0)}else setTimeout(o,0)};var u=function(){a.q=H();a.q.fromNumberAsync(n,1,i,(function(){a.q.subtract(k.ONE).gcda(s,(function(t){if(0==t.compareTo(k.ONE)&&a.q.isProbablePrime(10))setTimeout(e,0);else setTimeout(u,0)}))}))};var c=function(){a.p=H();a.p.fromNumberAsync(t-n,1,i,(function(){a.p.subtract(k.ONE).gcda(s,(function(t){if(0==t.compareTo(k.ONE)&&a.p.isProbablePrime(10))setTimeout(u,0);else setTimeout(c,0)}))}))};setTimeout(c,0)};setTimeout(o,0)};t.prototype.sign=function(t,e,r){var i=ht(r);var n=i+e(t).toString();var s=at(n,this.n.bitLength()/4);if(null==s)return null;var a=this.doPrivate(s);if(null==a)return null;var o=a.toString(16);if(0==(1&o.length))return o;else return"0"+o};t.prototype.verify=function(t,e,r){var i=U(e,16);var n=this.doPublic(i);if(null==n)return null;var s=n.toString(16).replace(/^1f+00/,"");var a=dt(s);return a==r(t).toString()};t.prototype.encryptLong=function(t){var e=this;var r="";var i=(this.n.bitLength()+7>>3)-11;var n=this.setSplitChn(t,i);n.forEach((function(t){r+=e.encrypt(t)}));return r};t.prototype.decryptLong=function(t){var e="";var r=this.n.bitLength()+7>>3;var i=2*r;if(t.length>i){var n=t.match(new RegExp(".{1,"+i+"}","g"))||[];var s=[];for(var a=0;ae){var o=t.substring(0,s);r.push(o);return this.setSplitChn(t.substring(s),e,r)}}r.push(t);return r};return t}();function ct(t,e){var r=t.toByteArray();var i=0;while(i=r.length)return null;var n="";while(++i191&&s<224){n+=String.fromCharCode((31&s)<<6|63&r[i+1]);++i}else{n+=String.fromCharCode((15&s)<<12|(63&r[i+1])<<6|63&r[i+2]);i+=2}}return n}function lt(t,e){var r=[];for(var i=0;i=s.length)return null;r=r.concat(s.slice(a+1))}var o=r;var u=-1;var c="";while(++u191&&l<224){c+=String.fromCharCode((31&l)<<6|63&o[u+1]);++u}else{c+=String.fromCharCode((15&l)<<12|(63&o[u+1])<<6|63&o[u+2]);u+=2}}return c}var ft={md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",ripemd160:"3021300906052b2403020105000414"};function ht(t){return ft[t]||""}function dt(t){for(var e in ft)if(ft.hasOwnProperty(e)){var r=ft[e];var i=r.length;if(t.substr(0,i)==r)return t.substr(i)}return t}var pt={};pt.lang={extend:function(t,e,r){if(!e||!t)throw new Error("YAHOO.lang.extend failed, please check that "+"all dependencies are included.");var i=function(){};i.prototype=e.prototype;t.prototype=new i;t.prototype.constructor=t;t.superclass=e.prototype;if(e.prototype.constructor==Object.prototype.constructor)e.prototype.constructor=e;if(r){var n;for(n in r)t.prototype[n]=r[n];var s=function(){},a=["toString","valueOf"];try{if(/MSIE/.test(navigator.userAgent))s=function(t,e){for(n=0;n15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);var i=128+r;return i.toString(16)+e}};this.getEncodedHex=function(){if(null==this.hTLV||this.isModified){this.hV=this.getFreshValueHex();this.hL=this.getLengthHexFromValue();this.hTLV=this.hT+this.hL+this.hV;this.isModified=false}return this.hTLV};this.getValueHex=function(){this.getEncodedHex();return this.hV};this.getFreshValueHex=function(){return""}};vt.asn1.DERAbstractString=function(t){vt.asn1.DERAbstractString.superclass.constructor.call(this);var e=null;var r=null;this.getString=function(){return this.s};this.setString=function(t){this.hTLV=null;this.isModified=true;this.s=t;this.hV=stohex(this.s)};this.setStringHex=function(t){this.hTLV=null;this.isModified=true;this.s=null;this.hV=t};this.getFreshValueHex=function(){return this.hV};if("undefined"!=typeof t)if("string"==typeof t)this.setString(t);else if("undefined"!=typeof t["str"])this.setString(t["str"]);else if("undefined"!=typeof t["hex"])this.setStringHex(t["hex"])};pt.lang.extend(vt.asn1.DERAbstractString,vt.asn1.ASN1Object);vt.asn1.DERAbstractTime=function(t){vt.asn1.DERAbstractTime.superclass.constructor.call(this);var e=null;var r=null;this.localDateToUTC=function(t){utc=t.getTime()+6e4*t.getTimezoneOffset();var e=new Date(utc);return e};this.formatDate=function(t,e,r){var i=this.zeroPadding;var n=this.localDateToUTC(t);var s=String(n.getFullYear());if("utc"==e)s=s.substr(2,2);var a=i(String(n.getMonth()+1),2);var o=i(String(n.getDate()),2);var u=i(String(n.getHours()),2);var c=i(String(n.getMinutes()),2);var l=i(String(n.getSeconds()),2);var f=s+a+o+u+c+l;if(true===r){var h=n.getMilliseconds();if(0!=h){var d=i(String(h),3);d=d.replace(/[0]+$/,"");f=f+"."+d}}return f+"Z"};this.zeroPadding=function(t,e){if(t.length>=e)return t;return new Array(e-t.length+1).join("0")+t};this.getString=function(){return this.s};this.setString=function(t){this.hTLV=null;this.isModified=true;this.s=t;this.hV=stohex(t)};this.setByDateValue=function(t,e,r,i,n,s){var a=new Date(Date.UTC(t,e-1,r,i,n,s,0));this.setByDate(a)};this.getFreshValueHex=function(){return this.hV}};pt.lang.extend(vt.asn1.DERAbstractTime,vt.asn1.ASN1Object);vt.asn1.DERAbstractStructured=function(t){vt.asn1.DERAbstractString.superclass.constructor.call(this);var e=null;this.setByASN1ObjectArray=function(t){this.hTLV=null;this.isModified=true;this.asn1Array=t};this.appendASN1Object=function(t){this.hTLV=null;this.isModified=true;this.asn1Array.push(t)};this.asn1Array=new Array;if("undefined"!=typeof t)if("undefined"!=typeof t["array"])this.asn1Array=t["array"]};pt.lang.extend(vt.asn1.DERAbstractStructured,vt.asn1.ASN1Object);vt.asn1.DERBoolean=function(){vt.asn1.DERBoolean.superclass.constructor.call(this);this.hT="01";this.hTLV="0101ff"};pt.lang.extend(vt.asn1.DERBoolean,vt.asn1.ASN1Object);vt.asn1.DERInteger=function(t){vt.asn1.DERInteger.superclass.constructor.call(this);this.hT="02";this.setByBigInteger=function(t){this.hTLV=null;this.isModified=true;this.hV=vt.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)};this.setByInteger=function(t){var e=new k(String(t),10);this.setByBigInteger(e)};this.setValueHex=function(t){this.hV=t};this.getFreshValueHex=function(){return this.hV};if("undefined"!=typeof t)if("undefined"!=typeof t["bigint"])this.setByBigInteger(t["bigint"]);else if("undefined"!=typeof t["int"])this.setByInteger(t["int"]);else if("number"==typeof t)this.setByInteger(t);else if("undefined"!=typeof t["hex"])this.setValueHex(t["hex"])};pt.lang.extend(vt.asn1.DERInteger,vt.asn1.ASN1Object);vt.asn1.DERBitString=function(t){if(void 0!==t&&"undefined"!==typeof t.obj){var e=vt.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}vt.asn1.DERBitString.superclass.constructor.call(this);this.hT="03";this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null;this.isModified=true;this.hV=t};this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7{}};var e={};function r(i){var n=e[i];if(void 0!==n)return n.exports;var s=e[i]={id:i,loaded:false,exports:{}};t[i].call(s.exports,s,s.exports,r);s.loaded=true;return s.exports}(()=>{r.d=(t,e)=>{for(var i in e)if(r.o(e,i)&&!r.o(t,i))Object.defineProperty(t,i,{enumerable:true,get:e[i]})}})();(()=>{r.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}()})();(()=>{r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e)})();(()=>{r.r=t=>{if("undefined"!==typeof Symbol&&Symbol.toStringTag)Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});Object.defineProperty(t,"__esModule",{value:true})}})();(()=>{r.nmd=t=>{t.paths=[];if(!t.children)t.children=[];return t}})();var i=r(5987);return i})()})); \ No newline at end of file diff --git a/packages/uni-push/lib/gtpush.map b/packages/uni-push/lib/gtpush.map deleted file mode 100644 index c3d29fc0a..000000000 --- a/packages/uni-push/lib/gtpush.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"gtpush-min.js","mappings":"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","sources":["webpack://gtpush/webpack/universalModuleDefinition","webpack://gtpush/./node_modules/crypto-js/aes.js","webpack://gtpush/./node_modules/crypto-js/cipher-core.js","webpack://gtpush/./node_modules/crypto-js/core.js","webpack://gtpush/./node_modules/crypto-js/enc-base64.js","webpack://gtpush/./node_modules/crypto-js/enc-base64url.js","webpack://gtpush/./node_modules/crypto-js/enc-utf16.js","webpack://gtpush/./node_modules/crypto-js/evpkdf.js","webpack://gtpush/./node_modules/crypto-js/format-hex.js","webpack://gtpush/./node_modules/crypto-js/hmac.js","webpack://gtpush/./node_modules/crypto-js/index.js","webpack://gtpush/./node_modules/crypto-js/lib-typedarrays.js","webpack://gtpush/./node_modules/crypto-js/md5.js","webpack://gtpush/./node_modules/crypto-js/mode-cfb.js","webpack://gtpush/./node_modules/crypto-js/mode-ctr-gladman.js","webpack://gtpush/./node_modules/crypto-js/mode-ctr.js","webpack://gtpush/./node_modules/crypto-js/mode-ecb.js","webpack://gtpush/./node_modules/crypto-js/mode-ofb.js","webpack://gtpush/./node_modules/crypto-js/pad-ansix923.js","webpack://gtpush/./node_modules/crypto-js/pad-iso10126.js","webpack://gtpush/./node_modules/crypto-js/pad-iso97971.js","webpack://gtpush/./node_modules/crypto-js/pad-nopadding.js","webpack://gtpush/./node_modules/crypto-js/pad-zeropadding.js","webpack://gtpush/./node_modules/crypto-js/pbkdf2.js","webpack://gtpush/./node_modules/crypto-js/rabbit-legacy.js","webpack://gtpush/./node_modules/crypto-js/rabbit.js","webpack://gtpush/./node_modules/crypto-js/rc4.js","webpack://gtpush/./node_modules/crypto-js/ripemd160.js","webpack://gtpush/./node_modules/crypto-js/sha1.js","webpack://gtpush/./node_modules/crypto-js/sha224.js","webpack://gtpush/./node_modules/crypto-js/sha256.js","webpack://gtpush/./node_modules/crypto-js/sha3.js","webpack://gtpush/./node_modules/crypto-js/sha384.js","webpack://gtpush/./node_modules/crypto-js/sha512.js","webpack://gtpush/./node_modules/crypto-js/tripledes.js","webpack://gtpush/./node_modules/crypto-js/x64-core.js","webpack://gtpush/./src/ErrorCode.ts","webpack://gtpush/./src/GtPush.ts","webpack://gtpush/./src/core/Constant.ts","webpack://gtpush/./src/core/GtLogic.ts","webpack://gtpush/./src/core/GtRuntime.ts","webpack://gtpush/./src/message/ActionMsg.ts","webpack://gtpush/./src/message/ClientMsg/AddPhoneInfo.ts","webpack://gtpush/./src/message/ClientMsg/BindAlias.ts","webpack://gtpush/./src/message/ClientMsg/Feedback.ts","webpack://gtpush/./src/message/ClientMsg/SetTag.ts","webpack://gtpush/./src/message/ClientMsg/UnbindAlias.ts","webpack://gtpush/./src/message/HeartBeat.ts","webpack://gtpush/./src/message/KeyNegotiate.ts","webpack://gtpush/./src/message/KeyNegotiateResult.ts","webpack://gtpush/./src/message/Login.ts","webpack://gtpush/./src/message/LoginResult.ts","webpack://gtpush/./src/message/Message.ts","webpack://gtpush/./src/message/MessageCoder.ts","webpack://gtpush/./src/message/MessageHandler.ts","webpack://gtpush/./src/message/Received.ts","webpack://gtpush/./src/message/Register.ts","webpack://gtpush/./src/message/RegisterResult.ts","webpack://gtpush/./src/message/ServerClose.ts","webpack://gtpush/./src/message/ServerMsg/AddPhoneInfoResult.ts","webpack://gtpush/./src/message/ServerMsg/BindAliasResult.ts","webpack://gtpush/./src/message/ServerMsg/FeedbackResult.ts","webpack://gtpush/./src/message/ServerMsg/PushMessage.ts","webpack://gtpush/./src/message/ServerMsg/RedirectServer.ts","webpack://gtpush/./src/message/ServerMsg/SetModeResult.ts","webpack://gtpush/./src/message/ServerMsg/SetTagResult.ts","webpack://gtpush/./src/message/ServerMsg/UnbindAliasResult.ts","webpack://gtpush/./src/task/DelayTask.ts","webpack://gtpush/./src/task/HeartBeatTask.ts","webpack://gtpush/./src/uniapi/Device.ts","webpack://gtpush/./src/uniapi/SocketManager.ts","webpack://gtpush/./src/uniapi/Storage.ts","webpack://gtpush/./src/utils/CryptManager.ts","webpack://gtpush/./src/utils/Log.ts","webpack://gtpush/./src/wxmp-rsa/lib/jsbn/util.js","webpack://gtpush/./src/wxmp-rsa/lib/jsbn/base64.js","webpack://gtpush/./src/wxmp-rsa/lib/asn1js/hex.js","webpack://gtpush/./src/wxmp-rsa/lib/asn1js/base64.js","webpack://gtpush/./src/wxmp-rsa/lib/asn1js/int10.js","webpack://gtpush/./src/wxmp-rsa/lib/asn1js/asn1.js","webpack://gtpush/./src/wxmp-rsa/lib/jsbn/jsbn.js","webpack://gtpush/./src/wxmp-rsa/lib/jsbn/prng4.js","webpack://gtpush/./src/wxmp-rsa/lib/jsbn/rng.js","webpack://gtpush/./src/wxmp-rsa/lib/jsbn/rsa.js","webpack://gtpush/./src/wxmp-rsa/lib/jsrsasign/yahoo.js","webpack://gtpush/./src/wxmp-rsa/lib/jsrsasign/asn1-1.0.js","webpack://gtpush/./src/wxmp-rsa/JSEncryptRSAKey.js","webpack://gtpush/./src/wxmp-rsa/JSEncrypt.js","webpack://gtpush/./src/wxmp-rsa/index.js","webpack://gtpush/webpack/bootstrap","webpack://gtpush/webpack/runtime/define property getters","webpack://gtpush/webpack/runtime/global","webpack://gtpush/webpack/runtime/hasOwnProperty shorthand","webpack://gtpush/webpack/runtime/make namespace object","webpack://gtpush/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"gtpush\"] = factory();\n\telse\n\t\troot[\"gtpush\"] = factory();\n})(self, function() {\nreturn ",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var BlockCipher = C_lib.BlockCipher;\n\t var C_algo = C.algo;\n\n\t // Lookup tables\n\t var SBOX = [];\n\t var INV_SBOX = [];\n\t var SUB_MIX_0 = [];\n\t var SUB_MIX_1 = [];\n\t var SUB_MIX_2 = [];\n\t var SUB_MIX_3 = [];\n\t var INV_SUB_MIX_0 = [];\n\t var INV_SUB_MIX_1 = [];\n\t var INV_SUB_MIX_2 = [];\n\t var INV_SUB_MIX_3 = [];\n\n\t // Compute lookup tables\n\t (function () {\n\t // Compute double table\n\t var d = [];\n\t for (var i = 0; i < 256; i++) {\n\t if (i < 128) {\n\t d[i] = i << 1;\n\t } else {\n\t d[i] = (i << 1) ^ 0x11b;\n\t }\n\t }\n\n\t // Walk GF(2^8)\n\t var x = 0;\n\t var xi = 0;\n\t for (var i = 0; i < 256; i++) {\n\t // Compute sbox\n\t var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4);\n\t sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63;\n\t SBOX[x] = sx;\n\t INV_SBOX[sx] = x;\n\n\t // Compute multiplication\n\t var x2 = d[x];\n\t var x4 = d[x2];\n\t var x8 = d[x4];\n\n\t // Compute sub bytes, mix columns tables\n\t var t = (d[sx] * 0x101) ^ (sx * 0x1010100);\n\t SUB_MIX_0[x] = (t << 24) | (t >>> 8);\n\t SUB_MIX_1[x] = (t << 16) | (t >>> 16);\n\t SUB_MIX_2[x] = (t << 8) | (t >>> 24);\n\t SUB_MIX_3[x] = t;\n\n\t // Compute inv sub bytes, inv mix columns tables\n\t var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100);\n\t INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8);\n\t INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16);\n\t INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24);\n\t INV_SUB_MIX_3[sx] = t;\n\n\t // Compute next counter\n\t if (!x) {\n\t x = xi = 1;\n\t } else {\n\t x = x2 ^ d[d[d[x8 ^ x2]]];\n\t xi ^= d[d[xi]];\n\t }\n\t }\n\t }());\n\n\t // Precomputed Rcon lookup\n\t var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];\n\n\t /**\n\t * AES block cipher algorithm.\n\t */\n\t var AES = C_algo.AES = BlockCipher.extend({\n\t _doReset: function () {\n\t var t;\n\n\t // Skip reset of nRounds has been set before and key did not change\n\t if (this._nRounds && this._keyPriorReset === this._key) {\n\t return;\n\t }\n\n\t // Shortcuts\n\t var key = this._keyPriorReset = this._key;\n\t var keyWords = key.words;\n\t var keySize = key.sigBytes / 4;\n\n\t // Compute number of rounds\n\t var nRounds = this._nRounds = keySize + 6;\n\n\t // Compute number of key schedule rows\n\t var ksRows = (nRounds + 1) * 4;\n\n\t // Compute key schedule\n\t var keySchedule = this._keySchedule = [];\n\t for (var ksRow = 0; ksRow < ksRows; ksRow++) {\n\t if (ksRow < keySize) {\n\t keySchedule[ksRow] = keyWords[ksRow];\n\t } else {\n\t t = keySchedule[ksRow - 1];\n\n\t if (!(ksRow % keySize)) {\n\t // Rot word\n\t t = (t << 8) | (t >>> 24);\n\n\t // Sub word\n\t t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];\n\n\t // Mix Rcon\n\t t ^= RCON[(ksRow / keySize) | 0] << 24;\n\t } else if (keySize > 6 && ksRow % keySize == 4) {\n\t // Sub word\n\t t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];\n\t }\n\n\t keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;\n\t }\n\t }\n\n\t // Compute inv key schedule\n\t var invKeySchedule = this._invKeySchedule = [];\n\t for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {\n\t var ksRow = ksRows - invKsRow;\n\n\t if (invKsRow % 4) {\n\t var t = keySchedule[ksRow];\n\t } else {\n\t var t = keySchedule[ksRow - 4];\n\t }\n\n\t if (invKsRow < 4 || ksRow <= 4) {\n\t invKeySchedule[invKsRow] = t;\n\t } else {\n\t invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^\n\t INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]];\n\t }\n\t }\n\t },\n\n\t encryptBlock: function (M, offset) {\n\t this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);\n\t },\n\n\t decryptBlock: function (M, offset) {\n\t // Swap 2nd and 4th rows\n\t var t = M[offset + 1];\n\t M[offset + 1] = M[offset + 3];\n\t M[offset + 3] = t;\n\n\t this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);\n\n\t // Inv swap 2nd and 4th rows\n\t var t = M[offset + 1];\n\t M[offset + 1] = M[offset + 3];\n\t M[offset + 3] = t;\n\t },\n\n\t _doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {\n\t // Shortcut\n\t var nRounds = this._nRounds;\n\n\t // Get input, add round key\n\t var s0 = M[offset] ^ keySchedule[0];\n\t var s1 = M[offset + 1] ^ keySchedule[1];\n\t var s2 = M[offset + 2] ^ keySchedule[2];\n\t var s3 = M[offset + 3] ^ keySchedule[3];\n\n\t // Key schedule row counter\n\t var ksRow = 4;\n\n\t // Rounds\n\t for (var round = 1; round < nRounds; round++) {\n\t // Shift rows, sub bytes, mix columns, add round key\n\t var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++];\n\t var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++];\n\t var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++];\n\t var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++];\n\n\t // Update state\n\t s0 = t0;\n\t s1 = t1;\n\t s2 = t2;\n\t s3 = t3;\n\t }\n\n\t // Shift rows, sub bytes, add round key\n\t var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];\n\t var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];\n\t var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];\n\t var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];\n\n\t // Set output\n\t M[offset] = t0;\n\t M[offset + 1] = t1;\n\t M[offset + 2] = t2;\n\t M[offset + 3] = t3;\n\t },\n\n\t keySize: 256/32\n\t });\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.AES.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg);\n\t */\n\t C.AES = BlockCipher._createHelper(AES);\n\t}());\n\n\n\treturn CryptoJS.AES;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./evpkdf\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./evpkdf\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Cipher core components.\n\t */\n\tCryptoJS.lib.Cipher || (function (undefined) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var WordArray = C_lib.WordArray;\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;\n\t var C_enc = C.enc;\n\t var Utf8 = C_enc.Utf8;\n\t var Base64 = C_enc.Base64;\n\t var C_algo = C.algo;\n\t var EvpKDF = C_algo.EvpKDF;\n\n\t /**\n\t * Abstract base cipher template.\n\t *\n\t * @property {number} keySize This cipher's key size. Default: 4 (128 bits)\n\t * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits)\n\t * @property {number} _ENC_XFORM_MODE A constant representing encryption mode.\n\t * @property {number} _DEC_XFORM_MODE A constant representing decryption mode.\n\t */\n\t var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {WordArray} iv The IV to use for this operation.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Creates this cipher in encryption mode.\n\t *\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {Cipher} A cipher instance.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray });\n\t */\n\t createEncryptor: function (key, cfg) {\n\t return this.create(this._ENC_XFORM_MODE, key, cfg);\n\t },\n\n\t /**\n\t * Creates this cipher in decryption mode.\n\t *\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {Cipher} A cipher instance.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray });\n\t */\n\t createDecryptor: function (key, cfg) {\n\t return this.create(this._DEC_XFORM_MODE, key, cfg);\n\t },\n\n\t /**\n\t * Initializes a newly created cipher.\n\t *\n\t * @param {number} xformMode Either the encryption or decryption transormation mode constant.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray });\n\t */\n\t init: function (xformMode, key, cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Store transform mode and key\n\t this._xformMode = xformMode;\n\t this._key = key;\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this cipher to its initial state.\n\t *\n\t * @example\n\t *\n\t * cipher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-cipher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Adds data to be encrypted or decrypted.\n\t *\n\t * @param {WordArray|string} dataUpdate The data to encrypt or decrypt.\n\t *\n\t * @return {WordArray} The data after processing.\n\t *\n\t * @example\n\t *\n\t * var encrypted = cipher.process('data');\n\t * var encrypted = cipher.process(wordArray);\n\t */\n\t process: function (dataUpdate) {\n\t // Append\n\t this._append(dataUpdate);\n\n\t // Process available blocks\n\t return this._process();\n\t },\n\n\t /**\n\t * Finalizes the encryption or decryption process.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt.\n\t *\n\t * @return {WordArray} The data after final processing.\n\t *\n\t * @example\n\t *\n\t * var encrypted = cipher.finalize();\n\t * var encrypted = cipher.finalize('data');\n\t * var encrypted = cipher.finalize(wordArray);\n\t */\n\t finalize: function (dataUpdate) {\n\t // Final data update\n\t if (dataUpdate) {\n\t this._append(dataUpdate);\n\t }\n\n\t // Perform concrete-cipher logic\n\t var finalProcessedData = this._doFinalize();\n\n\t return finalProcessedData;\n\t },\n\n\t keySize: 128/32,\n\n\t ivSize: 128/32,\n\n\t _ENC_XFORM_MODE: 1,\n\n\t _DEC_XFORM_MODE: 2,\n\n\t /**\n\t * Creates shortcut functions to a cipher's object interface.\n\t *\n\t * @param {Cipher} cipher The cipher to create a helper for.\n\t *\n\t * @return {Object} An object with encrypt and decrypt shortcut functions.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES);\n\t */\n\t _createHelper: (function () {\n\t function selectCipherStrategy(key) {\n\t if (typeof key == 'string') {\n\t return PasswordBasedCipher;\n\t } else {\n\t return SerializableCipher;\n\t }\n\t }\n\n\t return function (cipher) {\n\t return {\n\t encrypt: function (message, key, cfg) {\n\t return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);\n\t },\n\n\t decrypt: function (ciphertext, key, cfg) {\n\t return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);\n\t }\n\t };\n\t };\n\t }())\n\t });\n\n\t /**\n\t * Abstract base stream cipher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits)\n\t */\n\t var StreamCipher = C_lib.StreamCipher = Cipher.extend({\n\t _doFinalize: function () {\n\t // Process partial blocks\n\t var finalProcessedBlocks = this._process(!!'flush');\n\n\t return finalProcessedBlocks;\n\t },\n\n\t blockSize: 1\n\t });\n\n\t /**\n\t * Mode namespace.\n\t */\n\t var C_mode = C.mode = {};\n\n\t /**\n\t * Abstract base block cipher mode template.\n\t */\n\t var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({\n\t /**\n\t * Creates this mode for encryption.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words);\n\t */\n\t createEncryptor: function (cipher, iv) {\n\t return this.Encryptor.create(cipher, iv);\n\t },\n\n\t /**\n\t * Creates this mode for decryption.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words);\n\t */\n\t createDecryptor: function (cipher, iv) {\n\t return this.Decryptor.create(cipher, iv);\n\t },\n\n\t /**\n\t * Initializes a newly created mode.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words);\n\t */\n\t init: function (cipher, iv) {\n\t this._cipher = cipher;\n\t this._iv = iv;\n\t }\n\t });\n\n\t /**\n\t * Cipher Block Chaining mode.\n\t */\n\t var CBC = C_mode.CBC = (function () {\n\t /**\n\t * Abstract base CBC mode.\n\t */\n\t var CBC = BlockCipherMode.extend();\n\n\t /**\n\t * CBC encryptor.\n\t */\n\t CBC.Encryptor = CBC.extend({\n\t /**\n\t * Processes the data block at offset.\n\t *\n\t * @param {Array} words The data words to operate on.\n\t * @param {number} offset The offset where the block starts.\n\t *\n\t * @example\n\t *\n\t * mode.processBlock(data.words, offset);\n\t */\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t // XOR and encrypt\n\t xorBlock.call(this, words, offset, blockSize);\n\t cipher.encryptBlock(words, offset);\n\n\t // Remember this block to use with next block\n\t this._prevBlock = words.slice(offset, offset + blockSize);\n\t }\n\t });\n\n\t /**\n\t * CBC decryptor.\n\t */\n\t CBC.Decryptor = CBC.extend({\n\t /**\n\t * Processes the data block at offset.\n\t *\n\t * @param {Array} words The data words to operate on.\n\t * @param {number} offset The offset where the block starts.\n\t *\n\t * @example\n\t *\n\t * mode.processBlock(data.words, offset);\n\t */\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t // Remember this block to use with next block\n\t var thisBlock = words.slice(offset, offset + blockSize);\n\n\t // Decrypt and XOR\n\t cipher.decryptBlock(words, offset);\n\t xorBlock.call(this, words, offset, blockSize);\n\n\t // This block becomes the previous block\n\t this._prevBlock = thisBlock;\n\t }\n\t });\n\n\t function xorBlock(words, offset, blockSize) {\n\t var block;\n\n\t // Shortcut\n\t var iv = this._iv;\n\n\t // Choose mixing block\n\t if (iv) {\n\t block = iv;\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t } else {\n\t block = this._prevBlock;\n\t }\n\n\t // XOR blocks\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= block[i];\n\t }\n\t }\n\n\t return CBC;\n\t }());\n\n\t /**\n\t * Padding namespace.\n\t */\n\t var C_pad = C.pad = {};\n\n\t /**\n\t * PKCS #5/7 padding strategy.\n\t */\n\t var Pkcs7 = C_pad.Pkcs7 = {\n\t /**\n\t * Pads data using the algorithm defined in PKCS #5/7.\n\t *\n\t * @param {WordArray} data The data to pad.\n\t * @param {number} blockSize The multiple that the data should be padded to.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * CryptoJS.pad.Pkcs7.pad(wordArray, 4);\n\t */\n\t pad: function (data, blockSize) {\n\t // Shortcut\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count padding bytes\n\t var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;\n\n\t // Create padding word\n\t var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes;\n\n\t // Create padding\n\t var paddingWords = [];\n\t for (var i = 0; i < nPaddingBytes; i += 4) {\n\t paddingWords.push(paddingWord);\n\t }\n\t var padding = WordArray.create(paddingWords, nPaddingBytes);\n\n\t // Add padding\n\t data.concat(padding);\n\t },\n\n\t /**\n\t * Unpads data that had been padded using the algorithm defined in PKCS #5/7.\n\t *\n\t * @param {WordArray} data The data to unpad.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * CryptoJS.pad.Pkcs7.unpad(wordArray);\n\t */\n\t unpad: function (data) {\n\t // Get number of padding bytes from last byte\n\t var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;\n\n\t // Remove padding\n\t data.sigBytes -= nPaddingBytes;\n\t }\n\t };\n\n\t /**\n\t * Abstract base block cipher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits)\n\t */\n\t var BlockCipher = C_lib.BlockCipher = Cipher.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {Mode} mode The block mode to use. Default: CBC\n\t * @property {Padding} padding The padding strategy to use. Default: Pkcs7\n\t */\n\t cfg: Cipher.cfg.extend({\n\t mode: CBC,\n\t padding: Pkcs7\n\t }),\n\n\t reset: function () {\n\t var modeCreator;\n\n\t // Reset cipher\n\t Cipher.reset.call(this);\n\n\t // Shortcuts\n\t var cfg = this.cfg;\n\t var iv = cfg.iv;\n\t var mode = cfg.mode;\n\n\t // Reset block mode\n\t if (this._xformMode == this._ENC_XFORM_MODE) {\n\t modeCreator = mode.createEncryptor;\n\t } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {\n\t modeCreator = mode.createDecryptor;\n\t // Keep at least one block in the buffer for unpadding\n\t this._minBufferSize = 1;\n\t }\n\n\t if (this._mode && this._mode.__creator == modeCreator) {\n\t this._mode.init(this, iv && iv.words);\n\t } else {\n\t this._mode = modeCreator.call(mode, this, iv && iv.words);\n\t this._mode.__creator = modeCreator;\n\t }\n\t },\n\n\t _doProcessBlock: function (words, offset) {\n\t this._mode.processBlock(words, offset);\n\t },\n\n\t _doFinalize: function () {\n\t var finalProcessedBlocks;\n\n\t // Shortcut\n\t var padding = this.cfg.padding;\n\n\t // Finalize\n\t if (this._xformMode == this._ENC_XFORM_MODE) {\n\t // Pad data\n\t padding.pad(this._data, this.blockSize);\n\n\t // Process final blocks\n\t finalProcessedBlocks = this._process(!!'flush');\n\t } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {\n\t // Process final blocks\n\t finalProcessedBlocks = this._process(!!'flush');\n\n\t // Unpad data\n\t padding.unpad(finalProcessedBlocks);\n\t }\n\n\t return finalProcessedBlocks;\n\t },\n\n\t blockSize: 128/32\n\t });\n\n\t /**\n\t * A collection of cipher parameters.\n\t *\n\t * @property {WordArray} ciphertext The raw ciphertext.\n\t * @property {WordArray} key The key to this ciphertext.\n\t * @property {WordArray} iv The IV used in the ciphering operation.\n\t * @property {WordArray} salt The salt used with a key derivation function.\n\t * @property {Cipher} algorithm The cipher algorithm.\n\t * @property {Mode} mode The block mode used in the ciphering operation.\n\t * @property {Padding} padding The padding scheme used in the ciphering operation.\n\t * @property {number} blockSize The block size of the cipher.\n\t * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string.\n\t */\n\t var CipherParams = C_lib.CipherParams = Base.extend({\n\t /**\n\t * Initializes a newly created cipher params object.\n\t *\n\t * @param {Object} cipherParams An object with any of the possible cipher parameters.\n\t *\n\t * @example\n\t *\n\t * var cipherParams = CryptoJS.lib.CipherParams.create({\n\t * ciphertext: ciphertextWordArray,\n\t * key: keyWordArray,\n\t * iv: ivWordArray,\n\t * salt: saltWordArray,\n\t * algorithm: CryptoJS.algo.AES,\n\t * mode: CryptoJS.mode.CBC,\n\t * padding: CryptoJS.pad.PKCS7,\n\t * blockSize: 4,\n\t * formatter: CryptoJS.format.OpenSSL\n\t * });\n\t */\n\t init: function (cipherParams) {\n\t this.mixIn(cipherParams);\n\t },\n\n\t /**\n\t * Converts this cipher params object to a string.\n\t *\n\t * @param {Format} formatter (Optional) The formatting strategy to use.\n\t *\n\t * @return {string} The stringified cipher params.\n\t *\n\t * @throws Error If neither the formatter nor the default formatter is set.\n\t *\n\t * @example\n\t *\n\t * var string = cipherParams + '';\n\t * var string = cipherParams.toString();\n\t * var string = cipherParams.toString(CryptoJS.format.OpenSSL);\n\t */\n\t toString: function (formatter) {\n\t return (formatter || this.formatter).stringify(this);\n\t }\n\t });\n\n\t /**\n\t * Format namespace.\n\t */\n\t var C_format = C.format = {};\n\n\t /**\n\t * OpenSSL formatting strategy.\n\t */\n\t var OpenSSLFormatter = C_format.OpenSSL = {\n\t /**\n\t * Converts a cipher params object to an OpenSSL-compatible string.\n\t *\n\t * @param {CipherParams} cipherParams The cipher params object.\n\t *\n\t * @return {string} The OpenSSL-compatible string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams);\n\t */\n\t stringify: function (cipherParams) {\n\t var wordArray;\n\n\t // Shortcuts\n\t var ciphertext = cipherParams.ciphertext;\n\t var salt = cipherParams.salt;\n\n\t // Format\n\t if (salt) {\n\t wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext);\n\t } else {\n\t wordArray = ciphertext;\n\t }\n\n\t return wordArray.toString(Base64);\n\t },\n\n\t /**\n\t * Converts an OpenSSL-compatible string to a cipher params object.\n\t *\n\t * @param {string} openSSLStr The OpenSSL-compatible string.\n\t *\n\t * @return {CipherParams} The cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString);\n\t */\n\t parse: function (openSSLStr) {\n\t var salt;\n\n\t // Parse base64\n\t var ciphertext = Base64.parse(openSSLStr);\n\n\t // Shortcut\n\t var ciphertextWords = ciphertext.words;\n\n\t // Test for salt\n\t if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) {\n\t // Extract salt\n\t salt = WordArray.create(ciphertextWords.slice(2, 4));\n\n\t // Remove salt from ciphertext\n\t ciphertextWords.splice(0, 4);\n\t ciphertext.sigBytes -= 16;\n\t }\n\n\t return CipherParams.create({ ciphertext: ciphertext, salt: salt });\n\t }\n\t };\n\n\t /**\n\t * A cipher wrapper that returns ciphertext as a serializable cipher params object.\n\t */\n\t var SerializableCipher = C_lib.SerializableCipher = Base.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL\n\t */\n\t cfg: Base.extend({\n\t format: OpenSSLFormatter\n\t }),\n\n\t /**\n\t * Encrypts a message.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {WordArray|string} message The message to encrypt.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {CipherParams} A cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key);\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv });\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t */\n\t encrypt: function (cipher, message, key, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Encrypt\n\t var encryptor = cipher.createEncryptor(key, cfg);\n\t var ciphertext = encryptor.finalize(message);\n\n\t // Shortcut\n\t var cipherCfg = encryptor.cfg;\n\n\t // Create and return serializable cipher params\n\t return CipherParams.create({\n\t ciphertext: ciphertext,\n\t key: key,\n\t iv: cipherCfg.iv,\n\t algorithm: cipher,\n\t mode: cipherCfg.mode,\n\t padding: cipherCfg.padding,\n\t blockSize: cipher.blockSize,\n\t formatter: cfg.format\n\t });\n\t },\n\n\t /**\n\t * Decrypts serialized ciphertext.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {WordArray} The plaintext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t */\n\t decrypt: function (cipher, ciphertext, key, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Convert string to CipherParams\n\t ciphertext = this._parse(ciphertext, cfg.format);\n\n\t // Decrypt\n\t var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);\n\n\t return plaintext;\n\t },\n\n\t /**\n\t * Converts serialized ciphertext to CipherParams,\n\t * else assumed CipherParams already and returns ciphertext unchanged.\n\t *\n\t * @param {CipherParams|string} ciphertext The ciphertext.\n\t * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext.\n\t *\n\t * @return {CipherParams} The unserialized ciphertext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format);\n\t */\n\t _parse: function (ciphertext, format) {\n\t if (typeof ciphertext == 'string') {\n\t return format.parse(ciphertext, this);\n\t } else {\n\t return ciphertext;\n\t }\n\t }\n\t });\n\n\t /**\n\t * Key derivation function namespace.\n\t */\n\t var C_kdf = C.kdf = {};\n\n\t /**\n\t * OpenSSL key derivation function.\n\t */\n\t var OpenSSLKdf = C_kdf.OpenSSL = {\n\t /**\n\t * Derives a key and IV from a password.\n\t *\n\t * @param {string} password The password to derive from.\n\t * @param {number} keySize The size in words of the key to generate.\n\t * @param {number} ivSize The size in words of the IV to generate.\n\t * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly.\n\t *\n\t * @return {CipherParams} A cipher params object with the key, IV, and salt.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);\n\t * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');\n\t */\n\t execute: function (password, keySize, ivSize, salt) {\n\t // Generate random salt\n\t if (!salt) {\n\t salt = WordArray.random(64/8);\n\t }\n\n\t // Derive key and IV\n\t var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);\n\n\t // Separate key and IV\n\t var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);\n\t key.sigBytes = keySize * 4;\n\n\t // Return params\n\t return CipherParams.create({ key: key, iv: iv, salt: salt });\n\t }\n\t };\n\n\t /**\n\t * A serializable cipher wrapper that derives the key from a password,\n\t * and returns ciphertext as a serializable cipher params object.\n\t */\n\t var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL\n\t */\n\t cfg: SerializableCipher.cfg.extend({\n\t kdf: OpenSSLKdf\n\t }),\n\n\t /**\n\t * Encrypts a message using a password.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {WordArray|string} message The message to encrypt.\n\t * @param {string} password The password.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {CipherParams} A cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password');\n\t * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL });\n\t */\n\t encrypt: function (cipher, message, password, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Derive key and other params\n\t var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize);\n\n\t // Add IV to config\n\t cfg.iv = derivedParams.iv;\n\n\t // Encrypt\n\t var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);\n\n\t // Mix in derived params\n\t ciphertext.mixIn(derivedParams);\n\n\t return ciphertext;\n\t },\n\n\t /**\n\t * Decrypts serialized ciphertext using a password.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n\t * @param {string} password The password.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {WordArray} The plaintext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL });\n\t * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL });\n\t */\n\t decrypt: function (cipher, ciphertext, password, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Convert string to CipherParams\n\t ciphertext = this._parse(ciphertext, cfg.format);\n\n\t // Derive key and other params\n\t var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt);\n\n\t // Add IV to config\n\t cfg.iv = derivedParams.iv;\n\n\t // Decrypt\n\t var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);\n\n\t return plaintext;\n\t }\n\t });\n\t}());\n\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/*globals window, global, require*/\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\n\t var crypto;\n\n\t // Native crypto from window (Browser)\n\t if (typeof window !== 'undefined' && window.crypto) {\n\t crypto = window.crypto;\n\t }\n\n\t // Native crypto in web worker (Browser)\n\t if (typeof self !== 'undefined' && self.crypto) {\n\t crypto = self.crypto;\n\t }\n\n\t // Native crypto from worker\n\t if (typeof globalThis !== 'undefined' && globalThis.crypto) {\n\t crypto = globalThis.crypto;\n\t }\n\n\t // Native (experimental IE 11) crypto from window (Browser)\n\t if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n\t crypto = window.msCrypto;\n\t }\n\n\t // Native crypto from global (NodeJS)\n\t if (!crypto && typeof global !== 'undefined' && global.crypto) {\n\t crypto = global.crypto;\n\t }\n\n\t // Native crypto import via require (NodeJS)\n\t if (!crypto && typeof require === 'function') {\n\t try {\n\t crypto = require('crypto');\n\t } catch (err) {}\n\t }\n\n\t /*\n\t * Cryptographically secure pseudorandom number generator\n\t *\n\t * As Math.random() is cryptographically not safe to use\n\t */\n\t var cryptoSecureRandomInt = function () {\n\t if (crypto) {\n\t // Use getRandomValues method (Browser)\n\t if (typeof crypto.getRandomValues === 'function') {\n\t try {\n\t return crypto.getRandomValues(new Uint32Array(1))[0];\n\t } catch (err) {}\n\t }\n\n\t // Use randomBytes method (NodeJS)\n\t if (typeof crypto.randomBytes === 'function') {\n\t try {\n\t return crypto.randomBytes(4).readInt32LE();\n\t } catch (err) {}\n\t }\n\t }\n\n\t throw new Error('Native crypto module could not be used to get secure random number.');\n\t };\n\n\t /*\n\t * Local polyfill of Object.create\n\n\t */\n\t var create = Object.create || (function () {\n\t function F() {}\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }());\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var j = 0; j < thatSigBytes; j += 4) {\n\t thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t for (var i = 0; i < nBytes; i += 4) {\n\t words.push(cryptoSecureRandomInt());\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t var processedWords;\n\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_enc = C.enc;\n\n\t /**\n\t * Base64 encoding strategy.\n\t */\n\t var Base64 = C_enc.Base64 = {\n\t /**\n\t * Converts a word array to a Base64 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Base64 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var base64String = CryptoJS.enc.Base64.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\t var map = this._map;\n\n\t // Clamp excess bits\n\t wordArray.clamp();\n\n\t // Convert\n\t var base64Chars = [];\n\t for (var i = 0; i < sigBytes; i += 3) {\n\t var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;\n\t var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;\n\n\t var triplet = (byte1 << 16) | (byte2 << 8) | byte3;\n\n\t for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {\n\t base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));\n\t }\n\t }\n\n\t // Add padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t while (base64Chars.length % 4) {\n\t base64Chars.push(paddingChar);\n\t }\n\t }\n\n\t return base64Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Base64 string to a word array.\n\t *\n\t * @param {string} base64Str The Base64 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Base64.parse(base64String);\n\t */\n\t parse: function (base64Str) {\n\t // Shortcuts\n\t var base64StrLength = base64Str.length;\n\t var map = this._map;\n\t var reverseMap = this._reverseMap;\n\n\t if (!reverseMap) {\n\t reverseMap = this._reverseMap = [];\n\t for (var j = 0; j < map.length; j++) {\n\t reverseMap[map.charCodeAt(j)] = j;\n\t }\n\t }\n\n\t // Ignore padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t var paddingIndex = base64Str.indexOf(paddingChar);\n\t if (paddingIndex !== -1) {\n\t base64StrLength = paddingIndex;\n\t }\n\t }\n\n\t // Convert\n\t return parseLoop(base64Str, base64StrLength, reverseMap);\n\n\t },\n\n\t _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n\t };\n\n\t function parseLoop(base64Str, base64StrLength, reverseMap) {\n\t var words = [];\n\t var nBytes = 0;\n\t for (var i = 0; i < base64StrLength; i++) {\n\t if (i % 4) {\n\t var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);\n\t var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);\n\t var bitsCombined = bits1 | bits2;\n\t words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);\n\t nBytes++;\n\t }\n\t }\n\t return WordArray.create(words, nBytes);\n\t }\n\t}());\n\n\n\treturn CryptoJS.enc.Base64;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_enc = C.enc;\n\n\t /**\n\t * Base64url encoding strategy.\n\t */\n\t var Base64url = C_enc.Base64url = {\n\t /**\n\t * Converts a word array to a Base64url string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @param {boolean} urlSafe Whether to use url safe\n\t *\n\t * @return {string} The Base64url string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var base64String = CryptoJS.enc.Base64url.stringify(wordArray);\n\t */\n\t stringify: function (wordArray, urlSafe=true) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\t var map = urlSafe ? this._safe_map : this._map;\n\n\t // Clamp excess bits\n\t wordArray.clamp();\n\n\t // Convert\n\t var base64Chars = [];\n\t for (var i = 0; i < sigBytes; i += 3) {\n\t var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;\n\t var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;\n\n\t var triplet = (byte1 << 16) | (byte2 << 8) | byte3;\n\n\t for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {\n\t base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));\n\t }\n\t }\n\n\t // Add padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t while (base64Chars.length % 4) {\n\t base64Chars.push(paddingChar);\n\t }\n\t }\n\n\t return base64Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Base64url string to a word array.\n\t *\n\t * @param {string} base64Str The Base64url string.\n\t *\n\t * @param {boolean} urlSafe Whether to use url safe\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Base64url.parse(base64String);\n\t */\n\t parse: function (base64Str, urlSafe=true) {\n\t // Shortcuts\n\t var base64StrLength = base64Str.length;\n\t var map = urlSafe ? this._safe_map : this._map;\n\t var reverseMap = this._reverseMap;\n\n\t if (!reverseMap) {\n\t reverseMap = this._reverseMap = [];\n\t for (var j = 0; j < map.length; j++) {\n\t reverseMap[map.charCodeAt(j)] = j;\n\t }\n\t }\n\n\t // Ignore padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t var paddingIndex = base64Str.indexOf(paddingChar);\n\t if (paddingIndex !== -1) {\n\t base64StrLength = paddingIndex;\n\t }\n\t }\n\n\t // Convert\n\t return parseLoop(base64Str, base64StrLength, reverseMap);\n\n\t },\n\n\t _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n\t _safe_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',\n\t };\n\n\t function parseLoop(base64Str, base64StrLength, reverseMap) {\n\t var words = [];\n\t var nBytes = 0;\n\t for (var i = 0; i < base64StrLength; i++) {\n\t if (i % 4) {\n\t var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);\n\t var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);\n\t var bitsCombined = bits1 | bits2;\n\t words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);\n\t nBytes++;\n\t }\n\t }\n\t return WordArray.create(words, nBytes);\n\t }\n\t}());\n\n\treturn CryptoJS.enc.Base64url;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_enc = C.enc;\n\n\t /**\n\t * UTF-16 BE encoding strategy.\n\t */\n\t var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = {\n\t /**\n\t * Converts a word array to a UTF-16 BE string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-16 BE string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf16String = CryptoJS.enc.Utf16.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var utf16Chars = [];\n\t for (var i = 0; i < sigBytes; i += 2) {\n\t var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff;\n\t utf16Chars.push(String.fromCharCode(codePoint));\n\t }\n\n\t return utf16Chars.join('');\n\t },\n\n\t /**\n\t * Converts a UTF-16 BE string to a word array.\n\t *\n\t * @param {string} utf16Str The UTF-16 BE string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf16.parse(utf16String);\n\t */\n\t parse: function (utf16Str) {\n\t // Shortcut\n\t var utf16StrLength = utf16Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < utf16StrLength; i++) {\n\t words[i >>> 1] |= utf16Str.charCodeAt(i) << (16 - (i % 2) * 16);\n\t }\n\n\t return WordArray.create(words, utf16StrLength * 2);\n\t }\n\t };\n\n\t /**\n\t * UTF-16 LE encoding strategy.\n\t */\n\t C_enc.Utf16LE = {\n\t /**\n\t * Converts a word array to a UTF-16 LE string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-16 LE string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var utf16Chars = [];\n\t for (var i = 0; i < sigBytes; i += 2) {\n\t var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff);\n\t utf16Chars.push(String.fromCharCode(codePoint));\n\t }\n\n\t return utf16Chars.join('');\n\t },\n\n\t /**\n\t * Converts a UTF-16 LE string to a word array.\n\t *\n\t * @param {string} utf16Str The UTF-16 LE string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str);\n\t */\n\t parse: function (utf16Str) {\n\t // Shortcut\n\t var utf16StrLength = utf16Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < utf16StrLength; i++) {\n\t words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << (16 - (i % 2) * 16));\n\t }\n\n\t return WordArray.create(words, utf16StrLength * 2);\n\t }\n\t };\n\n\t function swapEndian(word) {\n\t return ((word << 8) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff);\n\t }\n\t}());\n\n\n\treturn CryptoJS.enc.Utf16;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha1\"), require(\"./hmac\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha1\", \"./hmac\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var WordArray = C_lib.WordArray;\n\t var C_algo = C.algo;\n\t var MD5 = C_algo.MD5;\n\n\t /**\n\t * This key derivation function is meant to conform with EVP_BytesToKey.\n\t * www.openssl.org/docs/crypto/EVP_BytesToKey.html\n\t */\n\t var EvpKDF = C_algo.EvpKDF = Base.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)\n\t * @property {Hasher} hasher The hash algorithm to use. Default: MD5\n\t * @property {number} iterations The number of iterations to perform. Default: 1\n\t */\n\t cfg: Base.extend({\n\t keySize: 128/32,\n\t hasher: MD5,\n\t iterations: 1\n\t }),\n\n\t /**\n\t * Initializes a newly created key derivation function.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for the derivation.\n\t *\n\t * @example\n\t *\n\t * var kdf = CryptoJS.algo.EvpKDF.create();\n\t * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 });\n\t * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 });\n\t */\n\t init: function (cfg) {\n\t this.cfg = this.cfg.extend(cfg);\n\t },\n\n\t /**\n\t * Derives a key from a password.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @example\n\t *\n\t * var key = kdf.compute(password, salt);\n\t */\n\t compute: function (password, salt) {\n\t var block;\n\n\t // Shortcut\n\t var cfg = this.cfg;\n\n\t // Init hasher\n\t var hasher = cfg.hasher.create();\n\n\t // Initial values\n\t var derivedKey = WordArray.create();\n\n\t // Shortcuts\n\t var derivedKeyWords = derivedKey.words;\n\t var keySize = cfg.keySize;\n\t var iterations = cfg.iterations;\n\n\t // Generate key\n\t while (derivedKeyWords.length < keySize) {\n\t if (block) {\n\t hasher.update(block);\n\t }\n\t block = hasher.update(password).finalize(salt);\n\t hasher.reset();\n\n\t // Iterations\n\t for (var i = 1; i < iterations; i++) {\n\t block = hasher.finalize(block);\n\t hasher.reset();\n\t }\n\n\t derivedKey.concat(block);\n\t }\n\t derivedKey.sigBytes = keySize * 4;\n\n\t return derivedKey;\n\t }\n\t });\n\n\t /**\n\t * Derives a key from a password.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t * @param {Object} cfg (Optional) The configuration options to use for this computation.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var key = CryptoJS.EvpKDF(password, salt);\n\t * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 });\n\t * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 });\n\t */\n\t C.EvpKDF = function (password, salt, cfg) {\n\t return EvpKDF.create(cfg).compute(password, salt);\n\t };\n\t}());\n\n\n\treturn CryptoJS.EvpKDF;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (undefined) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var CipherParams = C_lib.CipherParams;\n\t var C_enc = C.enc;\n\t var Hex = C_enc.Hex;\n\t var C_format = C.format;\n\n\t var HexFormatter = C_format.Hex = {\n\t /**\n\t * Converts the ciphertext of a cipher params object to a hexadecimally encoded string.\n\t *\n\t * @param {CipherParams} cipherParams The cipher params object.\n\t *\n\t * @return {string} The hexadecimally encoded string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.format.Hex.stringify(cipherParams);\n\t */\n\t stringify: function (cipherParams) {\n\t return cipherParams.ciphertext.toString(Hex);\n\t },\n\n\t /**\n\t * Converts a hexadecimally encoded ciphertext string to a cipher params object.\n\t *\n\t * @param {string} input The hexadecimally encoded string.\n\t *\n\t * @return {CipherParams} The cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipherParams = CryptoJS.format.Hex.parse(hexString);\n\t */\n\t parse: function (input) {\n\t var ciphertext = Hex.parse(input);\n\t return CipherParams.create({ ciphertext: ciphertext });\n\t }\n\t };\n\t}());\n\n\n\treturn CryptoJS.format.Hex;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var C_enc = C.enc;\n\t var Utf8 = C_enc.Utf8;\n\t var C_algo = C.algo;\n\n\t /**\n\t * HMAC algorithm.\n\t */\n\t var HMAC = C_algo.HMAC = Base.extend({\n\t /**\n\t * Initializes a newly created HMAC.\n\t *\n\t * @param {Hasher} hasher The hash algorithm to use.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @example\n\t *\n\t * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);\n\t */\n\t init: function (hasher, key) {\n\t // Init hasher\n\t hasher = this._hasher = new hasher.init();\n\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof key == 'string') {\n\t key = Utf8.parse(key);\n\t }\n\n\t // Shortcuts\n\t var hasherBlockSize = hasher.blockSize;\n\t var hasherBlockSizeBytes = hasherBlockSize * 4;\n\n\t // Allow arbitrary length keys\n\t if (key.sigBytes > hasherBlockSizeBytes) {\n\t key = hasher.finalize(key);\n\t }\n\n\t // Clamp excess bits\n\t key.clamp();\n\n\t // Clone key for inner and outer pads\n\t var oKey = this._oKey = key.clone();\n\t var iKey = this._iKey = key.clone();\n\n\t // Shortcuts\n\t var oKeyWords = oKey.words;\n\t var iKeyWords = iKey.words;\n\n\t // XOR keys with pad constants\n\t for (var i = 0; i < hasherBlockSize; i++) {\n\t oKeyWords[i] ^= 0x5c5c5c5c;\n\t iKeyWords[i] ^= 0x36363636;\n\t }\n\t oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this HMAC to its initial state.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.reset();\n\t */\n\t reset: function () {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Reset\n\t hasher.reset();\n\t hasher.update(this._iKey);\n\t },\n\n\t /**\n\t * Updates this HMAC with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {HMAC} This HMAC instance.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.update('message');\n\t * hmacHasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t this._hasher.update(messageUpdate);\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the HMAC computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @example\n\t *\n\t * var hmac = hmacHasher.finalize();\n\t * var hmac = hmacHasher.finalize('message');\n\t * var hmac = hmacHasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Compute HMAC\n\t var innerHash = hasher.finalize(messageUpdate);\n\t hasher.reset();\n\t var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));\n\n\t return hmac;\n\t }\n\t });\n\t}());\n\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"), require(\"./lib-typedarrays\"), require(\"./enc-utf16\"), require(\"./enc-base64\"), require(\"./enc-base64url\"), require(\"./md5\"), require(\"./sha1\"), require(\"./sha256\"), require(\"./sha224\"), require(\"./sha512\"), require(\"./sha384\"), require(\"./sha3\"), require(\"./ripemd160\"), require(\"./hmac\"), require(\"./pbkdf2\"), require(\"./evpkdf\"), require(\"./cipher-core\"), require(\"./mode-cfb\"), require(\"./mode-ctr\"), require(\"./mode-ctr-gladman\"), require(\"./mode-ofb\"), require(\"./mode-ecb\"), require(\"./pad-ansix923\"), require(\"./pad-iso10126\"), require(\"./pad-iso97971\"), require(\"./pad-zeropadding\"), require(\"./pad-nopadding\"), require(\"./format-hex\"), require(\"./aes\"), require(\"./tripledes\"), require(\"./rc4\"), require(\"./rabbit\"), require(\"./rabbit-legacy\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\", \"./lib-typedarrays\", \"./enc-utf16\", \"./enc-base64\", \"./enc-base64url\", \"./md5\", \"./sha1\", \"./sha256\", \"./sha224\", \"./sha512\", \"./sha384\", \"./sha3\", \"./ripemd160\", \"./hmac\", \"./pbkdf2\", \"./evpkdf\", \"./cipher-core\", \"./mode-cfb\", \"./mode-ctr\", \"./mode-ctr-gladman\", \"./mode-ofb\", \"./mode-ecb\", \"./pad-ansix923\", \"./pad-iso10126\", \"./pad-iso97971\", \"./pad-zeropadding\", \"./pad-nopadding\", \"./format-hex\", \"./aes\", \"./tripledes\", \"./rc4\", \"./rabbit\", \"./rabbit-legacy\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Check if typed arrays are supported\n\t if (typeof ArrayBuffer != 'function') {\n\t return;\n\t }\n\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\n\t // Reference original init\n\t var superInit = WordArray.init;\n\n\t // Augment WordArray.init to handle typed arrays\n\t var subInit = WordArray.init = function (typedArray) {\n\t // Convert buffers to uint8\n\t if (typedArray instanceof ArrayBuffer) {\n\t typedArray = new Uint8Array(typedArray);\n\t }\n\n\t // Convert other array views to uint8\n\t if (\n\t typedArray instanceof Int8Array ||\n\t (typeof Uint8ClampedArray !== \"undefined\" && typedArray instanceof Uint8ClampedArray) ||\n\t typedArray instanceof Int16Array ||\n\t typedArray instanceof Uint16Array ||\n\t typedArray instanceof Int32Array ||\n\t typedArray instanceof Uint32Array ||\n\t typedArray instanceof Float32Array ||\n\t typedArray instanceof Float64Array\n\t ) {\n\t typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);\n\t }\n\n\t // Handle Uint8Array\n\t if (typedArray instanceof Uint8Array) {\n\t // Shortcut\n\t var typedArrayByteLength = typedArray.byteLength;\n\n\t // Extract bytes\n\t var words = [];\n\t for (var i = 0; i < typedArrayByteLength; i++) {\n\t words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8);\n\t }\n\n\t // Initialize this word array\n\t superInit.call(this, words, typedArrayByteLength);\n\t } else {\n\t // Else call normal init\n\t superInit.apply(this, arguments);\n\t }\n\t };\n\n\t subInit.prototype = WordArray;\n\t}());\n\n\n\treturn CryptoJS.lib.WordArray;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Constants table\n\t var T = [];\n\n\t // Compute constants\n\t (function () {\n\t for (var i = 0; i < 64; i++) {\n\t T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0;\n\t }\n\t }());\n\n\t /**\n\t * MD5 hash algorithm.\n\t */\n\t var MD5 = C_algo.MD5 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0x67452301, 0xefcdab89,\n\t 0x98badcfe, 0x10325476\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Swap endian\n\t for (var i = 0; i < 16; i++) {\n\t // Shortcuts\n\t var offset_i = offset + i;\n\t var M_offset_i = M[offset_i];\n\n\t M[offset_i] = (\n\t (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |\n\t (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)\n\t );\n\t }\n\n\t // Shortcuts\n\t var H = this._hash.words;\n\n\t var M_offset_0 = M[offset + 0];\n\t var M_offset_1 = M[offset + 1];\n\t var M_offset_2 = M[offset + 2];\n\t var M_offset_3 = M[offset + 3];\n\t var M_offset_4 = M[offset + 4];\n\t var M_offset_5 = M[offset + 5];\n\t var M_offset_6 = M[offset + 6];\n\t var M_offset_7 = M[offset + 7];\n\t var M_offset_8 = M[offset + 8];\n\t var M_offset_9 = M[offset + 9];\n\t var M_offset_10 = M[offset + 10];\n\t var M_offset_11 = M[offset + 11];\n\t var M_offset_12 = M[offset + 12];\n\t var M_offset_13 = M[offset + 13];\n\t var M_offset_14 = M[offset + 14];\n\t var M_offset_15 = M[offset + 15];\n\n\t // Working varialbes\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\n\t // Computation\n\t a = FF(a, b, c, d, M_offset_0, 7, T[0]);\n\t d = FF(d, a, b, c, M_offset_1, 12, T[1]);\n\t c = FF(c, d, a, b, M_offset_2, 17, T[2]);\n\t b = FF(b, c, d, a, M_offset_3, 22, T[3]);\n\t a = FF(a, b, c, d, M_offset_4, 7, T[4]);\n\t d = FF(d, a, b, c, M_offset_5, 12, T[5]);\n\t c = FF(c, d, a, b, M_offset_6, 17, T[6]);\n\t b = FF(b, c, d, a, M_offset_7, 22, T[7]);\n\t a = FF(a, b, c, d, M_offset_8, 7, T[8]);\n\t d = FF(d, a, b, c, M_offset_9, 12, T[9]);\n\t c = FF(c, d, a, b, M_offset_10, 17, T[10]);\n\t b = FF(b, c, d, a, M_offset_11, 22, T[11]);\n\t a = FF(a, b, c, d, M_offset_12, 7, T[12]);\n\t d = FF(d, a, b, c, M_offset_13, 12, T[13]);\n\t c = FF(c, d, a, b, M_offset_14, 17, T[14]);\n\t b = FF(b, c, d, a, M_offset_15, 22, T[15]);\n\n\t a = GG(a, b, c, d, M_offset_1, 5, T[16]);\n\t d = GG(d, a, b, c, M_offset_6, 9, T[17]);\n\t c = GG(c, d, a, b, M_offset_11, 14, T[18]);\n\t b = GG(b, c, d, a, M_offset_0, 20, T[19]);\n\t a = GG(a, b, c, d, M_offset_5, 5, T[20]);\n\t d = GG(d, a, b, c, M_offset_10, 9, T[21]);\n\t c = GG(c, d, a, b, M_offset_15, 14, T[22]);\n\t b = GG(b, c, d, a, M_offset_4, 20, T[23]);\n\t a = GG(a, b, c, d, M_offset_9, 5, T[24]);\n\t d = GG(d, a, b, c, M_offset_14, 9, T[25]);\n\t c = GG(c, d, a, b, M_offset_3, 14, T[26]);\n\t b = GG(b, c, d, a, M_offset_8, 20, T[27]);\n\t a = GG(a, b, c, d, M_offset_13, 5, T[28]);\n\t d = GG(d, a, b, c, M_offset_2, 9, T[29]);\n\t c = GG(c, d, a, b, M_offset_7, 14, T[30]);\n\t b = GG(b, c, d, a, M_offset_12, 20, T[31]);\n\n\t a = HH(a, b, c, d, M_offset_5, 4, T[32]);\n\t d = HH(d, a, b, c, M_offset_8, 11, T[33]);\n\t c = HH(c, d, a, b, M_offset_11, 16, T[34]);\n\t b = HH(b, c, d, a, M_offset_14, 23, T[35]);\n\t a = HH(a, b, c, d, M_offset_1, 4, T[36]);\n\t d = HH(d, a, b, c, M_offset_4, 11, T[37]);\n\t c = HH(c, d, a, b, M_offset_7, 16, T[38]);\n\t b = HH(b, c, d, a, M_offset_10, 23, T[39]);\n\t a = HH(a, b, c, d, M_offset_13, 4, T[40]);\n\t d = HH(d, a, b, c, M_offset_0, 11, T[41]);\n\t c = HH(c, d, a, b, M_offset_3, 16, T[42]);\n\t b = HH(b, c, d, a, M_offset_6, 23, T[43]);\n\t a = HH(a, b, c, d, M_offset_9, 4, T[44]);\n\t d = HH(d, a, b, c, M_offset_12, 11, T[45]);\n\t c = HH(c, d, a, b, M_offset_15, 16, T[46]);\n\t b = HH(b, c, d, a, M_offset_2, 23, T[47]);\n\n\t a = II(a, b, c, d, M_offset_0, 6, T[48]);\n\t d = II(d, a, b, c, M_offset_7, 10, T[49]);\n\t c = II(c, d, a, b, M_offset_14, 15, T[50]);\n\t b = II(b, c, d, a, M_offset_5, 21, T[51]);\n\t a = II(a, b, c, d, M_offset_12, 6, T[52]);\n\t d = II(d, a, b, c, M_offset_3, 10, T[53]);\n\t c = II(c, d, a, b, M_offset_10, 15, T[54]);\n\t b = II(b, c, d, a, M_offset_1, 21, T[55]);\n\t a = II(a, b, c, d, M_offset_8, 6, T[56]);\n\t d = II(d, a, b, c, M_offset_15, 10, T[57]);\n\t c = II(c, d, a, b, M_offset_6, 15, T[58]);\n\t b = II(b, c, d, a, M_offset_13, 21, T[59]);\n\t a = II(a, b, c, d, M_offset_4, 6, T[60]);\n\t d = II(d, a, b, c, M_offset_11, 10, T[61]);\n\t c = II(c, d, a, b, M_offset_2, 15, T[62]);\n\t b = II(b, c, d, a, M_offset_9, 21, T[63]);\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\n\t var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);\n\t var nBitsTotalL = nBitsTotal;\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = (\n\t (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00)\n\t );\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (\n\t (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00)\n\t );\n\n\t data.sigBytes = (dataWords.length + 1) * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Shortcuts\n\t var hash = this._hash;\n\t var H = hash.words;\n\n\t // Swap endian\n\t for (var i = 0; i < 4; i++) {\n\t // Shortcut\n\t var H_i = H[i];\n\n\t H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |\n\t (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);\n\t }\n\n\t // Return final computed hash\n\t return hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t function FF(a, b, c, d, x, s, t) {\n\t var n = a + ((b & c) | (~b & d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function GG(a, b, c, d, x, s, t) {\n\t var n = a + ((b & d) | (c & ~d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function HH(a, b, c, d, x, s, t) {\n\t var n = a + (b ^ c ^ d) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function II(a, b, c, d, x, s, t) {\n\t var n = a + (c ^ (b | ~d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.MD5('message');\n\t * var hash = CryptoJS.MD5(wordArray);\n\t */\n\t C.MD5 = Hasher._createHelper(MD5);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacMD5(message, key);\n\t */\n\t C.HmacMD5 = Hasher._createHmacHelper(MD5);\n\t}(Math));\n\n\n\treturn CryptoJS.MD5;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Cipher Feedback block mode.\n\t */\n\tCryptoJS.mode.CFB = (function () {\n\t var CFB = CryptoJS.lib.BlockCipherMode.extend();\n\n\t CFB.Encryptor = CFB.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);\n\n\t // Remember this block to use with next block\n\t this._prevBlock = words.slice(offset, offset + blockSize);\n\t }\n\t });\n\n\t CFB.Decryptor = CFB.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t // Remember this block to use with next block\n\t var thisBlock = words.slice(offset, offset + blockSize);\n\n\t generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);\n\n\t // This block becomes the previous block\n\t this._prevBlock = thisBlock;\n\t }\n\t });\n\n\t function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {\n\t var keystream;\n\n\t // Shortcut\n\t var iv = this._iv;\n\n\t // Generate keystream\n\t if (iv) {\n\t keystream = iv.slice(0);\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t } else {\n\t keystream = this._prevBlock;\n\t }\n\t cipher.encryptBlock(keystream, 0);\n\n\t // Encrypt\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= keystream[i];\n\t }\n\t }\n\n\t return CFB;\n\t}());\n\n\n\treturn CryptoJS.mode.CFB;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/** @preserve\n\t * Counter block mode compatible with Dr Brian Gladman fileenc.c\n\t * derived from CryptoJS.mode.CTR\n\t * Jan Hruby jhruby.web@gmail.com\n\t */\n\tCryptoJS.mode.CTRGladman = (function () {\n\t var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();\n\n\t\tfunction incWord(word)\n\t\t{\n\t\t\tif (((word >> 24) & 0xff) === 0xff) { //overflow\n\t\t\tvar b1 = (word >> 16)&0xff;\n\t\t\tvar b2 = (word >> 8)&0xff;\n\t\t\tvar b3 = word & 0xff;\n\n\t\t\tif (b1 === 0xff) // overflow b1\n\t\t\t{\n\t\t\tb1 = 0;\n\t\t\tif (b2 === 0xff)\n\t\t\t{\n\t\t\t\tb2 = 0;\n\t\t\t\tif (b3 === 0xff)\n\t\t\t\t{\n\t\t\t\t\tb3 = 0;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t++b3;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t++b2;\n\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t++b1;\n\t\t\t}\n\n\t\t\tword = 0;\n\t\t\tword += (b1 << 16);\n\t\t\tword += (b2 << 8);\n\t\t\tword += b3;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\tword += (0x01 << 24);\n\t\t\t}\n\t\t\treturn word;\n\t\t}\n\n\t\tfunction incCounter(counter)\n\t\t{\n\t\t\tif ((counter[0] = incWord(counter[0])) === 0)\n\t\t\t{\n\t\t\t\t// encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8\n\t\t\t\tcounter[1] = incWord(counter[1]);\n\t\t\t}\n\t\t\treturn counter;\n\t\t}\n\n\t var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher\n\t var blockSize = cipher.blockSize;\n\t var iv = this._iv;\n\t var counter = this._counter;\n\n\t // Generate keystream\n\t if (iv) {\n\t counter = this._counter = iv.slice(0);\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t }\n\n\t\t\t\tincCounter(counter);\n\n\t\t\t\tvar keystream = counter.slice(0);\n\t cipher.encryptBlock(keystream, 0);\n\n\t // Encrypt\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= keystream[i];\n\t }\n\t }\n\t });\n\n\t CTRGladman.Decryptor = Encryptor;\n\n\t return CTRGladman;\n\t}());\n\n\n\n\n\treturn CryptoJS.mode.CTRGladman;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Counter block mode.\n\t */\n\tCryptoJS.mode.CTR = (function () {\n\t var CTR = CryptoJS.lib.BlockCipherMode.extend();\n\n\t var Encryptor = CTR.Encryptor = CTR.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher\n\t var blockSize = cipher.blockSize;\n\t var iv = this._iv;\n\t var counter = this._counter;\n\n\t // Generate keystream\n\t if (iv) {\n\t counter = this._counter = iv.slice(0);\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t }\n\t var keystream = counter.slice(0);\n\t cipher.encryptBlock(keystream, 0);\n\n\t // Increment counter\n\t counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0\n\n\t // Encrypt\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= keystream[i];\n\t }\n\t }\n\t });\n\n\t CTR.Decryptor = Encryptor;\n\n\t return CTR;\n\t}());\n\n\n\treturn CryptoJS.mode.CTR;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Electronic Codebook block mode.\n\t */\n\tCryptoJS.mode.ECB = (function () {\n\t var ECB = CryptoJS.lib.BlockCipherMode.extend();\n\n\t ECB.Encryptor = ECB.extend({\n\t processBlock: function (words, offset) {\n\t this._cipher.encryptBlock(words, offset);\n\t }\n\t });\n\n\t ECB.Decryptor = ECB.extend({\n\t processBlock: function (words, offset) {\n\t this._cipher.decryptBlock(words, offset);\n\t }\n\t });\n\n\t return ECB;\n\t}());\n\n\n\treturn CryptoJS.mode.ECB;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Output Feedback block mode.\n\t */\n\tCryptoJS.mode.OFB = (function () {\n\t var OFB = CryptoJS.lib.BlockCipherMode.extend();\n\n\t var Encryptor = OFB.Encryptor = OFB.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher\n\t var blockSize = cipher.blockSize;\n\t var iv = this._iv;\n\t var keystream = this._keystream;\n\n\t // Generate keystream\n\t if (iv) {\n\t keystream = this._keystream = iv.slice(0);\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t }\n\t cipher.encryptBlock(keystream, 0);\n\n\t // Encrypt\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= keystream[i];\n\t }\n\t }\n\t });\n\n\t OFB.Decryptor = Encryptor;\n\n\t return OFB;\n\t}());\n\n\n\treturn CryptoJS.mode.OFB;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * ANSI X.923 padding strategy.\n\t */\n\tCryptoJS.pad.AnsiX923 = {\n\t pad: function (data, blockSize) {\n\t // Shortcuts\n\t var dataSigBytes = data.sigBytes;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count padding bytes\n\t var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;\n\n\t // Compute last byte position\n\t var lastBytePos = dataSigBytes + nPaddingBytes - 1;\n\n\t // Pad\n\t data.clamp();\n\t data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8);\n\t data.sigBytes += nPaddingBytes;\n\t },\n\n\t unpad: function (data) {\n\t // Get number of padding bytes from last byte\n\t var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;\n\n\t // Remove padding\n\t data.sigBytes -= nPaddingBytes;\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.Ansix923;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * ISO 10126 padding strategy.\n\t */\n\tCryptoJS.pad.Iso10126 = {\n\t pad: function (data, blockSize) {\n\t // Shortcut\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count padding bytes\n\t var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;\n\n\t // Pad\n\t data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).\n\t concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));\n\t },\n\n\t unpad: function (data) {\n\t // Get number of padding bytes from last byte\n\t var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;\n\n\t // Remove padding\n\t data.sigBytes -= nPaddingBytes;\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.Iso10126;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * ISO/IEC 9797-1 Padding Method 2.\n\t */\n\tCryptoJS.pad.Iso97971 = {\n\t pad: function (data, blockSize) {\n\t // Add 0x80 byte\n\t data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1));\n\n\t // Zero pad the rest\n\t CryptoJS.pad.ZeroPadding.pad(data, blockSize);\n\t },\n\n\t unpad: function (data) {\n\t // Remove zero padding\n\t CryptoJS.pad.ZeroPadding.unpad(data);\n\n\t // Remove one more byte -- the 0x80 byte\n\t data.sigBytes--;\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.Iso97971;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * A noop padding strategy.\n\t */\n\tCryptoJS.pad.NoPadding = {\n\t pad: function () {\n\t },\n\n\t unpad: function () {\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.NoPadding;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Zero padding strategy.\n\t */\n\tCryptoJS.pad.ZeroPadding = {\n\t pad: function (data, blockSize) {\n\t // Shortcut\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Pad\n\t data.clamp();\n\t data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);\n\t },\n\n\t unpad: function (data) {\n\t // Shortcut\n\t var dataWords = data.words;\n\n\t // Unpad\n\t var i = data.sigBytes - 1;\n\t for (var i = data.sigBytes - 1; i >= 0; i--) {\n\t if (((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) {\n\t data.sigBytes = i + 1;\n\t break;\n\t }\n\t }\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.ZeroPadding;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha1\"), require(\"./hmac\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha1\", \"./hmac\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var WordArray = C_lib.WordArray;\n\t var C_algo = C.algo;\n\t var SHA1 = C_algo.SHA1;\n\t var HMAC = C_algo.HMAC;\n\n\t /**\n\t * Password-Based Key Derivation Function 2 algorithm.\n\t */\n\t var PBKDF2 = C_algo.PBKDF2 = Base.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)\n\t * @property {Hasher} hasher The hasher to use. Default: SHA1\n\t * @property {number} iterations The number of iterations to perform. Default: 1\n\t */\n\t cfg: Base.extend({\n\t keySize: 128/32,\n\t hasher: SHA1,\n\t iterations: 1\n\t }),\n\n\t /**\n\t * Initializes a newly created key derivation function.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for the derivation.\n\t *\n\t * @example\n\t *\n\t * var kdf = CryptoJS.algo.PBKDF2.create();\n\t * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 });\n\t * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 });\n\t */\n\t init: function (cfg) {\n\t this.cfg = this.cfg.extend(cfg);\n\t },\n\n\t /**\n\t * Computes the Password-Based Key Derivation Function 2.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @example\n\t *\n\t * var key = kdf.compute(password, salt);\n\t */\n\t compute: function (password, salt) {\n\t // Shortcut\n\t var cfg = this.cfg;\n\n\t // Init HMAC\n\t var hmac = HMAC.create(cfg.hasher, password);\n\n\t // Initial values\n\t var derivedKey = WordArray.create();\n\t var blockIndex = WordArray.create([0x00000001]);\n\n\t // Shortcuts\n\t var derivedKeyWords = derivedKey.words;\n\t var blockIndexWords = blockIndex.words;\n\t var keySize = cfg.keySize;\n\t var iterations = cfg.iterations;\n\n\t // Generate key\n\t while (derivedKeyWords.length < keySize) {\n\t var block = hmac.update(salt).finalize(blockIndex);\n\t hmac.reset();\n\n\t // Shortcuts\n\t var blockWords = block.words;\n\t var blockWordsLength = blockWords.length;\n\n\t // Iterations\n\t var intermediate = block;\n\t for (var i = 1; i < iterations; i++) {\n\t intermediate = hmac.finalize(intermediate);\n\t hmac.reset();\n\n\t // Shortcut\n\t var intermediateWords = intermediate.words;\n\n\t // XOR intermediate with block\n\t for (var j = 0; j < blockWordsLength; j++) {\n\t blockWords[j] ^= intermediateWords[j];\n\t }\n\t }\n\n\t derivedKey.concat(block);\n\t blockIndexWords[0]++;\n\t }\n\t derivedKey.sigBytes = keySize * 4;\n\n\t return derivedKey;\n\t }\n\t });\n\n\t /**\n\t * Computes the Password-Based Key Derivation Function 2.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t * @param {Object} cfg (Optional) The configuration options to use for this computation.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var key = CryptoJS.PBKDF2(password, salt);\n\t * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 });\n\t * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 });\n\t */\n\t C.PBKDF2 = function (password, salt, cfg) {\n\t return PBKDF2.create(cfg).compute(password, salt);\n\t };\n\t}());\n\n\n\treturn CryptoJS.PBKDF2;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var StreamCipher = C_lib.StreamCipher;\n\t var C_algo = C.algo;\n\n\t // Reusable objects\n\t var S = [];\n\t var C_ = [];\n\t var G = [];\n\n\t /**\n\t * Rabbit stream cipher algorithm.\n\t *\n\t * This is a legacy version that neglected to convert the key to little-endian.\n\t * This error doesn't affect the cipher's security,\n\t * but it does affect its compatibility with other implementations.\n\t */\n\t var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var K = this._key.words;\n\t var iv = this.cfg.iv;\n\n\t // Generate initial state values\n\t var X = this._X = [\n\t K[0], (K[3] << 16) | (K[2] >>> 16),\n\t K[1], (K[0] << 16) | (K[3] >>> 16),\n\t K[2], (K[1] << 16) | (K[0] >>> 16),\n\t K[3], (K[2] << 16) | (K[1] >>> 16)\n\t ];\n\n\t // Generate initial counter values\n\t var C = this._C = [\n\t (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff),\n\t (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff),\n\t (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff),\n\t (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)\n\t ];\n\n\t // Carry bit\n\t this._b = 0;\n\n\t // Iterate the system four times\n\t for (var i = 0; i < 4; i++) {\n\t nextState.call(this);\n\t }\n\n\t // Modify the counters\n\t for (var i = 0; i < 8; i++) {\n\t C[i] ^= X[(i + 4) & 7];\n\t }\n\n\t // IV setup\n\t if (iv) {\n\t // Shortcuts\n\t var IV = iv.words;\n\t var IV_0 = IV[0];\n\t var IV_1 = IV[1];\n\n\t // Generate four subvectors\n\t var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00);\n\t var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00);\n\t var i1 = (i0 >>> 16) | (i2 & 0xffff0000);\n\t var i3 = (i2 << 16) | (i0 & 0x0000ffff);\n\n\t // Modify counter values\n\t C[0] ^= i0;\n\t C[1] ^= i1;\n\t C[2] ^= i2;\n\t C[3] ^= i3;\n\t C[4] ^= i0;\n\t C[5] ^= i1;\n\t C[6] ^= i2;\n\t C[7] ^= i3;\n\n\t // Iterate the system four times\n\t for (var i = 0; i < 4; i++) {\n\t nextState.call(this);\n\t }\n\t }\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var X = this._X;\n\n\t // Iterate the system\n\t nextState.call(this);\n\n\t // Generate four keystream words\n\t S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16);\n\t S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16);\n\t S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16);\n\t S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16);\n\n\t for (var i = 0; i < 4; i++) {\n\t // Swap endian\n\t S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) |\n\t (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00);\n\n\t // Encrypt\n\t M[offset + i] ^= S[i];\n\t }\n\t },\n\n\t blockSize: 128/32,\n\n\t ivSize: 64/32\n\t });\n\n\t function nextState() {\n\t // Shortcuts\n\t var X = this._X;\n\t var C = this._C;\n\n\t // Save old counter values\n\t for (var i = 0; i < 8; i++) {\n\t C_[i] = C[i];\n\t }\n\n\t // Calculate new counter values\n\t C[0] = (C[0] + 0x4d34d34d + this._b) | 0;\n\t C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0;\n\t C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0;\n\t C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0;\n\t C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0;\n\t C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0;\n\t C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0;\n\t C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0;\n\t this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0;\n\n\t // Calculate the g-values\n\t for (var i = 0; i < 8; i++) {\n\t var gx = X[i] + C[i];\n\n\t // Construct high and low argument for squaring\n\t var ga = gx & 0xffff;\n\t var gb = gx >>> 16;\n\n\t // Calculate high and low result of squaring\n\t var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb;\n\t var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0);\n\n\t // High XOR low\n\t G[i] = gh ^ gl;\n\t }\n\n\t // Calculate new state values\n\t X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0;\n\t X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0;\n\t X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0;\n\t X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0;\n\t X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0;\n\t X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0;\n\t X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0;\n\t X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0;\n\t }\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg);\n\t */\n\t C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy);\n\t}());\n\n\n\treturn CryptoJS.RabbitLegacy;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var StreamCipher = C_lib.StreamCipher;\n\t var C_algo = C.algo;\n\n\t // Reusable objects\n\t var S = [];\n\t var C_ = [];\n\t var G = [];\n\n\t /**\n\t * Rabbit stream cipher algorithm\n\t */\n\t var Rabbit = C_algo.Rabbit = StreamCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var K = this._key.words;\n\t var iv = this.cfg.iv;\n\n\t // Swap endian\n\t for (var i = 0; i < 4; i++) {\n\t K[i] = (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) |\n\t (((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00);\n\t }\n\n\t // Generate initial state values\n\t var X = this._X = [\n\t K[0], (K[3] << 16) | (K[2] >>> 16),\n\t K[1], (K[0] << 16) | (K[3] >>> 16),\n\t K[2], (K[1] << 16) | (K[0] >>> 16),\n\t K[3], (K[2] << 16) | (K[1] >>> 16)\n\t ];\n\n\t // Generate initial counter values\n\t var C = this._C = [\n\t (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff),\n\t (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff),\n\t (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff),\n\t (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)\n\t ];\n\n\t // Carry bit\n\t this._b = 0;\n\n\t // Iterate the system four times\n\t for (var i = 0; i < 4; i++) {\n\t nextState.call(this);\n\t }\n\n\t // Modify the counters\n\t for (var i = 0; i < 8; i++) {\n\t C[i] ^= X[(i + 4) & 7];\n\t }\n\n\t // IV setup\n\t if (iv) {\n\t // Shortcuts\n\t var IV = iv.words;\n\t var IV_0 = IV[0];\n\t var IV_1 = IV[1];\n\n\t // Generate four subvectors\n\t var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00);\n\t var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00);\n\t var i1 = (i0 >>> 16) | (i2 & 0xffff0000);\n\t var i3 = (i2 << 16) | (i0 & 0x0000ffff);\n\n\t // Modify counter values\n\t C[0] ^= i0;\n\t C[1] ^= i1;\n\t C[2] ^= i2;\n\t C[3] ^= i3;\n\t C[4] ^= i0;\n\t C[5] ^= i1;\n\t C[6] ^= i2;\n\t C[7] ^= i3;\n\n\t // Iterate the system four times\n\t for (var i = 0; i < 4; i++) {\n\t nextState.call(this);\n\t }\n\t }\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var X = this._X;\n\n\t // Iterate the system\n\t nextState.call(this);\n\n\t // Generate four keystream words\n\t S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16);\n\t S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16);\n\t S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16);\n\t S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16);\n\n\t for (var i = 0; i < 4; i++) {\n\t // Swap endian\n\t S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) |\n\t (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00);\n\n\t // Encrypt\n\t M[offset + i] ^= S[i];\n\t }\n\t },\n\n\t blockSize: 128/32,\n\n\t ivSize: 64/32\n\t });\n\n\t function nextState() {\n\t // Shortcuts\n\t var X = this._X;\n\t var C = this._C;\n\n\t // Save old counter values\n\t for (var i = 0; i < 8; i++) {\n\t C_[i] = C[i];\n\t }\n\n\t // Calculate new counter values\n\t C[0] = (C[0] + 0x4d34d34d + this._b) | 0;\n\t C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0;\n\t C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0;\n\t C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0;\n\t C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0;\n\t C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0;\n\t C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0;\n\t C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0;\n\t this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0;\n\n\t // Calculate the g-values\n\t for (var i = 0; i < 8; i++) {\n\t var gx = X[i] + C[i];\n\n\t // Construct high and low argument for squaring\n\t var ga = gx & 0xffff;\n\t var gb = gx >>> 16;\n\n\t // Calculate high and low result of squaring\n\t var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb;\n\t var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0);\n\n\t // High XOR low\n\t G[i] = gh ^ gl;\n\t }\n\n\t // Calculate new state values\n\t X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0;\n\t X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0;\n\t X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0;\n\t X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0;\n\t X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0;\n\t X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0;\n\t X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0;\n\t X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0;\n\t }\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg);\n\t */\n\t C.Rabbit = StreamCipher._createHelper(Rabbit);\n\t}());\n\n\n\treturn CryptoJS.Rabbit;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var StreamCipher = C_lib.StreamCipher;\n\t var C_algo = C.algo;\n\n\t /**\n\t * RC4 stream cipher algorithm.\n\t */\n\t var RC4 = C_algo.RC4 = StreamCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var key = this._key;\n\t var keyWords = key.words;\n\t var keySigBytes = key.sigBytes;\n\n\t // Init sbox\n\t var S = this._S = [];\n\t for (var i = 0; i < 256; i++) {\n\t S[i] = i;\n\t }\n\n\t // Key setup\n\t for (var i = 0, j = 0; i < 256; i++) {\n\t var keyByteIndex = i % keySigBytes;\n\t var keyByte = (keyWords[keyByteIndex >>> 2] >>> (24 - (keyByteIndex % 4) * 8)) & 0xff;\n\n\t j = (j + S[i] + keyByte) % 256;\n\n\t // Swap\n\t var t = S[i];\n\t S[i] = S[j];\n\t S[j] = t;\n\t }\n\n\t // Counters\n\t this._i = this._j = 0;\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t M[offset] ^= generateKeystreamWord.call(this);\n\t },\n\n\t keySize: 256/32,\n\n\t ivSize: 0\n\t });\n\n\t function generateKeystreamWord() {\n\t // Shortcuts\n\t var S = this._S;\n\t var i = this._i;\n\t var j = this._j;\n\n\t // Generate keystream word\n\t var keystreamWord = 0;\n\t for (var n = 0; n < 4; n++) {\n\t i = (i + 1) % 256;\n\t j = (j + S[i]) % 256;\n\n\t // Swap\n\t var t = S[i];\n\t S[i] = S[j];\n\t S[j] = t;\n\n\t keystreamWord |= S[(S[i] + S[j]) % 256] << (24 - n * 8);\n\t }\n\n\t // Update counters\n\t this._i = i;\n\t this._j = j;\n\n\t return keystreamWord;\n\t }\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.RC4.decrypt(ciphertext, key, cfg);\n\t */\n\t C.RC4 = StreamCipher._createHelper(RC4);\n\n\t /**\n\t * Modified RC4 stream cipher algorithm.\n\t */\n\t var RC4Drop = C_algo.RC4Drop = RC4.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {number} drop The number of keystream words to drop. Default 192\n\t */\n\t cfg: RC4.cfg.extend({\n\t drop: 192\n\t }),\n\n\t _doReset: function () {\n\t RC4._doReset.call(this);\n\n\t // Drop\n\t for (var i = this.cfg.drop; i > 0; i--) {\n\t generateKeystreamWord.call(this);\n\t }\n\t }\n\t });\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg);\n\t */\n\t C.RC4Drop = StreamCipher._createHelper(RC4Drop);\n\t}());\n\n\n\treturn CryptoJS.RC4;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/** @preserve\n\t(c) 2012 by Cédric Mesnil. All rights reserved.\n\n\tRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n\t - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\t - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n\tTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t*/\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Constants table\n\t var _zl = WordArray.create([\n\t 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n\t 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n\t 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n\t 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n\t 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]);\n\t var _zr = WordArray.create([\n\t 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n\t 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n\t 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n\t 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n\t 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]);\n\t var _sl = WordArray.create([\n\t 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n\t 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n\t 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n\t 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n\t 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 ]);\n\t var _sr = WordArray.create([\n\t 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n\t 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n\t 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n\t 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n\t 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ]);\n\n\t var _hl = WordArray.create([ 0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]);\n\t var _hr = WordArray.create([ 0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]);\n\n\t /**\n\t * RIPEMD160 hash algorithm.\n\t */\n\t var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\n\t // Swap endian\n\t for (var i = 0; i < 16; i++) {\n\t // Shortcuts\n\t var offset_i = offset + i;\n\t var M_offset_i = M[offset_i];\n\n\t // Swap\n\t M[offset_i] = (\n\t (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |\n\t (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)\n\t );\n\t }\n\t // Shortcut\n\t var H = this._hash.words;\n\t var hl = _hl.words;\n\t var hr = _hr.words;\n\t var zl = _zl.words;\n\t var zr = _zr.words;\n\t var sl = _sl.words;\n\t var sr = _sr.words;\n\n\t // Working variables\n\t var al, bl, cl, dl, el;\n\t var ar, br, cr, dr, er;\n\n\t ar = al = H[0];\n\t br = bl = H[1];\n\t cr = cl = H[2];\n\t dr = dl = H[3];\n\t er = el = H[4];\n\t // Computation\n\t var t;\n\t for (var i = 0; i < 80; i += 1) {\n\t t = (al + M[offset+zl[i]])|0;\n\t if (i<16){\n\t\t t += f1(bl,cl,dl) + hl[0];\n\t } else if (i<32) {\n\t\t t += f2(bl,cl,dl) + hl[1];\n\t } else if (i<48) {\n\t\t t += f3(bl,cl,dl) + hl[2];\n\t } else if (i<64) {\n\t\t t += f4(bl,cl,dl) + hl[3];\n\t } else {// if (i<80) {\n\t\t t += f5(bl,cl,dl) + hl[4];\n\t }\n\t t = t|0;\n\t t = rotl(t,sl[i]);\n\t t = (t+el)|0;\n\t al = el;\n\t el = dl;\n\t dl = rotl(cl, 10);\n\t cl = bl;\n\t bl = t;\n\n\t t = (ar + M[offset+zr[i]])|0;\n\t if (i<16){\n\t\t t += f5(br,cr,dr) + hr[0];\n\t } else if (i<32) {\n\t\t t += f4(br,cr,dr) + hr[1];\n\t } else if (i<48) {\n\t\t t += f3(br,cr,dr) + hr[2];\n\t } else if (i<64) {\n\t\t t += f2(br,cr,dr) + hr[3];\n\t } else {// if (i<80) {\n\t\t t += f1(br,cr,dr) + hr[4];\n\t }\n\t t = t|0;\n\t t = rotl(t,sr[i]) ;\n\t t = (t+er)|0;\n\t ar = er;\n\t er = dr;\n\t dr = rotl(cr, 10);\n\t cr = br;\n\t br = t;\n\t }\n\t // Intermediate hash value\n\t t = (H[1] + cl + dr)|0;\n\t H[1] = (H[2] + dl + er)|0;\n\t H[2] = (H[3] + el + ar)|0;\n\t H[3] = (H[4] + al + br)|0;\n\t H[4] = (H[0] + bl + cr)|0;\n\t H[0] = t;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (\n\t (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00)\n\t );\n\t data.sigBytes = (dataWords.length + 1) * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Shortcuts\n\t var hash = this._hash;\n\t var H = hash.words;\n\n\t // Swap endian\n\t for (var i = 0; i < 5; i++) {\n\t // Shortcut\n\t var H_i = H[i];\n\n\t // Swap\n\t H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |\n\t (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);\n\t }\n\n\t // Return final computed hash\n\t return hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\n\t function f1(x, y, z) {\n\t return ((x) ^ (y) ^ (z));\n\n\t }\n\n\t function f2(x, y, z) {\n\t return (((x)&(y)) | ((~x)&(z)));\n\t }\n\n\t function f3(x, y, z) {\n\t return (((x) | (~(y))) ^ (z));\n\t }\n\n\t function f4(x, y, z) {\n\t return (((x) & (z)) | ((y)&(~(z))));\n\t }\n\n\t function f5(x, y, z) {\n\t return ((x) ^ ((y) |(~(z))));\n\n\t }\n\n\t function rotl(x,n) {\n\t return (x<>>(32-n));\n\t }\n\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.RIPEMD160('message');\n\t * var hash = CryptoJS.RIPEMD160(wordArray);\n\t */\n\t C.RIPEMD160 = Hasher._createHelper(RIPEMD160);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacRIPEMD160(message, key);\n\t */\n\t C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160);\n\t}(Math));\n\n\n\treturn CryptoJS.RIPEMD160;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-1 hash algorithm.\n\t */\n\t var SHA1 = C_algo.SHA1 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0x67452301, 0xefcdab89,\n\t 0x98badcfe, 0x10325476,\n\t 0xc3d2e1f0\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\n\t // Computation\n\t for (var i = 0; i < 80; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\n\t W[i] = (n << 1) | (n >>> 31);\n\t }\n\n\t var t = ((a << 5) | (a >>> 27)) + e + W[i];\n\t if (i < 20) {\n\t t += ((b & c) | (~b & d)) + 0x5a827999;\n\t } else if (i < 40) {\n\t t += (b ^ c ^ d) + 0x6ed9eba1;\n\t } else if (i < 60) {\n\t t += ((b & c) | (b & d) | (c & d)) - 0x70e44324;\n\t } else /* if (i < 80) */ {\n\t t += (b ^ c ^ d) - 0x359d3e2a;\n\t }\n\n\t e = d;\n\t d = c;\n\t c = (b << 30) | (b >>> 2);\n\t b = a;\n\t a = t;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA1('message');\n\t * var hash = CryptoJS.SHA1(wordArray);\n\t */\n\t C.SHA1 = Hasher._createHelper(SHA1);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA1(message, key);\n\t */\n\t C.HmacSHA1 = Hasher._createHmacHelper(SHA1);\n\t}());\n\n\n\treturn CryptoJS.SHA1;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha256\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha256\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_algo = C.algo;\n\t var SHA256 = C_algo.SHA256;\n\n\t /**\n\t * SHA-224 hash algorithm.\n\t */\n\t var SHA224 = C_algo.SHA224 = SHA256.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n\t 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4\n\t ]);\n\t },\n\n\t _doFinalize: function () {\n\t var hash = SHA256._doFinalize.call(this);\n\n\t hash.sigBytes -= 4;\n\n\t return hash;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA224('message');\n\t * var hash = CryptoJS.SHA224(wordArray);\n\t */\n\t C.SHA224 = SHA256._createHelper(SHA224);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA224(message, key);\n\t */\n\t C.HmacSHA224 = SHA256._createHmacHelper(SHA224);\n\t}());\n\n\n\treturn CryptoJS.SHA224;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Initialization and round constants tables\n\t var H = [];\n\t var K = [];\n\n\t // Compute constants\n\t (function () {\n\t function isPrime(n) {\n\t var sqrtN = Math.sqrt(n);\n\t for (var factor = 2; factor <= sqrtN; factor++) {\n\t if (!(n % factor)) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t }\n\n\t function getFractionalBits(n) {\n\t return ((n - (n | 0)) * 0x100000000) | 0;\n\t }\n\n\t var n = 2;\n\t var nPrime = 0;\n\t while (nPrime < 64) {\n\t if (isPrime(n)) {\n\t if (nPrime < 8) {\n\t H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n\t }\n\t K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n\n\t nPrime++;\n\t }\n\n\t n++;\n\t }\n\t }());\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-256 hash algorithm.\n\t */\n\t var SHA256 = C_algo.SHA256 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init(H.slice(0));\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\t var f = H[5];\n\t var g = H[6];\n\t var h = H[7];\n\n\t // Computation\n\t for (var i = 0; i < 64; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var gamma0x = W[i - 15];\n\t var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^\n\t ((gamma0x << 14) | (gamma0x >>> 18)) ^\n\t (gamma0x >>> 3);\n\n\t var gamma1x = W[i - 2];\n\t var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^\n\t ((gamma1x << 13) | (gamma1x >>> 19)) ^\n\t (gamma1x >>> 10);\n\n\t W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n\t }\n\n\t var ch = (e & f) ^ (~e & g);\n\t var maj = (a & b) ^ (a & c) ^ (b & c);\n\n\t var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));\n\t var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));\n\n\t var t1 = h + sigma1 + ch + K[i] + W[i];\n\t var t2 = sigma0 + maj;\n\n\t h = g;\n\t g = f;\n\t f = e;\n\t e = (d + t1) | 0;\n\t d = c;\n\t c = b;\n\t b = a;\n\t a = (t1 + t2) | 0;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t H[5] = (H[5] + f) | 0;\n\t H[6] = (H[6] + g) | 0;\n\t H[7] = (H[7] + h) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA256('message');\n\t * var hash = CryptoJS.SHA256(wordArray);\n\t */\n\t C.SHA256 = Hasher._createHelper(SHA256);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA256(message, key);\n\t */\n\t C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA256;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_x64 = C.x64;\n\t var X64Word = C_x64.Word;\n\t var C_algo = C.algo;\n\n\t // Constants tables\n\t var RHO_OFFSETS = [];\n\t var PI_INDEXES = [];\n\t var ROUND_CONSTANTS = [];\n\n\t // Compute Constants\n\t (function () {\n\t // Compute rho offset constants\n\t var x = 1, y = 0;\n\t for (var t = 0; t < 24; t++) {\n\t RHO_OFFSETS[x + 5 * y] = ((t + 1) * (t + 2) / 2) % 64;\n\n\t var newX = y % 5;\n\t var newY = (2 * x + 3 * y) % 5;\n\t x = newX;\n\t y = newY;\n\t }\n\n\t // Compute pi index constants\n\t for (var x = 0; x < 5; x++) {\n\t for (var y = 0; y < 5; y++) {\n\t PI_INDEXES[x + 5 * y] = y + ((2 * x + 3 * y) % 5) * 5;\n\t }\n\t }\n\n\t // Compute round constants\n\t var LFSR = 0x01;\n\t for (var i = 0; i < 24; i++) {\n\t var roundConstantMsw = 0;\n\t var roundConstantLsw = 0;\n\n\t for (var j = 0; j < 7; j++) {\n\t if (LFSR & 0x01) {\n\t var bitPosition = (1 << j) - 1;\n\t if (bitPosition < 32) {\n\t roundConstantLsw ^= 1 << bitPosition;\n\t } else /* if (bitPosition >= 32) */ {\n\t roundConstantMsw ^= 1 << (bitPosition - 32);\n\t }\n\t }\n\n\t // Compute next LFSR\n\t if (LFSR & 0x80) {\n\t // Primitive polynomial over GF(2): x^8 + x^6 + x^5 + x^4 + 1\n\t LFSR = (LFSR << 1) ^ 0x71;\n\t } else {\n\t LFSR <<= 1;\n\t }\n\t }\n\n\t ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw);\n\t }\n\t }());\n\n\t // Reusable objects for temporary values\n\t var T = [];\n\t (function () {\n\t for (var i = 0; i < 25; i++) {\n\t T[i] = X64Word.create();\n\t }\n\t }());\n\n\t /**\n\t * SHA-3 hash algorithm.\n\t */\n\t var SHA3 = C_algo.SHA3 = Hasher.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {number} outputLength\n\t * The desired number of bits in the output hash.\n\t * Only values permitted are: 224, 256, 384, 512.\n\t * Default: 512\n\t */\n\t cfg: Hasher.cfg.extend({\n\t outputLength: 512\n\t }),\n\n\t _doReset: function () {\n\t var state = this._state = []\n\t for (var i = 0; i < 25; i++) {\n\t state[i] = new X64Word.init();\n\t }\n\n\t this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcuts\n\t var state = this._state;\n\t var nBlockSizeLanes = this.blockSize / 2;\n\n\t // Absorb\n\t for (var i = 0; i < nBlockSizeLanes; i++) {\n\t // Shortcuts\n\t var M2i = M[offset + 2 * i];\n\t var M2i1 = M[offset + 2 * i + 1];\n\n\t // Swap endian\n\t M2i = (\n\t (((M2i << 8) | (M2i >>> 24)) & 0x00ff00ff) |\n\t (((M2i << 24) | (M2i >>> 8)) & 0xff00ff00)\n\t );\n\t M2i1 = (\n\t (((M2i1 << 8) | (M2i1 >>> 24)) & 0x00ff00ff) |\n\t (((M2i1 << 24) | (M2i1 >>> 8)) & 0xff00ff00)\n\t );\n\n\t // Absorb message into state\n\t var lane = state[i];\n\t lane.high ^= M2i1;\n\t lane.low ^= M2i;\n\t }\n\n\t // Rounds\n\t for (var round = 0; round < 24; round++) {\n\t // Theta\n\t for (var x = 0; x < 5; x++) {\n\t // Mix column lanes\n\t var tMsw = 0, tLsw = 0;\n\t for (var y = 0; y < 5; y++) {\n\t var lane = state[x + 5 * y];\n\t tMsw ^= lane.high;\n\t tLsw ^= lane.low;\n\t }\n\n\t // Temporary values\n\t var Tx = T[x];\n\t Tx.high = tMsw;\n\t Tx.low = tLsw;\n\t }\n\t for (var x = 0; x < 5; x++) {\n\t // Shortcuts\n\t var Tx4 = T[(x + 4) % 5];\n\t var Tx1 = T[(x + 1) % 5];\n\t var Tx1Msw = Tx1.high;\n\t var Tx1Lsw = Tx1.low;\n\n\t // Mix surrounding columns\n\t var tMsw = Tx4.high ^ ((Tx1Msw << 1) | (Tx1Lsw >>> 31));\n\t var tLsw = Tx4.low ^ ((Tx1Lsw << 1) | (Tx1Msw >>> 31));\n\t for (var y = 0; y < 5; y++) {\n\t var lane = state[x + 5 * y];\n\t lane.high ^= tMsw;\n\t lane.low ^= tLsw;\n\t }\n\t }\n\n\t // Rho Pi\n\t for (var laneIndex = 1; laneIndex < 25; laneIndex++) {\n\t var tMsw;\n\t var tLsw;\n\n\t // Shortcuts\n\t var lane = state[laneIndex];\n\t var laneMsw = lane.high;\n\t var laneLsw = lane.low;\n\t var rhoOffset = RHO_OFFSETS[laneIndex];\n\n\t // Rotate lanes\n\t if (rhoOffset < 32) {\n\t tMsw = (laneMsw << rhoOffset) | (laneLsw >>> (32 - rhoOffset));\n\t tLsw = (laneLsw << rhoOffset) | (laneMsw >>> (32 - rhoOffset));\n\t } else /* if (rhoOffset >= 32) */ {\n\t tMsw = (laneLsw << (rhoOffset - 32)) | (laneMsw >>> (64 - rhoOffset));\n\t tLsw = (laneMsw << (rhoOffset - 32)) | (laneLsw >>> (64 - rhoOffset));\n\t }\n\n\t // Transpose lanes\n\t var TPiLane = T[PI_INDEXES[laneIndex]];\n\t TPiLane.high = tMsw;\n\t TPiLane.low = tLsw;\n\t }\n\n\t // Rho pi at x = y = 0\n\t var T0 = T[0];\n\t var state0 = state[0];\n\t T0.high = state0.high;\n\t T0.low = state0.low;\n\n\t // Chi\n\t for (var x = 0; x < 5; x++) {\n\t for (var y = 0; y < 5; y++) {\n\t // Shortcuts\n\t var laneIndex = x + 5 * y;\n\t var lane = state[laneIndex];\n\t var TLane = T[laneIndex];\n\t var Tx1Lane = T[((x + 1) % 5) + 5 * y];\n\t var Tx2Lane = T[((x + 2) % 5) + 5 * y];\n\n\t // Mix rows\n\t lane.high = TLane.high ^ (~Tx1Lane.high & Tx2Lane.high);\n\t lane.low = TLane.low ^ (~Tx1Lane.low & Tx2Lane.low);\n\t }\n\t }\n\n\t // Iota\n\t var lane = state[0];\n\t var roundConstant = ROUND_CONSTANTS[round];\n\t lane.high ^= roundConstant.high;\n\t lane.low ^= roundConstant.low;\n\t }\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\t var blockSizeBits = this.blockSize * 32;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x1 << (24 - nBitsLeft % 32);\n\t dataWords[((Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits) >>> 5) - 1] |= 0x80;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Shortcuts\n\t var state = this._state;\n\t var outputLengthBytes = this.cfg.outputLength / 8;\n\t var outputLengthLanes = outputLengthBytes / 8;\n\n\t // Squeeze\n\t var hashWords = [];\n\t for (var i = 0; i < outputLengthLanes; i++) {\n\t // Shortcuts\n\t var lane = state[i];\n\t var laneMsw = lane.high;\n\t var laneLsw = lane.low;\n\n\t // Swap endian\n\t laneMsw = (\n\t (((laneMsw << 8) | (laneMsw >>> 24)) & 0x00ff00ff) |\n\t (((laneMsw << 24) | (laneMsw >>> 8)) & 0xff00ff00)\n\t );\n\t laneLsw = (\n\t (((laneLsw << 8) | (laneLsw >>> 24)) & 0x00ff00ff) |\n\t (((laneLsw << 24) | (laneLsw >>> 8)) & 0xff00ff00)\n\t );\n\n\t // Squeeze state to retrieve hash\n\t hashWords.push(laneLsw);\n\t hashWords.push(laneMsw);\n\t }\n\n\t // Return final computed hash\n\t return new WordArray.init(hashWords, outputLengthBytes);\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\n\t var state = clone._state = this._state.slice(0);\n\t for (var i = 0; i < 25; i++) {\n\t state[i] = state[i].clone();\n\t }\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA3('message');\n\t * var hash = CryptoJS.SHA3(wordArray);\n\t */\n\t C.SHA3 = Hasher._createHelper(SHA3);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA3(message, key);\n\t */\n\t C.HmacSHA3 = Hasher._createHmacHelper(SHA3);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA3;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"), require(\"./sha512\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\", \"./sha512\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_x64 = C.x64;\n\t var X64Word = C_x64.Word;\n\t var X64WordArray = C_x64.WordArray;\n\t var C_algo = C.algo;\n\t var SHA512 = C_algo.SHA512;\n\n\t /**\n\t * SHA-384 hash algorithm.\n\t */\n\t var SHA384 = C_algo.SHA384 = SHA512.extend({\n\t _doReset: function () {\n\t this._hash = new X64WordArray.init([\n\t new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507),\n\t new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939),\n\t new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511),\n\t new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4)\n\t ]);\n\t },\n\n\t _doFinalize: function () {\n\t var hash = SHA512._doFinalize.call(this);\n\n\t hash.sigBytes -= 16;\n\n\t return hash;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA384('message');\n\t * var hash = CryptoJS.SHA384(wordArray);\n\t */\n\t C.SHA384 = SHA512._createHelper(SHA384);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA384(message, key);\n\t */\n\t C.HmacSHA384 = SHA512._createHmacHelper(SHA384);\n\t}());\n\n\n\treturn CryptoJS.SHA384;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Hasher = C_lib.Hasher;\n\t var C_x64 = C.x64;\n\t var X64Word = C_x64.Word;\n\t var X64WordArray = C_x64.WordArray;\n\t var C_algo = C.algo;\n\n\t function X64Word_create() {\n\t return X64Word.create.apply(X64Word, arguments);\n\t }\n\n\t // Constants\n\t var K = [\n\t X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd),\n\t X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc),\n\t X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019),\n\t X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118),\n\t X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe),\n\t X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2),\n\t X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1),\n\t X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694),\n\t X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3),\n\t X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65),\n\t X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483),\n\t X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5),\n\t X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210),\n\t X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4),\n\t X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725),\n\t X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70),\n\t X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926),\n\t X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df),\n\t X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8),\n\t X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b),\n\t X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001),\n\t X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30),\n\t X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910),\n\t X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8),\n\t X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53),\n\t X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8),\n\t X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb),\n\t X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3),\n\t X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60),\n\t X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec),\n\t X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9),\n\t X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b),\n\t X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207),\n\t X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178),\n\t X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6),\n\t X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b),\n\t X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493),\n\t X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c),\n\t X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a),\n\t X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817)\n\t ];\n\n\t // Reusable objects\n\t var W = [];\n\t (function () {\n\t for (var i = 0; i < 80; i++) {\n\t W[i] = X64Word_create();\n\t }\n\t }());\n\n\t /**\n\t * SHA-512 hash algorithm.\n\t */\n\t var SHA512 = C_algo.SHA512 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new X64WordArray.init([\n\t new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b),\n\t new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1),\n\t new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f),\n\t new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179)\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcuts\n\t var H = this._hash.words;\n\n\t var H0 = H[0];\n\t var H1 = H[1];\n\t var H2 = H[2];\n\t var H3 = H[3];\n\t var H4 = H[4];\n\t var H5 = H[5];\n\t var H6 = H[6];\n\t var H7 = H[7];\n\n\t var H0h = H0.high;\n\t var H0l = H0.low;\n\t var H1h = H1.high;\n\t var H1l = H1.low;\n\t var H2h = H2.high;\n\t var H2l = H2.low;\n\t var H3h = H3.high;\n\t var H3l = H3.low;\n\t var H4h = H4.high;\n\t var H4l = H4.low;\n\t var H5h = H5.high;\n\t var H5l = H5.low;\n\t var H6h = H6.high;\n\t var H6l = H6.low;\n\t var H7h = H7.high;\n\t var H7l = H7.low;\n\n\t // Working variables\n\t var ah = H0h;\n\t var al = H0l;\n\t var bh = H1h;\n\t var bl = H1l;\n\t var ch = H2h;\n\t var cl = H2l;\n\t var dh = H3h;\n\t var dl = H3l;\n\t var eh = H4h;\n\t var el = H4l;\n\t var fh = H5h;\n\t var fl = H5l;\n\t var gh = H6h;\n\t var gl = H6l;\n\t var hh = H7h;\n\t var hl = H7l;\n\n\t // Rounds\n\t for (var i = 0; i < 80; i++) {\n\t var Wil;\n\t var Wih;\n\n\t // Shortcut\n\t var Wi = W[i];\n\n\t // Extend message\n\t if (i < 16) {\n\t Wih = Wi.high = M[offset + i * 2] | 0;\n\t Wil = Wi.low = M[offset + i * 2 + 1] | 0;\n\t } else {\n\t // Gamma0\n\t var gamma0x = W[i - 15];\n\t var gamma0xh = gamma0x.high;\n\t var gamma0xl = gamma0x.low;\n\t var gamma0h = ((gamma0xh >>> 1) | (gamma0xl << 31)) ^ ((gamma0xh >>> 8) | (gamma0xl << 24)) ^ (gamma0xh >>> 7);\n\t var gamma0l = ((gamma0xl >>> 1) | (gamma0xh << 31)) ^ ((gamma0xl >>> 8) | (gamma0xh << 24)) ^ ((gamma0xl >>> 7) | (gamma0xh << 25));\n\n\t // Gamma1\n\t var gamma1x = W[i - 2];\n\t var gamma1xh = gamma1x.high;\n\t var gamma1xl = gamma1x.low;\n\t var gamma1h = ((gamma1xh >>> 19) | (gamma1xl << 13)) ^ ((gamma1xh << 3) | (gamma1xl >>> 29)) ^ (gamma1xh >>> 6);\n\t var gamma1l = ((gamma1xl >>> 19) | (gamma1xh << 13)) ^ ((gamma1xl << 3) | (gamma1xh >>> 29)) ^ ((gamma1xl >>> 6) | (gamma1xh << 26));\n\n\t // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n\t var Wi7 = W[i - 7];\n\t var Wi7h = Wi7.high;\n\t var Wi7l = Wi7.low;\n\n\t var Wi16 = W[i - 16];\n\t var Wi16h = Wi16.high;\n\t var Wi16l = Wi16.low;\n\n\t Wil = gamma0l + Wi7l;\n\t Wih = gamma0h + Wi7h + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0);\n\t Wil = Wil + gamma1l;\n\t Wih = Wih + gamma1h + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0);\n\t Wil = Wil + Wi16l;\n\t Wih = Wih + Wi16h + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0);\n\n\t Wi.high = Wih;\n\t Wi.low = Wil;\n\t }\n\n\t var chh = (eh & fh) ^ (~eh & gh);\n\t var chl = (el & fl) ^ (~el & gl);\n\t var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);\n\t var majl = (al & bl) ^ (al & cl) ^ (bl & cl);\n\n\t var sigma0h = ((ah >>> 28) | (al << 4)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));\n\t var sigma0l = ((al >>> 28) | (ah << 4)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));\n\t var sigma1h = ((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9));\n\t var sigma1l = ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9));\n\n\t // t1 = h + sigma1 + ch + K[i] + W[i]\n\t var Ki = K[i];\n\t var Kih = Ki.high;\n\t var Kil = Ki.low;\n\n\t var t1l = hl + sigma1l;\n\t var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0);\n\t var t1l = t1l + chl;\n\t var t1h = t1h + chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0);\n\t var t1l = t1l + Kil;\n\t var t1h = t1h + Kih + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0);\n\t var t1l = t1l + Wil;\n\t var t1h = t1h + Wih + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0);\n\n\t // t2 = sigma0 + maj\n\t var t2l = sigma0l + majl;\n\t var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0);\n\n\t // Update working variables\n\t hh = gh;\n\t hl = gl;\n\t gh = fh;\n\t gl = fl;\n\t fh = eh;\n\t fl = el;\n\t el = (dl + t1l) | 0;\n\t eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;\n\t dh = ch;\n\t dl = cl;\n\t ch = bh;\n\t cl = bl;\n\t bh = ah;\n\t bl = al;\n\t al = (t1l + t2l) | 0;\n\t ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0;\n\t }\n\n\t // Intermediate hash value\n\t H0l = H0.low = (H0l + al);\n\t H0.high = (H0h + ah + ((H0l >>> 0) < (al >>> 0) ? 1 : 0));\n\t H1l = H1.low = (H1l + bl);\n\t H1.high = (H1h + bh + ((H1l >>> 0) < (bl >>> 0) ? 1 : 0));\n\t H2l = H2.low = (H2l + cl);\n\t H2.high = (H2h + ch + ((H2l >>> 0) < (cl >>> 0) ? 1 : 0));\n\t H3l = H3.low = (H3l + dl);\n\t H3.high = (H3h + dh + ((H3l >>> 0) < (dl >>> 0) ? 1 : 0));\n\t H4l = H4.low = (H4l + el);\n\t H4.high = (H4h + eh + ((H4l >>> 0) < (el >>> 0) ? 1 : 0));\n\t H5l = H5.low = (H5l + fl);\n\t H5.high = (H5h + fh + ((H5l >>> 0) < (fl >>> 0) ? 1 : 0));\n\t H6l = H6.low = (H6l + gl);\n\t H6.high = (H6h + gh + ((H6l >>> 0) < (gl >>> 0) ? 1 : 0));\n\t H7l = H7.low = (H7l + hl);\n\t H7.high = (H7h + hh + ((H7l >>> 0) < (hl >>> 0) ? 1 : 0));\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 30] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 31] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Convert hash to 32-bit word array before returning\n\t var hash = this._hash.toX32();\n\n\t // Return final computed hash\n\t return hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t },\n\n\t blockSize: 1024/32\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA512('message');\n\t * var hash = CryptoJS.SHA512(wordArray);\n\t */\n\t C.SHA512 = Hasher._createHelper(SHA512);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA512(message, key);\n\t */\n\t C.HmacSHA512 = Hasher._createHmacHelper(SHA512);\n\t}());\n\n\n\treturn CryptoJS.SHA512;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var BlockCipher = C_lib.BlockCipher;\n\t var C_algo = C.algo;\n\n\t // Permuted Choice 1 constants\n\t var PC1 = [\n\t 57, 49, 41, 33, 25, 17, 9, 1,\n\t 58, 50, 42, 34, 26, 18, 10, 2,\n\t 59, 51, 43, 35, 27, 19, 11, 3,\n\t 60, 52, 44, 36, 63, 55, 47, 39,\n\t 31, 23, 15, 7, 62, 54, 46, 38,\n\t 30, 22, 14, 6, 61, 53, 45, 37,\n\t 29, 21, 13, 5, 28, 20, 12, 4\n\t ];\n\n\t // Permuted Choice 2 constants\n\t var PC2 = [\n\t 14, 17, 11, 24, 1, 5,\n\t 3, 28, 15, 6, 21, 10,\n\t 23, 19, 12, 4, 26, 8,\n\t 16, 7, 27, 20, 13, 2,\n\t 41, 52, 31, 37, 47, 55,\n\t 30, 40, 51, 45, 33, 48,\n\t 44, 49, 39, 56, 34, 53,\n\t 46, 42, 50, 36, 29, 32\n\t ];\n\n\t // Cumulative bit shift constants\n\t var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28];\n\n\t // SBOXes and round permutation constants\n\t var SBOX_P = [\n\t {\n\t 0x0: 0x808200,\n\t 0x10000000: 0x8000,\n\t 0x20000000: 0x808002,\n\t 0x30000000: 0x2,\n\t 0x40000000: 0x200,\n\t 0x50000000: 0x808202,\n\t 0x60000000: 0x800202,\n\t 0x70000000: 0x800000,\n\t 0x80000000: 0x202,\n\t 0x90000000: 0x800200,\n\t 0xa0000000: 0x8200,\n\t 0xb0000000: 0x808000,\n\t 0xc0000000: 0x8002,\n\t 0xd0000000: 0x800002,\n\t 0xe0000000: 0x0,\n\t 0xf0000000: 0x8202,\n\t 0x8000000: 0x0,\n\t 0x18000000: 0x808202,\n\t 0x28000000: 0x8202,\n\t 0x38000000: 0x8000,\n\t 0x48000000: 0x808200,\n\t 0x58000000: 0x200,\n\t 0x68000000: 0x808002,\n\t 0x78000000: 0x2,\n\t 0x88000000: 0x800200,\n\t 0x98000000: 0x8200,\n\t 0xa8000000: 0x808000,\n\t 0xb8000000: 0x800202,\n\t 0xc8000000: 0x800002,\n\t 0xd8000000: 0x8002,\n\t 0xe8000000: 0x202,\n\t 0xf8000000: 0x800000,\n\t 0x1: 0x8000,\n\t 0x10000001: 0x2,\n\t 0x20000001: 0x808200,\n\t 0x30000001: 0x800000,\n\t 0x40000001: 0x808002,\n\t 0x50000001: 0x8200,\n\t 0x60000001: 0x200,\n\t 0x70000001: 0x800202,\n\t 0x80000001: 0x808202,\n\t 0x90000001: 0x808000,\n\t 0xa0000001: 0x800002,\n\t 0xb0000001: 0x8202,\n\t 0xc0000001: 0x202,\n\t 0xd0000001: 0x800200,\n\t 0xe0000001: 0x8002,\n\t 0xf0000001: 0x0,\n\t 0x8000001: 0x808202,\n\t 0x18000001: 0x808000,\n\t 0x28000001: 0x800000,\n\t 0x38000001: 0x200,\n\t 0x48000001: 0x8000,\n\t 0x58000001: 0x800002,\n\t 0x68000001: 0x2,\n\t 0x78000001: 0x8202,\n\t 0x88000001: 0x8002,\n\t 0x98000001: 0x800202,\n\t 0xa8000001: 0x202,\n\t 0xb8000001: 0x808200,\n\t 0xc8000001: 0x800200,\n\t 0xd8000001: 0x0,\n\t 0xe8000001: 0x8200,\n\t 0xf8000001: 0x808002\n\t },\n\t {\n\t 0x0: 0x40084010,\n\t 0x1000000: 0x4000,\n\t 0x2000000: 0x80000,\n\t 0x3000000: 0x40080010,\n\t 0x4000000: 0x40000010,\n\t 0x5000000: 0x40084000,\n\t 0x6000000: 0x40004000,\n\t 0x7000000: 0x10,\n\t 0x8000000: 0x84000,\n\t 0x9000000: 0x40004010,\n\t 0xa000000: 0x40000000,\n\t 0xb000000: 0x84010,\n\t 0xc000000: 0x80010,\n\t 0xd000000: 0x0,\n\t 0xe000000: 0x4010,\n\t 0xf000000: 0x40080000,\n\t 0x800000: 0x40004000,\n\t 0x1800000: 0x84010,\n\t 0x2800000: 0x10,\n\t 0x3800000: 0x40004010,\n\t 0x4800000: 0x40084010,\n\t 0x5800000: 0x40000000,\n\t 0x6800000: 0x80000,\n\t 0x7800000: 0x40080010,\n\t 0x8800000: 0x80010,\n\t 0x9800000: 0x0,\n\t 0xa800000: 0x4000,\n\t 0xb800000: 0x40080000,\n\t 0xc800000: 0x40000010,\n\t 0xd800000: 0x84000,\n\t 0xe800000: 0x40084000,\n\t 0xf800000: 0x4010,\n\t 0x10000000: 0x0,\n\t 0x11000000: 0x40080010,\n\t 0x12000000: 0x40004010,\n\t 0x13000000: 0x40084000,\n\t 0x14000000: 0x40080000,\n\t 0x15000000: 0x10,\n\t 0x16000000: 0x84010,\n\t 0x17000000: 0x4000,\n\t 0x18000000: 0x4010,\n\t 0x19000000: 0x80000,\n\t 0x1a000000: 0x80010,\n\t 0x1b000000: 0x40000010,\n\t 0x1c000000: 0x84000,\n\t 0x1d000000: 0x40004000,\n\t 0x1e000000: 0x40000000,\n\t 0x1f000000: 0x40084010,\n\t 0x10800000: 0x84010,\n\t 0x11800000: 0x80000,\n\t 0x12800000: 0x40080000,\n\t 0x13800000: 0x4000,\n\t 0x14800000: 0x40004000,\n\t 0x15800000: 0x40084010,\n\t 0x16800000: 0x10,\n\t 0x17800000: 0x40000000,\n\t 0x18800000: 0x40084000,\n\t 0x19800000: 0x40000010,\n\t 0x1a800000: 0x40004010,\n\t 0x1b800000: 0x80010,\n\t 0x1c800000: 0x0,\n\t 0x1d800000: 0x4010,\n\t 0x1e800000: 0x40080010,\n\t 0x1f800000: 0x84000\n\t },\n\t {\n\t 0x0: 0x104,\n\t 0x100000: 0x0,\n\t 0x200000: 0x4000100,\n\t 0x300000: 0x10104,\n\t 0x400000: 0x10004,\n\t 0x500000: 0x4000004,\n\t 0x600000: 0x4010104,\n\t 0x700000: 0x4010000,\n\t 0x800000: 0x4000000,\n\t 0x900000: 0x4010100,\n\t 0xa00000: 0x10100,\n\t 0xb00000: 0x4010004,\n\t 0xc00000: 0x4000104,\n\t 0xd00000: 0x10000,\n\t 0xe00000: 0x4,\n\t 0xf00000: 0x100,\n\t 0x80000: 0x4010100,\n\t 0x180000: 0x4010004,\n\t 0x280000: 0x0,\n\t 0x380000: 0x4000100,\n\t 0x480000: 0x4000004,\n\t 0x580000: 0x10000,\n\t 0x680000: 0x10004,\n\t 0x780000: 0x104,\n\t 0x880000: 0x4,\n\t 0x980000: 0x100,\n\t 0xa80000: 0x4010000,\n\t 0xb80000: 0x10104,\n\t 0xc80000: 0x10100,\n\t 0xd80000: 0x4000104,\n\t 0xe80000: 0x4010104,\n\t 0xf80000: 0x4000000,\n\t 0x1000000: 0x4010100,\n\t 0x1100000: 0x10004,\n\t 0x1200000: 0x10000,\n\t 0x1300000: 0x4000100,\n\t 0x1400000: 0x100,\n\t 0x1500000: 0x4010104,\n\t 0x1600000: 0x4000004,\n\t 0x1700000: 0x0,\n\t 0x1800000: 0x4000104,\n\t 0x1900000: 0x4000000,\n\t 0x1a00000: 0x4,\n\t 0x1b00000: 0x10100,\n\t 0x1c00000: 0x4010000,\n\t 0x1d00000: 0x104,\n\t 0x1e00000: 0x10104,\n\t 0x1f00000: 0x4010004,\n\t 0x1080000: 0x4000000,\n\t 0x1180000: 0x104,\n\t 0x1280000: 0x4010100,\n\t 0x1380000: 0x0,\n\t 0x1480000: 0x10004,\n\t 0x1580000: 0x4000100,\n\t 0x1680000: 0x100,\n\t 0x1780000: 0x4010004,\n\t 0x1880000: 0x10000,\n\t 0x1980000: 0x4010104,\n\t 0x1a80000: 0x10104,\n\t 0x1b80000: 0x4000004,\n\t 0x1c80000: 0x4000104,\n\t 0x1d80000: 0x4010000,\n\t 0x1e80000: 0x4,\n\t 0x1f80000: 0x10100\n\t },\n\t {\n\t 0x0: 0x80401000,\n\t 0x10000: 0x80001040,\n\t 0x20000: 0x401040,\n\t 0x30000: 0x80400000,\n\t 0x40000: 0x0,\n\t 0x50000: 0x401000,\n\t 0x60000: 0x80000040,\n\t 0x70000: 0x400040,\n\t 0x80000: 0x80000000,\n\t 0x90000: 0x400000,\n\t 0xa0000: 0x40,\n\t 0xb0000: 0x80001000,\n\t 0xc0000: 0x80400040,\n\t 0xd0000: 0x1040,\n\t 0xe0000: 0x1000,\n\t 0xf0000: 0x80401040,\n\t 0x8000: 0x80001040,\n\t 0x18000: 0x40,\n\t 0x28000: 0x80400040,\n\t 0x38000: 0x80001000,\n\t 0x48000: 0x401000,\n\t 0x58000: 0x80401040,\n\t 0x68000: 0x0,\n\t 0x78000: 0x80400000,\n\t 0x88000: 0x1000,\n\t 0x98000: 0x80401000,\n\t 0xa8000: 0x400000,\n\t 0xb8000: 0x1040,\n\t 0xc8000: 0x80000000,\n\t 0xd8000: 0x400040,\n\t 0xe8000: 0x401040,\n\t 0xf8000: 0x80000040,\n\t 0x100000: 0x400040,\n\t 0x110000: 0x401000,\n\t 0x120000: 0x80000040,\n\t 0x130000: 0x0,\n\t 0x140000: 0x1040,\n\t 0x150000: 0x80400040,\n\t 0x160000: 0x80401000,\n\t 0x170000: 0x80001040,\n\t 0x180000: 0x80401040,\n\t 0x190000: 0x80000000,\n\t 0x1a0000: 0x80400000,\n\t 0x1b0000: 0x401040,\n\t 0x1c0000: 0x80001000,\n\t 0x1d0000: 0x400000,\n\t 0x1e0000: 0x40,\n\t 0x1f0000: 0x1000,\n\t 0x108000: 0x80400000,\n\t 0x118000: 0x80401040,\n\t 0x128000: 0x0,\n\t 0x138000: 0x401000,\n\t 0x148000: 0x400040,\n\t 0x158000: 0x80000000,\n\t 0x168000: 0x80001040,\n\t 0x178000: 0x40,\n\t 0x188000: 0x80000040,\n\t 0x198000: 0x1000,\n\t 0x1a8000: 0x80001000,\n\t 0x1b8000: 0x80400040,\n\t 0x1c8000: 0x1040,\n\t 0x1d8000: 0x80401000,\n\t 0x1e8000: 0x400000,\n\t 0x1f8000: 0x401040\n\t },\n\t {\n\t 0x0: 0x80,\n\t 0x1000: 0x1040000,\n\t 0x2000: 0x40000,\n\t 0x3000: 0x20000000,\n\t 0x4000: 0x20040080,\n\t 0x5000: 0x1000080,\n\t 0x6000: 0x21000080,\n\t 0x7000: 0x40080,\n\t 0x8000: 0x1000000,\n\t 0x9000: 0x20040000,\n\t 0xa000: 0x20000080,\n\t 0xb000: 0x21040080,\n\t 0xc000: 0x21040000,\n\t 0xd000: 0x0,\n\t 0xe000: 0x1040080,\n\t 0xf000: 0x21000000,\n\t 0x800: 0x1040080,\n\t 0x1800: 0x21000080,\n\t 0x2800: 0x80,\n\t 0x3800: 0x1040000,\n\t 0x4800: 0x40000,\n\t 0x5800: 0x20040080,\n\t 0x6800: 0x21040000,\n\t 0x7800: 0x20000000,\n\t 0x8800: 0x20040000,\n\t 0x9800: 0x0,\n\t 0xa800: 0x21040080,\n\t 0xb800: 0x1000080,\n\t 0xc800: 0x20000080,\n\t 0xd800: 0x21000000,\n\t 0xe800: 0x1000000,\n\t 0xf800: 0x40080,\n\t 0x10000: 0x40000,\n\t 0x11000: 0x80,\n\t 0x12000: 0x20000000,\n\t 0x13000: 0x21000080,\n\t 0x14000: 0x1000080,\n\t 0x15000: 0x21040000,\n\t 0x16000: 0x20040080,\n\t 0x17000: 0x1000000,\n\t 0x18000: 0x21040080,\n\t 0x19000: 0x21000000,\n\t 0x1a000: 0x1040000,\n\t 0x1b000: 0x20040000,\n\t 0x1c000: 0x40080,\n\t 0x1d000: 0x20000080,\n\t 0x1e000: 0x0,\n\t 0x1f000: 0x1040080,\n\t 0x10800: 0x21000080,\n\t 0x11800: 0x1000000,\n\t 0x12800: 0x1040000,\n\t 0x13800: 0x20040080,\n\t 0x14800: 0x20000000,\n\t 0x15800: 0x1040080,\n\t 0x16800: 0x80,\n\t 0x17800: 0x21040000,\n\t 0x18800: 0x40080,\n\t 0x19800: 0x21040080,\n\t 0x1a800: 0x0,\n\t 0x1b800: 0x21000000,\n\t 0x1c800: 0x1000080,\n\t 0x1d800: 0x40000,\n\t 0x1e800: 0x20040000,\n\t 0x1f800: 0x20000080\n\t },\n\t {\n\t 0x0: 0x10000008,\n\t 0x100: 0x2000,\n\t 0x200: 0x10200000,\n\t 0x300: 0x10202008,\n\t 0x400: 0x10002000,\n\t 0x500: 0x200000,\n\t 0x600: 0x200008,\n\t 0x700: 0x10000000,\n\t 0x800: 0x0,\n\t 0x900: 0x10002008,\n\t 0xa00: 0x202000,\n\t 0xb00: 0x8,\n\t 0xc00: 0x10200008,\n\t 0xd00: 0x202008,\n\t 0xe00: 0x2008,\n\t 0xf00: 0x10202000,\n\t 0x80: 0x10200000,\n\t 0x180: 0x10202008,\n\t 0x280: 0x8,\n\t 0x380: 0x200000,\n\t 0x480: 0x202008,\n\t 0x580: 0x10000008,\n\t 0x680: 0x10002000,\n\t 0x780: 0x2008,\n\t 0x880: 0x200008,\n\t 0x980: 0x2000,\n\t 0xa80: 0x10002008,\n\t 0xb80: 0x10200008,\n\t 0xc80: 0x0,\n\t 0xd80: 0x10202000,\n\t 0xe80: 0x202000,\n\t 0xf80: 0x10000000,\n\t 0x1000: 0x10002000,\n\t 0x1100: 0x10200008,\n\t 0x1200: 0x10202008,\n\t 0x1300: 0x2008,\n\t 0x1400: 0x200000,\n\t 0x1500: 0x10000000,\n\t 0x1600: 0x10000008,\n\t 0x1700: 0x202000,\n\t 0x1800: 0x202008,\n\t 0x1900: 0x0,\n\t 0x1a00: 0x8,\n\t 0x1b00: 0x10200000,\n\t 0x1c00: 0x2000,\n\t 0x1d00: 0x10002008,\n\t 0x1e00: 0x10202000,\n\t 0x1f00: 0x200008,\n\t 0x1080: 0x8,\n\t 0x1180: 0x202000,\n\t 0x1280: 0x200000,\n\t 0x1380: 0x10000008,\n\t 0x1480: 0x10002000,\n\t 0x1580: 0x2008,\n\t 0x1680: 0x10202008,\n\t 0x1780: 0x10200000,\n\t 0x1880: 0x10202000,\n\t 0x1980: 0x10200008,\n\t 0x1a80: 0x2000,\n\t 0x1b80: 0x202008,\n\t 0x1c80: 0x200008,\n\t 0x1d80: 0x0,\n\t 0x1e80: 0x10000000,\n\t 0x1f80: 0x10002008\n\t },\n\t {\n\t 0x0: 0x100000,\n\t 0x10: 0x2000401,\n\t 0x20: 0x400,\n\t 0x30: 0x100401,\n\t 0x40: 0x2100401,\n\t 0x50: 0x0,\n\t 0x60: 0x1,\n\t 0x70: 0x2100001,\n\t 0x80: 0x2000400,\n\t 0x90: 0x100001,\n\t 0xa0: 0x2000001,\n\t 0xb0: 0x2100400,\n\t 0xc0: 0x2100000,\n\t 0xd0: 0x401,\n\t 0xe0: 0x100400,\n\t 0xf0: 0x2000000,\n\t 0x8: 0x2100001,\n\t 0x18: 0x0,\n\t 0x28: 0x2000401,\n\t 0x38: 0x2100400,\n\t 0x48: 0x100000,\n\t 0x58: 0x2000001,\n\t 0x68: 0x2000000,\n\t 0x78: 0x401,\n\t 0x88: 0x100401,\n\t 0x98: 0x2000400,\n\t 0xa8: 0x2100000,\n\t 0xb8: 0x100001,\n\t 0xc8: 0x400,\n\t 0xd8: 0x2100401,\n\t 0xe8: 0x1,\n\t 0xf8: 0x100400,\n\t 0x100: 0x2000000,\n\t 0x110: 0x100000,\n\t 0x120: 0x2000401,\n\t 0x130: 0x2100001,\n\t 0x140: 0x100001,\n\t 0x150: 0x2000400,\n\t 0x160: 0x2100400,\n\t 0x170: 0x100401,\n\t 0x180: 0x401,\n\t 0x190: 0x2100401,\n\t 0x1a0: 0x100400,\n\t 0x1b0: 0x1,\n\t 0x1c0: 0x0,\n\t 0x1d0: 0x2100000,\n\t 0x1e0: 0x2000001,\n\t 0x1f0: 0x400,\n\t 0x108: 0x100400,\n\t 0x118: 0x2000401,\n\t 0x128: 0x2100001,\n\t 0x138: 0x1,\n\t 0x148: 0x2000000,\n\t 0x158: 0x100000,\n\t 0x168: 0x401,\n\t 0x178: 0x2100400,\n\t 0x188: 0x2000001,\n\t 0x198: 0x2100000,\n\t 0x1a8: 0x0,\n\t 0x1b8: 0x2100401,\n\t 0x1c8: 0x100401,\n\t 0x1d8: 0x400,\n\t 0x1e8: 0x2000400,\n\t 0x1f8: 0x100001\n\t },\n\t {\n\t 0x0: 0x8000820,\n\t 0x1: 0x20000,\n\t 0x2: 0x8000000,\n\t 0x3: 0x20,\n\t 0x4: 0x20020,\n\t 0x5: 0x8020820,\n\t 0x6: 0x8020800,\n\t 0x7: 0x800,\n\t 0x8: 0x8020000,\n\t 0x9: 0x8000800,\n\t 0xa: 0x20800,\n\t 0xb: 0x8020020,\n\t 0xc: 0x820,\n\t 0xd: 0x0,\n\t 0xe: 0x8000020,\n\t 0xf: 0x20820,\n\t 0x80000000: 0x800,\n\t 0x80000001: 0x8020820,\n\t 0x80000002: 0x8000820,\n\t 0x80000003: 0x8000000,\n\t 0x80000004: 0x8020000,\n\t 0x80000005: 0x20800,\n\t 0x80000006: 0x20820,\n\t 0x80000007: 0x20,\n\t 0x80000008: 0x8000020,\n\t 0x80000009: 0x820,\n\t 0x8000000a: 0x20020,\n\t 0x8000000b: 0x8020800,\n\t 0x8000000c: 0x0,\n\t 0x8000000d: 0x8020020,\n\t 0x8000000e: 0x8000800,\n\t 0x8000000f: 0x20000,\n\t 0x10: 0x20820,\n\t 0x11: 0x8020800,\n\t 0x12: 0x20,\n\t 0x13: 0x800,\n\t 0x14: 0x8000800,\n\t 0x15: 0x8000020,\n\t 0x16: 0x8020020,\n\t 0x17: 0x20000,\n\t 0x18: 0x0,\n\t 0x19: 0x20020,\n\t 0x1a: 0x8020000,\n\t 0x1b: 0x8000820,\n\t 0x1c: 0x8020820,\n\t 0x1d: 0x20800,\n\t 0x1e: 0x820,\n\t 0x1f: 0x8000000,\n\t 0x80000010: 0x20000,\n\t 0x80000011: 0x800,\n\t 0x80000012: 0x8020020,\n\t 0x80000013: 0x20820,\n\t 0x80000014: 0x20,\n\t 0x80000015: 0x8020000,\n\t 0x80000016: 0x8000000,\n\t 0x80000017: 0x8000820,\n\t 0x80000018: 0x8020820,\n\t 0x80000019: 0x8000020,\n\t 0x8000001a: 0x8000800,\n\t 0x8000001b: 0x0,\n\t 0x8000001c: 0x20800,\n\t 0x8000001d: 0x820,\n\t 0x8000001e: 0x20020,\n\t 0x8000001f: 0x8020800\n\t }\n\t ];\n\n\t // Masks that select the SBOX input\n\t var SBOX_MASK = [\n\t 0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000,\n\t 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f\n\t ];\n\n\t /**\n\t * DES block cipher algorithm.\n\t */\n\t var DES = C_algo.DES = BlockCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var key = this._key;\n\t var keyWords = key.words;\n\n\t // Select 56 bits according to PC1\n\t var keyBits = [];\n\t for (var i = 0; i < 56; i++) {\n\t var keyBitPos = PC1[i] - 1;\n\t keyBits[i] = (keyWords[keyBitPos >>> 5] >>> (31 - keyBitPos % 32)) & 1;\n\t }\n\n\t // Assemble 16 subkeys\n\t var subKeys = this._subKeys = [];\n\t for (var nSubKey = 0; nSubKey < 16; nSubKey++) {\n\t // Create subkey\n\t var subKey = subKeys[nSubKey] = [];\n\n\t // Shortcut\n\t var bitShift = BIT_SHIFTS[nSubKey];\n\n\t // Select 48 bits according to PC2\n\t for (var i = 0; i < 24; i++) {\n\t // Select from the left 28 key bits\n\t subKey[(i / 6) | 0] |= keyBits[((PC2[i] - 1) + bitShift) % 28] << (31 - i % 6);\n\n\t // Select from the right 28 key bits\n\t subKey[4 + ((i / 6) | 0)] |= keyBits[28 + (((PC2[i + 24] - 1) + bitShift) % 28)] << (31 - i % 6);\n\t }\n\n\t // Since each subkey is applied to an expanded 32-bit input,\n\t // the subkey can be broken into 8 values scaled to 32-bits,\n\t // which allows the key to be used without expansion\n\t subKey[0] = (subKey[0] << 1) | (subKey[0] >>> 31);\n\t for (var i = 1; i < 7; i++) {\n\t subKey[i] = subKey[i] >>> ((i - 1) * 4 + 3);\n\t }\n\t subKey[7] = (subKey[7] << 5) | (subKey[7] >>> 27);\n\t }\n\n\t // Compute inverse subkeys\n\t var invSubKeys = this._invSubKeys = [];\n\t for (var i = 0; i < 16; i++) {\n\t invSubKeys[i] = subKeys[15 - i];\n\t }\n\t },\n\n\t encryptBlock: function (M, offset) {\n\t this._doCryptBlock(M, offset, this._subKeys);\n\t },\n\n\t decryptBlock: function (M, offset) {\n\t this._doCryptBlock(M, offset, this._invSubKeys);\n\t },\n\n\t _doCryptBlock: function (M, offset, subKeys) {\n\t // Get input\n\t this._lBlock = M[offset];\n\t this._rBlock = M[offset + 1];\n\n\t // Initial permutation\n\t exchangeLR.call(this, 4, 0x0f0f0f0f);\n\t exchangeLR.call(this, 16, 0x0000ffff);\n\t exchangeRL.call(this, 2, 0x33333333);\n\t exchangeRL.call(this, 8, 0x00ff00ff);\n\t exchangeLR.call(this, 1, 0x55555555);\n\n\t // Rounds\n\t for (var round = 0; round < 16; round++) {\n\t // Shortcuts\n\t var subKey = subKeys[round];\n\t var lBlock = this._lBlock;\n\t var rBlock = this._rBlock;\n\n\t // Feistel function\n\t var f = 0;\n\t for (var i = 0; i < 8; i++) {\n\t f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0];\n\t }\n\t this._lBlock = rBlock;\n\t this._rBlock = lBlock ^ f;\n\t }\n\n\t // Undo swap from last round\n\t var t = this._lBlock;\n\t this._lBlock = this._rBlock;\n\t this._rBlock = t;\n\n\t // Final permutation\n\t exchangeLR.call(this, 1, 0x55555555);\n\t exchangeRL.call(this, 8, 0x00ff00ff);\n\t exchangeRL.call(this, 2, 0x33333333);\n\t exchangeLR.call(this, 16, 0x0000ffff);\n\t exchangeLR.call(this, 4, 0x0f0f0f0f);\n\n\t // Set output\n\t M[offset] = this._lBlock;\n\t M[offset + 1] = this._rBlock;\n\t },\n\n\t keySize: 64/32,\n\n\t ivSize: 64/32,\n\n\t blockSize: 64/32\n\t });\n\n\t // Swap bits across the left and right words\n\t function exchangeLR(offset, mask) {\n\t var t = ((this._lBlock >>> offset) ^ this._rBlock) & mask;\n\t this._rBlock ^= t;\n\t this._lBlock ^= t << offset;\n\t }\n\n\t function exchangeRL(offset, mask) {\n\t var t = ((this._rBlock >>> offset) ^ this._lBlock) & mask;\n\t this._lBlock ^= t;\n\t this._rBlock ^= t << offset;\n\t }\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.DES.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.DES.decrypt(ciphertext, key, cfg);\n\t */\n\t C.DES = BlockCipher._createHelper(DES);\n\n\t /**\n\t * Triple-DES block cipher algorithm.\n\t */\n\t var TripleDES = C_algo.TripleDES = BlockCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var key = this._key;\n\t var keyWords = key.words;\n\t // Make sure the key length is valid (64, 128 or >= 192 bit)\n\t if (keyWords.length !== 2 && keyWords.length !== 4 && keyWords.length < 6) {\n\t throw new Error('Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.');\n\t }\n\n\t // Extend the key according to the keying options defined in 3DES standard\n\t var key1 = keyWords.slice(0, 2);\n\t var key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4);\n\t var key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6);\n\n\t // Create DES instances\n\t this._des1 = DES.createEncryptor(WordArray.create(key1));\n\t this._des2 = DES.createEncryptor(WordArray.create(key2));\n\t this._des3 = DES.createEncryptor(WordArray.create(key3));\n\t },\n\n\t encryptBlock: function (M, offset) {\n\t this._des1.encryptBlock(M, offset);\n\t this._des2.decryptBlock(M, offset);\n\t this._des3.encryptBlock(M, offset);\n\t },\n\n\t decryptBlock: function (M, offset) {\n\t this._des3.decryptBlock(M, offset);\n\t this._des2.encryptBlock(M, offset);\n\t this._des1.decryptBlock(M, offset);\n\t },\n\n\t keySize: 192/32,\n\n\t ivSize: 64/32,\n\n\t blockSize: 64/32\n\t });\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.TripleDES.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.TripleDES.decrypt(ciphertext, key, cfg);\n\t */\n\t C.TripleDES = BlockCipher._createHelper(TripleDES);\n\t}());\n\n\n\treturn CryptoJS.TripleDES;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (undefined) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var X32WordArray = C_lib.WordArray;\n\n\t /**\n\t * x64 namespace.\n\t */\n\t var C_x64 = C.x64 = {};\n\n\t /**\n\t * A 64-bit word.\n\t */\n\t var X64Word = C_x64.Word = Base.extend({\n\t /**\n\t * Initializes a newly created 64-bit word.\n\t *\n\t * @param {number} high The high 32 bits.\n\t * @param {number} low The low 32 bits.\n\t *\n\t * @example\n\t *\n\t * var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607);\n\t */\n\t init: function (high, low) {\n\t this.high = high;\n\t this.low = low;\n\t }\n\n\t /**\n\t * Bitwise NOTs this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after negating.\n\t *\n\t * @example\n\t *\n\t * var negated = x64Word.not();\n\t */\n\t // not: function () {\n\t // var high = ~this.high;\n\t // var low = ~this.low;\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Bitwise ANDs this word with the passed word.\n\t *\n\t * @param {X64Word} word The x64-Word to AND with this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after ANDing.\n\t *\n\t * @example\n\t *\n\t * var anded = x64Word.and(anotherX64Word);\n\t */\n\t // and: function (word) {\n\t // var high = this.high & word.high;\n\t // var low = this.low & word.low;\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Bitwise ORs this word with the passed word.\n\t *\n\t * @param {X64Word} word The x64-Word to OR with this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after ORing.\n\t *\n\t * @example\n\t *\n\t * var ored = x64Word.or(anotherX64Word);\n\t */\n\t // or: function (word) {\n\t // var high = this.high | word.high;\n\t // var low = this.low | word.low;\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Bitwise XORs this word with the passed word.\n\t *\n\t * @param {X64Word} word The x64-Word to XOR with this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after XORing.\n\t *\n\t * @example\n\t *\n\t * var xored = x64Word.xor(anotherX64Word);\n\t */\n\t // xor: function (word) {\n\t // var high = this.high ^ word.high;\n\t // var low = this.low ^ word.low;\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Shifts this word n bits to the left.\n\t *\n\t * @param {number} n The number of bits to shift.\n\t *\n\t * @return {X64Word} A new x64-Word object after shifting.\n\t *\n\t * @example\n\t *\n\t * var shifted = x64Word.shiftL(25);\n\t */\n\t // shiftL: function (n) {\n\t // if (n < 32) {\n\t // var high = (this.high << n) | (this.low >>> (32 - n));\n\t // var low = this.low << n;\n\t // } else {\n\t // var high = this.low << (n - 32);\n\t // var low = 0;\n\t // }\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Shifts this word n bits to the right.\n\t *\n\t * @param {number} n The number of bits to shift.\n\t *\n\t * @return {X64Word} A new x64-Word object after shifting.\n\t *\n\t * @example\n\t *\n\t * var shifted = x64Word.shiftR(7);\n\t */\n\t // shiftR: function (n) {\n\t // if (n < 32) {\n\t // var low = (this.low >>> n) | (this.high << (32 - n));\n\t // var high = this.high >>> n;\n\t // } else {\n\t // var low = this.high >>> (n - 32);\n\t // var high = 0;\n\t // }\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Rotates this word n bits to the left.\n\t *\n\t * @param {number} n The number of bits to rotate.\n\t *\n\t * @return {X64Word} A new x64-Word object after rotating.\n\t *\n\t * @example\n\t *\n\t * var rotated = x64Word.rotL(25);\n\t */\n\t // rotL: function (n) {\n\t // return this.shiftL(n).or(this.shiftR(64 - n));\n\t // },\n\n\t /**\n\t * Rotates this word n bits to the right.\n\t *\n\t * @param {number} n The number of bits to rotate.\n\t *\n\t * @return {X64Word} A new x64-Word object after rotating.\n\t *\n\t * @example\n\t *\n\t * var rotated = x64Word.rotR(7);\n\t */\n\t // rotR: function (n) {\n\t // return this.shiftR(n).or(this.shiftL(64 - n));\n\t // },\n\n\t /**\n\t * Adds this word with the passed word.\n\t *\n\t * @param {X64Word} word The x64-Word to add with this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after adding.\n\t *\n\t * @example\n\t *\n\t * var added = x64Word.add(anotherX64Word);\n\t */\n\t // add: function (word) {\n\t // var low = (this.low + word.low) | 0;\n\t // var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0;\n\t // var high = (this.high + word.high + carry) | 0;\n\n\t // return X64Word.create(high, low);\n\t // }\n\t });\n\n\t /**\n\t * An array of 64-bit words.\n\t *\n\t * @property {Array} words The array of CryptoJS.x64.Word objects.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var X64WordArray = C_x64.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.x64.WordArray.create();\n\t *\n\t * var wordArray = CryptoJS.x64.WordArray.create([\n\t * CryptoJS.x64.Word.create(0x00010203, 0x04050607),\n\t * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)\n\t * ]);\n\t *\n\t * var wordArray = CryptoJS.x64.WordArray.create([\n\t * CryptoJS.x64.Word.create(0x00010203, 0x04050607),\n\t * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)\n\t * ], 10);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 8;\n\t }\n\t },\n\n\t /**\n\t * Converts this 64-bit word array to a 32-bit word array.\n\t *\n\t * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array.\n\t *\n\t * @example\n\t *\n\t * var x32WordArray = x64WordArray.toX32();\n\t */\n\t toX32: function () {\n\t // Shortcuts\n\t var x64Words = this.words;\n\t var x64WordsLength = x64Words.length;\n\n\t // Convert\n\t var x32Words = [];\n\t for (var i = 0; i < x64WordsLength; i++) {\n\t var x64Word = x64Words[i];\n\t x32Words.push(x64Word.high);\n\t x32Words.push(x64Word.low);\n\t }\n\n\t return X32WordArray.create(x32Words, this.sigBytes);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {X64WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = x64WordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\n\t // Clone \"words\" array\n\t var words = clone.words = this.words.slice(0);\n\n\t // Clone each X64Word object\n\t var wordsLength = words.length;\n\t for (var i = 0; i < wordsLength; i++) {\n\t words[i] = words[i].clone();\n\t }\n\n\t return clone;\n\t }\n\t });\n\t}());\n\n\n\treturn CryptoJS;\n\n}));","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ErrorCode = void 0;\nvar ErrorCode;\n(function (ErrorCode) {\n ErrorCode[ErrorCode[\"SUCCESS\"] = 0] = \"SUCCESS\";\n ErrorCode[ErrorCode[\"CLIENT_ID_NOT_FOUND\"] = 1] = \"CLIENT_ID_NOT_FOUND\";\n ErrorCode[ErrorCode[\"OPERATION_TOO_OFTEN\"] = 2] = \"OPERATION_TOO_OFTEN\";\n ErrorCode[ErrorCode[\"REPEAT_MESSAGE\"] = 3] = \"REPEAT_MESSAGE\";\n ErrorCode[ErrorCode[\"TIME_OUT\"] = 4] = \"TIME_OUT\";\n})(ErrorCode = exports.ErrorCode || (exports.ErrorCode = {}));\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GtLogic_1 = __importDefault(require(\"./core/GtLogic\"));\nconst GtRuntime_1 = __importDefault(require(\"./core/GtRuntime\"));\nconst Log_1 = __importDefault(require(\"./utils/Log\"));\nvar GtPush;\n(function (GtPush) {\n /**\n * 设置调试模式\n * @param debugMode 打开或关闭调试模式\n */\n function setDebugMode(debugMode) {\n Log_1.default.debugMode = debugMode;\n Log_1.default.info(`setDebugMode: ${debugMode}`);\n }\n GtPush.setDebugMode = setDebugMode;\n /**\n * 初始化GtPush\n */\n function init(obj) {\n try {\n checkAppid(obj.appid);\n GtLogic_1.default.init(obj);\n }\n catch (error) {\n Log_1.default.error(`init error`, error);\n }\n }\n GtPush.init = init;\n /**\n * 设置一组标签,后续可使用该标签定向推送\n * 需要在获取到Clientid之后调用,默认一天只能成功设置一次(可联系技术支持进行修改)\n */\n function setTag(obj) {\n try {\n GtLogic_1.default.setTag(obj);\n }\n catch (error) {\n Log_1.default.error(`setTag error`, error);\n }\n }\n GtPush.setTag = setTag;\n /**\n * 绑定别名,后续可以使用该别名进行定向推送,重复绑定以最后一次为准\n * 两次调用的间隔需大于 1s,每天限制调用 100 次\n * 可用于与客户账号系统关联,建议将邮箱、昵称、手机号等用户标识设为别名\n * 使用场景:\n * 同一个账号(比如手机号)分别登陆在 A、B、C 三台设备上的同一个 APP,产生了 3 个不同的 cid,\n * 想让这三台设备同时接收到推送,就可以让三台设备的三个cid都绑定同一个别名也就是你的账号(比如手机号),\n * 最多支持 10 台设备,也就是最多绑定 10 个 cid\n */\n function bindAlias(obj) {\n try {\n GtLogic_1.default.bindAlias(obj);\n }\n catch (error) {\n Log_1.default.error(`bindAlias error`, error);\n }\n }\n GtPush.bindAlias = bindAlias;\n /**\n * 解绑别名\n * 两次调用的间隔需大于 1s。只能解绑与当前应用 cid 关联的别名,每天限制调用 100 次\n */\n function unbindAlias(obj) {\n try {\n GtLogic_1.default.unbindAlias(obj);\n }\n catch (error) {\n Log_1.default.error(`unbindAlias error`, error);\n }\n }\n GtPush.unbindAlias = unbindAlias;\n /**\n * 配置socketServer信息\n * @param obj sockeetServer配置,包括url、key、keyId\n */\n function setSocketServer(obj) {\n try {\n if (!obj.url) {\n throw new Error('invalid url');\n }\n if (!obj.key || !obj.keyId) {\n throw new Error('invalid key or keyId');\n }\n GtRuntime_1.default.socketUrl = obj.url;\n GtRuntime_1.default.publicKeyId = obj.keyId;\n GtRuntime_1.default.publicKey = obj.key;\n }\n catch (error) {\n Log_1.default.error(`setSocketServer error`, error);\n }\n }\n GtPush.setSocketServer = setSocketServer;\n /**\n * 设置是否允许socket连接\n * @param enable 是否允许socket连接\n */\n function enableSocket(enable) {\n try {\n GtLogic_1.default.enableSocket(enable);\n }\n catch (error) {\n Log_1.default.error(`enableSocket error`, error);\n }\n }\n GtPush.enableSocket = enableSocket;\n // /**\n // * 打开推送\n // */\n // export function turnOn():void {\n // try {\n // \tGtLogic.turnOn()\n // }catch(error) {\n // \tLog.error(`turnOn error`, error)\n // }\n // }\n // /**\n // * 关闭推送\n // */\n // export function turnOff():void {\n // try {\n // \tGtLogic.turnOff()\n // }catch(error) {\n // \tLog.error(`turnOn error`, error)\n // }\n // }\n function checkAppid(appid) {\n if (appid == null || appid == undefined || appid.trim() == '') {\n throw new Error(`invalid appid ${appid}`);\n }\n }\n})(GtPush || (GtPush = {}));\nexports.default = GtPush;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Constant;\n(function (Constant) {\n Constant.SDK_VERSION = 'GTMP-1.0.0.0';\n Constant.DEFAULT_SOCKET_URL = 'wss://wshz.getui.net:5223/nws';\n Constant.SOCKET_PROTOCOL_VERSION = '1.0';\n //测试环境\n // export const SERVER_PUBLIC_KEY = \"MHwwDQYJKoZIhvcNAQEBBQADawAwaAJhAMltTBkk0HDen5gSn2gX5n4EoBlaQWc0S+d2X6BEPBWpktX8IJk14QbVRFAB2YJlM7kkq+g2jaDVXo+rEq539xJhBPId7hf1a3hhk/qOF0Z4n8pI0URBEGK/IeJr9Ktb8wIDAQAB\";\n // export const SERVER_PUBLIC_KEY_ID = \"fe078ec968ebae837c563bbc73c4672d\";\n //正式环境\n Constant.SERVER_PUBLIC_KEY = \"MHwwDQYJKoZIhvcNAQEBBQADawAwaAJhAJp1rROuvBF7sBSnvLaesj2iFhMcY8aXyLvpnNLKs2wjL3JmEnyr++SlVa35liUlzi83tnAFkn3A9GB7pHBNzawyUkBh8WUhq5bnFIkk2RaDa6+5MpG84DEv52p7RR+aWwIDAQAB\";\n Constant.SERVER_PUBLIC_KEY_ID = \"69d747c4b9f641baf4004be4297e9f3b\";\n})(Constant || (Constant = {}));\nexports.default = Constant;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst SocketManager_1 = __importDefault(require(\"../uniapi/SocketManager\"));\nconst Log_1 = __importDefault(require(\"../utils/Log\"));\nconst ErrorCode_1 = require(\"../ErrorCode\");\nconst GtRuntime_1 = __importDefault(require(\"./GtRuntime\"));\nconst BindAlias_1 = __importDefault(require(\"../message/ClientMsg/BindAlias\"));\nconst SetTag_1 = __importDefault(require(\"../message/ClientMsg/SetTag\"));\nconst UnbindAlias_1 = __importDefault(require(\"../message/ClientMsg/UnbindAlias\"));\nclass GtLogic {\n static init(obj) {\n if (this.inited) {\n return;\n }\n try {\n this.inited = true;\n Log_1.default.info(`init: appid=${obj.appid}`);\n GtRuntime_1.default.init(obj);\n SocketManager_1.default.connect();\n }\n catch (error) {\n this.inited = false;\n }\n }\n static enableSocket(enable) {\n this.checkInit();\n SocketManager_1.default.allowReconnect = enable;\n if (enable) {\n SocketManager_1.default.reconnect(0);\n }\n else {\n SocketManager_1.default.close(`enableSocket ${enable}`);\n }\n }\n static setTag(obj) {\n var _a;\n this.checkInit();\n if (!GtRuntime_1.default.cid) {\n (_a = obj.setTagResult) === null || _a === void 0 ? void 0 : _a.call(obj.setTagResult, { resultCode: ErrorCode_1.ErrorCode.CLIENT_ID_NOT_FOUND, message: 'client id not found' });\n return;\n }\n SetTag_1.default.create(obj.tags, obj.setTagResult).send();\n }\n static bindAlias(obj) {\n var _a, _b;\n this.checkInit();\n if (!GtRuntime_1.default.cid) {\n (_a = obj.bindAliasResult) === null || _a === void 0 ? void 0 : _a.call(obj.bindAliasResult, { resultCode: ErrorCode_1.ErrorCode.CLIENT_ID_NOT_FOUND, message: 'client id not found' });\n return;\n }\n //1秒频控\n let time = new Date().getTime();\n if (time - GtRuntime_1.default.lastAliasTime < 1 * 1000) {\n Log_1.default.error(`bind alias fail: alias option can only be called once a second`);\n (_b = obj.bindAliasResult) === null || _b === void 0 ? void 0 : _b.call(obj.bindAliasResult, { resultCode: ErrorCode_1.ErrorCode.OPERATION_TOO_OFTEN, message: 'alias option can only be called once a second' });\n return;\n }\n BindAlias_1.default.create(obj.alias, true, obj.bindAliasResult).send();\n GtRuntime_1.default.lastAliasTime = time;\n }\n static unbindAlias(obj) {\n var _a, _b;\n this.checkInit();\n if (!GtRuntime_1.default.cid) {\n (_a = obj.unbindAliasResult) === null || _a === void 0 ? void 0 : _a.call(obj.unbindAliasResult, { resultCode: ErrorCode_1.ErrorCode.CLIENT_ID_NOT_FOUND, message: 'client id not found' });\n return;\n }\n //1秒频控\n let time = new Date().getTime();\n if (time - GtRuntime_1.default.lastAliasTime < 1 * 1000) {\n Log_1.default.error(`unbindAlias alias fail: alias option can only be called once a second`);\n (_b = obj.unbindAliasResult) === null || _b === void 0 ? void 0 : _b.call(obj.unbindAliasResult, { resultCode: ErrorCode_1.ErrorCode.OPERATION_TOO_OFTEN, message: 'alias option can only be called once a second' });\n return;\n }\n UnbindAlias_1.default.create(obj.alias, obj.onlySelf, obj.unbindAliasResult).send();\n GtRuntime_1.default.lastAliasTime = time;\n }\n static turnOff() {\n }\n static turnOn() {\n }\n static checkInit() {\n if (!this.inited) {\n throw new Error(`not init, please invoke init method firstly`);\n }\n }\n}\nGtLogic.inited = false;\nexports.default = GtLogic;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst CryptManager_1 = __importDefault(require(\"../utils/CryptManager\"));\nconst Storage_1 = __importDefault(require(\"../uniapi/Storage\"));\nconst Constant_1 = __importDefault(require(\"./Constant\"));\nconst SocketManager_1 = __importDefault(require(\"../uniapi/SocketManager\"));\nconst Log_1 = __importDefault(require(\"../utils/Log\"));\nconst Device_1 = __importDefault(require(\"../uniapi/Device\"));\nclass GtRuntime {\n static init(obj) {\n var _a;\n this.appid = obj.appid;\n this.onClientId = obj.onClientId;\n this.onlineState = obj.onlineState;\n this.onPushMsg = obj.onPushMsg;\n if (this.appid != Storage_1.default.getSync(Storage_1.default.KEY_APPID, this.appid)) {\n Log_1.default.info('appid changed, clear session and cid');\n //appid发生变更,清除本地cid、session、regId\n Storage_1.default.setSync(Storage_1.default.KEY_CID, '');\n Storage_1.default.setSync(Storage_1.default.KEY_SESSION, '');\n }\n Storage_1.default.setSync(Storage_1.default.KEY_APPID, this.appid);\n this.cid = Storage_1.default.getSync(Storage_1.default.KEY_CID, this.cid);\n if (this.cid) {\n (_a = this.onClientId) === null || _a === void 0 ? void 0 : _a.call(this, { cid: GtRuntime.cid });\n }\n this.session = Storage_1.default.getSync(Storage_1.default.KEY_SESSION, this.session);\n this.deviceId = Storage_1.default.getSync(Storage_1.default.KEY_DEVICE_ID, this.deviceId);\n this.regId = Storage_1.default.getSync(Storage_1.default.KEY_REGID, this.regId);\n if (!this.regId) {\n this.regId = this.createRegId();\n Storage_1.default.set({ key: Storage_1.default.KEY_REGID, data: this.regId });\n }\n this.socketUrl = Storage_1.default.getSync(Storage_1.default.KEY_SOCKET_URL, this.socketUrl);\n let _this = this;\n Device_1.default.getNetworkType({\n success: (networkType) => {\n _this.networkType = networkType;\n _this.networkConnected = _this.networkType != 'none' && _this.networkType != '';\n }\n });\n Device_1.default.onNetworkStatusChange((result) => {\n _this.networkConnected = result.isConnected;\n _this.networkType = result.networkType;\n if (_this.networkConnected) {\n SocketManager_1.default.reconnect(0);\n }\n });\n }\n static createRegId() {\n return `M-V${CryptManager_1.default.md5Hex(this.getUuid())}-${new Date().getTime()}`;\n }\n static getUuid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n let r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n}\nGtRuntime.appid = '';\nGtRuntime.cid = '';\nGtRuntime.regId = '';\nGtRuntime.session = '';\nGtRuntime.deviceId = '';\nGtRuntime.packetId = 1;\nGtRuntime.online = false;\nGtRuntime.socketUrl = Constant_1.default.DEFAULT_SOCKET_URL;\nGtRuntime.publicKeyId = Constant_1.default.SERVER_PUBLIC_KEY_ID;\nGtRuntime.publicKey = Constant_1.default.SERVER_PUBLIC_KEY;\nGtRuntime.lastAliasTime = 0;\nGtRuntime.networkConnected = true;\nGtRuntime.networkType = 'none';\nexports.default = GtRuntime;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _a, _b;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Message_1 = __importDefault(require(\"./Message\"));\nconst ErrorCode_1 = require(\"../ErrorCode\");\nconst GtRuntime_1 = __importDefault(require(\"../core/GtRuntime\"));\nclass ActionMsg extends Message_1.default {\n constructor() {\n super(...arguments);\n this.actionMsgData = new ActionMsgData();\n }\n static initActionMsg(instance, ...args) {\n super.initMsg(instance);\n instance.command = Message_1.default.Command.CLIENT_MSG;\n instance.data = instance.actionMsgData = ActionMsgData.create();\n return instance;\n }\n static parseActionMsg(instance, data) {\n super.parseMsg(instance, data);\n instance.actionMsgData = ActionMsgData.parse(instance.data);\n return instance;\n }\n send() {\n //启动一个定时器,一定时间内没有从队列移除则认为失败了\n let timer = setTimeout(() => {\n var _a;\n if (ActionMsg.waitingLoginMsgMap.has(this.actionMsgData.msgId) || ActionMsg.waitingResponseMsgMap.has(this.actionMsgData.msgId)) {\n ActionMsg.waitingLoginMsgMap.delete(this.actionMsgData.msgId);\n ActionMsg.waitingResponseMsgMap.delete(this.actionMsgData.msgId);\n (_a = this.callback) === null || _a === void 0 ? void 0 : _a.call(this.callback, { resultCode: ErrorCode_1.ErrorCode.TIME_OUT, message: 'waiting time out' });\n }\n }, 10000);\n //将命令放进map中,等待登录\n if (!GtRuntime_1.default.online) {\n ActionMsg.waitingLoginMsgMap.set(this.actionMsgData.msgId, this);\n return;\n }\n if (this.actionMsgData.msgAction != ActionMsg.ClientAction.RECEIVED) {\n //将非received命令放进map中,等待响应\n ActionMsg.waitingResponseMsgMap.set(this.actionMsgData.msgId, this);\n }\n super.send();\n }\n receive() {\n }\n static sendWaitingMessages() {\n let iterator = this.waitingLoginMsgMap.keys();\n let r;\n while (r = iterator.next(), !r.done) {\n let message = this.waitingLoginMsgMap.get(r.value);\n this.waitingLoginMsgMap.delete(r.value);\n message === null || message === void 0 ? void 0 : message.send();\n }\n }\n static getWaitingResponseMessage(msgId) {\n return ActionMsg.waitingResponseMsgMap.get(msgId);\n }\n static removeWaitingResponseMessage(msgId) {\n let actionMsg = ActionMsg.waitingResponseMsgMap.get(msgId);\n if (actionMsg) {\n ActionMsg.waitingResponseMsgMap.delete(msgId);\n }\n return actionMsg;\n }\n}\nActionMsg.ServerAction = (_a = class {\n },\n // static readonly PUSH_MESSAGE = 'p_m'\n // static readonly REDIRECT_SERVER = 'r_s'\n // static readonly ADD_PHONE_INFO_RESULT = 'a_p_i_r'\n // static readonly SET_MODE_RESULT = 's_m_r'\n // static readonly SET_TAG_RESULT = 's_t_r'\n // static readonly BIND_ALIAS_RESULT = 'b_a_r'\n // static readonly UNBIND_ALIAS_RESULT = 'ub_a_r'\n // static readonly FEED_BACK_RESULT = 'f_b_r'\n // static readonly RECEIVED = 'rv'\n _a.PUSH_MESSAGE = 'pushmessage',\n _a.REDIRECT_SERVER = 'redirect_server',\n _a.ADD_PHONE_INFO_RESULT = 'addphoneinfo',\n _a.SET_MODE_RESULT = 'set_mode_result',\n _a.SET_TAG_RESULT = 'settag_result',\n _a.BIND_ALIAS_RESULT = 'response_bind',\n _a.UNBIND_ALIAS_RESULT = 'response_unbind',\n _a.FEED_BACK_RESULT = 'pushmessage_feedback',\n _a.RECEIVED = 'received',\n _a);\nActionMsg.ClientAction = (_b = class {\n },\n // static readonly ADD_PHONE_INFO: string = 'a_p_i'\n // static readonly SET_MODE: string = 's_m'\n // static readonly FEED_BACK: string = 'f_b'\n // static readonly SET_TAGS: string = 's_t'\n // static readonly BIND_ALIAS: string = 'b_a'\n // static readonly UNBIND_ALIAS: string = 'ub_a'\n // static readonly RECEIVED: string = 'rv'\n _b.ADD_PHONE_INFO = 'addphoneinfo',\n _b.SET_MODE = 'set_mode',\n _b.FEED_BACK = 'pushmessage_feedback',\n _b.SET_TAGS = 'set_tag',\n _b.BIND_ALIAS = 'bind_alias',\n _b.UNBIND_ALIAS = 'unbind_alias',\n _b.RECEIVED = 'received',\n _b);\nActionMsg.waitingLoginMsgMap = new Map();\nActionMsg.waitingResponseMsgMap = new Map();\nclass ActionMsgData {\n constructor() {\n this.appId = '';\n this.cid = '';\n this.msgId = '';\n this.msgAction = '';\n this.msgData = '';\n this.msgExtraData = '';\n }\n static create() {\n let instance = new ActionMsgData();\n instance.appId = GtRuntime_1.default.appid;\n instance.cid = GtRuntime_1.default.cid;\n //服务端要求msgId不能超过int取值范围,这里去除时间戳前四位\n instance.msgId = new Date().getTime().toString().substr(4);\n return instance;\n }\n static parse(data) {\n let instance = new ActionMsgData();\n let actionMsg = JSON.parse(data);\n instance.appId = actionMsg.appId;\n instance.cid = actionMsg.cid;\n instance.msgId = actionMsg.msgId;\n instance.msgAction = actionMsg.msgAction;\n instance.msgData = actionMsg.msgData;\n instance.msgExtraData = actionMsg.msgExtraData;\n return instance;\n }\n}\nexports.default = ActionMsg;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Device_1 = __importDefault(require(\"../../uniapi/Device\"));\nconst Storage_1 = __importDefault(require(\"../../uniapi/Storage\"));\nconst Constant_1 = __importDefault(require(\"../../core/Constant\"));\nconst ErrorCode_1 = require(\"../../ErrorCode\");\nconst ActionMsg_1 = __importDefault(require(\"../ActionMsg\"));\nconst GtRuntime_1 = __importDefault(require(\"../../core/GtRuntime\"));\nclass AddPhoneInfo extends ActionMsg_1.default {\n constructor() {\n super(...arguments);\n this.addPhoneInfoData = new AddPhoneInfoData();\n }\n static create() {\n let instance = new AddPhoneInfo();\n super.initActionMsg(instance);\n instance.callback = (res) => {\n console.log('add phone info result', res);\n //addPhoneInfo失败时30秒后重试\n if (res.resultCode != ErrorCode_1.ErrorCode.SUCCESS && res.resultCode != ErrorCode_1.ErrorCode.REPEAT_MESSAGE) {\n setTimeout(function () {\n instance.send();\n }, 30 * 1000);\n }\n else {\n Storage_1.default.set({ key: Storage_1.default.KEY_ADD_PHONE_INFO_TIME, data: new Date().getTime() });\n }\n };\n instance.actionMsgData.msgAction = ActionMsg_1.default.ClientAction.ADD_PHONE_INFO;\n instance.addPhoneInfoData = AddPhoneInfoData.create();\n instance.actionMsgData.msgData = JSON.stringify(instance.addPhoneInfoData);\n return instance;\n }\n send() {\n let time = new Date().getTime();\n let lasTime = Storage_1.default.getSync(Storage_1.default.KEY_ADD_PHONE_INFO_TIME, 0);\n if (time - lasTime < 24 * 60 * 60 * 1000) {\n console.log(`add phone info fail, can only be called once during 24 hours`);\n return;\n }\n super.send();\n }\n}\nclass AddPhoneInfoData {\n constructor() {\n //属性命名格式与服务端协议保持一致,勿随意改动\n this.model = '';\n this.brand = '';\n this.system_version = '';\n this.version = '';\n this.device_token = '';\n this.imei = '';\n this.oaid = '';\n this.mac = '';\n this.idfa = '';\n this.deviceid = '';\n this.type = '';\n this.extra = {\n os: '',\n platform: '',\n platformVersion: '',\n platformId: '',\n appVersion: '',\n language: ''\n };\n }\n static create() {\n let instance = new AddPhoneInfoData();\n instance.model = Device_1.default.model();\n instance.brand = Device_1.default.brand();\n instance.system_version = Device_1.default.osVersion();\n instance.version = Constant_1.default.SDK_VERSION;\n instance.device_token = '';\n instance.imei = '';\n instance.oaid = '';\n instance.mac = '';\n instance.idfa = '';\n instance.type = 'MINI';\n instance.deviceid = `${instance.type}-${GtRuntime_1.default.deviceId}`;\n instance.extra = {\n os: Device_1.default.os(),\n platform: Device_1.default.platform(),\n platformVersion: Device_1.default.platformVersion(),\n platformId: Device_1.default.platformId(),\n appVersion: '',\n language: Device_1.default.language()\n };\n return instance;\n }\n}\nexports.default = AddPhoneInfo;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GtRuntime_1 = __importDefault(require(\"../../core/GtRuntime\"));\nconst ActionMsg_1 = __importDefault(require(\"../ActionMsg\"));\nclass BindAlias extends ActionMsg_1.default {\n constructor() {\n super(...arguments);\n this.bindAliasTagData = new BindAliasData();\n }\n static create(alias, onlySelf, callback) {\n let instance = new BindAlias();\n super.initActionMsg(instance);\n instance.bindAliasTagData = BindAliasData.create(alias, onlySelf);\n instance.callback = callback;\n instance.actionMsgData.msgAction = ActionMsg_1.default.ClientAction.BIND_ALIAS;\n instance.actionMsgData.msgData = JSON.stringify(instance.bindAliasTagData);\n return instance;\n }\n}\nclass BindAliasData {\n constructor() {\n this.alias = '';\n this.cid = '';\n this.appid = '';\n this.sn = '';\n this.is_self = '';\n }\n static create(alias, onlySelf) {\n let instance = new BindAliasData();\n instance.alias = alias;\n instance.cid = GtRuntime_1.default.cid;\n instance.appid = GtRuntime_1.default.appid;\n instance.sn = new Date().getTime().toString();\n instance.is_self = onlySelf ? \"1\" : \"0\";\n return instance;\n }\n}\nexports.default = BindAlias;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _a, _b;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GtRuntime_1 = __importDefault(require(\"../../core/GtRuntime\"));\nconst ErrorCode_1 = require(\"../../ErrorCode\");\nconst ActionMsg_1 = __importDefault(require(\"../ActionMsg\"));\nclass Feedback extends ActionMsg_1.default {\n constructor() {\n super(...arguments);\n this.feedbackData = new FeedbackData();\n }\n static create(pushMessage, actionId) {\n let instance = new Feedback();\n super.initActionMsg(instance);\n instance.callback = (res) => {\n console.log('feedback result', res);\n //失败时将在30秒后重试\n if (res.resultCode != ErrorCode_1.ErrorCode.SUCCESS && res.resultCode != ErrorCode_1.ErrorCode.REPEAT_MESSAGE) {\n setTimeout(function () {\n instance.send();\n }, 30 * 1000);\n }\n };\n instance.feedbackData = FeedbackData.create(pushMessage, actionId);\n instance.actionMsgData.msgAction = ActionMsg_1.default.ClientAction.FEED_BACK;\n instance.actionMsgData.msgData = JSON.stringify(instance.feedbackData);\n return instance;\n }\n send() {\n super.send();\n }\n}\nFeedback.ActionId = (_a = class {\n },\n _a.RECEIVE = '0',\n _a.MP_RECEIVE = '210000',\n _a.WEB_RECEIVE = '220000',\n _a.BEGIN = '1',\n _a);\nFeedback.RESULT = (_b = class {\n },\n _b.OK = 'ok',\n _b);\nclass FeedbackData {\n constructor() {\n this.messageid = '';\n this.appkey = '';\n this.appid = '';\n this.taskid = '';\n this.actionid = '';\n this.result = '';\n this.timestamp = '';\n }\n static create(pushMessage, actionId) {\n let instance = new FeedbackData();\n instance.messageid = pushMessage.pushMessageData.messageid;\n instance.appkey = pushMessage.pushMessageData.appKey;\n instance.appid = GtRuntime_1.default.appid;\n instance.taskid = pushMessage.pushMessageData.taskId;\n instance.actionid = actionId;\n instance.result = Feedback.RESULT.OK;\n instance.timestamp = new Date().getTime().toString();\n return instance;\n }\n}\nexports.default = Feedback;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GtRuntime_1 = __importDefault(require(\"../../core/GtRuntime\"));\nconst ActionMsg_1 = __importDefault(require(\"../ActionMsg\"));\nclass SetTag extends ActionMsg_1.default {\n constructor() {\n super(...arguments);\n this.setTagData = new SetTagData();\n }\n static create(tags, callback) {\n let instance = new SetTag();\n super.initActionMsg(instance);\n instance.setTagData = SetTagData.create(tags);\n instance.callback = callback;\n instance.actionMsgData.msgAction = ActionMsg_1.default.ClientAction.SET_TAGS;\n instance.actionMsgData.msgData = JSON.stringify(instance.setTagData);\n return instance;\n }\n}\nclass SetTagData {\n constructor() {\n this.appid = '';\n this.tags = '';\n this.sn = '';\n }\n static create(tags) {\n let instance = new SetTagData();\n instance.appid = GtRuntime_1.default.appid;\n instance.tags = urlencode(tags);\n instance.sn = new Date().getTime().toString();\n return instance;\n }\n}\nfunction urlencode(str) {\n return encodeURIComponent(str).replace(/!/g, '%21')\n .replace(/'/g, '%27')\n .replace(/\\(/g, '%28')\n .replace(/\\)/g, '%29')\n .replace(/\\*/g, '%2A');\n}\nexports.default = SetTag;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GtRuntime_1 = __importDefault(require(\"../../core/GtRuntime\"));\nconst ActionMsg_1 = __importDefault(require(\"../ActionMsg\"));\nclass UnbindAlias extends ActionMsg_1.default {\n constructor() {\n super(...arguments);\n this.unbindAliasData = new UnbindAliasData();\n }\n static create(alias, onlySelf, callback) {\n let instance = new UnbindAlias();\n super.initActionMsg(instance);\n instance.unbindAliasData = UnbindAliasData.create(alias, onlySelf);\n instance.callback = callback;\n instance.actionMsgData.msgAction = ActionMsg_1.default.ClientAction.UNBIND_ALIAS;\n instance.actionMsgData.msgData = JSON.stringify(instance.unbindAliasData);\n return instance;\n }\n}\nclass UnbindAliasData {\n constructor() {\n this.alias = '';\n this.cid = '';\n this.appid = '';\n this.sn = '';\n this.is_self = '';\n }\n static create(alias, onlySelf) {\n let instance = new UnbindAliasData();\n instance.alias = alias;\n instance.cid = GtRuntime_1.default.cid;\n instance.appid = GtRuntime_1.default.appid;\n instance.sn = new Date().getTime().toString();\n instance.is_self = onlySelf ? \"1\" : \"0\";\n return instance;\n }\n}\nexports.default = UnbindAlias;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Message_1 = __importDefault(require(\"./Message\"));\nclass HeartBeat extends Message_1.default {\n static create() {\n let instance = new HeartBeat();\n super.initMsg(instance);\n instance.command = Message_1.default.Command.HEART_BEAT;\n return instance;\n }\n}\nexports.default = HeartBeat;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst CryptManager_1 = __importDefault(require(\"../utils/CryptManager\"));\nconst GtRuntime_1 = __importDefault(require(\"../core/GtRuntime\"));\nconst Message_1 = __importDefault(require(\"./Message\"));\nclass KeyNegotiate extends Message_1.default {\n constructor() {\n super(...arguments);\n this.keyNegotiateData = new KeyNegotiateData();\n }\n static create() {\n let instance = new KeyNegotiate();\n super.initMsg(instance);\n instance.command = Message_1.default.Command.KEY_NEGOTIATE;\n CryptManager_1.default.resetKey();\n instance.data = instance.keyNegotiateData = KeyNegotiateData.create();\n return instance;\n }\n send() {\n super.send();\n }\n}\nclass KeyNegotiateData {\n constructor() {\n this.appId = '';\n this.rsaPublicKeyId = '';\n this.algorithm = '';\n this.secretKey = '';\n this.iv = '';\n }\n static create() {\n let instance = new KeyNegotiateData();\n instance.appId = GtRuntime_1.default.appid;\n instance.rsaPublicKeyId = GtRuntime_1.default.publicKeyId;\n instance.algorithm = 'AES';\n instance.secretKey = CryptManager_1.default.getEncryptedSecretKey();\n instance.iv = CryptManager_1.default.getEncryptedIV();\n return instance;\n }\n}\nexports.default = KeyNegotiate;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Message_1 = __importDefault(require(\"./Message\"));\nconst CryptManager_1 = __importDefault(require(\"../utils/CryptManager\"));\nconst Login_1 = __importDefault(require(\"./Login\"));\nclass KeyNegotiateResult extends Message_1.default {\n constructor() {\n super(...arguments);\n this.keyNegotiateResultData = new KeyNegotiateResultData();\n }\n static parse(data) {\n let instance = new KeyNegotiateResult();\n super.parseMsg(instance, data);\n instance.keyNegotiateResultData = KeyNegotiateResultData.parse(instance.data);\n return instance;\n }\n receive() {\n if (this.keyNegotiateResultData.errorCode != 0) {\n console.error(`key negotiate fail: ${this.data}`);\n return;\n }\n let encryptMode = this.keyNegotiateResultData.encryptType.split('/');\n if (!CryptManager_1.default.algorithmMap.has(encryptMode[0].trim().toLowerCase()) ||\n !CryptManager_1.default.modeMap.has(encryptMode[1].trim().toLowerCase()) ||\n !CryptManager_1.default.paddingMap.has(encryptMode[2].trim().toLowerCase())) {\n console.error(`key negotiate fail: ${this.data}`);\n return;\n }\n CryptManager_1.default.setEncryptParams(encryptMode[0].trim().toLowerCase(), encryptMode[1].trim().toLowerCase(), encryptMode[2].trim().toLowerCase());\n Login_1.default.create().send();\n }\n}\nclass KeyNegotiateResultData {\n constructor() {\n this.errorCode = -1;\n this.errorMsg = '';\n this.encryptType = '';\n }\n static parse(data) {\n let instance = new KeyNegotiateResultData();\n let result = JSON.parse(data);\n instance.errorCode = result.errorCode;\n instance.errorMsg = result.errorMsg;\n instance.encryptType = result.encryptType;\n return instance;\n }\n}\nexports.default = KeyNegotiateResult;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GtRuntime_1 = __importDefault(require(\"../core/GtRuntime\"));\nconst CryptManager_1 = __importDefault(require(\"../utils/CryptManager\"));\nconst Message_1 = __importDefault(require(\"./Message\"));\nconst Register_1 = __importDefault(require(\"./Register\"));\nclass Login extends Message_1.default {\n constructor() {\n super(...arguments);\n this.loginData = new LoginData();\n }\n static create() {\n let instance = new Login();\n super.initMsg(instance);\n instance.command = Message_1.default.Command.LOGIN;\n instance.data = instance.loginData = LoginData.create();\n return instance;\n }\n send() {\n if (!this.loginData.session || GtRuntime_1.default.cid != CryptManager_1.default.md5Hex(this.loginData.session)) {\n console.log(`invalid session or cid, do register`);\n Register_1.default.create().send();\n return;\n }\n super.send();\n }\n}\nclass LoginData {\n constructor() {\n this.appId = '';\n this.session = '';\n }\n static create() {\n let instance = new LoginData();\n instance.appId = GtRuntime_1.default.appid;\n instance.session = GtRuntime_1.default.session;\n return instance;\n }\n}\nexports.default = Login;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Storage_1 = __importDefault(require(\"../uniapi/Storage\"));\nconst Message_1 = __importDefault(require(\"./Message\"));\nconst GtRuntime_1 = __importDefault(require(\"../core/GtRuntime\"));\nconst ActionMsg_1 = __importDefault(require(\"./ActionMsg\"));\nconst AddPhoneInfo_1 = __importDefault(require(\"./ClientMsg/AddPhoneInfo\"));\nconst Login_1 = __importDefault(require(\"./Login\"));\nclass LoginResult extends Message_1.default {\n constructor() {\n super(...arguments);\n this.loginResultData = new LoginResultData();\n }\n static parse(data) {\n let instance = new LoginResult();\n super.parseMsg(instance, data);\n instance.loginResultData = LoginResultData.parse(instance.data);\n return instance;\n }\n receive() {\n var _a;\n if (this.loginResultData.errorCode != 0) {\n console.log(`login fail: ${this.data}`);\n //登录失败则清除session,cid重新走登录流程\n GtRuntime_1.default.session = GtRuntime_1.default.cid = '';\n Storage_1.default.setSync(Storage_1.default.KEY_CID, '');\n Storage_1.default.setSync(Storage_1.default.KEY_SESSION, '');\n Login_1.default.create().send();\n return;\n }\n if (!GtRuntime_1.default.online) {\n GtRuntime_1.default.online = true;\n (_a = GtRuntime_1.default.onlineState) === null || _a === void 0 ? void 0 : _a.call(GtRuntime_1.default.onlineState, { online: GtRuntime_1.default.online });\n }\n ActionMsg_1.default.sendWaitingMessages();\n AddPhoneInfo_1.default.create().send();\n }\n}\nclass LoginResultData {\n constructor() {\n this.errorCode = -1;\n this.errorMsg = '';\n this.session = '';\n }\n static parse(data) {\n let instance = new LoginResultData();\n let result = JSON.parse(data);\n instance.errorCode = result.errorCode;\n instance.errorMsg = result.errorMsg;\n instance.session = result.session;\n return instance;\n }\n}\nexports.default = LoginResult;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst MessageCoder_1 = __importDefault(require(\"./MessageCoder\"));\nconst SocketManager_1 = __importDefault(require(\"../uniapi/SocketManager\"));\nconst Constant_1 = __importDefault(require(\"../core/Constant\"));\nconst GtRuntime_1 = __importDefault(require(\"../core/GtRuntime\"));\nclass Message {\n constructor() {\n this.version = '';\n this.command = 0;\n this.packetId = 0;\n this.timeStamp = 0;\n this.data = '';\n this.signature = '';\n }\n static initMsg(message, ...args) {\n message.version = Constant_1.default.SOCKET_PROTOCOL_VERSION;\n message.command = 0;\n // message.packetId = GtRuntime.packetId++\n message.timeStamp = new Date().getTime();\n return message;\n }\n static parseMsg(message, json) {\n let obj = JSON.parse(json);\n message.version = obj.version;\n message.command = obj.command;\n message.packetId = obj.packetId;\n message.timeStamp = obj.timeStamp;\n message.data = obj.data;\n message.signature = obj.signature;\n return message;\n }\n stringify() {\n return JSON.stringify(this, ['version', 'command', 'packetId', 'timeStamp', 'data', 'signature']);\n }\n send() {\n // MessageSender.sendMessage(this)\n if (!SocketManager_1.default.isAvailable()) {\n return;\n }\n this.packetId = GtRuntime_1.default.packetId++;\n this.data = JSON.stringify(this.data);\n console.log(`send msg`, this.stringify());\n if (this.command != Message.Command.HEART_BEAT) {\n MessageCoder_1.default.sign(this);\n if (this.data && this.command != Message.Command.KEY_NEGOTIATE) {\n MessageCoder_1.default.encrypt(this);\n }\n }\n SocketManager_1.default.send(this.stringify());\n }\n}\nMessage.Command = (_a = class {\n },\n _a.HEART_BEAT = 0x00,\n _a.KEY_NEGOTIATE = 0x01,\n _a.KEY_NEGOTIATE_RESULT = 0x10,\n _a.REGISTER = 0x02,\n _a.REGISTER_RESULT = 0x20,\n _a.LOGIN = 0x03,\n _a.LOGIN_RESULT = 0x30,\n _a.LOGOUT = 0x04,\n _a.LOGOUT_RESULT = 0x40,\n _a.CLIENT_MSG = 0x05,\n _a.SERVER_MSG = 0x50,\n _a.SERVER_CLOSE = 0x60,\n _a);\nexports.default = Message;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst CryptManager_1 = __importDefault(require(\"../utils/CryptManager\"));\n/**\n * 消息加解密、签名、验签\n */\nvar MessageCoder;\n(function (MessageCoder) {\n function encrypt(msg) {\n msg.data = CryptManager_1.default.encrypt(msg.data);\n }\n MessageCoder.encrypt = encrypt;\n function decrypt(msg) {\n msg.data = CryptManager_1.default.decrypt(msg.data);\n }\n MessageCoder.decrypt = decrypt;\n function sign(msg) {\n msg.signature = CryptManager_1.default.sha256(`${msg.timeStamp}${msg.packetId}${msg.command}${msg.data}`);\n }\n MessageCoder.sign = sign;\n function verify(msg) {\n let verify = CryptManager_1.default.sha256(`${msg.timeStamp}${msg.packetId}${msg.command}${msg.data}`);\n if (msg.signature != verify) {\n throw new Error(`msg signature vierfy failed`);\n }\n }\n MessageCoder.verify = verify;\n})(MessageCoder || (MessageCoder = {}));\nexports.default = MessageCoder;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst KeyNegotiateResult_1 = __importDefault(require(\"../message/KeyNegotiateResult\"));\nconst LoginResult_1 = __importDefault(require(\"../message/LoginResult\"));\nconst Message_1 = __importDefault(require(\"../message/Message\"));\nconst RegisterResult_1 = __importDefault(require(\"../message/RegisterResult\"));\nconst AddPhoneInfoResult_1 = __importDefault(require(\"../message/ServerMsg/AddPhoneInfoResult\"));\nconst BindAliasResult_1 = __importDefault(require(\"../message/ServerMsg/BindAliasResult\"));\nconst FeedbackResult_1 = __importDefault(require(\"../message/ServerMsg/FeedbackResult\"));\nconst PushMessage_1 = __importDefault(require(\"../message/ServerMsg/PushMessage\"));\nconst RedirectServer_1 = __importDefault(require(\"../message/ServerMsg/RedirectServer\"));\nconst ActionMsg_1 = __importDefault(require(\"../message/ActionMsg\"));\nconst SetModeResult_1 = __importDefault(require(\"../message/ServerMsg/SetModeResult\"));\nconst SetTagResult_1 = __importDefault(require(\"../message/ServerMsg/SetTagResult\"));\nconst UnbindAliasResult_1 = __importDefault(require(\"../message/ServerMsg/UnbindAliasResult\"));\nconst MessageCoder_1 = __importDefault(require(\"./MessageCoder\"));\nconst ActionMsg_2 = __importDefault(require(\"../message/ActionMsg\"));\nconst Received_1 = __importDefault(require(\"../message/Received\"));\nconst ServerClose_1 = __importDefault(require(\"./ServerClose\"));\nclass MessageHandler {\n static receiveMessage(msg) {\n let message = Message_1.default.parseMsg(new Message_1.default(), msg);\n console.log(`receive msg`, message);\n if (message.command != Message_1.default.Command.KEY_NEGOTIATE_RESULT\n && message.command != Message_1.default.Command.HEART_BEAT\n && message.command != Message_1.default.Command.SERVER_CLOSE) {\n MessageCoder_1.default.decrypt(message);\n }\n if (message.command != Message_1.default.Command.HEART_BEAT\n && message.command != Message_1.default.Command.SERVER_CLOSE) {\n MessageCoder_1.default.verify(message);\n }\n switch (message.command) {\n case Message_1.default.Command.KEY_NEGOTIATE_RESULT:\n KeyNegotiateResult_1.default.parse(message.stringify()).receive();\n break;\n case Message_1.default.Command.REGISTER_RESULT:\n RegisterResult_1.default.parse(message.stringify()).receive();\n break;\n case Message_1.default.Command.LOGIN_RESULT:\n LoginResult_1.default.parse(message.stringify()).receive();\n break;\n case Message_1.default.Command.SERVER_MSG:\n this.receiveActionMsg(message.stringify());\n break;\n case Message_1.default.Command.SERVER_CLOSE:\n ServerClose_1.default.parse(message.stringify()).receive();\n break;\n default:\n console.log(`receive an unknow msg`);\n break;\n }\n }\n static receiveActionMsg(msg) {\n let actionMsg = ActionMsg_2.default.parseActionMsg(new ActionMsg_2.default(), msg);\n if (actionMsg.actionMsgData.msgAction != ActionMsg_1.default.ServerAction.RECEIVED && actionMsg.actionMsgData.msgAction != ActionMsg_1.default.ServerAction.REDIRECT_SERVER) {\n let actionMsgData = JSON.parse(actionMsg.actionMsgData.msgData);\n Received_1.default.create(actionMsgData.id).send();\n }\n switch (actionMsg.actionMsgData.msgAction) {\n case ActionMsg_1.default.ServerAction.PUSH_MESSAGE:\n PushMessage_1.default.parse(msg).receive();\n break;\n case ActionMsg_1.default.ServerAction.REDIRECT_SERVER:\n RedirectServer_1.default.parse(msg).receive();\n break;\n case ActionMsg_1.default.ServerAction.ADD_PHONE_INFO_RESULT:\n AddPhoneInfoResult_1.default.parse(msg).receive();\n break;\n case ActionMsg_1.default.ServerAction.SET_MODE_RESULT:\n SetModeResult_1.default.parse(msg).receive();\n break;\n case ActionMsg_1.default.ServerAction.SET_TAG_RESULT:\n SetTagResult_1.default.parse(msg).receive();\n break;\n case ActionMsg_1.default.ServerAction.BIND_ALIAS_RESULT:\n BindAliasResult_1.default.parse(msg).receive();\n break;\n case ActionMsg_1.default.ServerAction.UNBIND_ALIAS_RESULT:\n UnbindAliasResult_1.default.parse(msg).receive();\n break;\n case ActionMsg_1.default.ServerAction.FEED_BACK_RESULT:\n FeedbackResult_1.default.parse(msg).receive();\n break;\n case ActionMsg_1.default.ServerAction.RECEIVED:\n Received_1.default.parse(msg).receive();\n break;\n }\n }\n}\nexports.default = MessageHandler;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst ErrorCode_1 = require(\"../ErrorCode\");\nconst GtRuntime_1 = __importDefault(require(\"../core/GtRuntime\"));\nconst ActionMsg_1 = __importDefault(require(\"./ActionMsg\"));\nclass Received extends ActionMsg_1.default {\n constructor() {\n super(...arguments);\n this.receivedData = new ReceivedData();\n }\n static create(msgId) {\n let instance = new Received();\n super.initActionMsg(instance);\n instance.callback = (res) => {\n //received失败时3秒后重试\n if (res.resultCode != ErrorCode_1.ErrorCode.SUCCESS && res.resultCode != ErrorCode_1.ErrorCode.REPEAT_MESSAGE) {\n setTimeout(function () {\n instance.send();\n }, 3 * 1000);\n }\n };\n instance.actionMsgData.msgAction = ActionMsg_1.default.ClientAction.RECEIVED;\n instance.receivedData = ReceivedData.create(msgId);\n instance.actionMsgData.msgData = JSON.stringify(instance.receivedData);\n return instance;\n }\n static parse(data) {\n let instance = new Received();\n super.parseActionMsg(instance, data);\n instance.receivedData = ReceivedData.parse(instance.data);\n return instance;\n }\n receive() {\n var _a;\n //addphoneinfo和feedback收到received则说明成功了,服务端不会响应result命令,因此在received这里处理\n let actionMsg = ActionMsg_1.default.getWaitingResponseMessage(this.actionMsgData.msgId);\n if (actionMsg && actionMsg.actionMsgData.msgAction == ActionMsg_1.default.ClientAction.ADD_PHONE_INFO || actionMsg && actionMsg.actionMsgData.msgAction == ActionMsg_1.default.ClientAction.FEED_BACK) {\n ActionMsg_1.default.removeWaitingResponseMessage(actionMsg.actionMsgData.msgId);\n (_a = actionMsg.callback) === null || _a === void 0 ? void 0 : _a.call(actionMsg.callback, { resultCode: ErrorCode_1.ErrorCode.SUCCESS, message: 'received' });\n }\n }\n send() {\n super.send();\n }\n}\nclass ReceivedData {\n constructor() {\n this.msgId = '';\n this.cid = '';\n }\n static create(msgId) {\n let instance = new ReceivedData();\n instance.cid = GtRuntime_1.default.cid;\n instance.msgId = msgId;\n return instance;\n }\n static parse(data) {\n let instance = new ReceivedData();\n let receivedData = JSON.parse(data);\n instance.cid = receivedData.cid;\n instance.msgId = receivedData.msgId;\n return instance;\n }\n}\nexports.default = Received;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GtRuntime_1 = __importDefault(require(\"../core/GtRuntime\"));\nconst Message_1 = __importDefault(require(\"./Message\"));\nclass Register extends Message_1.default {\n constructor() {\n super(...arguments);\n this.registerData = new RegisterData();\n }\n static create() {\n let instance = new Register();\n super.initMsg(instance);\n instance.command = Message_1.default.Command.REGISTER;\n instance.data = instance.registerData = RegisterData.create();\n return instance;\n }\n send() {\n super.send();\n }\n}\nclass RegisterData {\n constructor() {\n this.appId = '';\n this.regId = '';\n }\n static create() {\n let instance = new RegisterData();\n instance.appId = GtRuntime_1.default.appid;\n instance.regId = GtRuntime_1.default.regId;\n return instance;\n }\n}\nexports.default = Register;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Message_1 = __importDefault(require(\"./Message\"));\nconst Storage_1 = __importDefault(require(\"../uniapi/Storage\"));\nconst GtRuntime_1 = __importDefault(require(\"../core/GtRuntime\"));\nconst Login_1 = __importDefault(require(\"./Login\"));\nclass RegisterResult extends Message_1.default {\n constructor() {\n super(...arguments);\n this.registerResultData = new RegisterResultData();\n }\n static parse(data) {\n let instance = new RegisterResult();\n super.parseMsg(instance, data);\n instance.registerResultData = RegisterResultData.parse(instance.data);\n return instance;\n }\n receive() {\n var _a;\n if (this.registerResultData.errorCode != 0 || !this.registerResultData.cid || !this.registerResultData.session) {\n console.error(`register fail: ${this.data}`);\n return;\n }\n if (GtRuntime_1.default.cid != this.registerResultData.cid) {\n //cid发生变更,重置addPhoneInfo时间间隔\n Storage_1.default.setSync(Storage_1.default.KEY_ADD_PHONE_INFO_TIME, 0);\n }\n GtRuntime_1.default.cid = this.registerResultData.cid;\n (_a = GtRuntime_1.default.onClientId) === null || _a === void 0 ? void 0 : _a.call(GtRuntime_1.default.onClientId, { cid: GtRuntime_1.default.cid });\n Storage_1.default.set({ key: Storage_1.default.KEY_CID, data: GtRuntime_1.default.cid });\n GtRuntime_1.default.session = this.registerResultData.session;\n Storage_1.default.set({ key: Storage_1.default.KEY_SESSION, data: GtRuntime_1.default.session });\n GtRuntime_1.default.deviceId = this.registerResultData.deviceId;\n Storage_1.default.set({ key: Storage_1.default.KEY_DEVICE_ID, data: GtRuntime_1.default.deviceId });\n Login_1.default.create().send();\n }\n}\nclass RegisterResultData {\n constructor() {\n this.errorCode = -1;\n this.errorMsg = '';\n this.cid = '';\n this.session = '';\n this.deviceId = '';\n this.regId = '';\n }\n static parse(data) {\n let instance = new RegisterResultData();\n let result = JSON.parse(data);\n instance.errorCode = result.errorCode;\n instance.errorMsg = result.errorMsg;\n instance.cid = result.cid;\n instance.session = result.session;\n instance.deviceId = result.deviceId;\n instance.regId = result.regId;\n return instance;\n }\n}\nexports.default = RegisterResult;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst SocketManager_1 = __importDefault(require(\"../uniapi/SocketManager\"));\nconst Message_1 = __importDefault(require(\"./Message\"));\nclass ServerClose extends Message_1.default {\n constructor() {\n super(...arguments);\n this.serverCloseData = new ServerCloseData();\n }\n static parse(data) {\n let instance = new ServerClose();\n super.parseMsg(instance, data);\n instance.serverCloseData = ServerCloseData.parse(instance.data);\n return instance;\n }\n receive() {\n console.log(`server close: ${this.data}`);\n if (this.serverCloseData.code == 20\n || this.serverCloseData.code == 23\n || this.serverCloseData.code == 24) {\n //code 20、23、24,不重连\n SocketManager_1.default.allowReconnect = false;\n }\n SocketManager_1.default.close();\n }\n}\nclass ServerCloseData {\n constructor() {\n this.code = -1;\n this.msg = '';\n }\n static parse(data) {\n let instance = new ServerCloseData();\n let result = JSON.parse(data);\n instance.code = result.code;\n instance.msg = result.msg;\n return instance;\n }\n}\nexports.default = ServerClose;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Storage_1 = __importDefault(require(\"../../uniapi/Storage\"));\nconst ActionMsg_1 = __importDefault(require(\"../ActionMsg\"));\nclass AddPhoneInfoResult extends ActionMsg_1.default {\n constructor() {\n super(...arguments);\n this.addPhoneInfoResultData = new AddPhoneInfoResultData();\n }\n static parse(data) {\n let instance = new AddPhoneInfoResult();\n super.parseActionMsg(instance, data);\n instance.addPhoneInfoResultData = AddPhoneInfoResultData.parse(instance.actionMsgData.msgData);\n return instance;\n }\n receive() {\n var _a;\n console.log(`add phone info result`, this.addPhoneInfoResultData);\n let addPhoneInfo = ActionMsg_1.default.removeWaitingResponseMessage(this.actionMsgData.msgId);\n if (addPhoneInfo) {\n (_a = addPhoneInfo.callback) === null || _a === void 0 ? void 0 : _a.call(addPhoneInfo.callback, { resultCode: this.addPhoneInfoResultData.errorCode, message: this.addPhoneInfoResultData.errorMsg });\n }\n Storage_1.default.set({ key: Storage_1.default.KEY_ADD_PHONE_INFO_TIME, data: new Date().getTime() });\n }\n}\nclass AddPhoneInfoResultData {\n constructor() {\n this.errorCode = -1;\n this.errorMsg = '';\n }\n static parse(data) {\n let instance = new AddPhoneInfoResultData();\n let result = JSON.parse(data);\n instance.errorCode = result.errorCode;\n instance.errorMsg = result.errorMsg;\n return instance;\n }\n}\nexports.default = AddPhoneInfoResult;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Storage_1 = __importDefault(require(\"../../uniapi/Storage\"));\nconst Log_1 = __importDefault(require(\"../../utils/Log\"));\nconst ActionMsg_1 = __importDefault(require(\"../ActionMsg\"));\nclass BindAliasResult extends ActionMsg_1.default {\n constructor() {\n super(...arguments);\n this.bindAliasResultData = new BindAliasResultData();\n }\n static parse(data) {\n let instance = new BindAliasResult();\n super.parseActionMsg(instance, data);\n instance.bindAliasResultData = BindAliasResultData.parse(instance.actionMsgData.msgData);\n return instance;\n }\n receive() {\n var _a;\n Log_1.default.info(`bind alias result`, this.bindAliasResultData);\n let bindAlias = ActionMsg_1.default.removeWaitingResponseMessage(this.actionMsgData.msgId);\n if (bindAlias) {\n (_a = bindAlias.callback) === null || _a === void 0 ? void 0 : _a.call(bindAlias.callback, { resultCode: this.bindAliasResultData.errorCode, message: this.bindAliasResultData.errorMsg });\n }\n Storage_1.default.set({ key: Storage_1.default.KEY_BIND_ALIAS_TIME, data: new Date().getTime() });\n }\n}\nclass BindAliasResultData {\n constructor() {\n this.errorCode = -1;\n this.errorMsg = '';\n }\n static parse(data) {\n let instance = new BindAliasResultData();\n let result = JSON.parse(data);\n instance.errorCode = result.errorCode;\n instance.errorMsg = result.errorMsg;\n return instance;\n }\n}\nexports.default = BindAliasResult;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst ErrorCode_1 = require(\"../../ErrorCode\");\nconst ActionMsg_1 = __importDefault(require(\"../ActionMsg\"));\nclass FeedbackResult extends ActionMsg_1.default {\n constructor() {\n super(...arguments);\n this.feedbackResultData = new FeedbackResultData();\n }\n static parse(data) {\n let instance = new FeedbackResult();\n super.parseActionMsg(instance, data);\n instance.feedbackResultData = FeedbackResultData.parse(instance.actionMsgData.msgData);\n return instance;\n }\n receive() {\n var _a;\n console.log(`feedback result`, this.feedbackResultData);\n let feedback = ActionMsg_1.default.removeWaitingResponseMessage(this.actionMsgData.msgId);\n if (feedback) {\n (_a = feedback.callback) === null || _a === void 0 ? void 0 : _a.call(feedback.callback, { resultCode: ErrorCode_1.ErrorCode.SUCCESS, message: 'received' });\n }\n }\n}\nclass FeedbackResultData {\n constructor() {\n this.actionId = '';\n this.taskId = '';\n this.result = '';\n }\n static parse(data) {\n let instance = new FeedbackResultData();\n let feedbackResultData = JSON.parse(data);\n instance.actionId = feedbackResultData.actionId;\n instance.taskId = feedbackResultData.taskId;\n instance.result = feedbackResultData.result;\n return instance;\n }\n}\nexports.default = FeedbackResult;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GtRuntime_1 = __importDefault(require(\"../../core/GtRuntime\"));\nconst ActionMsg_1 = __importDefault(require(\"../ActionMsg\"));\nconst Feedback_1 = __importDefault(require(\"../ClientMsg/Feedback\"));\nclass PushMessage extends ActionMsg_1.default {\n constructor() {\n super(...arguments);\n this.pushMessageData = new PushMessageData();\n }\n static parse(data) {\n let instance = new PushMessage();\n super.parseActionMsg(instance, data);\n instance.pushMessageData = PushMessageData.parse(instance.actionMsgData.msgData);\n return instance;\n }\n receive() {\n var _a;\n console.log(`push message receive`, this.pushMessageData);\n if (this.pushMessageData.appId != GtRuntime_1.default.appid ||\n !this.pushMessageData.messageid ||\n !this.pushMessageData.taskId) {\n console.log(`invalid push message`, this.stringify());\n }\n //发送回执\n Feedback_1.default.create(this, Feedback_1.default.ActionId.RECEIVE).send();\n Feedback_1.default.create(this, Feedback_1.default.ActionId.MP_RECEIVE).send();\n if (this.actionMsgData.msgExtraData && GtRuntime_1.default.onPushMsg) {\n (_a = GtRuntime_1.default.onPushMsg) === null || _a === void 0 ? void 0 : _a.call(GtRuntime_1.default.onPushMsg, { message: this.actionMsgData.msgExtraData });\n }\n }\n}\nclass PushMessageData {\n constructor() {\n this.id = '';\n this.appKey = '';\n this.appId = '';\n this.messageid = '';\n this.taskId = '';\n this.actionChain = [];\n this.cdnType = '';\n }\n static parse(data) {\n let instance = new PushMessageData();\n let pushMessageData = JSON.parse(data);\n instance.id = pushMessageData.id;\n instance.appKey = pushMessageData.appKey;\n instance.appId = pushMessageData.appId;\n instance.messageid = pushMessageData.messageid;\n instance.taskId = pushMessageData.taskId;\n instance.actionChain = pushMessageData.actionChain;\n instance.cdnType = pushMessageData.cdnType;\n return instance;\n }\n}\nclass ActionChain {\n constructor() {\n this.type = '';\n this.actionid = '';\n this.do = '';\n }\n}\nActionChain.Type = (_a = class {\n },\n _a.GO_TO = 'goto',\n _a.TRANSMIT = 'transmit',\n _a);\nexports.default = PushMessage;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst SocketManager_1 = __importDefault(require(\"../../uniapi/SocketManager\"));\nconst GtRuntime_1 = __importDefault(require(\"../../core/GtRuntime\"));\nconst ActionMsg_1 = __importDefault(require(\"../ActionMsg\"));\nclass RedirectServer extends ActionMsg_1.default {\n constructor() {\n super(...arguments);\n this.redirectServerData = new RedirectServerData();\n }\n static parse(data) {\n let instance = new RedirectServer();\n super.parseActionMsg(instance, data);\n instance.redirectServerData = RedirectServerData.parse(instance.actionMsgData.msgData);\n return instance;\n }\n receive() {\n GtRuntime_1.default.socketUrl = this.redirectServerData.addressList.split(',')[0];\n SocketManager_1.default.connect();\n }\n}\nclass RedirectServerData {\n constructor() {\n this.addressList = '';\n this.delay = 0;\n this.location = '';\n this.idConfig = '';\n }\n static parse(data) {\n let instance = new RedirectServerData();\n let redirectServerData = JSON.parse(data);\n instance.addressList = redirectServerData.addressList;\n instance.delay = redirectServerData.delay;\n instance.location = redirectServerData.location;\n instance.idConfig = redirectServerData.idConfig;\n return instance;\n }\n}\nexports.default = RedirectServer;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst ActionMsg_1 = __importDefault(require(\"../ActionMsg\"));\nclass SetModeResult extends ActionMsg_1.default {\n constructor() {\n super(...arguments);\n this.setModeResultData = new SetModeResultData();\n }\n static parse(data) {\n let instance = new SetModeResult();\n super.parseActionMsg(instance, data);\n instance.setModeResultData = SetModeResultData.parse(instance.actionMsgData.msgData);\n return instance;\n }\n receive() {\n var _a;\n console.log(`set mode result`, this.setModeResultData);\n let setMode = ActionMsg_1.default.removeWaitingResponseMessage(this.actionMsgData.msgId);\n if (setMode) {\n (_a = setMode.callback) === null || _a === void 0 ? void 0 : _a.call(setMode.callback, { resultCode: this.setModeResultData.errorCode, message: this.setModeResultData.errorMsg });\n }\n }\n}\nclass SetModeResultData {\n constructor() {\n this.errorCode = -1;\n this.errorMsg = '';\n }\n static parse(data) {\n let instance = new SetModeResultData();\n let result = JSON.parse(data);\n instance.errorCode = result.errorCode;\n instance.errorMsg = result.errorMsg;\n return instance;\n }\n}\nexports.default = SetModeResult;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Storage_1 = __importDefault(require(\"../../uniapi/Storage\"));\nconst Log_1 = __importDefault(require(\"../../utils/Log\"));\nconst ActionMsg_1 = __importDefault(require(\"../ActionMsg\"));\nclass SetTagResult extends ActionMsg_1.default {\n constructor() {\n super(...arguments);\n this.setTagResultData = new SetTagResultData();\n }\n static parse(data) {\n let instance = new SetTagResult();\n super.parseActionMsg(instance, data);\n instance.setTagResultData = SetTagResultData.parse(instance.actionMsgData.msgData);\n return instance;\n }\n receive() {\n var _a;\n Log_1.default.info(`set tag result`, this.setTagResultData);\n let setTag = ActionMsg_1.default.removeWaitingResponseMessage(this.actionMsgData.msgId);\n if (setTag) {\n (_a = setTag.callback) === null || _a === void 0 ? void 0 : _a.call(setTag.callback, { resultCode: this.setTagResultData.errorCode, message: this.setTagResultData.errorMsg });\n }\n Storage_1.default.set({ key: Storage_1.default.KEY_SET_TAG_TIME, data: new Date().getTime() });\n }\n}\nclass SetTagResultData {\n constructor() {\n this.errorCode = 0;\n this.errorMsg = '';\n }\n static parse(data) {\n let instance = new SetTagResultData();\n let setTagResultData = JSON.parse(data);\n instance.errorCode = setTagResultData.errorCode;\n instance.errorMsg = setTagResultData.errorMsg;\n return instance;\n }\n}\nexports.default = SetTagResult;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Storage_1 = __importDefault(require(\"../../uniapi/Storage\"));\nconst Log_1 = __importDefault(require(\"../../utils/Log\"));\nconst ActionMsg_1 = __importDefault(require(\"../ActionMsg\"));\nclass UnbindAliasResult extends ActionMsg_1.default {\n constructor() {\n super(...arguments);\n this.unbindAliasResultData = new UnbindAliasResultData();\n }\n static parse(data) {\n let instance = new UnbindAliasResult();\n super.parseActionMsg(instance, data);\n instance.unbindAliasResultData = UnbindAliasResultData.parse(instance.actionMsgData.msgData);\n return instance;\n }\n receive() {\n var _a;\n Log_1.default.info(`unbind alias result`, this.unbindAliasResultData);\n let unbindAlias = ActionMsg_1.default.removeWaitingResponseMessage(this.actionMsgData.msgId);\n if (unbindAlias) {\n (_a = unbindAlias.callback) === null || _a === void 0 ? void 0 : _a.call(unbindAlias.callback, { resultCode: this.unbindAliasResultData.errorCode, message: this.unbindAliasResultData.errorMsg });\n }\n Storage_1.default.set({ key: Storage_1.default.KEY_BIND_ALIAS_TIME, data: new Date().getTime() });\n }\n}\nclass UnbindAliasResultData {\n constructor() {\n this.errorCode = -1;\n this.errorMsg = '';\n }\n static parse(data) {\n let instance = new UnbindAliasResultData();\n let result = JSON.parse(data);\n instance.errorCode = result.errorCode;\n instance.errorMsg = result.errorMsg;\n return instance;\n }\n}\nexports.default = UnbindAliasResult;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass DelayTask {\n constructor(delay) {\n this.delay = 10;\n this.delay = delay;\n }\n start() {\n this.cancel();\n let _this = this;\n this.timer = setInterval(function () {\n _this.run();\n }, this.delay);\n }\n cancel() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n}\nexports.default = DelayTask;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst HeartBeat_1 = __importDefault(require(\"../message/HeartBeat\"));\nconst DelayTask_1 = __importDefault(require(\"./DelayTask\"));\nclass HeartBeatTask extends DelayTask_1.default {\n static getInstance() {\n return HeartBeatTask.InstanceHolder.instance;\n }\n run() {\n HeartBeat_1.default.create().send();\n }\n refresh() {\n this.delay = 60 * 1000;\n this.start();\n }\n}\nHeartBeatTask.INTERVAL = 60 * 1000;\nHeartBeatTask.InstanceHolder = (_a = class {\n },\n _a.instance = new HeartBeatTask(HeartBeatTask.INTERVAL),\n _a);\nexports.default = HeartBeatTask;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Device;\n(function (Device) {\n let systemInfo;\n let accountInfo;\n try {\n systemInfo = uni.getSystemInfoSync();\n accountInfo = uni.getAccountInfoSync();\n }\n catch (error) {\n }\n function os() {\n let result = '';\n try {\n result = systemInfo ? systemInfo.platform : '';\n }\n catch (error) {\n console.log(error);\n }\n return result ? result : '';\n }\n Device.os = os;\n function model() {\n let result = '';\n try {\n result = systemInfo ? systemInfo.model : '';\n }\n catch (error) {\n console.log(error);\n }\n return result ? result : '';\n }\n Device.model = model;\n function brand() {\n let result = '';\n try {\n result = systemInfo ? systemInfo.brand : '';\n }\n catch (error) {\n console.log(error);\n }\n return result ? result : '';\n }\n Device.brand = brand;\n function osVersion() {\n let result = '';\n try {\n result = systemInfo ? systemInfo.system : '';\n // #ifdef MP-ALIPAY\n let osPrefix = os();\n if (result && osPrefix && !result.toLocaleLowerCase().startsWith(osPrefix.toLowerCase())) {\n result = os() + ' ' + result;\n }\n // #endif\n }\n catch (error) {\n console.log(error);\n }\n return result ? result : '';\n }\n Device.osVersion = osVersion;\n function platform() {\n let platform = '';\n // #ifdef APP-PLUS\n platform = 'APP-PLUS';\n // #endif\n // #ifdef APP-PLUS-NVUE\n platform = 'APP-PLUS-NVUE';\n // #endif\n // #ifdef APP-NVUE\n platform = 'APP-NVUE';\n // #endif\n // #ifdef H5\n platform = 'H5';\n // #endif\n // #ifdef MP-WEIXIN\n platform = 'MP-WEIXIN';\n // #endif\n // #ifdef MP-ALIPAY\n platform = 'MP-ALIPAY';\n // #endif\n // #ifdef MP-BAIDU\n platform = 'MP-BAIDU';\n // #endif\n // #ifdef MP-TOUTIAO\n platform = 'MP-TOUTIAO';\n // #endif\n // #ifdef MP-LARK\n platform = 'MP-LARK';\n // #endif\n // #ifdef MP-QQ\n platform = 'MP-QQ';\n // #endif\n // #ifdef MP-KUAISHOU\n platform = 'MP-KUAISHOU';\n // #endif\n // #ifdef MP-360\n platform = 'MP-360';\n // #endif\n // #ifdef QUICKAPP-WEBVIEW\t\n platform = 'QUICKAPP-WEBVIEW';\n // #endif\n // #ifdef QUICKAPP-WEBVIEW-UNION\n platform = 'QUICKAPP-WEBVIEW-UNION';\n // #endif\n return platform;\n }\n Device.platform = platform;\n function platformVersion() {\n let result = '';\n try {\n result = systemInfo ? systemInfo.version : '';\n }\n catch (error) {\n console.log(error);\n }\n return result ? result : '';\n }\n Device.platformVersion = platformVersion;\n function platformId() {\n let result = '';\n try {\n result = accountInfo ? accountInfo.miniProgram.appId : '';\n }\n catch (error) {\n console.log(error);\n }\n return result ? result : '';\n }\n Device.platformId = platformId;\n function language() {\n let result = '';\n try {\n result = systemInfo ? systemInfo.language : '';\n }\n catch (error) {\n console.log(error);\n }\n return result ? result : '';\n }\n Device.language = language;\n function imei() {\n return '';\n }\n Device.imei = imei;\n function oaid() {\n return '';\n }\n Device.oaid = oaid;\n function getNetworkType(callback) {\n uni.getNetworkType({\n success: (result) => {\n var _a;\n console.log(`getNetworkType: `, result);\n (_a = callback.success) === null || _a === void 0 ? void 0 : _a.call(callback.success, result.networkType);\n },\n fail: (result) => {\n var _a;\n (_a = callback.fail) === null || _a === void 0 ? void 0 : _a.call(callback.fail, result);\n }\n });\n }\n Device.getNetworkType = getNetworkType;\n function onNetworkStatusChange(callback) {\n uni.onNetworkStatusChange((result) => {\n console.log(`onNetworkStatusChange: `, result);\n callback.call(callback, result);\n });\n }\n Device.onNetworkStatusChange = onNetworkStatusChange;\n})(Device || (Device = {}));\nexports.default = Device;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst KeyNegotiate_1 = __importDefault(require(\"../message/KeyNegotiate\"));\nconst GtRuntime_1 = __importDefault(require(\"../core/GtRuntime\"));\nconst MessageHandler_1 = __importDefault(require(\"../message/MessageHandler\"));\nconst HeartBeatTask_1 = __importDefault(require(\"../task/HeartBeatTask\"));\nconst Log_1 = __importDefault(require(\"../utils/Log\"));\nvar SocketManager;\n(function (SocketManager) {\n let socketTask;\n let socketOpen = false;\n let socketConnected = false;\n SocketManager.allowReconnect = true;\n function isAvailable() {\n return socketOpen && socketConnected;\n }\n SocketManager.isAvailable = isAvailable;\n function reconnect(delay) {\n if (!SocketManager.allowReconnect) {\n return;\n }\n setTimeout(function () {\n connect();\n }, delay);\n }\n SocketManager.reconnect = reconnect;\n function connect() {\n SocketManager.allowReconnect = true;\n if (!GtRuntime_1.default.networkConnected) {\n Log_1.default.info(`connect failed, network is not available`);\n return;\n }\n if (socketConnected || socketOpen) {\n return;\n }\n let url = GtRuntime_1.default.socketUrl;\n console.log(`socket url is ${url}`);\n socketTask = uni.connectSocket({\n url: url,\n success: function () {\n socketConnected = true;\n console.log(`socket connect success`);\n startNegotiating();\n },\n fail: function () {\n socketConnected = false;\n console.log(`socket connect fail`);\n resetSocket('');\n }\n });\n // #ifdef MP-ALIPAY\n uni.onSocketOpen(onOpen);\n uni.onSocketMessage(onMessage);\n uni.onSocketError(onError);\n uni.onSocketClose(onClose);\n // #endif \n // #ifndef MP-ALIPAY\n socketTask.onOpen(onOpen);\n socketTask.onMessage(onMessage);\n socketTask.onError(onError);\n socketTask.onClose(onClose);\n // #endif \n }\n SocketManager.connect = connect;\n /**\n * 不同小程序平台socket触发connect和open回调的顺序不同,为了确保兼容,两个回调都触发协商流程\n */\n function startNegotiating() {\n if (socketConnected && socketOpen) {\n KeyNegotiate_1.default.create().send();\n HeartBeatTask_1.default.getInstance().start();\n }\n }\n function close(reason) {\n // #ifdef MP-ALIPAY\n uni.closeSocket({\n reason: reason,\n success: function (res) {\n console.log(`socket close success`, res);\n },\n fail: function (res) {\n console.log(`socket close fail`, res);\n resetSocket(res);\n }\n });\n // #endif \n // #ifndef MP-ALIPAY\n socketTask.close({\n reason: reason,\n success: function (res) {\n console.log(`socket close success`, res);\n },\n fail: function (res) {\n console.log(`socket close fail`, res);\n resetSocket(res);\n }\n });\n // #endif \n }\n SocketManager.close = close;\n function send(msg) {\n if (socketOpen && socketOpen) {\n // #ifdef MP-ALIPAY\n uni.sendSocketMessage({\n data: msg,\n success: function (res) {\n console.log(`socket send success`, msg);\n },\n fail: function (res) {\n console.log(`socket send fail`, res);\n }\n });\n // #endif \n // #ifndef MP-ALIPAY\n socketTask.send({\n data: msg,\n success: function (res) {\n console.log(`socket send success`, msg);\n },\n fail: function (res) {\n console.log(`socket send fail`, res);\n }\n });\n // #endif \n }\n else {\n throw new Error(`socket not connect`);\n }\n }\n SocketManager.send = send;\n function resetSocket(res) {\n var _a, _b;\n socketConnected = false;\n socketOpen = false;\n HeartBeatTask_1.default.getInstance().cancel();\n if (GtRuntime_1.default.online) {\n GtRuntime_1.default.online = false;\n (_a = GtRuntime_1.default.onlineState) === null || _a === void 0 ? void 0 : _a.call(GtRuntime_1.default.onlineState, { online: GtRuntime_1.default.online });\n }\n if (GtRuntime_1.default.online) {\n GtRuntime_1.default.online = false;\n (_b = GtRuntime_1.default.onlineState) === null || _b === void 0 ? void 0 : _b.call(GtRuntime_1.default.onlineState, { online: GtRuntime_1.default.online });\n }\n reconnect(1000);\n }\n let onOpen = function (res) {\n socketOpen = true;\n console.log(`socket onOpen`);\n startNegotiating();\n };\n let onMessage = function (res) {\n try {\n console.log(`socket onMessage`, res.data);\n HeartBeatTask_1.default.getInstance().refresh();\n MessageHandler_1.default.receiveMessage(res.data);\n }\n catch (error) {\n console.log(`handle received msg error`, error);\n }\n };\n let onError = function (res) {\n console.log(`socket onError`, res);\n close(`socket error`);\n };\n let onClose = function (res) {\n console.log(`socket onClose`, res);\n resetSocket(res);\n };\n})(SocketManager || (SocketManager = {}));\nexports.default = SocketManager;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Storage;\n(function (Storage) {\n Storage.KEY_APPID = 'appid';\n Storage.KEY_CID = 'cid';\n Storage.KEY_SESSION = 'session';\n Storage.KEY_REGID = 'regid';\n Storage.KEY_SOCKET_URL = 'socket_url';\n Storage.KEY_DEVICE_ID = 'deviceid';\n Storage.KEY_ADD_PHONE_INFO_TIME = 'api_time';\n Storage.KEY_BIND_ALIAS_TIME = 'ba_time';\n Storage.KEY_SET_TAG_TIME = 'st_time';\n function setSync(key, value) {\n uni.setStorageSync(key, value);\n }\n Storage.setSync = setSync;\n function set(obj) {\n uni.setStorage({\n key: obj.key,\n data: obj.data,\n fail: () => {\n var _a;\n console.log(`storage set fail: key=${obj.key}, data=${obj.data}`);\n (_a = obj.fail) === null || _a === void 0 ? void 0 : _a.call(obj);\n }\n });\n }\n Storage.set = set;\n function getSync(key, defaultValue) {\n let result = defaultValue;\n try {\n let value = uni.getStorageSync(key);\n if (value) {\n result = value;\n }\n }\n catch (error) {\n console.log(`get storage error`, error);\n }\n return result;\n }\n Storage.getSync = getSync;\n function get(obj) {\n uni.getStorage({\n key: obj.key,\n success: (result) => {\n var _a;\n (_a = obj.success) === null || _a === void 0 ? void 0 : _a.call(obj, result.data);\n },\n fail: () => {\n var _a;\n console.log(`storage set fail: key=${obj.key}`);\n (_a = obj.fail) === null || _a === void 0 ? void 0 : _a.call(obj);\n }\n });\n }\n Storage.get = get;\n})(Storage || (Storage = {}));\nexports.default = Storage;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst wxmp_rsa_1 = __importDefault(require(\"../wxmp-rsa\"));\nconst crypto_js_1 = __importDefault(require(\"crypto-js\"));\nconst GtRuntime_1 = __importDefault(require(\"../core/GtRuntime\"));\nvar CryptManager;\n(function (CryptManager) {\n let secretKey;\n let iv;\n let encryptedSecretKey;\n let encryptedIV;\n let rsa = new wxmp_rsa_1.default();\n let symmetricMode = crypto_js_1.default.mode.CBC;\n let symmetricPadding = crypto_js_1.default.pad.Pkcs7;\n let symmetricAlgorithm = crypto_js_1.default.AES;\n CryptManager.algorithmMap = new Map([\n ['aes', crypto_js_1.default.AES]\n ]);\n CryptManager.modeMap = new Map([\n ['cbc', crypto_js_1.default.mode.CBC],\n ['cfb', crypto_js_1.default.mode.CFB],\n ['cfb128', crypto_js_1.default.mode.CFB],\n ['ecb', crypto_js_1.default.mode.ECB],\n ['ofb', crypto_js_1.default.mode.OFB]\n ]);\n CryptManager.paddingMap = new Map([\n ['nopadding', crypto_js_1.default.pad.NoPadding],\n ['pkcs7', crypto_js_1.default.pad.Pkcs7]\n ]);\n function resetKey() {\n secretKey = crypto_js_1.default.MD5(new Date().getTime().toString());\n iv = crypto_js_1.default.MD5(secretKey);\n rsa.setPublicKey(GtRuntime_1.default.publicKey);\n console.log(`secretKey is ${secretKey.toString(crypto_js_1.default.enc.Hex)}`);\n console.log(`iv is ${iv.toString(crypto_js_1.default.enc.Hex)}`);\n encryptedSecretKey = rsa.encrypt(secretKey.toString(crypto_js_1.default.enc.Hex));\n encryptedIV = rsa.encrypt(iv.toString(crypto_js_1.default.enc.Hex));\n }\n CryptManager.resetKey = resetKey;\n function setEncryptParams(algorthim, mode, padding) {\n symmetricAlgorithm = CryptManager.algorithmMap.get(algorthim);\n symmetricMode = CryptManager.modeMap.get(mode);\n symmetricPadding = CryptManager.paddingMap.get(padding);\n }\n CryptManager.setEncryptParams = setEncryptParams;\n function encrypt(plainText) {\n //返回的是base64格式的密文\n return symmetricAlgorithm.encrypt(plainText, secretKey, { iv: iv, mode: symmetricMode, padding: symmetricPadding }).toString();\n }\n CryptManager.encrypt = encrypt;\n function decrypt(cipherText) {\n return symmetricAlgorithm.decrypt(cipherText, secretKey, { iv: iv, mode: symmetricMode, padding: symmetricPadding }).toString(crypto_js_1.default.enc.Utf8);\n }\n CryptManager.decrypt = decrypt;\n function sha256(text) {\n return crypto_js_1.default.SHA256(text).toString(crypto_js_1.default.enc.Base64);\n }\n CryptManager.sha256 = sha256;\n function md5Hex(text) {\n return crypto_js_1.default.MD5(text).toString(crypto_js_1.default.enc.Hex);\n }\n CryptManager.md5Hex = md5Hex;\n function getEncryptedSecretKey() {\n return encryptedSecretKey ? encryptedSecretKey : '';\n }\n CryptManager.getEncryptedSecretKey = getEncryptedSecretKey;\n function getEncryptedIV() {\n return encryptedIV ? encryptedIV : '';\n }\n CryptManager.getEncryptedIV = getEncryptedIV;\n})(CryptManager || (CryptManager = {}));\nexports.default = CryptManager;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass Log {\n static info(...msg) {\n if (this.debugMode) {\n console.info(`[GtPush]`, msg);\n }\n //最终发版时会通过打包配置将所有console.log调用去除\n console.log(msg);\n }\n static error(...msg) {\n console.error(`[GtPush]`, msg);\n }\n}\nLog.debugMode = false;\nexports.default = Log;\n","var BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\r\nexport function int2char(n) {\r\n return BI_RM.charAt(n);\r\n}\r\n//#region BIT_OPERATIONS\r\n// (public) this & a\r\nexport function op_and(x, y) {\r\n return x & y;\r\n}\r\n// (public) this | a\r\nexport function op_or(x, y) {\r\n return x | y;\r\n}\r\n// (public) this ^ a\r\nexport function op_xor(x, y) {\r\n return x ^ y;\r\n}\r\n// (public) this & ~a\r\nexport function op_andnot(x, y) {\r\n return x & ~y;\r\n}\r\n// return index of lowest 1-bit in x, x < 2^31\r\nexport function lbit(x) {\r\n if (x == 0) {\r\n return -1;\r\n }\r\n var r = 0;\r\n if ((x & 0xffff) == 0) {\r\n x >>= 16;\r\n r += 16;\r\n }\r\n if ((x & 0xff) == 0) {\r\n x >>= 8;\r\n r += 8;\r\n }\r\n if ((x & 0xf) == 0) {\r\n x >>= 4;\r\n r += 4;\r\n }\r\n if ((x & 3) == 0) {\r\n x >>= 2;\r\n r += 2;\r\n }\r\n if ((x & 1) == 0) {\r\n ++r;\r\n }\r\n return r;\r\n}\r\n// return number of 1 bits in x\r\nexport function cbit(x) {\r\n var r = 0;\r\n while (x != 0) {\r\n x &= x - 1;\r\n ++r;\r\n }\r\n return r;\r\n}\r\n//#endregion BIT_OPERATIONS\r\n","import { int2char } from \"./util\";\r\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\nvar b64pad = \"=\";\r\nexport function hex2b64(h) {\r\n var i;\r\n var c;\r\n var ret = \"\";\r\n for (i = 0; i + 3 <= h.length; i += 3) {\r\n c = parseInt(h.substring(i, i + 3), 16);\r\n ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63);\r\n }\r\n if (i + 1 == h.length) {\r\n c = parseInt(h.substring(i, i + 1), 16);\r\n ret += b64map.charAt(c << 2);\r\n }\r\n else if (i + 2 == h.length) {\r\n c = parseInt(h.substring(i, i + 2), 16);\r\n ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4);\r\n }\r\n while ((ret.length & 3) > 0) {\r\n ret += b64pad;\r\n }\r\n return ret;\r\n}\r\n// convert a base64 string to hex\r\nexport function b64tohex(s) {\r\n var ret = \"\";\r\n var i;\r\n var k = 0; // b64 state, 0-3\r\n var slop = 0;\r\n for (i = 0; i < s.length; ++i) {\r\n if (s.charAt(i) == b64pad) {\r\n break;\r\n }\r\n var v = b64map.indexOf(s.charAt(i));\r\n if (v < 0) {\r\n continue;\r\n }\r\n if (k == 0) {\r\n ret += int2char(v >> 2);\r\n slop = v & 3;\r\n k = 1;\r\n }\r\n else if (k == 1) {\r\n ret += int2char((slop << 2) | (v >> 4));\r\n slop = v & 0xf;\r\n k = 2;\r\n }\r\n else if (k == 2) {\r\n ret += int2char(slop);\r\n ret += int2char(v >> 2);\r\n slop = v & 3;\r\n k = 3;\r\n }\r\n else {\r\n ret += int2char((slop << 2) | (v >> 4));\r\n ret += int2char(v & 0xf);\r\n k = 0;\r\n }\r\n }\r\n if (k == 1) {\r\n ret += int2char(slop << 2);\r\n }\r\n return ret;\r\n}\r\n// convert a base64 string to a byte/number array\r\nexport function b64toBA(s) {\r\n // piggyback on b64tohex for now, optimize later\r\n var h = b64tohex(s);\r\n var i;\r\n var a = [];\r\n for (i = 0; 2 * i < h.length; ++i) {\r\n a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16);\r\n }\r\n return a;\r\n}\r\n","// Hex JavaScript decoder\r\n// Copyright (c) 2008-2013 Lapo Luchini \r\n// Permission to use, copy, modify, and/or distribute this software for any\r\n// purpose with or without fee is hereby granted, provided that the above\r\n// copyright notice and this permission notice appear in all copies.\r\n//\r\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\r\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\r\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\r\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\r\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\r\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\r\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\r\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\r\nvar decoder;\r\nexport var Hex = {\r\n decode: function (a) {\r\n var i;\r\n if (decoder === undefined) {\r\n var hex = \"0123456789ABCDEF\";\r\n var ignore = \" \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\r\n decoder = {};\r\n for (i = 0; i < 16; ++i) {\r\n decoder[hex.charAt(i)] = i;\r\n }\r\n hex = hex.toLowerCase();\r\n for (i = 10; i < 16; ++i) {\r\n decoder[hex.charAt(i)] = i;\r\n }\r\n for (i = 0; i < ignore.length; ++i) {\r\n decoder[ignore.charAt(i)] = -1;\r\n }\r\n }\r\n var out = [];\r\n var bits = 0;\r\n var char_count = 0;\r\n for (i = 0; i < a.length; ++i) {\r\n var c = a.charAt(i);\r\n if (c == \"=\") {\r\n break;\r\n }\r\n c = decoder[c];\r\n if (c == -1) {\r\n continue;\r\n }\r\n if (c === undefined) {\r\n throw new Error(\"Illegal character at offset \" + i);\r\n }\r\n bits |= c;\r\n if (++char_count >= 2) {\r\n out[out.length] = bits;\r\n bits = 0;\r\n char_count = 0;\r\n }\r\n else {\r\n bits <<= 4;\r\n }\r\n }\r\n if (char_count) {\r\n throw new Error(\"Hex encoding incomplete: 4 bits missing\");\r\n }\r\n return out;\r\n }\r\n};\r\n","// Base64 JavaScript decoder\r\n// Copyright (c) 2008-2013 Lapo Luchini \r\n// Permission to use, copy, modify, and/or distribute this software for any\r\n// purpose with or without fee is hereby granted, provided that the above\r\n// copyright notice and this permission notice appear in all copies.\r\n//\r\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\r\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\r\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\r\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\r\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\r\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\r\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\r\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\r\nvar decoder;\r\nexport var Base64 = {\r\n decode: function (a) {\r\n var i;\r\n if (decoder === undefined) {\r\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n var ignore = \"= \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\r\n decoder = Object.create(null);\r\n for (i = 0; i < 64; ++i) {\r\n decoder[b64.charAt(i)] = i;\r\n }\r\n decoder['-'] = 62; //+\r\n decoder['_'] = 63; //-\r\n for (i = 0; i < ignore.length; ++i) {\r\n decoder[ignore.charAt(i)] = -1;\r\n }\r\n }\r\n var out = [];\r\n var bits = 0;\r\n var char_count = 0;\r\n for (i = 0; i < a.length; ++i) {\r\n var c = a.charAt(i);\r\n if (c == \"=\") {\r\n break;\r\n }\r\n c = decoder[c];\r\n if (c == -1) {\r\n continue;\r\n }\r\n if (c === undefined) {\r\n throw new Error(\"Illegal character at offset \" + i);\r\n }\r\n bits |= c;\r\n if (++char_count >= 4) {\r\n out[out.length] = (bits >> 16);\r\n out[out.length] = (bits >> 8) & 0xFF;\r\n out[out.length] = bits & 0xFF;\r\n bits = 0;\r\n char_count = 0;\r\n }\r\n else {\r\n bits <<= 6;\r\n }\r\n }\r\n switch (char_count) {\r\n case 1:\r\n throw new Error(\"Base64 encoding incomplete: at least 2 bits missing\");\r\n case 2:\r\n out[out.length] = (bits >> 10);\r\n break;\r\n case 3:\r\n out[out.length] = (bits >> 16);\r\n out[out.length] = (bits >> 8) & 0xFF;\r\n break;\r\n }\r\n return out;\r\n },\r\n re: /-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,\r\n unarmor: function (a) {\r\n var m = Base64.re.exec(a);\r\n if (m) {\r\n if (m[1]) {\r\n a = m[1];\r\n }\r\n else if (m[2]) {\r\n a = m[2];\r\n }\r\n else {\r\n throw new Error(\"RegExp out of sync\");\r\n }\r\n }\r\n return Base64.decode(a);\r\n }\r\n};\r\n","// Big integer base-10 printing library\r\n// Copyright (c) 2014 Lapo Luchini \r\n// Permission to use, copy, modify, and/or distribute this software for any\r\n// purpose with or without fee is hereby granted, provided that the above\r\n// copyright notice and this permission notice appear in all copies.\r\n//\r\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\r\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\r\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\r\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\r\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\r\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\r\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\r\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\r\nvar max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256\r\nvar Int10 = /** @class */ (function () {\r\n function Int10(value) {\r\n this.buf = [+value || 0];\r\n }\r\n Int10.prototype.mulAdd = function (m, c) {\r\n // assert(m <= 256)\r\n var b = this.buf;\r\n var l = b.length;\r\n var i;\r\n var t;\r\n for (i = 0; i < l; ++i) {\r\n t = b[i] * m + c;\r\n if (t < max) {\r\n c = 0;\r\n }\r\n else {\r\n c = 0 | (t / max);\r\n t -= c * max;\r\n }\r\n b[i] = t;\r\n }\r\n if (c > 0) {\r\n b[i] = c;\r\n }\r\n };\r\n Int10.prototype.sub = function (c) {\r\n // assert(m <= 256)\r\n var b = this.buf;\r\n var l = b.length;\r\n var i;\r\n var t;\r\n for (i = 0; i < l; ++i) {\r\n t = b[i] - c;\r\n if (t < 0) {\r\n t += max;\r\n c = 1;\r\n }\r\n else {\r\n c = 0;\r\n }\r\n b[i] = t;\r\n }\r\n while (b[b.length - 1] === 0) {\r\n b.pop();\r\n }\r\n };\r\n Int10.prototype.toString = function (base) {\r\n if ((base || 10) != 10) {\r\n throw new Error(\"only base 10 is supported\");\r\n }\r\n var b = this.buf;\r\n var s = b[b.length - 1].toString();\r\n for (var i = b.length - 2; i >= 0; --i) {\r\n s += (max + b[i]).toString().substring(1);\r\n }\r\n return s;\r\n };\r\n Int10.prototype.valueOf = function () {\r\n var b = this.buf;\r\n var v = 0;\r\n for (var i = b.length - 1; i >= 0; --i) {\r\n v = v * max + b[i];\r\n }\r\n return v;\r\n };\r\n Int10.prototype.simplify = function () {\r\n var b = this.buf;\r\n return (b.length == 1) ? b[0] : this;\r\n };\r\n return Int10;\r\n}());\r\nexport { Int10 };\r\n","// ASN.1 JavaScript decoder\r\n// Copyright (c) 2008-2014 Lapo Luchini \r\n// Permission to use, copy, modify, and/or distribute this software for any\r\n// purpose with or without fee is hereby granted, provided that the above\r\n// copyright notice and this permission notice appear in all copies.\r\n//\r\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\r\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\r\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\r\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\r\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\r\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\r\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\r\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\r\n/*global oids */\r\nimport { Int10 } from \"./int10\";\r\nvar ellipsis = \"\\u2026\";\r\nvar reTimeS = /^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\r\nvar reTimeL = /^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\r\nfunction stringCut(str, len) {\r\n if (str.length > len) {\r\n str = str.substring(0, len) + ellipsis;\r\n }\r\n return str;\r\n}\r\nvar Stream = /** @class */ (function () {\r\n function Stream(enc, pos) {\r\n this.hexDigits = \"0123456789ABCDEF\";\r\n if (enc instanceof Stream) {\r\n this.enc = enc.enc;\r\n this.pos = enc.pos;\r\n }\r\n else {\r\n // enc should be an array or a binary string\r\n this.enc = enc;\r\n this.pos = pos;\r\n }\r\n }\r\n Stream.prototype.get = function (pos) {\r\n if (pos === undefined) {\r\n pos = this.pos++;\r\n }\r\n if (pos >= this.enc.length) {\r\n throw new Error(\"Requesting byte offset \" + pos + \" on a stream of length \" + this.enc.length);\r\n }\r\n return (\"string\" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos];\r\n };\r\n Stream.prototype.hexByte = function (b) {\r\n return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF);\r\n };\r\n Stream.prototype.hexDump = function (start, end, raw) {\r\n var s = \"\";\r\n for (var i = start; i < end; ++i) {\r\n s += this.hexByte(this.get(i));\r\n if (raw !== true) {\r\n switch (i & 0xF) {\r\n case 0x7:\r\n s += \" \";\r\n break;\r\n case 0xF:\r\n s += \"\\n\";\r\n break;\r\n default:\r\n s += \" \";\r\n }\r\n }\r\n }\r\n return s;\r\n };\r\n Stream.prototype.isASCII = function (start, end) {\r\n for (var i = start; i < end; ++i) {\r\n var c = this.get(i);\r\n if (c < 32 || c > 176) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n Stream.prototype.parseStringISO = function (start, end) {\r\n var s = \"\";\r\n for (var i = start; i < end; ++i) {\r\n s += String.fromCharCode(this.get(i));\r\n }\r\n return s;\r\n };\r\n Stream.prototype.parseStringUTF = function (start, end) {\r\n var s = \"\";\r\n for (var i = start; i < end;) {\r\n var c = this.get(i++);\r\n if (c < 128) {\r\n s += String.fromCharCode(c);\r\n }\r\n else if ((c > 191) && (c < 224)) {\r\n s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F));\r\n }\r\n else {\r\n s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F));\r\n }\r\n }\r\n return s;\r\n };\r\n Stream.prototype.parseStringBMP = function (start, end) {\r\n var str = \"\";\r\n var hi;\r\n var lo;\r\n for (var i = start; i < end;) {\r\n hi = this.get(i++);\r\n lo = this.get(i++);\r\n str += String.fromCharCode((hi << 8) | lo);\r\n }\r\n return str;\r\n };\r\n Stream.prototype.parseTime = function (start, end, shortYear) {\r\n var s = this.parseStringISO(start, end);\r\n var m = (shortYear ? reTimeS : reTimeL).exec(s);\r\n if (!m) {\r\n return \"Unrecognized time: \" + s;\r\n }\r\n if (shortYear) {\r\n // to avoid querying the timer, use the fixed range [1970, 2069]\r\n // it will conform with ITU X.400 [-10, +40] sliding window until 2030\r\n m[1] = +m[1];\r\n m[1] += (+m[1] < 70) ? 2000 : 1900;\r\n }\r\n s = m[1] + \"-\" + m[2] + \"-\" + m[3] + \" \" + m[4];\r\n if (m[5]) {\r\n s += \":\" + m[5];\r\n if (m[6]) {\r\n s += \":\" + m[6];\r\n if (m[7]) {\r\n s += \".\" + m[7];\r\n }\r\n }\r\n }\r\n if (m[8]) {\r\n s += \" UTC\";\r\n if (m[8] != \"Z\") {\r\n s += m[8];\r\n if (m[9]) {\r\n s += \":\" + m[9];\r\n }\r\n }\r\n }\r\n return s;\r\n };\r\n Stream.prototype.parseInteger = function (start, end) {\r\n var v = this.get(start);\r\n var neg = (v > 127);\r\n var pad = neg ? 255 : 0;\r\n var len;\r\n var s = \"\";\r\n // skip unuseful bits (not allowed in DER)\r\n while (v == pad && ++start < end) {\r\n v = this.get(start);\r\n }\r\n len = end - start;\r\n if (len === 0) {\r\n return neg ? -1 : 0;\r\n }\r\n // show bit length of huge integers\r\n if (len > 4) {\r\n s = v;\r\n len <<= 3;\r\n while (((+s ^ pad) & 0x80) == 0) {\r\n s = +s << 1;\r\n --len;\r\n }\r\n s = \"(\" + len + \" bit)\\n\";\r\n }\r\n // decode the integer\r\n if (neg) {\r\n v = v - 256;\r\n }\r\n var n = new Int10(v);\r\n for (var i = start + 1; i < end; ++i) {\r\n n.mulAdd(256, this.get(i));\r\n }\r\n return s + n.toString();\r\n };\r\n Stream.prototype.parseBitString = function (start, end, maxLength) {\r\n var unusedBit = this.get(start);\r\n var lenBit = ((end - start - 1) << 3) - unusedBit;\r\n var intro = \"(\" + lenBit + \" bit)\\n\";\r\n var s = \"\";\r\n for (var i = start + 1; i < end; ++i) {\r\n var b = this.get(i);\r\n var skip = (i == end - 1) ? unusedBit : 0;\r\n for (var j = 7; j >= skip; --j) {\r\n s += (b >> j) & 1 ? \"1\" : \"0\";\r\n }\r\n if (s.length > maxLength) {\r\n return intro + stringCut(s, maxLength);\r\n }\r\n }\r\n return intro + s;\r\n };\r\n Stream.prototype.parseOctetString = function (start, end, maxLength) {\r\n if (this.isASCII(start, end)) {\r\n return stringCut(this.parseStringISO(start, end), maxLength);\r\n }\r\n var len = end - start;\r\n var s = \"(\" + len + \" byte)\\n\";\r\n maxLength /= 2; // we work in bytes\r\n if (len > maxLength) {\r\n end = start + maxLength;\r\n }\r\n for (var i = start; i < end; ++i) {\r\n s += this.hexByte(this.get(i));\r\n }\r\n if (len > maxLength) {\r\n s += ellipsis;\r\n }\r\n return s;\r\n };\r\n Stream.prototype.parseOID = function (start, end, maxLength) {\r\n var s = \"\";\r\n var n = new Int10();\r\n var bits = 0;\r\n for (var i = start; i < end; ++i) {\r\n var v = this.get(i);\r\n n.mulAdd(128, v & 0x7F);\r\n bits += 7;\r\n if (!(v & 0x80)) { // finished\r\n if (s === \"\") {\r\n n = n.simplify();\r\n if (n instanceof Int10) {\r\n n.sub(80);\r\n s = \"2.\" + n.toString();\r\n }\r\n else {\r\n var m = n < 80 ? n < 40 ? 0 : 1 : 2;\r\n s = m + \".\" + (n - m * 40);\r\n }\r\n }\r\n else {\r\n s += \".\" + n.toString();\r\n }\r\n if (s.length > maxLength) {\r\n return stringCut(s, maxLength);\r\n }\r\n n = new Int10();\r\n bits = 0;\r\n }\r\n }\r\n if (bits > 0) {\r\n s += \".incomplete\";\r\n }\r\n return s;\r\n };\r\n return Stream;\r\n}());\r\nexport { Stream };\r\nvar ASN1 = /** @class */ (function () {\r\n function ASN1(stream, header, length, tag, sub) {\r\n if (!(tag instanceof ASN1Tag)) {\r\n throw new Error(\"Invalid tag value.\");\r\n }\r\n this.stream = stream;\r\n this.header = header;\r\n this.length = length;\r\n this.tag = tag;\r\n this.sub = sub;\r\n }\r\n ASN1.prototype.typeName = function () {\r\n switch (this.tag.tagClass) {\r\n case 0: // universal\r\n switch (this.tag.tagNumber) {\r\n case 0x00:\r\n return \"EOC\";\r\n case 0x01:\r\n return \"BOOLEAN\";\r\n case 0x02:\r\n return \"INTEGER\";\r\n case 0x03:\r\n return \"BIT_STRING\";\r\n case 0x04:\r\n return \"OCTET_STRING\";\r\n case 0x05:\r\n return \"NULL\";\r\n case 0x06:\r\n return \"OBJECT_IDENTIFIER\";\r\n case 0x07:\r\n return \"ObjectDescriptor\";\r\n case 0x08:\r\n return \"EXTERNAL\";\r\n case 0x09:\r\n return \"REAL\";\r\n case 0x0A:\r\n return \"ENUMERATED\";\r\n case 0x0B:\r\n return \"EMBEDDED_PDV\";\r\n case 0x0C:\r\n return \"UTF8String\";\r\n case 0x10:\r\n return \"SEQUENCE\";\r\n case 0x11:\r\n return \"SET\";\r\n case 0x12:\r\n return \"NumericString\";\r\n case 0x13:\r\n return \"PrintableString\"; // ASCII subset\r\n case 0x14:\r\n return \"TeletexString\"; // aka T61String\r\n case 0x15:\r\n return \"VideotexString\";\r\n case 0x16:\r\n return \"IA5String\"; // ASCII\r\n case 0x17:\r\n return \"UTCTime\";\r\n case 0x18:\r\n return \"GeneralizedTime\";\r\n case 0x19:\r\n return \"GraphicString\";\r\n case 0x1A:\r\n return \"VisibleString\"; // ASCII subset\r\n case 0x1B:\r\n return \"GeneralString\";\r\n case 0x1C:\r\n return \"UniversalString\";\r\n case 0x1E:\r\n return \"BMPString\";\r\n }\r\n return \"Universal_\" + this.tag.tagNumber.toString();\r\n case 1:\r\n return \"Application_\" + this.tag.tagNumber.toString();\r\n case 2:\r\n return \"[\" + this.tag.tagNumber.toString() + \"]\"; // Context\r\n case 3:\r\n return \"Private_\" + this.tag.tagNumber.toString();\r\n }\r\n };\r\n ASN1.prototype.content = function (maxLength) {\r\n if (this.tag === undefined) {\r\n return null;\r\n }\r\n if (maxLength === undefined) {\r\n maxLength = Infinity;\r\n }\r\n var content = this.posContent();\r\n var len = Math.abs(this.length);\r\n if (!this.tag.isUniversal()) {\r\n if (this.sub !== null) {\r\n return \"(\" + this.sub.length + \" elem)\";\r\n }\r\n return this.stream.parseOctetString(content, content + len, maxLength);\r\n }\r\n switch (this.tag.tagNumber) {\r\n case 0x01: // BOOLEAN\r\n return (this.stream.get(content) === 0) ? \"false\" : \"true\";\r\n case 0x02: // INTEGER\r\n return this.stream.parseInteger(content, content + len);\r\n case 0x03: // BIT_STRING\r\n return this.sub ? \"(\" + this.sub.length + \" elem)\" :\r\n this.stream.parseBitString(content, content + len, maxLength);\r\n case 0x04: // OCTET_STRING\r\n return this.sub ? \"(\" + this.sub.length + \" elem)\" :\r\n this.stream.parseOctetString(content, content + len, maxLength);\r\n // case 0x05: // NULL\r\n case 0x06: // OBJECT_IDENTIFIER\r\n return this.stream.parseOID(content, content + len, maxLength);\r\n // case 0x07: // ObjectDescriptor\r\n // case 0x08: // EXTERNAL\r\n // case 0x09: // REAL\r\n // case 0x0A: // ENUMERATED\r\n // case 0x0B: // EMBEDDED_PDV\r\n case 0x10: // SEQUENCE\r\n case 0x11: // SET\r\n if (this.sub !== null) {\r\n return \"(\" + this.sub.length + \" elem)\";\r\n }\r\n else {\r\n return \"(no elem)\";\r\n }\r\n case 0x0C: // UTF8String\r\n return stringCut(this.stream.parseStringUTF(content, content + len), maxLength);\r\n case 0x12: // NumericString\r\n case 0x13: // PrintableString\r\n case 0x14: // TeletexString\r\n case 0x15: // VideotexString\r\n case 0x16: // IA5String\r\n // case 0x19: // GraphicString\r\n case 0x1A: // VisibleString\r\n // case 0x1B: // GeneralString\r\n // case 0x1C: // UniversalString\r\n return stringCut(this.stream.parseStringISO(content, content + len), maxLength);\r\n case 0x1E: // BMPString\r\n return stringCut(this.stream.parseStringBMP(content, content + len), maxLength);\r\n case 0x17: // UTCTime\r\n case 0x18: // GeneralizedTime\r\n return this.stream.parseTime(content, content + len, (this.tag.tagNumber == 0x17));\r\n }\r\n return null;\r\n };\r\n ASN1.prototype.toString = function () {\r\n return this.typeName() + \"@\" + this.stream.pos + \"[header:\" + this.header + \",length:\" + this.length + \",sub:\" + ((this.sub === null) ? \"null\" : this.sub.length) + \"]\";\r\n };\r\n ASN1.prototype.toPrettyString = function (indent) {\r\n if (indent === undefined) {\r\n indent = \"\";\r\n }\r\n var s = indent + this.typeName() + \" @\" + this.stream.pos;\r\n if (this.length >= 0) {\r\n s += \"+\";\r\n }\r\n s += this.length;\r\n if (this.tag.tagConstructed) {\r\n s += \" (constructed)\";\r\n }\r\n else if ((this.tag.isUniversal() && ((this.tag.tagNumber == 0x03) || (this.tag.tagNumber == 0x04))) && (this.sub !== null)) {\r\n s += \" (encapsulates)\";\r\n }\r\n s += \"\\n\";\r\n if (this.sub !== null) {\r\n indent += \" \";\r\n for (var i = 0, max = this.sub.length; i < max; ++i) {\r\n s += this.sub[i].toPrettyString(indent);\r\n }\r\n }\r\n return s;\r\n };\r\n ASN1.prototype.posStart = function () {\r\n return this.stream.pos;\r\n };\r\n ASN1.prototype.posContent = function () {\r\n return this.stream.pos + this.header;\r\n };\r\n ASN1.prototype.posEnd = function () {\r\n return this.stream.pos + this.header + Math.abs(this.length);\r\n };\r\n ASN1.prototype.toHexString = function () {\r\n return this.stream.hexDump(this.posStart(), this.posEnd(), true);\r\n };\r\n ASN1.decodeLength = function (stream) {\r\n var buf = stream.get();\r\n var len = buf & 0x7F;\r\n if (len == buf) {\r\n return len;\r\n }\r\n // no reason to use Int10, as it would be a huge buffer anyways\r\n if (len > 6) {\r\n throw new Error(\"Length over 48 bits not supported at position \" + (stream.pos - 1));\r\n }\r\n if (len === 0) {\r\n return null;\r\n } // undefined\r\n buf = 0;\r\n for (var i = 0; i < len; ++i) {\r\n buf = (buf * 256) + stream.get();\r\n }\r\n return buf;\r\n };\r\n /**\r\n * Retrieve the hexadecimal value (as a string) of the current ASN.1 element\r\n * @returns {string}\r\n * @public\r\n */\r\n ASN1.prototype.getHexStringValue = function () {\r\n var hexString = this.toHexString();\r\n var offset = this.header * 2;\r\n var length = this.length * 2;\r\n return hexString.substr(offset, length);\r\n };\r\n ASN1.decode = function (str) {\r\n var stream;\r\n if (!(str instanceof Stream)) {\r\n stream = new Stream(str, 0);\r\n }\r\n else {\r\n stream = str;\r\n }\r\n var streamStart = new Stream(stream);\r\n var tag = new ASN1Tag(stream);\r\n var len = ASN1.decodeLength(stream);\r\n var start = stream.pos;\r\n var header = start - streamStart.pos;\r\n var sub = null;\r\n var getSub = function () {\r\n var ret = [];\r\n if (len !== null) {\r\n // definite length\r\n var end = start + len;\r\n while (stream.pos < end) {\r\n ret[ret.length] = ASN1.decode(stream);\r\n }\r\n if (stream.pos != end) {\r\n throw new Error(\"Content size is not correct for container starting at offset \" + start);\r\n }\r\n }\r\n else {\r\n // undefined length\r\n try {\r\n for (;;) {\r\n var s = ASN1.decode(stream);\r\n if (s.tag.isEOC()) {\r\n break;\r\n }\r\n ret[ret.length] = s;\r\n }\r\n len = start - stream.pos; // undefined lengths are represented as negative values\r\n }\r\n catch (e) {\r\n throw new Error(\"Exception while decoding undefined length content: \" + e);\r\n }\r\n }\r\n return ret;\r\n };\r\n if (tag.tagConstructed) {\r\n // must have valid content\r\n sub = getSub();\r\n }\r\n else if (tag.isUniversal() && ((tag.tagNumber == 0x03) || (tag.tagNumber == 0x04))) {\r\n // sometimes BitString and OctetString are used to encapsulate ASN.1\r\n try {\r\n if (tag.tagNumber == 0x03) {\r\n if (stream.get() != 0) {\r\n throw new Error(\"BIT STRINGs with unused bits cannot encapsulate.\");\r\n }\r\n }\r\n sub = getSub();\r\n for (var i = 0; i < sub.length; ++i) {\r\n if (sub[i].tag.isEOC()) {\r\n throw new Error(\"EOC is not supposed to be actual content.\");\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // but silently ignore when they don't\r\n sub = null;\r\n }\r\n }\r\n if (sub === null) {\r\n if (len === null) {\r\n throw new Error(\"We can't skip over an invalid tag with undefined length at offset \" + start);\r\n }\r\n stream.pos = start + Math.abs(len);\r\n }\r\n return new ASN1(streamStart, header, len, tag, sub);\r\n };\r\n return ASN1;\r\n}());\r\nexport { ASN1 };\r\nvar ASN1Tag = /** @class */ (function () {\r\n function ASN1Tag(stream) {\r\n var buf = stream.get();\r\n this.tagClass = buf >> 6;\r\n this.tagConstructed = ((buf & 0x20) !== 0);\r\n this.tagNumber = buf & 0x1F;\r\n if (this.tagNumber == 0x1F) { // long tag\r\n var n = new Int10();\r\n do {\r\n buf = stream.get();\r\n n.mulAdd(128, buf & 0x7F);\r\n } while (buf & 0x80);\r\n this.tagNumber = n.simplify();\r\n }\r\n }\r\n ASN1Tag.prototype.isUniversal = function () {\r\n return this.tagClass === 0x00;\r\n };\r\n ASN1Tag.prototype.isEOC = function () {\r\n return this.tagClass === 0x00 && this.tagNumber === 0x00;\r\n };\r\n return ASN1Tag;\r\n}());\r\nexport { ASN1Tag };\r\n","// Copyright (c) 2005 Tom Wu\r\n// All Rights Reserved.\r\n// See \"LICENSE\" for details.\r\n// Basic JavaScript BN library - subset useful for RSA encryption.\r\nimport { cbit, int2char, lbit, op_and, op_andnot, op_or, op_xor } from \"./util\";\r\n// Bits per digit\r\nvar dbits;\r\n// JavaScript engine analysis\r\nvar canary = 0xdeadbeefcafe;\r\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\r\n//#region\r\nvar lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];\r\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\r\n//#endregion\r\n// (public) Constructor\r\nvar BigInteger = /** @class */ (function () {\r\n function BigInteger(a, b, c) {\r\n if (a != null) {\r\n if (\"number\" == typeof a) {\r\n this.fromNumber(a, b, c);\r\n }\r\n else if (b == null && \"string\" != typeof a) {\r\n this.fromString(a, 256);\r\n }\r\n else {\r\n this.fromString(a, b);\r\n }\r\n }\r\n }\r\n //#region PUBLIC\r\n // BigInteger.prototype.toString = bnToString;\r\n // (public) return string representation in given radix\r\n BigInteger.prototype.toString = function (b) {\r\n if (this.s < 0) {\r\n return \"-\" + this.negate().toString(b);\r\n }\r\n var k;\r\n if (b == 16) {\r\n k = 4;\r\n }\r\n else if (b == 8) {\r\n k = 3;\r\n }\r\n else if (b == 2) {\r\n k = 1;\r\n }\r\n else if (b == 32) {\r\n k = 5;\r\n }\r\n else if (b == 4) {\r\n k = 2;\r\n }\r\n else {\r\n return this.toRadix(b);\r\n }\r\n var km = (1 << k) - 1;\r\n var d;\r\n var m = false;\r\n var r = \"\";\r\n var i = this.t;\r\n var p = this.DB - (i * this.DB) % k;\r\n if (i-- > 0) {\r\n if (p < this.DB && (d = this[i] >> p) > 0) {\r\n m = true;\r\n r = int2char(d);\r\n }\r\n while (i >= 0) {\r\n if (p < k) {\r\n d = (this[i] & ((1 << p) - 1)) << (k - p);\r\n d |= this[--i] >> (p += this.DB - k);\r\n }\r\n else {\r\n d = (this[i] >> (p -= k)) & km;\r\n if (p <= 0) {\r\n p += this.DB;\r\n --i;\r\n }\r\n }\r\n if (d > 0) {\r\n m = true;\r\n }\r\n if (m) {\r\n r += int2char(d);\r\n }\r\n }\r\n }\r\n return m ? r : \"0\";\r\n };\r\n // BigInteger.prototype.negate = bnNegate;\r\n // (public) -this\r\n BigInteger.prototype.negate = function () {\r\n var r = nbi();\r\n BigInteger.ZERO.subTo(this, r);\r\n return r;\r\n };\r\n // BigInteger.prototype.abs = bnAbs;\r\n // (public) |this|\r\n BigInteger.prototype.abs = function () {\r\n return (this.s < 0) ? this.negate() : this;\r\n };\r\n // BigInteger.prototype.compareTo = bnCompareTo;\r\n // (public) return + if this > a, - if this < a, 0 if equal\r\n BigInteger.prototype.compareTo = function (a) {\r\n var r = this.s - a.s;\r\n if (r != 0) {\r\n return r;\r\n }\r\n var i = this.t;\r\n r = i - a.t;\r\n if (r != 0) {\r\n return (this.s < 0) ? -r : r;\r\n }\r\n while (--i >= 0) {\r\n if ((r = this[i] - a[i]) != 0) {\r\n return r;\r\n }\r\n }\r\n return 0;\r\n };\r\n // BigInteger.prototype.bitLength = bnBitLength;\r\n // (public) return the number of bits in \"this\"\r\n BigInteger.prototype.bitLength = function () {\r\n if (this.t <= 0) {\r\n return 0;\r\n }\r\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM));\r\n };\r\n // BigInteger.prototype.mod = bnMod;\r\n // (public) this mod a\r\n BigInteger.prototype.mod = function (a) {\r\n var r = nbi();\r\n this.abs().divRemTo(a, null, r);\r\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) {\r\n a.subTo(r, r);\r\n }\r\n return r;\r\n };\r\n // BigInteger.prototype.modPowInt = bnModPowInt;\r\n // (public) this^e % m, 0 <= e < 2^32\r\n BigInteger.prototype.modPowInt = function (e, m) {\r\n var z;\r\n if (e < 256 || m.isEven()) {\r\n z = new Classic(m);\r\n }\r\n else {\r\n z = new Montgomery(m);\r\n }\r\n return this.exp(e, z);\r\n };\r\n // BigInteger.prototype.clone = bnClone;\r\n // (public)\r\n BigInteger.prototype.clone = function () {\r\n var r = nbi();\r\n this.copyTo(r);\r\n return r;\r\n };\r\n // BigInteger.prototype.intValue = bnIntValue;\r\n // (public) return value as integer\r\n BigInteger.prototype.intValue = function () {\r\n if (this.s < 0) {\r\n if (this.t == 1) {\r\n return this[0] - this.DV;\r\n }\r\n else if (this.t == 0) {\r\n return -1;\r\n }\r\n }\r\n else if (this.t == 1) {\r\n return this[0];\r\n }\r\n else if (this.t == 0) {\r\n return 0;\r\n }\r\n // assumes 16 < DB < 32\r\n return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0];\r\n };\r\n // BigInteger.prototype.byteValue = bnByteValue;\r\n // (public) return value as byte\r\n BigInteger.prototype.byteValue = function () {\r\n return (this.t == 0) ? this.s : (this[0] << 24) >> 24;\r\n };\r\n // BigInteger.prototype.shortValue = bnShortValue;\r\n // (public) return value as short (assumes DB>=16)\r\n BigInteger.prototype.shortValue = function () {\r\n return (this.t == 0) ? this.s : (this[0] << 16) >> 16;\r\n };\r\n // BigInteger.prototype.signum = bnSigNum;\r\n // (public) 0 if this == 0, 1 if this > 0\r\n BigInteger.prototype.signum = function () {\r\n if (this.s < 0) {\r\n return -1;\r\n }\r\n else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) {\r\n return 0;\r\n }\r\n else {\r\n return 1;\r\n }\r\n };\r\n // BigInteger.prototype.toByteArray = bnToByteArray;\r\n // (public) convert to bigendian byte array\r\n BigInteger.prototype.toByteArray = function () {\r\n var i = this.t;\r\n var r = [];\r\n r[0] = this.s;\r\n var p = this.DB - (i * this.DB) % 8;\r\n var d;\r\n var k = 0;\r\n if (i-- > 0) {\r\n if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p) {\r\n r[k++] = d | (this.s << (this.DB - p));\r\n }\r\n while (i >= 0) {\r\n if (p < 8) {\r\n d = (this[i] & ((1 << p) - 1)) << (8 - p);\r\n d |= this[--i] >> (p += this.DB - 8);\r\n }\r\n else {\r\n d = (this[i] >> (p -= 8)) & 0xff;\r\n if (p <= 0) {\r\n p += this.DB;\r\n --i;\r\n }\r\n }\r\n if ((d & 0x80) != 0) {\r\n d |= -256;\r\n }\r\n if (k == 0 && (this.s & 0x80) != (d & 0x80)) {\r\n ++k;\r\n }\r\n if (k > 0 || d != this.s) {\r\n r[k++] = d;\r\n }\r\n }\r\n }\r\n return r;\r\n };\r\n // BigInteger.prototype.equals = bnEquals;\r\n BigInteger.prototype.equals = function (a) {\r\n return (this.compareTo(a) == 0);\r\n };\r\n // BigInteger.prototype.min = bnMin;\r\n BigInteger.prototype.min = function (a) {\r\n return (this.compareTo(a) < 0) ? this : a;\r\n };\r\n // BigInteger.prototype.max = bnMax;\r\n BigInteger.prototype.max = function (a) {\r\n return (this.compareTo(a) > 0) ? this : a;\r\n };\r\n // BigInteger.prototype.and = bnAnd;\r\n BigInteger.prototype.and = function (a) {\r\n var r = nbi();\r\n this.bitwiseTo(a, op_and, r);\r\n return r;\r\n };\r\n // BigInteger.prototype.or = bnOr;\r\n BigInteger.prototype.or = function (a) {\r\n var r = nbi();\r\n this.bitwiseTo(a, op_or, r);\r\n return r;\r\n };\r\n // BigInteger.prototype.xor = bnXor;\r\n BigInteger.prototype.xor = function (a) {\r\n var r = nbi();\r\n this.bitwiseTo(a, op_xor, r);\r\n return r;\r\n };\r\n // BigInteger.prototype.andNot = bnAndNot;\r\n BigInteger.prototype.andNot = function (a) {\r\n var r = nbi();\r\n this.bitwiseTo(a, op_andnot, r);\r\n return r;\r\n };\r\n // BigInteger.prototype.not = bnNot;\r\n // (public) ~this\r\n BigInteger.prototype.not = function () {\r\n var r = nbi();\r\n for (var i = 0; i < this.t; ++i) {\r\n r[i] = this.DM & ~this[i];\r\n }\r\n r.t = this.t;\r\n r.s = ~this.s;\r\n return r;\r\n };\r\n // BigInteger.prototype.shiftLeft = bnShiftLeft;\r\n // (public) this << n\r\n BigInteger.prototype.shiftLeft = function (n) {\r\n var r = nbi();\r\n if (n < 0) {\r\n this.rShiftTo(-n, r);\r\n }\r\n else {\r\n this.lShiftTo(n, r);\r\n }\r\n return r;\r\n };\r\n // BigInteger.prototype.shiftRight = bnShiftRight;\r\n // (public) this >> n\r\n BigInteger.prototype.shiftRight = function (n) {\r\n var r = nbi();\r\n if (n < 0) {\r\n this.lShiftTo(-n, r);\r\n }\r\n else {\r\n this.rShiftTo(n, r);\r\n }\r\n return r;\r\n };\r\n // BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;\r\n // (public) returns index of lowest 1-bit (or -1 if none)\r\n BigInteger.prototype.getLowestSetBit = function () {\r\n for (var i = 0; i < this.t; ++i) {\r\n if (this[i] != 0) {\r\n return i * this.DB + lbit(this[i]);\r\n }\r\n }\r\n if (this.s < 0) {\r\n return this.t * this.DB;\r\n }\r\n return -1;\r\n };\r\n // BigInteger.prototype.bitCount = bnBitCount;\r\n // (public) return number of set bits\r\n BigInteger.prototype.bitCount = function () {\r\n var r = 0;\r\n var x = this.s & this.DM;\r\n for (var i = 0; i < this.t; ++i) {\r\n r += cbit(this[i] ^ x);\r\n }\r\n return r;\r\n };\r\n // BigInteger.prototype.testBit = bnTestBit;\r\n // (public) true iff nth bit is set\r\n BigInteger.prototype.testBit = function (n) {\r\n var j = Math.floor(n / this.DB);\r\n if (j >= this.t) {\r\n return (this.s != 0);\r\n }\r\n return ((this[j] & (1 << (n % this.DB))) != 0);\r\n };\r\n // BigInteger.prototype.setBit = bnSetBit;\r\n // (public) this | (1< 1) {\r\n var g2 = nbi();\r\n z.sqrTo(g[1], g2);\r\n while (n <= km) {\r\n g[n] = nbi();\r\n z.mulTo(g2, g[n - 2], g[n]);\r\n n += 2;\r\n }\r\n }\r\n var j = e.t - 1;\r\n var w;\r\n var is1 = true;\r\n var r2 = nbi();\r\n var t;\r\n i = nbits(e[j]) - 1;\r\n while (j >= 0) {\r\n if (i >= k1) {\r\n w = (e[j] >> (i - k1)) & km;\r\n }\r\n else {\r\n w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i);\r\n if (j > 0) {\r\n w |= e[j - 1] >> (this.DB + i - k1);\r\n }\r\n }\r\n n = k;\r\n while ((w & 1) == 0) {\r\n w >>= 1;\r\n --n;\r\n }\r\n if ((i -= n) < 0) {\r\n i += this.DB;\r\n --j;\r\n }\r\n if (is1) { // ret == 1, don't bother squaring or multiplying it\r\n g[w].copyTo(r);\r\n is1 = false;\r\n }\r\n else {\r\n while (n > 1) {\r\n z.sqrTo(r, r2);\r\n z.sqrTo(r2, r);\r\n n -= 2;\r\n }\r\n if (n > 0) {\r\n z.sqrTo(r, r2);\r\n }\r\n else {\r\n t = r;\r\n r = r2;\r\n r2 = t;\r\n }\r\n z.mulTo(r2, g[w], r);\r\n }\r\n while (j >= 0 && (e[j] & (1 << i)) == 0) {\r\n z.sqrTo(r, r2);\r\n t = r;\r\n r = r2;\r\n r2 = t;\r\n if (--i < 0) {\r\n i = this.DB - 1;\r\n --j;\r\n }\r\n }\r\n }\r\n return z.revert(r);\r\n };\r\n // BigInteger.prototype.modInverse = bnModInverse;\r\n // (public) 1/this % m (HAC 14.61)\r\n BigInteger.prototype.modInverse = function (m) {\r\n var ac = m.isEven();\r\n if ((this.isEven() && ac) || m.signum() == 0) {\r\n return BigInteger.ZERO;\r\n }\r\n var u = m.clone();\r\n var v = this.clone();\r\n var a = nbv(1);\r\n var b = nbv(0);\r\n var c = nbv(0);\r\n var d = nbv(1);\r\n while (u.signum() != 0) {\r\n while (u.isEven()) {\r\n u.rShiftTo(1, u);\r\n if (ac) {\r\n if (!a.isEven() || !b.isEven()) {\r\n a.addTo(this, a);\r\n b.subTo(m, b);\r\n }\r\n a.rShiftTo(1, a);\r\n }\r\n else if (!b.isEven()) {\r\n b.subTo(m, b);\r\n }\r\n b.rShiftTo(1, b);\r\n }\r\n while (v.isEven()) {\r\n v.rShiftTo(1, v);\r\n if (ac) {\r\n if (!c.isEven() || !d.isEven()) {\r\n c.addTo(this, c);\r\n d.subTo(m, d);\r\n }\r\n c.rShiftTo(1, c);\r\n }\r\n else if (!d.isEven()) {\r\n d.subTo(m, d);\r\n }\r\n d.rShiftTo(1, d);\r\n }\r\n if (u.compareTo(v) >= 0) {\r\n u.subTo(v, u);\r\n if (ac) {\r\n a.subTo(c, a);\r\n }\r\n b.subTo(d, b);\r\n }\r\n else {\r\n v.subTo(u, v);\r\n if (ac) {\r\n c.subTo(a, c);\r\n }\r\n d.subTo(b, d);\r\n }\r\n }\r\n if (v.compareTo(BigInteger.ONE) != 0) {\r\n return BigInteger.ZERO;\r\n }\r\n if (d.compareTo(m) >= 0) {\r\n return d.subtract(m);\r\n }\r\n if (d.signum() < 0) {\r\n d.addTo(m, d);\r\n }\r\n else {\r\n return d;\r\n }\r\n if (d.signum() < 0) {\r\n return d.add(m);\r\n }\r\n else {\r\n return d;\r\n }\r\n };\r\n // BigInteger.prototype.pow = bnPow;\r\n // (public) this^e\r\n BigInteger.prototype.pow = function (e) {\r\n return this.exp(e, new NullExp());\r\n };\r\n // BigInteger.prototype.gcd = bnGCD;\r\n // (public) gcd(this,a) (HAC 14.54)\r\n BigInteger.prototype.gcd = function (a) {\r\n var x = (this.s < 0) ? this.negate() : this.clone();\r\n var y = (a.s < 0) ? a.negate() : a.clone();\r\n if (x.compareTo(y) < 0) {\r\n var t = x;\r\n x = y;\r\n y = t;\r\n }\r\n var i = x.getLowestSetBit();\r\n var g = y.getLowestSetBit();\r\n if (g < 0) {\r\n return x;\r\n }\r\n if (i < g) {\r\n g = i;\r\n }\r\n if (g > 0) {\r\n x.rShiftTo(g, x);\r\n y.rShiftTo(g, y);\r\n }\r\n while (x.signum() > 0) {\r\n if ((i = x.getLowestSetBit()) > 0) {\r\n x.rShiftTo(i, x);\r\n }\r\n if ((i = y.getLowestSetBit()) > 0) {\r\n y.rShiftTo(i, y);\r\n }\r\n if (x.compareTo(y) >= 0) {\r\n x.subTo(y, x);\r\n x.rShiftTo(1, x);\r\n }\r\n else {\r\n y.subTo(x, y);\r\n y.rShiftTo(1, y);\r\n }\r\n }\r\n if (g > 0) {\r\n y.lShiftTo(g, y);\r\n }\r\n return y;\r\n };\r\n // BigInteger.prototype.isProbablePrime = bnIsProbablePrime;\r\n // (public) test primality with certainty >= 1-.5^t\r\n BigInteger.prototype.isProbablePrime = function (t) {\r\n var i;\r\n var x = this.abs();\r\n if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {\r\n for (i = 0; i < lowprimes.length; ++i) {\r\n if (x[0] == lowprimes[i]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n if (x.isEven()) {\r\n return false;\r\n }\r\n i = 1;\r\n while (i < lowprimes.length) {\r\n var m = lowprimes[i];\r\n var j = i + 1;\r\n while (j < lowprimes.length && m < lplim) {\r\n m *= lowprimes[j++];\r\n }\r\n m = x.modInt(m);\r\n while (i < j) {\r\n if (m % lowprimes[i++] == 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n return x.millerRabin(t);\r\n };\r\n //#endregion PUBLIC\r\n //#region PROTECTED\r\n // BigInteger.prototype.copyTo = bnpCopyTo;\r\n // (protected) copy this to r\r\n BigInteger.prototype.copyTo = function (r) {\r\n for (var i = this.t - 1; i >= 0; --i) {\r\n r[i] = this[i];\r\n }\r\n r.t = this.t;\r\n r.s = this.s;\r\n };\r\n // BigInteger.prototype.fromInt = bnpFromInt;\r\n // (protected) set from integer value x, -DV <= x < DV\r\n BigInteger.prototype.fromInt = function (x) {\r\n this.t = 1;\r\n this.s = (x < 0) ? -1 : 0;\r\n if (x > 0) {\r\n this[0] = x;\r\n }\r\n else if (x < -1) {\r\n this[0] = x + this.DV;\r\n }\r\n else {\r\n this.t = 0;\r\n }\r\n };\r\n // BigInteger.prototype.fromString = bnpFromString;\r\n // (protected) set from string and radix\r\n BigInteger.prototype.fromString = function (s, b) {\r\n var k;\r\n if (b == 16) {\r\n k = 4;\r\n }\r\n else if (b == 8) {\r\n k = 3;\r\n }\r\n else if (b == 256) {\r\n k = 8;\r\n /* byte array */\r\n }\r\n else if (b == 2) {\r\n k = 1;\r\n }\r\n else if (b == 32) {\r\n k = 5;\r\n }\r\n else if (b == 4) {\r\n k = 2;\r\n }\r\n else {\r\n this.fromRadix(s, b);\r\n return;\r\n }\r\n this.t = 0;\r\n this.s = 0;\r\n var i = s.length;\r\n var mi = false;\r\n var sh = 0;\r\n while (--i >= 0) {\r\n var x = (k == 8) ? (+s[i]) & 0xff : intAt(s, i);\r\n if (x < 0) {\r\n if (s.charAt(i) == \"-\") {\r\n mi = true;\r\n }\r\n continue;\r\n }\r\n mi = false;\r\n if (sh == 0) {\r\n this[this.t++] = x;\r\n }\r\n else if (sh + k > this.DB) {\r\n this[this.t - 1] |= (x & ((1 << (this.DB - sh)) - 1)) << sh;\r\n this[this.t++] = (x >> (this.DB - sh));\r\n }\r\n else {\r\n this[this.t - 1] |= x << sh;\r\n }\r\n sh += k;\r\n if (sh >= this.DB) {\r\n sh -= this.DB;\r\n }\r\n }\r\n if (k == 8 && ((+s[0]) & 0x80) != 0) {\r\n this.s = -1;\r\n if (sh > 0) {\r\n this[this.t - 1] |= ((1 << (this.DB - sh)) - 1) << sh;\r\n }\r\n }\r\n this.clamp();\r\n if (mi) {\r\n BigInteger.ZERO.subTo(this, this);\r\n }\r\n };\r\n // BigInteger.prototype.clamp = bnpClamp;\r\n // (protected) clamp off excess high words\r\n BigInteger.prototype.clamp = function () {\r\n var c = this.s & this.DM;\r\n while (this.t > 0 && this[this.t - 1] == c) {\r\n --this.t;\r\n }\r\n };\r\n // BigInteger.prototype.dlShiftTo = bnpDLShiftTo;\r\n // (protected) r = this << n*DB\r\n BigInteger.prototype.dlShiftTo = function (n, r) {\r\n var i;\r\n for (i = this.t - 1; i >= 0; --i) {\r\n r[i + n] = this[i];\r\n }\r\n for (i = n - 1; i >= 0; --i) {\r\n r[i] = 0;\r\n }\r\n r.t = this.t + n;\r\n r.s = this.s;\r\n };\r\n // BigInteger.prototype.drShiftTo = bnpDRShiftTo;\r\n // (protected) r = this >> n*DB\r\n BigInteger.prototype.drShiftTo = function (n, r) {\r\n for (var i = n; i < this.t; ++i) {\r\n r[i - n] = this[i];\r\n }\r\n r.t = Math.max(this.t - n, 0);\r\n r.s = this.s;\r\n };\r\n // BigInteger.prototype.lShiftTo = bnpLShiftTo;\r\n // (protected) r = this << n\r\n BigInteger.prototype.lShiftTo = function (n, r) {\r\n var bs = n % this.DB;\r\n var cbs = this.DB - bs;\r\n var bm = (1 << cbs) - 1;\r\n var ds = Math.floor(n / this.DB);\r\n var c = (this.s << bs) & this.DM;\r\n for (var i = this.t - 1; i >= 0; --i) {\r\n r[i + ds + 1] = (this[i] >> cbs) | c;\r\n c = (this[i] & bm) << bs;\r\n }\r\n for (var i = ds - 1; i >= 0; --i) {\r\n r[i] = 0;\r\n }\r\n r[ds] = c;\r\n r.t = this.t + ds + 1;\r\n r.s = this.s;\r\n r.clamp();\r\n };\r\n // BigInteger.prototype.rShiftTo = bnpRShiftTo;\r\n // (protected) r = this >> n\r\n BigInteger.prototype.rShiftTo = function (n, r) {\r\n r.s = this.s;\r\n var ds = Math.floor(n / this.DB);\r\n if (ds >= this.t) {\r\n r.t = 0;\r\n return;\r\n }\r\n var bs = n % this.DB;\r\n var cbs = this.DB - bs;\r\n var bm = (1 << bs) - 1;\r\n r[0] = this[ds] >> bs;\r\n for (var i = ds + 1; i < this.t; ++i) {\r\n r[i - ds - 1] |= (this[i] & bm) << cbs;\r\n r[i - ds] = this[i] >> bs;\r\n }\r\n if (bs > 0) {\r\n r[this.t - ds - 1] |= (this.s & bm) << cbs;\r\n }\r\n r.t = this.t - ds;\r\n r.clamp();\r\n };\r\n // BigInteger.prototype.subTo = bnpSubTo;\r\n // (protected) r = this - a\r\n BigInteger.prototype.subTo = function (a, r) {\r\n var i = 0;\r\n var c = 0;\r\n var m = Math.min(a.t, this.t);\r\n while (i < m) {\r\n c += this[i] - a[i];\r\n r[i++] = c & this.DM;\r\n c >>= this.DB;\r\n }\r\n if (a.t < this.t) {\r\n c -= a.s;\r\n while (i < this.t) {\r\n c += this[i];\r\n r[i++] = c & this.DM;\r\n c >>= this.DB;\r\n }\r\n c += this.s;\r\n }\r\n else {\r\n c += this.s;\r\n while (i < a.t) {\r\n c -= a[i];\r\n r[i++] = c & this.DM;\r\n c >>= this.DB;\r\n }\r\n c -= a.s;\r\n }\r\n r.s = (c < 0) ? -1 : 0;\r\n if (c < -1) {\r\n r[i++] = this.DV + c;\r\n }\r\n else if (c > 0) {\r\n r[i++] = c;\r\n }\r\n r.t = i;\r\n r.clamp();\r\n };\r\n // BigInteger.prototype.multiplyTo = bnpMultiplyTo;\r\n // (protected) r = this * a, r != this,a (HAC 14.12)\r\n // \"this\" should be the larger one if appropriate.\r\n BigInteger.prototype.multiplyTo = function (a, r) {\r\n var x = this.abs();\r\n var y = a.abs();\r\n var i = x.t;\r\n r.t = i + y.t;\r\n while (--i >= 0) {\r\n r[i] = 0;\r\n }\r\n for (i = 0; i < y.t; ++i) {\r\n r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\r\n }\r\n r.s = 0;\r\n r.clamp();\r\n if (this.s != a.s) {\r\n BigInteger.ZERO.subTo(r, r);\r\n }\r\n };\r\n // BigInteger.prototype.squareTo = bnpSquareTo;\r\n // (protected) r = this^2, r != this (HAC 14.16)\r\n BigInteger.prototype.squareTo = function (r) {\r\n var x = this.abs();\r\n var i = r.t = 2 * x.t;\r\n while (--i >= 0) {\r\n r[i] = 0;\r\n }\r\n for (i = 0; i < x.t - 1; ++i) {\r\n var c = x.am(i, x[i], r, 2 * i, 0, 1);\r\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\r\n r[i + x.t] -= x.DV;\r\n r[i + x.t + 1] = 1;\r\n }\r\n }\r\n if (r.t > 0) {\r\n r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\r\n }\r\n r.s = 0;\r\n r.clamp();\r\n };\r\n // BigInteger.prototype.divRemTo = bnpDivRemTo;\r\n // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\r\n // r != q, this != m. q or r may be null.\r\n BigInteger.prototype.divRemTo = function (m, q, r) {\r\n var pm = m.abs();\r\n if (pm.t <= 0) {\r\n return;\r\n }\r\n var pt = this.abs();\r\n if (pt.t < pm.t) {\r\n if (q != null) {\r\n q.fromInt(0);\r\n }\r\n if (r != null) {\r\n this.copyTo(r);\r\n }\r\n return;\r\n }\r\n if (r == null) {\r\n r = nbi();\r\n }\r\n var y = nbi();\r\n var ts = this.s;\r\n var ms = m.s;\r\n var nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus\r\n if (nsh > 0) {\r\n pm.lShiftTo(nsh, y);\r\n pt.lShiftTo(nsh, r);\r\n }\r\n else {\r\n pm.copyTo(y);\r\n pt.copyTo(r);\r\n }\r\n var ys = y.t;\r\n var y0 = y[ys - 1];\r\n if (y0 == 0) {\r\n return;\r\n }\r\n var yt = y0 * (1 << this.F1) + ((ys > 1) ? y[ys - 2] >> this.F2 : 0);\r\n var d1 = this.FV / yt;\r\n var d2 = (1 << this.F1) / yt;\r\n var e = 1 << this.F2;\r\n var i = r.t;\r\n var j = i - ys;\r\n var t = (q == null) ? nbi() : q;\r\n y.dlShiftTo(j, t);\r\n if (r.compareTo(t) >= 0) {\r\n r[r.t++] = 1;\r\n r.subTo(t, r);\r\n }\r\n BigInteger.ONE.dlShiftTo(ys, t);\r\n t.subTo(y, y); // \"negative\" y so we can replace sub with am later\r\n while (y.t < ys) {\r\n y[y.t++] = 0;\r\n }\r\n while (--j >= 0) {\r\n // Estimate quotient digit\r\n var qd = (r[--i] == y0) ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\r\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out\r\n y.dlShiftTo(j, t);\r\n r.subTo(t, r);\r\n while (r[i] < --qd) {\r\n r.subTo(t, r);\r\n }\r\n }\r\n }\r\n if (q != null) {\r\n r.drShiftTo(ys, q);\r\n if (ts != ms) {\r\n BigInteger.ZERO.subTo(q, q);\r\n }\r\n }\r\n r.t = ys;\r\n r.clamp();\r\n if (nsh > 0) {\r\n r.rShiftTo(nsh, r);\r\n } // Denormalize remainder\r\n if (ts < 0) {\r\n BigInteger.ZERO.subTo(r, r);\r\n }\r\n };\r\n // BigInteger.prototype.invDigit = bnpInvDigit;\r\n // (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\r\n // justification:\r\n // xy == 1 (mod m)\r\n // xy = 1+km\r\n // xy(2-xy) = (1+km)(1-km)\r\n // x[y(2-xy)] = 1-k^2m^2\r\n // x[y(2-xy)] == 1 (mod m^2)\r\n // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\r\n // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\r\n // JS multiply \"overflows\" differently from C/C++, so care is needed here.\r\n BigInteger.prototype.invDigit = function () {\r\n if (this.t < 1) {\r\n return 0;\r\n }\r\n var x = this[0];\r\n if ((x & 1) == 0) {\r\n return 0;\r\n }\r\n var y = x & 3; // y == 1/x mod 2^2\r\n y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4\r\n y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8\r\n y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16\r\n // last step - calculate inverse mod DV directly;\r\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\r\n y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits\r\n // we really want the negative inverse, and -DV < y < DV\r\n return (y > 0) ? this.DV - y : -y;\r\n };\r\n // BigInteger.prototype.isEven = bnpIsEven;\r\n // (protected) true iff this is even\r\n BigInteger.prototype.isEven = function () {\r\n return ((this.t > 0) ? (this[0] & 1) : this.s) == 0;\r\n };\r\n // BigInteger.prototype.exp = bnpExp;\r\n // (protected) this^e, e < 2^32, doing sqr and mul with \"r\" (HAC 14.79)\r\n BigInteger.prototype.exp = function (e, z) {\r\n if (e > 0xffffffff || e < 1) {\r\n return BigInteger.ONE;\r\n }\r\n var r = nbi();\r\n var r2 = nbi();\r\n var g = z.convert(this);\r\n var i = nbits(e) - 1;\r\n g.copyTo(r);\r\n while (--i >= 0) {\r\n z.sqrTo(r, r2);\r\n if ((e & (1 << i)) > 0) {\r\n z.mulTo(r2, g, r);\r\n }\r\n else {\r\n var t = r;\r\n r = r2;\r\n r2 = t;\r\n }\r\n }\r\n return z.revert(r);\r\n };\r\n // BigInteger.prototype.chunkSize = bnpChunkSize;\r\n // (protected) return x s.t. r^x < DV\r\n BigInteger.prototype.chunkSize = function (r) {\r\n return Math.floor(Math.LN2 * this.DB / Math.log(r));\r\n };\r\n // BigInteger.prototype.toRadix = bnpToRadix;\r\n // (protected) convert to radix string\r\n BigInteger.prototype.toRadix = function (b) {\r\n if (b == null) {\r\n b = 10;\r\n }\r\n if (this.signum() == 0 || b < 2 || b > 36) {\r\n return \"0\";\r\n }\r\n var cs = this.chunkSize(b);\r\n var a = Math.pow(b, cs);\r\n var d = nbv(a);\r\n var y = nbi();\r\n var z = nbi();\r\n var r = \"\";\r\n this.divRemTo(d, y, z);\r\n while (y.signum() > 0) {\r\n r = (a + z.intValue()).toString(b).substr(1) + r;\r\n y.divRemTo(d, y, z);\r\n }\r\n return z.intValue().toString(b) + r;\r\n };\r\n // BigInteger.prototype.fromRadix = bnpFromRadix;\r\n // (protected) convert from radix string\r\n BigInteger.prototype.fromRadix = function (s, b) {\r\n this.fromInt(0);\r\n if (b == null) {\r\n b = 10;\r\n }\r\n var cs = this.chunkSize(b);\r\n var d = Math.pow(b, cs);\r\n var mi = false;\r\n var j = 0;\r\n var w = 0;\r\n for (var i = 0; i < s.length; ++i) {\r\n var x = intAt(s, i);\r\n if (x < 0) {\r\n if (s.charAt(i) == \"-\" && this.signum() == 0) {\r\n mi = true;\r\n }\r\n continue;\r\n }\r\n w = b * w + x;\r\n if (++j >= cs) {\r\n this.dMultiply(d);\r\n this.dAddOffset(w, 0);\r\n j = 0;\r\n w = 0;\r\n }\r\n }\r\n if (j > 0) {\r\n this.dMultiply(Math.pow(b, j));\r\n this.dAddOffset(w, 0);\r\n }\r\n if (mi) {\r\n BigInteger.ZERO.subTo(this, this);\r\n }\r\n };\r\n // BigInteger.prototype.fromNumber = bnpFromNumber;\r\n // (protected) alternate constructor\r\n BigInteger.prototype.fromNumber = function (a, b, c) {\r\n if (\"number\" == typeof b) {\r\n // new BigInteger(int,int,RNG)\r\n if (a < 2) {\r\n this.fromInt(1);\r\n }\r\n else {\r\n this.fromNumber(a, c);\r\n if (!this.testBit(a - 1)) {\r\n // force MSB set\r\n this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this);\r\n }\r\n if (this.isEven()) {\r\n this.dAddOffset(1, 0);\r\n } // force odd\r\n while (!this.isProbablePrime(b)) {\r\n this.dAddOffset(2, 0);\r\n if (this.bitLength() > a) {\r\n this.subTo(BigInteger.ONE.shiftLeft(a - 1), this);\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // new BigInteger(int,RNG)\r\n var x = [];\r\n var t = a & 7;\r\n x.length = (a >> 3) + 1;\r\n b.nextBytes(x);\r\n if (t > 0) {\r\n x[0] &= ((1 << t) - 1);\r\n }\r\n else {\r\n x[0] = 0;\r\n }\r\n this.fromString(x, 256);\r\n }\r\n };\r\n // BigInteger.prototype.bitwiseTo = bnpBitwiseTo;\r\n // (protected) r = this op a (bitwise)\r\n BigInteger.prototype.bitwiseTo = function (a, op, r) {\r\n var i;\r\n var f;\r\n var m = Math.min(a.t, this.t);\r\n for (i = 0; i < m; ++i) {\r\n r[i] = op(this[i], a[i]);\r\n }\r\n if (a.t < this.t) {\r\n f = a.s & this.DM;\r\n for (i = m; i < this.t; ++i) {\r\n r[i] = op(this[i], f);\r\n }\r\n r.t = this.t;\r\n }\r\n else {\r\n f = this.s & this.DM;\r\n for (i = m; i < a.t; ++i) {\r\n r[i] = op(f, a[i]);\r\n }\r\n r.t = a.t;\r\n }\r\n r.s = op(this.s, a.s);\r\n r.clamp();\r\n };\r\n // BigInteger.prototype.changeBit = bnpChangeBit;\r\n // (protected) this op (1<>= this.DB;\r\n }\r\n if (a.t < this.t) {\r\n c += a.s;\r\n while (i < this.t) {\r\n c += this[i];\r\n r[i++] = c & this.DM;\r\n c >>= this.DB;\r\n }\r\n c += this.s;\r\n }\r\n else {\r\n c += this.s;\r\n while (i < a.t) {\r\n c += a[i];\r\n r[i++] = c & this.DM;\r\n c >>= this.DB;\r\n }\r\n c += a.s;\r\n }\r\n r.s = (c < 0) ? -1 : 0;\r\n if (c > 0) {\r\n r[i++] = c;\r\n }\r\n else if (c < -1) {\r\n r[i++] = this.DV + c;\r\n }\r\n r.t = i;\r\n r.clamp();\r\n };\r\n // BigInteger.prototype.dMultiply = bnpDMultiply;\r\n // (protected) this *= n, this >= 0, 1 < n < DV\r\n BigInteger.prototype.dMultiply = function (n) {\r\n this[this.t] = this.am(0, n - 1, this, 0, 0, this.t);\r\n ++this.t;\r\n this.clamp();\r\n };\r\n // BigInteger.prototype.dAddOffset = bnpDAddOffset;\r\n // (protected) this += n << w words, this >= 0\r\n BigInteger.prototype.dAddOffset = function (n, w) {\r\n if (n == 0) {\r\n return;\r\n }\r\n while (this.t <= w) {\r\n this[this.t++] = 0;\r\n }\r\n this[w] += n;\r\n while (this[w] >= this.DV) {\r\n this[w] -= this.DV;\r\n if (++w >= this.t) {\r\n this[this.t++] = 0;\r\n }\r\n ++this[w];\r\n }\r\n };\r\n // BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;\r\n // (protected) r = lower n words of \"this * a\", a.t <= n\r\n // \"this\" should be the larger one if appropriate.\r\n BigInteger.prototype.multiplyLowerTo = function (a, n, r) {\r\n var i = Math.min(this.t + a.t, n);\r\n r.s = 0; // assumes a,this >= 0\r\n r.t = i;\r\n while (i > 0) {\r\n r[--i] = 0;\r\n }\r\n for (var j = r.t - this.t; i < j; ++i) {\r\n r[i + this.t] = this.am(0, a[i], r, i, 0, this.t);\r\n }\r\n for (var j = Math.min(a.t, n); i < j; ++i) {\r\n this.am(0, a[i], r, i, 0, n - i);\r\n }\r\n r.clamp();\r\n };\r\n // BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;\r\n // (protected) r = \"this * a\" without lower n words, n > 0\r\n // \"this\" should be the larger one if appropriate.\r\n BigInteger.prototype.multiplyUpperTo = function (a, n, r) {\r\n --n;\r\n var i = r.t = this.t + a.t - n;\r\n r.s = 0; // assumes a,this >= 0\r\n while (--i >= 0) {\r\n r[i] = 0;\r\n }\r\n for (i = Math.max(n - this.t, 0); i < a.t; ++i) {\r\n r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n);\r\n }\r\n r.clamp();\r\n r.drShiftTo(1, r);\r\n };\r\n // BigInteger.prototype.modInt = bnpModInt;\r\n // (protected) this % n, n < 2^26\r\n BigInteger.prototype.modInt = function (n) {\r\n if (n <= 0) {\r\n return 0;\r\n }\r\n var d = this.DV % n;\r\n var r = (this.s < 0) ? n - 1 : 0;\r\n if (this.t > 0) {\r\n if (d == 0) {\r\n r = this[0] % n;\r\n }\r\n else {\r\n for (var i = this.t - 1; i >= 0; --i) {\r\n r = (d * r + this[i]) % n;\r\n }\r\n }\r\n }\r\n return r;\r\n };\r\n // BigInteger.prototype.millerRabin = bnpMillerRabin;\r\n // (protected) true if probably prime (HAC 4.24, Miller-Rabin)\r\n BigInteger.prototype.millerRabin = function (t) {\r\n var n1 = this.subtract(BigInteger.ONE);\r\n var k = n1.getLowestSetBit();\r\n if (k <= 0) {\r\n return false;\r\n }\r\n var r = n1.shiftRight(k);\r\n t = (t + 1) >> 1;\r\n if (t > lowprimes.length) {\r\n t = lowprimes.length;\r\n }\r\n var a = nbi();\r\n for (var i = 0; i < t; ++i) {\r\n // Pick bases at random, instead of starting at 2\r\n a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]);\r\n var y = a.modPow(r, this);\r\n if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {\r\n var j = 1;\r\n while (j++ < k && y.compareTo(n1) != 0) {\r\n y = y.modPowInt(2, this);\r\n if (y.compareTo(BigInteger.ONE) == 0) {\r\n return false;\r\n }\r\n }\r\n if (y.compareTo(n1) != 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n // BigInteger.prototype.square = bnSquare;\r\n // (public) this^2\r\n BigInteger.prototype.square = function () {\r\n var r = nbi();\r\n this.squareTo(r);\r\n return r;\r\n };\r\n //#region ASYNC\r\n // Public API method\r\n BigInteger.prototype.gcda = function (a, callback) {\r\n var x = (this.s < 0) ? this.negate() : this.clone();\r\n var y = (a.s < 0) ? a.negate() : a.clone();\r\n if (x.compareTo(y) < 0) {\r\n var t = x;\r\n x = y;\r\n y = t;\r\n }\r\n var i = x.getLowestSetBit();\r\n var g = y.getLowestSetBit();\r\n if (g < 0) {\r\n callback(x);\r\n return;\r\n }\r\n if (i < g) {\r\n g = i;\r\n }\r\n if (g > 0) {\r\n x.rShiftTo(g, x);\r\n y.rShiftTo(g, y);\r\n }\r\n // Workhorse of the algorithm, gets called 200 - 800 times per 512 bit keygen.\r\n var gcda1 = function () {\r\n if ((i = x.getLowestSetBit()) > 0) {\r\n x.rShiftTo(i, x);\r\n }\r\n if ((i = y.getLowestSetBit()) > 0) {\r\n y.rShiftTo(i, y);\r\n }\r\n if (x.compareTo(y) >= 0) {\r\n x.subTo(y, x);\r\n x.rShiftTo(1, x);\r\n }\r\n else {\r\n y.subTo(x, y);\r\n y.rShiftTo(1, y);\r\n }\r\n if (!(x.signum() > 0)) {\r\n if (g > 0) {\r\n y.lShiftTo(g, y);\r\n }\r\n setTimeout(function () { callback(y); }, 0); // escape\r\n }\r\n else {\r\n setTimeout(gcda1, 0);\r\n }\r\n };\r\n setTimeout(gcda1, 10);\r\n };\r\n // (protected) alternate constructor\r\n BigInteger.prototype.fromNumberAsync = function (a, b, c, callback) {\r\n if (\"number\" == typeof b) {\r\n if (a < 2) {\r\n this.fromInt(1);\r\n }\r\n else {\r\n this.fromNumber(a, c);\r\n if (!this.testBit(a - 1)) {\r\n this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this);\r\n }\r\n if (this.isEven()) {\r\n this.dAddOffset(1, 0);\r\n }\r\n var bnp_1 = this;\r\n var bnpfn1_1 = function () {\r\n bnp_1.dAddOffset(2, 0);\r\n if (bnp_1.bitLength() > a) {\r\n bnp_1.subTo(BigInteger.ONE.shiftLeft(a - 1), bnp_1);\r\n }\r\n if (bnp_1.isProbablePrime(b)) {\r\n setTimeout(function () { callback(); }, 0); // escape\r\n }\r\n else {\r\n setTimeout(bnpfn1_1, 0);\r\n }\r\n };\r\n setTimeout(bnpfn1_1, 0);\r\n }\r\n }\r\n else {\r\n var x = [];\r\n var t = a & 7;\r\n x.length = (a >> 3) + 1;\r\n b.nextBytes(x);\r\n if (t > 0) {\r\n x[0] &= ((1 << t) - 1);\r\n }\r\n else {\r\n x[0] = 0;\r\n }\r\n this.fromString(x, 256);\r\n }\r\n };\r\n return BigInteger;\r\n}());\r\nexport { BigInteger };\r\n//#region REDUCERS\r\n//#region NullExp\r\nvar NullExp = /** @class */ (function () {\r\n function NullExp() {\r\n }\r\n // NullExp.prototype.convert = nNop;\r\n NullExp.prototype.convert = function (x) {\r\n return x;\r\n };\r\n // NullExp.prototype.revert = nNop;\r\n NullExp.prototype.revert = function (x) {\r\n return x;\r\n };\r\n // NullExp.prototype.mulTo = nMulTo;\r\n NullExp.prototype.mulTo = function (x, y, r) {\r\n x.multiplyTo(y, r);\r\n };\r\n // NullExp.prototype.sqrTo = nSqrTo;\r\n NullExp.prototype.sqrTo = function (x, r) {\r\n x.squareTo(r);\r\n };\r\n return NullExp;\r\n}());\r\n// Modular reduction using \"classic\" algorithm\r\nvar Classic = /** @class */ (function () {\r\n function Classic(m) {\r\n this.m = m;\r\n }\r\n // Classic.prototype.convert = cConvert;\r\n Classic.prototype.convert = function (x) {\r\n if (x.s < 0 || x.compareTo(this.m) >= 0) {\r\n return x.mod(this.m);\r\n }\r\n else {\r\n return x;\r\n }\r\n };\r\n // Classic.prototype.revert = cRevert;\r\n Classic.prototype.revert = function (x) {\r\n return x;\r\n };\r\n // Classic.prototype.reduce = cReduce;\r\n Classic.prototype.reduce = function (x) {\r\n x.divRemTo(this.m, null, x);\r\n };\r\n // Classic.prototype.mulTo = cMulTo;\r\n Classic.prototype.mulTo = function (x, y, r) {\r\n x.multiplyTo(y, r);\r\n this.reduce(r);\r\n };\r\n // Classic.prototype.sqrTo = cSqrTo;\r\n Classic.prototype.sqrTo = function (x, r) {\r\n x.squareTo(r);\r\n this.reduce(r);\r\n };\r\n return Classic;\r\n}());\r\n//#endregion\r\n//#region Montgomery\r\n// Montgomery reduction\r\nvar Montgomery = /** @class */ (function () {\r\n function Montgomery(m) {\r\n this.m = m;\r\n this.mp = m.invDigit();\r\n this.mpl = this.mp & 0x7fff;\r\n this.mph = this.mp >> 15;\r\n this.um = (1 << (m.DB - 15)) - 1;\r\n this.mt2 = 2 * m.t;\r\n }\r\n // Montgomery.prototype.convert = montConvert;\r\n // xR mod m\r\n Montgomery.prototype.convert = function (x) {\r\n var r = nbi();\r\n x.abs().dlShiftTo(this.m.t, r);\r\n r.divRemTo(this.m, null, r);\r\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) {\r\n this.m.subTo(r, r);\r\n }\r\n return r;\r\n };\r\n // Montgomery.prototype.revert = montRevert;\r\n // x/R mod m\r\n Montgomery.prototype.revert = function (x) {\r\n var r = nbi();\r\n x.copyTo(r);\r\n this.reduce(r);\r\n return r;\r\n };\r\n // Montgomery.prototype.reduce = montReduce;\r\n // x = x/R mod m (HAC 14.32)\r\n Montgomery.prototype.reduce = function (x) {\r\n while (x.t <= this.mt2) {\r\n // pad x so am has enough room later\r\n x[x.t++] = 0;\r\n }\r\n for (var i = 0; i < this.m.t; ++i) {\r\n // faster way of calculating u0 = x[i]*mp mod DV\r\n var j = x[i] & 0x7fff;\r\n var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM;\r\n // use am to combine the multiply-shift-add into one call\r\n j = i + this.m.t;\r\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t);\r\n // propagate carry\r\n while (x[j] >= x.DV) {\r\n x[j] -= x.DV;\r\n x[++j]++;\r\n }\r\n }\r\n x.clamp();\r\n x.drShiftTo(this.m.t, x);\r\n if (x.compareTo(this.m) >= 0) {\r\n x.subTo(this.m, x);\r\n }\r\n };\r\n // Montgomery.prototype.mulTo = montMulTo;\r\n // r = \"xy/R mod m\"; x,y != r\r\n Montgomery.prototype.mulTo = function (x, y, r) {\r\n x.multiplyTo(y, r);\r\n this.reduce(r);\r\n };\r\n // Montgomery.prototype.sqrTo = montSqrTo;\r\n // r = \"x^2/R mod m\"; x != r\r\n Montgomery.prototype.sqrTo = function (x, r) {\r\n x.squareTo(r);\r\n this.reduce(r);\r\n };\r\n return Montgomery;\r\n}());\r\n//#endregion Montgomery\r\n//#region Barrett\r\n// Barrett modular reduction\r\nvar Barrett = /** @class */ (function () {\r\n function Barrett(m) {\r\n this.m = m;\r\n // setup Barrett\r\n this.r2 = nbi();\r\n this.q3 = nbi();\r\n BigInteger.ONE.dlShiftTo(2 * m.t, this.r2);\r\n this.mu = this.r2.divide(m);\r\n }\r\n // Barrett.prototype.convert = barrettConvert;\r\n Barrett.prototype.convert = function (x) {\r\n if (x.s < 0 || x.t > 2 * this.m.t) {\r\n return x.mod(this.m);\r\n }\r\n else if (x.compareTo(this.m) < 0) {\r\n return x;\r\n }\r\n else {\r\n var r = nbi();\r\n x.copyTo(r);\r\n this.reduce(r);\r\n return r;\r\n }\r\n };\r\n // Barrett.prototype.revert = barrettRevert;\r\n Barrett.prototype.revert = function (x) {\r\n return x;\r\n };\r\n // Barrett.prototype.reduce = barrettReduce;\r\n // x = x mod m (HAC 14.42)\r\n Barrett.prototype.reduce = function (x) {\r\n x.drShiftTo(this.m.t - 1, this.r2);\r\n if (x.t > this.m.t + 1) {\r\n x.t = this.m.t + 1;\r\n x.clamp();\r\n }\r\n this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);\r\n this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);\r\n while (x.compareTo(this.r2) < 0) {\r\n x.dAddOffset(1, this.m.t + 1);\r\n }\r\n x.subTo(this.r2, x);\r\n while (x.compareTo(this.m) >= 0) {\r\n x.subTo(this.m, x);\r\n }\r\n };\r\n // Barrett.prototype.mulTo = barrettMulTo;\r\n // r = x*y mod m; x,y != r\r\n Barrett.prototype.mulTo = function (x, y, r) {\r\n x.multiplyTo(y, r);\r\n this.reduce(r);\r\n };\r\n // Barrett.prototype.sqrTo = barrettSqrTo;\r\n // r = x^2 mod m; x != r\r\n Barrett.prototype.sqrTo = function (x, r) {\r\n x.squareTo(r);\r\n this.reduce(r);\r\n };\r\n return Barrett;\r\n}());\r\n//#endregion\r\n//#endregion REDUCERS\r\n// return new, unset BigInteger\r\nexport function nbi() { return new BigInteger(null); }\r\nexport function parseBigInt(str, r) {\r\n return new BigInteger(str, r);\r\n}\r\n// am: Compute w_j += (x*this_i), propagate carries,\r\n// c is initial carry, returns final carry.\r\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\r\n// We need to select the fastest one that works in this environment.\r\nvar inBrowser = typeof navigator !== \"undefined\";\r\nif (inBrowser && j_lm && (navigator.appName == \"Microsoft Internet Explorer\")) {\r\n // am2 avoids a big mult-and-extract completely.\r\n // Max digit bits should be <= 30 because we do bitwise ops\r\n // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\r\n BigInteger.prototype.am = function am2(i, x, w, j, c, n) {\r\n var xl = x & 0x7fff;\r\n var xh = x >> 15;\r\n while (--n >= 0) {\r\n var l = this[i] & 0x7fff;\r\n var h = this[i++] >> 15;\r\n var m = xh * l + h * xl;\r\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\r\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\r\n w[j++] = l & 0x3fffffff;\r\n }\r\n return c;\r\n };\r\n dbits = 30;\r\n}\r\nelse if (inBrowser && j_lm && (navigator.appName != \"Netscape\")) {\r\n // am1: use a single mult and divide to get the high bits,\r\n // max digit bits should be 26 because\r\n // max internal value = 2*dvalue^2-2*dvalue (< 2^53)\r\n BigInteger.prototype.am = function am1(i, x, w, j, c, n) {\r\n while (--n >= 0) {\r\n var v = x * this[i++] + w[j] + c;\r\n c = Math.floor(v / 0x4000000);\r\n w[j++] = v & 0x3ffffff;\r\n }\r\n return c;\r\n };\r\n dbits = 26;\r\n}\r\nelse { // Mozilla/Netscape seems to prefer am3\r\n // Alternately, set max digit bits to 28 since some\r\n // browsers slow down when dealing with 32-bit numbers.\r\n BigInteger.prototype.am = function am3(i, x, w, j, c, n) {\r\n var xl = x & 0x3fff;\r\n var xh = x >> 14;\r\n while (--n >= 0) {\r\n var l = this[i] & 0x3fff;\r\n var h = this[i++] >> 14;\r\n var m = xh * l + h * xl;\r\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\r\n c = (l >> 28) + (m >> 14) + xh * h;\r\n w[j++] = l & 0xfffffff;\r\n }\r\n return c;\r\n };\r\n dbits = 28;\r\n}\r\nBigInteger.prototype.DB = dbits;\r\nBigInteger.prototype.DM = ((1 << dbits) - 1);\r\nBigInteger.prototype.DV = (1 << dbits);\r\nvar BI_FP = 52;\r\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\r\nBigInteger.prototype.F1 = BI_FP - dbits;\r\nBigInteger.prototype.F2 = 2 * dbits - BI_FP;\r\n// Digit conversions\r\nvar BI_RC = [];\r\nvar rr;\r\nvar vv;\r\nrr = \"0\".charCodeAt(0);\r\nfor (vv = 0; vv <= 9; ++vv) {\r\n BI_RC[rr++] = vv;\r\n}\r\nrr = \"a\".charCodeAt(0);\r\nfor (vv = 10; vv < 36; ++vv) {\r\n BI_RC[rr++] = vv;\r\n}\r\nrr = \"A\".charCodeAt(0);\r\nfor (vv = 10; vv < 36; ++vv) {\r\n BI_RC[rr++] = vv;\r\n}\r\nexport function intAt(s, i) {\r\n var c = BI_RC[s.charCodeAt(i)];\r\n return (c == null) ? -1 : c;\r\n}\r\n// return bigint initialized to value\r\nexport function nbv(i) {\r\n var r = nbi();\r\n r.fromInt(i);\r\n return r;\r\n}\r\n// returns bit length of the integer x\r\nexport function nbits(x) {\r\n var r = 1;\r\n var t;\r\n if ((t = x >>> 16) != 0) {\r\n x = t;\r\n r += 16;\r\n }\r\n if ((t = x >> 8) != 0) {\r\n x = t;\r\n r += 8;\r\n }\r\n if ((t = x >> 4) != 0) {\r\n x = t;\r\n r += 4;\r\n }\r\n if ((t = x >> 2) != 0) {\r\n x = t;\r\n r += 2;\r\n }\r\n if ((t = x >> 1) != 0) {\r\n x = t;\r\n r += 1;\r\n }\r\n return r;\r\n}\r\n// \"constants\"\r\nBigInteger.ZERO = nbv(0);\r\nBigInteger.ONE = nbv(1);\r\n","// prng4.js - uses Arcfour as a PRNG\r\nvar Arcfour = /** @class */ (function () {\r\n function Arcfour() {\r\n this.i = 0;\r\n this.j = 0;\r\n this.S = [];\r\n }\r\n // Arcfour.prototype.init = ARC4init;\r\n // Initialize arcfour context from key, an array of ints, each from [0..255]\r\n Arcfour.prototype.init = function (key) {\r\n var i;\r\n var j;\r\n var t;\r\n for (i = 0; i < 256; ++i) {\r\n this.S[i] = i;\r\n }\r\n j = 0;\r\n for (i = 0; i < 256; ++i) {\r\n j = (j + this.S[i] + key[i % key.length]) & 255;\r\n t = this.S[i];\r\n this.S[i] = this.S[j];\r\n this.S[j] = t;\r\n }\r\n this.i = 0;\r\n this.j = 0;\r\n };\r\n // Arcfour.prototype.next = ARC4next;\r\n Arcfour.prototype.next = function () {\r\n var t;\r\n this.i = (this.i + 1) & 255;\r\n this.j = (this.j + this.S[this.i]) & 255;\r\n t = this.S[this.i];\r\n this.S[this.i] = this.S[this.j];\r\n this.S[this.j] = t;\r\n return this.S[(t + this.S[this.i]) & 255];\r\n };\r\n return Arcfour;\r\n}());\r\nexport { Arcfour };\r\n// Plug in your RNG constructor here\r\nexport function prng_newstate() {\r\n return new Arcfour();\r\n}\r\n// Pool size must be a multiple of 4 and greater than 32.\r\n// An array of bytes the size of the pool will be passed to init()\r\nexport var rng_psize = 256;\r\n","// Random number generator - requires a PRNG backend, e.g. prng4.js\r\nimport { prng_newstate, rng_psize } from \"./prng4\";\r\nvar rng_state;\r\nvar rng_pool = null;\r\nvar rng_pptr;\r\n// Initialize the pool with junk if needed.\r\nif (rng_pool == null) {\r\n rng_pool = [];\r\n rng_pptr = 0;\r\n var t = void 0;\r\n // Use mouse events for entropy, if we do not have enough entropy by the time\r\n // we need it, entropy will be generated by Math.random.\r\n var count = 0;\r\n var onMouseMoveListener = function (ev) {\r\n count = count || 0;\r\n if (count >= 256 || rng_pptr >= rng_psize) {\r\n return;\r\n }\r\n try {\r\n var mouseCoordinates = ev.x + ev.y;\r\n rng_pool[rng_pptr++] = mouseCoordinates & 255;\r\n count += 1;\r\n }\r\n catch (e) {\r\n // Sometimes Firefox will deny permission to access event properties for some reason. Ignore.\r\n }\r\n };\r\n}\r\nfunction rng_get_byte() {\r\n if (rng_state == null) {\r\n rng_state = prng_newstate();\r\n // At this point, we may not have collected enough entropy. If not, fall back to Math.random\r\n while (rng_pptr < rng_psize) {\r\n var random = Math.floor(65536 * Math.random());\r\n rng_pool[rng_pptr++] = random & 255;\r\n }\r\n rng_state.init(rng_pool);\r\n for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\r\n rng_pool[rng_pptr] = 0;\r\n }\r\n rng_pptr = 0;\r\n }\r\n // TODO: allow reseeding after first request\r\n return rng_state.next();\r\n}\r\nvar SecureRandom = /** @class */ (function () {\r\n function SecureRandom() {\r\n }\r\n SecureRandom.prototype.nextBytes = function (ba) {\r\n for (var i = 0; i < ba.length; ++i) {\r\n ba[i] = rng_get_byte();\r\n }\r\n };\r\n return SecureRandom;\r\n}());\r\nexport { SecureRandom };\r\n","// Depends on jsbn.js and rng.js\r\n// Version 1.1: support utf-8 encoding in pkcs1pad2\r\n// convert a (hex) string to a bignum object\r\nimport { BigInteger, nbi, parseBigInt } from \"./jsbn\";\r\nimport { SecureRandom } from \"./rng\";\r\n// function linebrk(s,n) {\r\n// var ret = \"\";\r\n// var i = 0;\r\n// while(i + n < s.length) {\r\n// ret += s.substring(i,i+n) + \"\\n\";\r\n// i += n;\r\n// }\r\n// return ret + s.substring(i,s.length);\r\n// }\r\n// function byte2Hex(b) {\r\n// if(b < 0x10)\r\n// return \"0\" + b.toString(16);\r\n// else\r\n// return b.toString(16);\r\n// }\r\nfunction pkcs1pad1(s, n) {\r\n if (n < s.length + 22) {\r\n console.error(\"Message too long for RSA\");\r\n return null;\r\n }\r\n var len = n - s.length - 6;\r\n var filler = \"\";\r\n for (var f = 0; f < len; f += 2) {\r\n filler += \"ff\";\r\n }\r\n var m = \"0001\" + filler + \"00\" + s;\r\n return parseBigInt(m, 16);\r\n}\r\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\r\nfunction pkcs1pad2(s, n) {\r\n if (n < s.length + 11) { // TODO: fix for utf-8\r\n console.error(\"Message too long for RSA\");\r\n return null;\r\n }\r\n var ba = [];\r\n var i = s.length - 1;\r\n while (i >= 0 && n > 0) {\r\n var c = s.charCodeAt(i--);\r\n if (c < 128) { // encode using utf-8\r\n ba[--n] = c;\r\n }\r\n else if ((c > 127) && (c < 2048)) {\r\n ba[--n] = (c & 63) | 128;\r\n ba[--n] = (c >> 6) | 192;\r\n }\r\n else {\r\n ba[--n] = (c & 63) | 128;\r\n ba[--n] = ((c >> 6) & 63) | 128;\r\n ba[--n] = (c >> 12) | 224;\r\n }\r\n }\r\n ba[--n] = 0;\r\n var rng = new SecureRandom();\r\n var x = [];\r\n while (n > 2) { // random non-zero pad\r\n x[0] = 0;\r\n while (x[0] == 0) {\r\n rng.nextBytes(x);\r\n }\r\n ba[--n] = x[0];\r\n }\r\n ba[--n] = 2;\r\n ba[--n] = 0;\r\n return new BigInteger(ba);\r\n}\r\n// \"empty\" RSA key constructor\r\nvar RSAKey = /** @class */ (function () {\r\n function RSAKey() {\r\n this.n = null;\r\n this.e = 0;\r\n this.d = null;\r\n this.p = null;\r\n this.q = null;\r\n this.dmp1 = null;\r\n this.dmq1 = null;\r\n this.coeff = null;\r\n }\r\n //#region PROTECTED\r\n // protected\r\n // RSAKey.prototype.doPublic = RSADoPublic;\r\n // Perform raw public operation on \"x\": return x^e (mod n)\r\n RSAKey.prototype.doPublic = function (x) {\r\n return x.modPowInt(this.e, this.n);\r\n };\r\n // RSAKey.prototype.doPrivate = RSADoPrivate;\r\n // Perform raw private operation on \"x\": return x^d (mod n)\r\n RSAKey.prototype.doPrivate = function (x) {\r\n if (this.p == null || this.q == null) {\r\n return x.modPow(this.d, this.n);\r\n }\r\n // TODO: re-calculate any missing CRT params\r\n var xp = x.mod(this.p).modPow(this.dmp1, this.p);\r\n var xq = x.mod(this.q).modPow(this.dmq1, this.q);\r\n while (xp.compareTo(xq) < 0) {\r\n xp = xp.add(this.p);\r\n }\r\n return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\r\n };\r\n //#endregion PROTECTED\r\n //#region PUBLIC\r\n // RSAKey.prototype.setPublic = RSASetPublic;\r\n // Set the public key fields N and e from hex strings\r\n RSAKey.prototype.setPublic = function (N, E) {\r\n if (N != null && E != null && N.length > 0 && E.length > 0) {\r\n this.n = parseBigInt(N, 16);\r\n this.e = parseInt(E, 16);\r\n }\r\n else {\r\n console.error(\"Invalid RSA public key\");\r\n }\r\n };\r\n // RSAKey.prototype.encrypt = RSAEncrypt;\r\n // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\r\n RSAKey.prototype.encrypt = function (text) {\r\n var maxLength = (this.n.bitLength() + 7) >> 3;\r\n var m = pkcs1pad2(text, maxLength);\r\n if (m == null) {\r\n return null;\r\n }\r\n var c = this.doPublic(m);\r\n if (c == null) {\r\n return null;\r\n }\r\n var h = c.toString(16);\r\n var length = h.length;\r\n // fix zero before result\r\n for (var i = 0; i < maxLength * 2 - length; i++) {\r\n h = \"0\" + h;\r\n }\r\n return h;\r\n };\r\n // RSAKey.prototype.setPrivate = RSASetPrivate;\r\n // Set the private key fields N, e, and d from hex strings\r\n RSAKey.prototype.setPrivate = function (N, E, D) {\r\n if (N != null && E != null && N.length > 0 && E.length > 0) {\r\n this.n = parseBigInt(N, 16);\r\n this.e = parseInt(E, 16);\r\n this.d = parseBigInt(D, 16);\r\n }\r\n else {\r\n console.error(\"Invalid RSA private key\");\r\n }\r\n };\r\n // RSAKey.prototype.setPrivateEx = RSASetPrivateEx;\r\n // Set the private key fields N, e, d and CRT params from hex strings\r\n RSAKey.prototype.setPrivateEx = function (N, E, D, P, Q, DP, DQ, C) {\r\n if (N != null && E != null && N.length > 0 && E.length > 0) {\r\n this.n = parseBigInt(N, 16);\r\n this.e = parseInt(E, 16);\r\n this.d = parseBigInt(D, 16);\r\n this.p = parseBigInt(P, 16);\r\n this.q = parseBigInt(Q, 16);\r\n this.dmp1 = parseBigInt(DP, 16);\r\n this.dmq1 = parseBigInt(DQ, 16);\r\n this.coeff = parseBigInt(C, 16);\r\n }\r\n else {\r\n console.error(\"Invalid RSA private key\");\r\n }\r\n };\r\n // RSAKey.prototype.generate = RSAGenerate;\r\n // Generate a new random private key B bits long, using public expt E\r\n RSAKey.prototype.generate = function (B, E) {\r\n var rng = new SecureRandom();\r\n var qs = B >> 1;\r\n this.e = parseInt(E, 16);\r\n var ee = new BigInteger(E, 16);\r\n for (;;) {\r\n for (;;) {\r\n this.p = new BigInteger(B - qs, 1, rng);\r\n if (this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) {\r\n break;\r\n }\r\n }\r\n for (;;) {\r\n this.q = new BigInteger(qs, 1, rng);\r\n if (this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) {\r\n break;\r\n }\r\n }\r\n if (this.p.compareTo(this.q) <= 0) {\r\n var t = this.p;\r\n this.p = this.q;\r\n this.q = t;\r\n }\r\n var p1 = this.p.subtract(BigInteger.ONE);\r\n var q1 = this.q.subtract(BigInteger.ONE);\r\n var phi = p1.multiply(q1);\r\n if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) {\r\n this.n = this.p.multiply(this.q);\r\n this.d = ee.modInverse(phi);\r\n this.dmp1 = this.d.mod(p1);\r\n this.dmq1 = this.d.mod(q1);\r\n this.coeff = this.q.modInverse(this.p);\r\n break;\r\n }\r\n }\r\n };\r\n // RSAKey.prototype.decrypt = RSADecrypt;\r\n // Return the PKCS#1 RSA decryption of \"ctext\".\r\n // \"ctext\" is an even-length hex string and the output is a plain string.\r\n RSAKey.prototype.decrypt = function (ctext) {\r\n var c = parseBigInt(ctext, 16);\r\n var m = this.doPrivate(c);\r\n if (m == null) {\r\n return null;\r\n }\r\n return pkcs1unpad2(m, (this.n.bitLength() + 7) >> 3);\r\n };\r\n // Generate a new random private key B bits long, using public expt E\r\n RSAKey.prototype.generateAsync = function (B, E, callback) {\r\n var rng = new SecureRandom();\r\n var qs = B >> 1;\r\n this.e = parseInt(E, 16);\r\n var ee = new BigInteger(E, 16);\r\n var rsa = this;\r\n // These functions have non-descript names because they were originally for(;;) loops.\r\n // I don't know about cryptography to give them better names than loop1-4.\r\n var loop1 = function () {\r\n var loop4 = function () {\r\n if (rsa.p.compareTo(rsa.q) <= 0) {\r\n var t = rsa.p;\r\n rsa.p = rsa.q;\r\n rsa.q = t;\r\n }\r\n var p1 = rsa.p.subtract(BigInteger.ONE);\r\n var q1 = rsa.q.subtract(BigInteger.ONE);\r\n var phi = p1.multiply(q1);\r\n if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) {\r\n rsa.n = rsa.p.multiply(rsa.q);\r\n rsa.d = ee.modInverse(phi);\r\n rsa.dmp1 = rsa.d.mod(p1);\r\n rsa.dmq1 = rsa.d.mod(q1);\r\n rsa.coeff = rsa.q.modInverse(rsa.p);\r\n setTimeout(function () { callback(); }, 0); // escape\r\n }\r\n else {\r\n setTimeout(loop1, 0);\r\n }\r\n };\r\n var loop3 = function () {\r\n rsa.q = nbi();\r\n rsa.q.fromNumberAsync(qs, 1, rng, function () {\r\n rsa.q.subtract(BigInteger.ONE).gcda(ee, function (r) {\r\n if (r.compareTo(BigInteger.ONE) == 0 && rsa.q.isProbablePrime(10)) {\r\n setTimeout(loop4, 0);\r\n }\r\n else {\r\n setTimeout(loop3, 0);\r\n }\r\n });\r\n });\r\n };\r\n var loop2 = function () {\r\n rsa.p = nbi();\r\n rsa.p.fromNumberAsync(B - qs, 1, rng, function () {\r\n rsa.p.subtract(BigInteger.ONE).gcda(ee, function (r) {\r\n if (r.compareTo(BigInteger.ONE) == 0 && rsa.p.isProbablePrime(10)) {\r\n setTimeout(loop3, 0);\r\n }\r\n else {\r\n setTimeout(loop2, 0);\r\n }\r\n });\r\n });\r\n };\r\n setTimeout(loop2, 0);\r\n };\r\n setTimeout(loop1, 0);\r\n };\r\n RSAKey.prototype.sign = function (text, digestMethod, digestName) {\r\n var header = getDigestHeader(digestName);\r\n var digest = header + digestMethod(text).toString();\r\n var m = pkcs1pad1(digest, this.n.bitLength() / 4);\r\n if (m == null) {\r\n return null;\r\n }\r\n var c = this.doPrivate(m);\r\n if (c == null) {\r\n return null;\r\n }\r\n var h = c.toString(16);\r\n if ((h.length & 1) == 0) {\r\n return h;\r\n }\r\n else {\r\n return \"0\" + h;\r\n }\r\n };\r\n RSAKey.prototype.verify = function (text, signature, digestMethod) {\r\n var c = parseBigInt(signature, 16);\r\n var m = this.doPublic(c);\r\n if (m == null) {\r\n return null;\r\n }\r\n var unpadded = m.toString(16).replace(/^1f+00/, \"\");\r\n var digest = removeDigestHeader(unpadded);\r\n return digest == digestMethod(text).toString();\r\n };\r\n RSAKey.prototype.encryptLong = function (text) {\r\n var _this = this;\r\n var res = '';\r\n var maxLen = ((this.n.bitLength() + 7) >> 3) - 11;\r\n var textArr = this.setSplitChn(text, maxLen);\r\n textArr.forEach(function (v) {\r\n res += _this.encrypt(v);\r\n });\r\n return res;\r\n };\r\n RSAKey.prototype.decryptLong = function (ctext) {\r\n var res = '';\r\n var maxLen = (this.n.bitLength() + 7) >> 3;\r\n var splitMaxLen = maxLen * 2;\r\n if (ctext.length > splitMaxLen) {\r\n var ctextArr = ctext.match(new RegExp('.{1,' + splitMaxLen + '}', 'g')) || [];\r\n var mArr = [];\r\n for (var i = 0; i < ctextArr.length; i++) {\r\n var c = parseBigInt(ctextArr[i], 16);\r\n var m = this.doPrivate(c);\r\n if (m == null) {\r\n return null;\r\n }\r\n mArr.push(m);\r\n }\r\n res = pkcs1unpad2Long(mArr, maxLen);\r\n }\r\n else {\r\n res = this.decrypt(ctext);\r\n }\r\n return res;\r\n };\r\n RSAKey.prototype.setSplitChn = function (str, maxLen, res) {\r\n if (res === void 0) { res = []; }\r\n var arr = str.split('');\r\n var len = 0;\r\n for (var i = 0; i < arr.length; i++) {\r\n var charCode = arr[i].charCodeAt(0);\r\n if (charCode <= 0x007f) {\r\n len += 1;\r\n }\r\n else if (charCode <= 0x07ff) {\r\n len += 2;\r\n }\r\n else if (charCode <= 0xffff) {\r\n len += 3;\r\n }\r\n else {\r\n len += 4;\r\n }\r\n if (len > maxLen) {\r\n var currentStr = str.substring(0, i);\r\n res.push(currentStr);\r\n return this.setSplitChn(str.substring(i), maxLen, res);\r\n }\r\n }\r\n res.push(str);\r\n return res;\r\n };\r\n return RSAKey;\r\n}());\r\nexport { RSAKey };\r\n// Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext\r\nfunction pkcs1unpad2(d, n) {\r\n var b = d.toByteArray();\r\n var i = 0;\r\n while (i < b.length && b[i] == 0) {\r\n ++i;\r\n }\r\n if (b.length - i != n - 1 || b[i] != 2) {\r\n return null;\r\n }\r\n ++i;\r\n while (b[i] != 0) {\r\n if (++i >= b.length) {\r\n return null;\r\n }\r\n }\r\n var ret = \"\";\r\n while (++i < b.length) {\r\n var c = b[i] & 255;\r\n if (c < 128) { // utf-8 decode\r\n ret += String.fromCharCode(c);\r\n }\r\n else if ((c > 191) && (c < 224)) {\r\n ret += String.fromCharCode(((c & 31) << 6) | (b[i + 1] & 63));\r\n ++i;\r\n }\r\n else {\r\n ret += String.fromCharCode(((c & 15) << 12) | ((b[i + 1] & 63) << 6) | (b[i + 2] & 63));\r\n i += 2;\r\n }\r\n }\r\n return ret;\r\n}\r\nfunction pkcs1unpad2Long(dArr, n) {\r\n var bArr = [];\r\n for (var j = 0; j < dArr.length; j++) {\r\n var d = dArr[j];\r\n var b_1 = d.toByteArray();\r\n var i_1 = 0;\r\n while (i_1 < b_1.length && b_1[i_1] == 0) {\r\n ++i_1;\r\n }\r\n if (b_1.length - i_1 != n - 1 || b_1[i_1] != 2) {\r\n return null;\r\n }\r\n ++i_1;\r\n while (b_1[i_1] != 0) {\r\n if (++i_1 >= b_1.length) {\r\n return null;\r\n }\r\n }\r\n bArr = bArr.concat(b_1.slice(i_1 + 1));\r\n }\r\n var b = bArr;\r\n var i = -1;\r\n var ret = \"\";\r\n while (++i < b.length) {\r\n var c = b[i] & 255;\r\n if (c < 128) { // utf-8 decode\r\n ret += String.fromCharCode(c);\r\n }\r\n else if ((c > 191) && (c < 224)) {\r\n ret += String.fromCharCode(((c & 31) << 6) | (b[i + 1] & 63));\r\n ++i;\r\n }\r\n else {\r\n ret += String.fromCharCode(((c & 15) << 12) | ((b[i + 1] & 63) << 6) | (b[i + 2] & 63));\r\n i += 2;\r\n }\r\n }\r\n return ret;\r\n}\r\n// https://tools.ietf.org/html/rfc3447#page-43\r\nvar DIGEST_HEADERS = {\r\n md2: \"3020300c06082a864886f70d020205000410\",\r\n md5: \"3020300c06082a864886f70d020505000410\",\r\n sha1: \"3021300906052b0e03021a05000414\",\r\n sha224: \"302d300d06096086480165030402040500041c\",\r\n sha256: \"3031300d060960864801650304020105000420\",\r\n sha384: \"3041300d060960864801650304020205000430\",\r\n sha512: \"3051300d060960864801650304020305000440\",\r\n ripemd160: \"3021300906052b2403020105000414\"\r\n};\r\nfunction getDigestHeader(name) {\r\n return DIGEST_HEADERS[name] || \"\";\r\n}\r\nfunction removeDigestHeader(str) {\r\n for (var name_1 in DIGEST_HEADERS) {\r\n if (DIGEST_HEADERS.hasOwnProperty(name_1)) {\r\n var header = DIGEST_HEADERS[name_1];\r\n var len = header.length;\r\n if (str.substr(0, len) == header) {\r\n return str.substr(len);\r\n }\r\n }\r\n }\r\n return str;\r\n}\r\n// Return the PKCS#1 RSA encryption of \"text\" as a Base64-encoded string\r\n// function RSAEncryptB64(text) {\r\n// var h = this.encrypt(text);\r\n// if(h) return hex2b64(h); else return null;\r\n// }\r\n// public\r\n// RSAKey.prototype.encrypt_b64 = RSAEncryptB64;\r\n","/*!\r\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\r\nCode licensed under the BSD License:\r\nhttp://developer.yahoo.com/yui/license.html\r\nversion: 2.9.0\r\n*/\r\nexport var YAHOO = {};\r\nYAHOO.lang = {\r\n /**\r\n * Utility to set up the prototype, constructor and superclass properties to\r\n * support an inheritance strategy that can chain constructors and methods.\r\n * Static members will not be inherited.\r\n *\r\n * @method extend\r\n * @static\r\n * @param {Function} subc the object to modify\r\n * @param {Function} superc the object to inherit\r\n * @param {Object} overrides additional properties/methods to add to the\r\n * subclass prototype. These will override the\r\n * matching items obtained from the superclass\r\n * if present.\r\n */\r\n extend: function (subc, superc, overrides) {\r\n if (!superc || !subc) {\r\n throw new Error(\"YAHOO.lang.extend failed, please check that \" +\r\n \"all dependencies are included.\");\r\n }\r\n var F = function () { };\r\n F.prototype = superc.prototype;\r\n subc.prototype = new F();\r\n subc.prototype.constructor = subc;\r\n subc.superclass = superc.prototype;\r\n if (superc.prototype.constructor == Object.prototype.constructor) {\r\n superc.prototype.constructor = superc;\r\n }\r\n if (overrides) {\r\n var i;\r\n for (i in overrides) {\r\n subc.prototype[i] = overrides[i];\r\n }\r\n /*\r\n * IE will not enumerate native functions in a derived object even if the\r\n * function was overridden. This is a workaround for specific functions\r\n * we care about on the Object prototype.\r\n * @property _IEEnumFix\r\n * @param {Function} r the object to receive the augmentation\r\n * @param {Function} s the object that supplies the properties to augment\r\n * @static\r\n * @private\r\n */\r\n var _IEEnumFix = function () { }, ADD = [\"toString\", \"valueOf\"];\r\n try {\r\n if (/MSIE/.test(navigator.userAgent)) {\r\n _IEEnumFix = function (r, s) {\r\n for (i = 0; i < ADD.length; i = i + 1) {\r\n var fname = ADD[i], f = s[fname];\r\n if (typeof f === 'function' && f != Object.prototype[fname]) {\r\n r[fname] = f;\r\n }\r\n }\r\n };\r\n }\r\n }\r\n catch (ex) { }\r\n ;\r\n _IEEnumFix(subc.prototype, overrides);\r\n }\r\n }\r\n};\r\n","/* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license\r\n */\r\n/*\r\n * asn1.js - ASN.1 DER encoder classes\r\n *\r\n * Copyright (c) 2013-2017 Kenji Urushima (kenji.urushima@gmail.com)\r\n *\r\n * This software is licensed under the terms of the MIT License.\r\n * https://kjur.github.io/jsrsasign/license\r\n *\r\n * The above copyright and license notice shall be\r\n * included in all copies or substantial portions of the Software.\r\n */\r\nimport { BigInteger } from \"../jsbn/jsbn\";\r\nimport { YAHOO } from \"./yahoo\";\r\n/**\r\n * @fileOverview\r\n * @name asn1-1.0.js\r\n * @author Kenji Urushima kenji.urushima@gmail.com\r\n * @version asn1 1.0.13 (2017-Jun-02)\r\n * @since jsrsasign 2.1\r\n * @license MIT License\r\n */\r\n/**\r\n * kjur's class library name space\r\n *

\r\n * This name space provides following name spaces:\r\n *

    \r\n *
  • {@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder
  • \r\n *
  • {@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL
  • \r\n *
  • {@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature\r\n * class and utilities
  • \r\n *
\r\n *

\r\n * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2.\r\n * @name KJUR\r\n * @namespace kjur's class library name space\r\n */\r\nexport var KJUR = {};\r\n/**\r\n * kjur's ASN.1 class library name space\r\n *

\r\n * This is ITU-T X.690 ASN.1 DER encoder class library and\r\n * class structure and methods is very similar to\r\n * org.bouncycastle.asn1 package of\r\n * well known BouncyCaslte Cryptography Library.\r\n *

PROVIDING ASN.1 PRIMITIVES

\r\n * Here are ASN.1 DER primitive classes.\r\n *
    \r\n *
  • 0x01 {@link KJUR.asn1.DERBoolean}
  • \r\n *
  • 0x02 {@link KJUR.asn1.DERInteger}
  • \r\n *
  • 0x03 {@link KJUR.asn1.DERBitString}
  • \r\n *
  • 0x04 {@link KJUR.asn1.DEROctetString}
  • \r\n *
  • 0x05 {@link KJUR.asn1.DERNull}
  • \r\n *
  • 0x06 {@link KJUR.asn1.DERObjectIdentifier}
  • \r\n *
  • 0x0a {@link KJUR.asn1.DEREnumerated}
  • \r\n *
  • 0x0c {@link KJUR.asn1.DERUTF8String}
  • \r\n *
  • 0x12 {@link KJUR.asn1.DERNumericString}
  • \r\n *
  • 0x13 {@link KJUR.asn1.DERPrintableString}
  • \r\n *
  • 0x14 {@link KJUR.asn1.DERTeletexString}
  • \r\n *
  • 0x16 {@link KJUR.asn1.DERIA5String}
  • \r\n *
  • 0x17 {@link KJUR.asn1.DERUTCTime}
  • \r\n *
  • 0x18 {@link KJUR.asn1.DERGeneralizedTime}
  • \r\n *
  • 0x30 {@link KJUR.asn1.DERSequence}
  • \r\n *
  • 0x31 {@link KJUR.asn1.DERSet}
  • \r\n *
\r\n *

OTHER ASN.1 CLASSES

\r\n *
    \r\n *
  • {@link KJUR.asn1.ASN1Object}
  • \r\n *
  • {@link KJUR.asn1.DERAbstractString}
  • \r\n *
  • {@link KJUR.asn1.DERAbstractTime}
  • \r\n *
  • {@link KJUR.asn1.DERAbstractStructured}
  • \r\n *
  • {@link KJUR.asn1.DERTaggedObject}
  • \r\n *
\r\n *

SUB NAME SPACES

\r\n *
    \r\n *
  • {@link KJUR.asn1.cades} - CAdES long term signature format
  • \r\n *
  • {@link KJUR.asn1.cms} - Cryptographic Message Syntax
  • \r\n *
  • {@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)
  • \r\n *
  • {@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format
  • \r\n *
  • {@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL
  • \r\n *
\r\n *

\r\n * NOTE: Please ignore method summary and document of this namespace.\r\n * This caused by a bug of jsdoc2.\r\n * @name KJUR.asn1\r\n * @namespace\r\n */\r\nif (typeof KJUR.asn1 == \"undefined\" || !KJUR.asn1)\r\n KJUR.asn1 = {};\r\n/**\r\n * ASN1 utilities class\r\n * @name KJUR.asn1.ASN1Util\r\n * @class ASN1 utilities class\r\n * @since asn1 1.0.2\r\n */\r\nKJUR.asn1.ASN1Util = new function () {\r\n this.integerToByteHex = function (i) {\r\n var h = i.toString(16);\r\n if ((h.length % 2) == 1)\r\n h = '0' + h;\r\n return h;\r\n };\r\n this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) {\r\n var h = bigIntegerValue.toString(16);\r\n if (h.substr(0, 1) != '-') {\r\n if (h.length % 2 == 1) {\r\n h = '0' + h;\r\n }\r\n else {\r\n if (!h.match(/^[0-7]/)) {\r\n h = '00' + h;\r\n }\r\n }\r\n }\r\n else {\r\n var hPos = h.substr(1);\r\n var xorLen = hPos.length;\r\n if (xorLen % 2 == 1) {\r\n xorLen += 1;\r\n }\r\n else {\r\n if (!h.match(/^[0-7]/)) {\r\n xorLen += 2;\r\n }\r\n }\r\n var hMask = '';\r\n for (var i = 0; i < xorLen; i++) {\r\n hMask += 'f';\r\n }\r\n var biMask = new BigInteger(hMask, 16);\r\n var biNeg = biMask.xor(bigIntegerValue).add(BigInteger.ONE);\r\n h = biNeg.toString(16).replace(/^-/, '');\r\n }\r\n return h;\r\n };\r\n /**\r\n * get PEM string from hexadecimal data and header string\r\n * @name getPEMStringFromHex\r\n * @memberOf KJUR.asn1.ASN1Util\r\n * @function\r\n * @param {String} dataHex hexadecimal string of PEM body\r\n * @param {String} pemHeader PEM header string (ex. 'RSA PRIVATE KEY')\r\n * @return {String} PEM formatted string of input data\r\n * @description\r\n * This method converts a hexadecimal string to a PEM string with\r\n * a specified header. Its line break will be CRLF(\"\\r\\n\").\r\n * @example\r\n * var pem = KJUR.asn1.ASN1Util.getPEMStringFromHex('616161', 'RSA PRIVATE KEY');\r\n * // value of pem will be:\r\n * -----BEGIN PRIVATE KEY-----\r\n * YWFh\r\n * -----END PRIVATE KEY-----\r\n */\r\n this.getPEMStringFromHex = function (dataHex, pemHeader) {\r\n return hextopem(dataHex, pemHeader);\r\n };\r\n /**\r\n * generate ASN1Object specifed by JSON parameters\r\n * @name newObject\r\n * @memberOf KJUR.asn1.ASN1Util\r\n * @function\r\n * @param {Array} param JSON parameter to generate ASN1Object\r\n * @return {KJUR.asn1.ASN1Object} generated object\r\n * @since asn1 1.0.3\r\n * @description\r\n * generate any ASN1Object specified by JSON param\r\n * including ASN.1 primitive or structured.\r\n * Generally 'param' can be described as follows:\r\n *
\r\n * {TYPE-OF-ASNOBJ: ASN1OBJ-PARAMETER}\r\n *
\r\n * 'TYPE-OF-ASN1OBJ' can be one of following symbols:\r\n *
    \r\n *
  • 'bool' - DERBoolean
  • \r\n *
  • 'int' - DERInteger
  • \r\n *
  • 'bitstr' - DERBitString
  • \r\n *
  • 'octstr' - DEROctetString
  • \r\n *
  • 'null' - DERNull
  • \r\n *
  • 'oid' - DERObjectIdentifier
  • \r\n *
  • 'enum' - DEREnumerated
  • \r\n *
  • 'utf8str' - DERUTF8String
  • \r\n *
  • 'numstr' - DERNumericString
  • \r\n *
  • 'prnstr' - DERPrintableString
  • \r\n *
  • 'telstr' - DERTeletexString
  • \r\n *
  • 'ia5str' - DERIA5String
  • \r\n *
  • 'utctime' - DERUTCTime
  • \r\n *
  • 'gentime' - DERGeneralizedTime
  • \r\n *
  • 'seq' - DERSequence
  • \r\n *
  • 'set' - DERSet
  • \r\n *
  • 'tag' - DERTaggedObject
  • \r\n *
\r\n * @example\r\n * newObject({'prnstr': 'aaa'});\r\n * newObject({'seq': [{'int': 3}, {'prnstr': 'aaa'}]})\r\n * // ASN.1 Tagged Object\r\n * newObject({'tag': {'tag': 'a1',\r\n * 'explicit': true,\r\n * 'obj': {'seq': [{'int': 3}, {'prnstr': 'aaa'}]}}});\r\n * // more simple representation of ASN.1 Tagged Object\r\n * newObject({'tag': ['a1',\r\n * true,\r\n * {'seq': [\r\n * {'int': 3},\r\n * {'prnstr': 'aaa'}]}\r\n * ]});\r\n */\r\n this.newObject = function (param) {\r\n var _KJUR = KJUR, _KJUR_asn1 = _KJUR.asn1, _DERBoolean = _KJUR_asn1.DERBoolean, _DERInteger = _KJUR_asn1.DERInteger, _DERBitString = _KJUR_asn1.DERBitString, _DEROctetString = _KJUR_asn1.DEROctetString, _DERNull = _KJUR_asn1.DERNull, _DERObjectIdentifier = _KJUR_asn1.DERObjectIdentifier, _DEREnumerated = _KJUR_asn1.DEREnumerated, _DERUTF8String = _KJUR_asn1.DERUTF8String, _DERNumericString = _KJUR_asn1.DERNumericString, _DERPrintableString = _KJUR_asn1.DERPrintableString, _DERTeletexString = _KJUR_asn1.DERTeletexString, _DERIA5String = _KJUR_asn1.DERIA5String, _DERUTCTime = _KJUR_asn1.DERUTCTime, _DERGeneralizedTime = _KJUR_asn1.DERGeneralizedTime, _DERSequence = _KJUR_asn1.DERSequence, _DERSet = _KJUR_asn1.DERSet, _DERTaggedObject = _KJUR_asn1.DERTaggedObject, _newObject = _KJUR_asn1.ASN1Util.newObject;\r\n var keys = Object.keys(param);\r\n if (keys.length != 1)\r\n throw \"key of param shall be only one.\";\r\n var key = keys[0];\r\n if (\":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:\".indexOf(\":\" + key + \":\") == -1)\r\n throw \"undefined key: \" + key;\r\n if (key == \"bool\")\r\n return new _DERBoolean(param[key]);\r\n if (key == \"int\")\r\n return new _DERInteger(param[key]);\r\n if (key == \"bitstr\")\r\n return new _DERBitString(param[key]);\r\n if (key == \"octstr\")\r\n return new _DEROctetString(param[key]);\r\n if (key == \"null\")\r\n return new _DERNull(param[key]);\r\n if (key == \"oid\")\r\n return new _DERObjectIdentifier(param[key]);\r\n if (key == \"enum\")\r\n return new _DEREnumerated(param[key]);\r\n if (key == \"utf8str\")\r\n return new _DERUTF8String(param[key]);\r\n if (key == \"numstr\")\r\n return new _DERNumericString(param[key]);\r\n if (key == \"prnstr\")\r\n return new _DERPrintableString(param[key]);\r\n if (key == \"telstr\")\r\n return new _DERTeletexString(param[key]);\r\n if (key == \"ia5str\")\r\n return new _DERIA5String(param[key]);\r\n if (key == \"utctime\")\r\n return new _DERUTCTime(param[key]);\r\n if (key == \"gentime\")\r\n return new _DERGeneralizedTime(param[key]);\r\n if (key == \"seq\") {\r\n var paramList = param[key];\r\n var a = [];\r\n for (var i = 0; i < paramList.length; i++) {\r\n var asn1Obj = _newObject(paramList[i]);\r\n a.push(asn1Obj);\r\n }\r\n return new _DERSequence({ 'array': a });\r\n }\r\n if (key == \"set\") {\r\n var paramList = param[key];\r\n var a = [];\r\n for (var i = 0; i < paramList.length; i++) {\r\n var asn1Obj = _newObject(paramList[i]);\r\n a.push(asn1Obj);\r\n }\r\n return new _DERSet({ 'array': a });\r\n }\r\n if (key == \"tag\") {\r\n var tagParam = param[key];\r\n if (Object.prototype.toString.call(tagParam) === '[object Array]' &&\r\n tagParam.length == 3) {\r\n var obj = _newObject(tagParam[2]);\r\n return new _DERTaggedObject({ tag: tagParam[0],\r\n explicit: tagParam[1],\r\n obj: obj });\r\n }\r\n else {\r\n var newParam = {};\r\n if (tagParam.explicit !== undefined)\r\n newParam.explicit = tagParam.explicit;\r\n if (tagParam.tag !== undefined)\r\n newParam.tag = tagParam.tag;\r\n if (tagParam.obj === undefined)\r\n throw \"obj shall be specified for 'tag'.\";\r\n newParam.obj = _newObject(tagParam.obj);\r\n return new _DERTaggedObject(newParam);\r\n }\r\n }\r\n };\r\n /**\r\n * get encoded hexadecimal string of ASN1Object specifed by JSON parameters\r\n * @name jsonToASN1HEX\r\n * @memberOf KJUR.asn1.ASN1Util\r\n * @function\r\n * @param {Array} param JSON parameter to generate ASN1Object\r\n * @return hexadecimal string of ASN1Object\r\n * @since asn1 1.0.4\r\n * @description\r\n * As for ASN.1 object representation of JSON object,\r\n * please see {@link newObject}.\r\n * @example\r\n * jsonToASN1HEX({'prnstr': 'aaa'});\r\n */\r\n this.jsonToASN1HEX = function (param) {\r\n var asn1Obj = this.newObject(param);\r\n return asn1Obj.getEncodedHex();\r\n };\r\n};\r\n/**\r\n * get dot noted oid number string from hexadecimal value of OID\r\n * @name oidHexToInt\r\n * @memberOf KJUR.asn1.ASN1Util\r\n * @function\r\n * @param {String} hex hexadecimal value of object identifier\r\n * @return {String} dot noted string of object identifier\r\n * @since jsrsasign 4.8.3 asn1 1.0.7\r\n * @description\r\n * This static method converts from hexadecimal string representation of\r\n * ASN.1 value of object identifier to oid number string.\r\n * @example\r\n * KJUR.asn1.ASN1Util.oidHexToInt('550406') → \"2.5.4.6\"\r\n */\r\nKJUR.asn1.ASN1Util.oidHexToInt = function (hex) {\r\n var s = \"\";\r\n var i01 = parseInt(hex.substr(0, 2), 16);\r\n var i0 = Math.floor(i01 / 40);\r\n var i1 = i01 % 40;\r\n var s = i0 + \".\" + i1;\r\n var binbuf = \"\";\r\n for (var i = 2; i < hex.length; i += 2) {\r\n var value = parseInt(hex.substr(i, 2), 16);\r\n var bin = (\"00000000\" + value.toString(2)).slice(-8);\r\n binbuf = binbuf + bin.substr(1, 7);\r\n if (bin.substr(0, 1) == \"0\") {\r\n var bi = new BigInteger(binbuf, 2);\r\n s = s + \".\" + bi.toString(10);\r\n binbuf = \"\";\r\n }\r\n }\r\n ;\r\n return s;\r\n};\r\n/**\r\n * get hexadecimal value of object identifier from dot noted oid value\r\n * @name oidIntToHex\r\n * @memberOf KJUR.asn1.ASN1Util\r\n * @function\r\n * @param {String} oidString dot noted string of object identifier\r\n * @return {String} hexadecimal value of object identifier\r\n * @since jsrsasign 4.8.3 asn1 1.0.7\r\n * @description\r\n * This static method converts from object identifier value string.\r\n * to hexadecimal string representation of it.\r\n * @example\r\n * KJUR.asn1.ASN1Util.oidIntToHex(\"2.5.4.6\") → \"550406\"\r\n */\r\nKJUR.asn1.ASN1Util.oidIntToHex = function (oidString) {\r\n var itox = function (i) {\r\n var h = i.toString(16);\r\n if (h.length == 1)\r\n h = '0' + h;\r\n return h;\r\n };\r\n var roidtox = function (roid) {\r\n var h = '';\r\n var bi = new BigInteger(roid, 10);\r\n var b = bi.toString(2);\r\n var padLen = 7 - b.length % 7;\r\n if (padLen == 7)\r\n padLen = 0;\r\n var bPad = '';\r\n for (var i = 0; i < padLen; i++)\r\n bPad += '0';\r\n b = bPad + b;\r\n for (var i = 0; i < b.length - 1; i += 7) {\r\n var b8 = b.substr(i, 7);\r\n if (i != b.length - 7)\r\n b8 = '1' + b8;\r\n h += itox(parseInt(b8, 2));\r\n }\r\n return h;\r\n };\r\n if (!oidString.match(/^[0-9.]+$/)) {\r\n throw \"malformed oid string: \" + oidString;\r\n }\r\n var h = '';\r\n var a = oidString.split('.');\r\n var i0 = parseInt(a[0]) * 40 + parseInt(a[1]);\r\n h += itox(i0);\r\n a.splice(0, 2);\r\n for (var i = 0; i < a.length; i++) {\r\n h += roidtox(a[i]);\r\n }\r\n return h;\r\n};\r\n// ********************************************************************\r\n// Abstract ASN.1 Classes\r\n// ********************************************************************\r\n// ********************************************************************\r\n/**\r\n * base class for ASN.1 DER encoder object\r\n * @name KJUR.asn1.ASN1Object\r\n * @class base class for ASN.1 DER encoder object\r\n * @property {Boolean} isModified flag whether internal data was changed\r\n * @property {String} hTLV hexadecimal string of ASN.1 TLV\r\n * @property {String} hT hexadecimal string of ASN.1 TLV tag(T)\r\n * @property {String} hL hexadecimal string of ASN.1 TLV length(L)\r\n * @property {String} hV hexadecimal string of ASN.1 TLV value(V)\r\n * @description\r\n */\r\nKJUR.asn1.ASN1Object = function () {\r\n var isModified = true;\r\n var hTLV = null;\r\n var hT = '00';\r\n var hL = '00';\r\n var hV = '';\r\n /**\r\n * get hexadecimal ASN.1 TLV length(L) bytes from TLV value(V)\r\n * @name getLengthHexFromValue\r\n * @memberOf KJUR.asn1.ASN1Object#\r\n * @function\r\n * @return {String} hexadecimal string of ASN.1 TLV length(L)\r\n */\r\n this.getLengthHexFromValue = function () {\r\n if (typeof this.hV == \"undefined\" || this.hV == null) {\r\n throw \"this.hV is null or undefined.\";\r\n }\r\n if (this.hV.length % 2 == 1) {\r\n throw \"value hex must be even length: n=\" + hV.length + \",v=\" + this.hV;\r\n }\r\n var n = this.hV.length / 2;\r\n var hN = n.toString(16);\r\n if (hN.length % 2 == 1) {\r\n hN = \"0\" + hN;\r\n }\r\n if (n < 128) {\r\n return hN;\r\n }\r\n else {\r\n var hNlen = hN.length / 2;\r\n if (hNlen > 15) {\r\n throw \"ASN.1 length too long to represent by 8x: n = \" + n.toString(16);\r\n }\r\n var head = 128 + hNlen;\r\n return head.toString(16) + hN;\r\n }\r\n };\r\n /**\r\n * get hexadecimal string of ASN.1 TLV bytes\r\n * @name getEncodedHex\r\n * @memberOf KJUR.asn1.ASN1Object#\r\n * @function\r\n * @return {String} hexadecimal string of ASN.1 TLV\r\n */\r\n this.getEncodedHex = function () {\r\n if (this.hTLV == null || this.isModified) {\r\n this.hV = this.getFreshValueHex();\r\n this.hL = this.getLengthHexFromValue();\r\n this.hTLV = this.hT + this.hL + this.hV;\r\n this.isModified = false;\r\n //alert(\"first time: \" + this.hTLV);\r\n }\r\n return this.hTLV;\r\n };\r\n /**\r\n * get hexadecimal string of ASN.1 TLV value(V) bytes\r\n * @name getValueHex\r\n * @memberOf KJUR.asn1.ASN1Object#\r\n * @function\r\n * @return {String} hexadecimal string of ASN.1 TLV value(V) bytes\r\n */\r\n this.getValueHex = function () {\r\n this.getEncodedHex();\r\n return this.hV;\r\n };\r\n this.getFreshValueHex = function () {\r\n return '';\r\n };\r\n};\r\n// == BEGIN DERAbstractString ================================================\r\n/**\r\n * base class for ASN.1 DER string classes\r\n * @name KJUR.asn1.DERAbstractString\r\n * @class base class for ASN.1 DER string classes\r\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\r\n * @property {String} s internal string of value\r\n * @extends KJUR.asn1.ASN1Object\r\n * @description\r\n *
\r\n * As for argument 'params' for constructor, you can specify one of\r\n * following properties:\r\n *
    \r\n *
  • str - specify initial ASN.1 value(V) by a string
  • \r\n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \r\n *
\r\n * NOTE: 'params' can be omitted.\r\n */\r\nKJUR.asn1.DERAbstractString = function (params) {\r\n KJUR.asn1.DERAbstractString.superclass.constructor.call(this);\r\n var s = null;\r\n var hV = null;\r\n /**\r\n * get string value of this string object\r\n * @name getString\r\n * @memberOf KJUR.asn1.DERAbstractString#\r\n * @function\r\n * @return {String} string value of this string object\r\n */\r\n this.getString = function () {\r\n return this.s;\r\n };\r\n /**\r\n * set value by a string\r\n * @name setString\r\n * @memberOf KJUR.asn1.DERAbstractString#\r\n * @function\r\n * @param {String} newS value by a string to set\r\n */\r\n this.setString = function (newS) {\r\n this.hTLV = null;\r\n this.isModified = true;\r\n this.s = newS;\r\n this.hV = stohex(this.s);\r\n };\r\n /**\r\n * set value by a hexadecimal string\r\n * @name setStringHex\r\n * @memberOf KJUR.asn1.DERAbstractString#\r\n * @function\r\n * @param {String} newHexString value by a hexadecimal string to set\r\n */\r\n this.setStringHex = function (newHexString) {\r\n this.hTLV = null;\r\n this.isModified = true;\r\n this.s = null;\r\n this.hV = newHexString;\r\n };\r\n this.getFreshValueHex = function () {\r\n return this.hV;\r\n };\r\n if (typeof params != \"undefined\") {\r\n if (typeof params == \"string\") {\r\n this.setString(params);\r\n }\r\n else if (typeof params['str'] != \"undefined\") {\r\n this.setString(params['str']);\r\n }\r\n else if (typeof params['hex'] != \"undefined\") {\r\n this.setStringHex(params['hex']);\r\n }\r\n }\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERAbstractString, KJUR.asn1.ASN1Object);\r\n// == END DERAbstractString ================================================\r\n// == BEGIN DERAbstractTime ==================================================\r\n/**\r\n * base class for ASN.1 DER Generalized/UTCTime class\r\n * @name KJUR.asn1.DERAbstractTime\r\n * @class base class for ASN.1 DER Generalized/UTCTime class\r\n * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'})\r\n * @extends KJUR.asn1.ASN1Object\r\n * @description\r\n * @see KJUR.asn1.ASN1Object - superclass\r\n */\r\nKJUR.asn1.DERAbstractTime = function (params) {\r\n KJUR.asn1.DERAbstractTime.superclass.constructor.call(this);\r\n var s = null;\r\n var date = null;\r\n // --- PRIVATE METHODS --------------------\r\n this.localDateToUTC = function (d) {\r\n utc = d.getTime() + (d.getTimezoneOffset() * 60000);\r\n var utcDate = new Date(utc);\r\n return utcDate;\r\n };\r\n /*\r\n * format date string by Data object\r\n * @name formatDate\r\n * @memberOf KJUR.asn1.AbstractTime;\r\n * @param {Date} dateObject\r\n * @param {string} type 'utc' or 'gen'\r\n * @param {boolean} withMillis flag for with millisections or not\r\n * @description\r\n * 'withMillis' flag is supported from asn1 1.0.6.\r\n */\r\n this.formatDate = function (dateObject, type, withMillis) {\r\n var pad = this.zeroPadding;\r\n var d = this.localDateToUTC(dateObject);\r\n var year = String(d.getFullYear());\r\n if (type == 'utc')\r\n year = year.substr(2, 2);\r\n var month = pad(String(d.getMonth() + 1), 2);\r\n var day = pad(String(d.getDate()), 2);\r\n var hour = pad(String(d.getHours()), 2);\r\n var min = pad(String(d.getMinutes()), 2);\r\n var sec = pad(String(d.getSeconds()), 2);\r\n var s = year + month + day + hour + min + sec;\r\n if (withMillis === true) {\r\n var millis = d.getMilliseconds();\r\n if (millis != 0) {\r\n var sMillis = pad(String(millis), 3);\r\n sMillis = sMillis.replace(/[0]+$/, \"\");\r\n s = s + \".\" + sMillis;\r\n }\r\n }\r\n return s + \"Z\";\r\n };\r\n this.zeroPadding = function (s, len) {\r\n if (s.length >= len)\r\n return s;\r\n return new Array(len - s.length + 1).join('0') + s;\r\n };\r\n // --- PUBLIC METHODS --------------------\r\n /**\r\n * get string value of this string object\r\n * @name getString\r\n * @memberOf KJUR.asn1.DERAbstractTime#\r\n * @function\r\n * @return {String} string value of this time object\r\n */\r\n this.getString = function () {\r\n return this.s;\r\n };\r\n /**\r\n * set value by a string\r\n * @name setString\r\n * @memberOf KJUR.asn1.DERAbstractTime#\r\n * @function\r\n * @param {String} newS value by a string to set such like \"130430235959Z\"\r\n */\r\n this.setString = function (newS) {\r\n this.hTLV = null;\r\n this.isModified = true;\r\n this.s = newS;\r\n this.hV = stohex(newS);\r\n };\r\n /**\r\n * set value by a Date object\r\n * @name setByDateValue\r\n * @memberOf KJUR.asn1.DERAbstractTime#\r\n * @function\r\n * @param {Integer} year year of date (ex. 2013)\r\n * @param {Integer} month month of date between 1 and 12 (ex. 12)\r\n * @param {Integer} day day of month\r\n * @param {Integer} hour hours of date\r\n * @param {Integer} min minutes of date\r\n * @param {Integer} sec seconds of date\r\n */\r\n this.setByDateValue = function (year, month, day, hour, min, sec) {\r\n var dateObject = new Date(Date.UTC(year, month - 1, day, hour, min, sec, 0));\r\n this.setByDate(dateObject);\r\n };\r\n this.getFreshValueHex = function () {\r\n return this.hV;\r\n };\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERAbstractTime, KJUR.asn1.ASN1Object);\r\n// == END DERAbstractTime ==================================================\r\n// == BEGIN DERAbstractStructured ============================================\r\n/**\r\n * base class for ASN.1 DER structured class\r\n * @name KJUR.asn1.DERAbstractStructured\r\n * @class base class for ASN.1 DER structured class\r\n * @property {Array} asn1Array internal array of ASN1Object\r\n * @extends KJUR.asn1.ASN1Object\r\n * @description\r\n * @see KJUR.asn1.ASN1Object - superclass\r\n */\r\nKJUR.asn1.DERAbstractStructured = function (params) {\r\n KJUR.asn1.DERAbstractString.superclass.constructor.call(this);\r\n var asn1Array = null;\r\n /**\r\n * set value by array of ASN1Object\r\n * @name setByASN1ObjectArray\r\n * @memberOf KJUR.asn1.DERAbstractStructured#\r\n * @function\r\n * @param {array} asn1ObjectArray array of ASN1Object to set\r\n */\r\n this.setByASN1ObjectArray = function (asn1ObjectArray) {\r\n this.hTLV = null;\r\n this.isModified = true;\r\n this.asn1Array = asn1ObjectArray;\r\n };\r\n /**\r\n * append an ASN1Object to internal array\r\n * @name appendASN1Object\r\n * @memberOf KJUR.asn1.DERAbstractStructured#\r\n * @function\r\n * @param {ASN1Object} asn1Object to add\r\n */\r\n this.appendASN1Object = function (asn1Object) {\r\n this.hTLV = null;\r\n this.isModified = true;\r\n this.asn1Array.push(asn1Object);\r\n };\r\n this.asn1Array = new Array();\r\n if (typeof params != \"undefined\") {\r\n if (typeof params['array'] != \"undefined\") {\r\n this.asn1Array = params['array'];\r\n }\r\n }\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERAbstractStructured, KJUR.asn1.ASN1Object);\r\n// ********************************************************************\r\n// ASN.1 Object Classes\r\n// ********************************************************************\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER Boolean\r\n * @name KJUR.asn1.DERBoolean\r\n * @class class for ASN.1 DER Boolean\r\n * @extends KJUR.asn1.ASN1Object\r\n * @description\r\n * @see KJUR.asn1.ASN1Object - superclass\r\n */\r\nKJUR.asn1.DERBoolean = function () {\r\n KJUR.asn1.DERBoolean.superclass.constructor.call(this);\r\n this.hT = \"01\";\r\n this.hTLV = \"0101ff\";\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERBoolean, KJUR.asn1.ASN1Object);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER Integer\r\n * @name KJUR.asn1.DERInteger\r\n * @class class for ASN.1 DER Integer\r\n * @extends KJUR.asn1.ASN1Object\r\n * @description\r\n *
\r\n * As for argument 'params' for constructor, you can specify one of\r\n * following properties:\r\n *
    \r\n *
  • int - specify initial ASN.1 value(V) by integer value
  • \r\n *
  • bigint - specify initial ASN.1 value(V) by BigInteger object
  • \r\n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \r\n *
\r\n * NOTE: 'params' can be omitted.\r\n */\r\nKJUR.asn1.DERInteger = function (params) {\r\n KJUR.asn1.DERInteger.superclass.constructor.call(this);\r\n this.hT = \"02\";\r\n /**\r\n * set value by Tom Wu's BigInteger object\r\n * @name setByBigInteger\r\n * @memberOf KJUR.asn1.DERInteger#\r\n * @function\r\n * @param {BigInteger} bigIntegerValue to set\r\n */\r\n this.setByBigInteger = function (bigIntegerValue) {\r\n this.hTLV = null;\r\n this.isModified = true;\r\n this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue);\r\n };\r\n /**\r\n * set value by integer value\r\n * @name setByInteger\r\n * @memberOf KJUR.asn1.DERInteger\r\n * @function\r\n * @param {Integer} integer value to set\r\n */\r\n this.setByInteger = function (intValue) {\r\n var bi = new BigInteger(String(intValue), 10);\r\n this.setByBigInteger(bi);\r\n };\r\n /**\r\n * set value by integer value\r\n * @name setValueHex\r\n * @memberOf KJUR.asn1.DERInteger#\r\n * @function\r\n * @param {String} hexadecimal string of integer value\r\n * @description\r\n *
\r\n * NOTE: Value shall be represented by minimum octet length of\r\n * two's complement representation.\r\n * @example\r\n * new KJUR.asn1.DERInteger(123);\r\n * new KJUR.asn1.DERInteger({'int': 123});\r\n * new KJUR.asn1.DERInteger({'hex': '1fad'});\r\n */\r\n this.setValueHex = function (newHexString) {\r\n this.hV = newHexString;\r\n };\r\n this.getFreshValueHex = function () {\r\n return this.hV;\r\n };\r\n if (typeof params != \"undefined\") {\r\n if (typeof params['bigint'] != \"undefined\") {\r\n this.setByBigInteger(params['bigint']);\r\n }\r\n else if (typeof params['int'] != \"undefined\") {\r\n this.setByInteger(params['int']);\r\n }\r\n else if (typeof params == \"number\") {\r\n this.setByInteger(params);\r\n }\r\n else if (typeof params['hex'] != \"undefined\") {\r\n this.setValueHex(params['hex']);\r\n }\r\n }\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERInteger, KJUR.asn1.ASN1Object);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER encoded BitString primitive\r\n * @name KJUR.asn1.DERBitString\r\n * @class class for ASN.1 DER encoded BitString primitive\r\n * @extends KJUR.asn1.ASN1Object\r\n * @description\r\n *
\r\n * As for argument 'params' for constructor, you can specify one of\r\n * following properties:\r\n *
    \r\n *
  • bin - specify binary string (ex. '10111')
  • \r\n *
  • array - specify array of boolean (ex. [true,false,true,true])
  • \r\n *
  • hex - specify hexadecimal string of ASN.1 value(V) including unused bits
  • \r\n *
  • obj - specify {@link KJUR.asn1.ASN1Util.newObject}\r\n * argument for \"BitString encapsulates\" structure.
  • \r\n *
\r\n * NOTE1: 'params' can be omitted.
\r\n * NOTE2: 'obj' parameter have been supported since\r\n * asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).
\r\n * @example\r\n * // default constructor\r\n * o = new KJUR.asn1.DERBitString();\r\n * // initialize with binary string\r\n * o = new KJUR.asn1.DERBitString({bin: \"1011\"});\r\n * // initialize with boolean array\r\n * o = new KJUR.asn1.DERBitString({array: [true,false,true,true]});\r\n * // initialize with hexadecimal string (04 is unused bits)\r\n * o = new KJUR.asn1.DEROctetString({hex: \"04bac0\"});\r\n * // initialize with ASN1Util.newObject argument for encapsulated\r\n * o = new KJUR.asn1.DERBitString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}});\r\n * // above generates a ASN.1 data like this:\r\n * // BIT STRING, encapsulates {\r\n * // SEQUENCE {\r\n * // INTEGER 3\r\n * // PrintableString 'aaa'\r\n * // }\r\n * // }\r\n */\r\nKJUR.asn1.DERBitString = function (params) {\r\n if (params !== undefined && typeof params.obj !== \"undefined\") {\r\n var o = KJUR.asn1.ASN1Util.newObject(params.obj);\r\n params.hex = \"00\" + o.getEncodedHex();\r\n }\r\n KJUR.asn1.DERBitString.superclass.constructor.call(this);\r\n this.hT = \"03\";\r\n /**\r\n * set ASN.1 value(V) by a hexadecimal string including unused bits\r\n * @name setHexValueIncludingUnusedBits\r\n * @memberOf KJUR.asn1.DERBitString#\r\n * @function\r\n * @param {String} newHexStringIncludingUnusedBits\r\n */\r\n this.setHexValueIncludingUnusedBits = function (newHexStringIncludingUnusedBits) {\r\n this.hTLV = null;\r\n this.isModified = true;\r\n this.hV = newHexStringIncludingUnusedBits;\r\n };\r\n /**\r\n * set ASN.1 value(V) by unused bit and hexadecimal string of value\r\n * @name setUnusedBitsAndHexValue\r\n * @memberOf KJUR.asn1.DERBitString#\r\n * @function\r\n * @param {Integer} unusedBits\r\n * @param {String} hValue\r\n */\r\n this.setUnusedBitsAndHexValue = function (unusedBits, hValue) {\r\n if (unusedBits < 0 || 7 < unusedBits) {\r\n throw \"unused bits shall be from 0 to 7: u = \" + unusedBits;\r\n }\r\n var hUnusedBits = \"0\" + unusedBits;\r\n this.hTLV = null;\r\n this.isModified = true;\r\n this.hV = hUnusedBits + hValue;\r\n };\r\n /**\r\n * set ASN.1 DER BitString by binary string
\r\n * @name setByBinaryString\r\n * @memberOf KJUR.asn1.DERBitString#\r\n * @function\r\n * @param {String} binaryString binary value string (i.e. '10111')\r\n * @description\r\n * Its unused bits will be calculated automatically by length of\r\n * 'binaryValue'.
\r\n * NOTE: Trailing zeros '0' will be ignored.\r\n * @example\r\n * o = new KJUR.asn1.DERBitString();\r\n * o.setByBooleanArray(\"01011\");\r\n */\r\n this.setByBinaryString = function (binaryString) {\r\n binaryString = binaryString.replace(/0+$/, '');\r\n var unusedBits = 8 - binaryString.length % 8;\r\n if (unusedBits == 8)\r\n unusedBits = 0;\r\n for (var i = 0; i <= unusedBits; i++) {\r\n binaryString += '0';\r\n }\r\n var h = '';\r\n for (var i = 0; i < binaryString.length - 1; i += 8) {\r\n var b = binaryString.substr(i, 8);\r\n var x = parseInt(b, 2).toString(16);\r\n if (x.length == 1)\r\n x = '0' + x;\r\n h += x;\r\n }\r\n this.hTLV = null;\r\n this.isModified = true;\r\n this.hV = '0' + unusedBits + h;\r\n };\r\n /**\r\n * set ASN.1 TLV value(V) by an array of boolean
\r\n * @name setByBooleanArray\r\n * @memberOf KJUR.asn1.DERBitString#\r\n * @function\r\n * @param {array} booleanArray array of boolean (ex. [true, false, true])\r\n * @description\r\n * NOTE: Trailing falses will be ignored in the ASN.1 DER Object.\r\n * @example\r\n * o = new KJUR.asn1.DERBitString();\r\n * o.setByBooleanArray([false, true, false, true, true]);\r\n */\r\n this.setByBooleanArray = function (booleanArray) {\r\n var s = '';\r\n for (var i = 0; i < booleanArray.length; i++) {\r\n if (booleanArray[i] == true) {\r\n s += '1';\r\n }\r\n else {\r\n s += '0';\r\n }\r\n }\r\n this.setByBinaryString(s);\r\n };\r\n /**\r\n * generate an array of falses with specified length
\r\n * @name newFalseArray\r\n * @memberOf KJUR.asn1.DERBitString\r\n * @function\r\n * @param {Integer} nLength length of array to generate\r\n * @return {array} array of boolean falses\r\n * @description\r\n * This static method may be useful to initialize boolean array.\r\n * @example\r\n * o = new KJUR.asn1.DERBitString();\r\n * o.newFalseArray(3) → [false, false, false]\r\n */\r\n this.newFalseArray = function (nLength) {\r\n var a = new Array(nLength);\r\n for (var i = 0; i < nLength; i++) {\r\n a[i] = false;\r\n }\r\n return a;\r\n };\r\n this.getFreshValueHex = function () {\r\n return this.hV;\r\n };\r\n if (typeof params != \"undefined\") {\r\n if (typeof params == \"string\" && params.toLowerCase().match(/^[0-9a-f]+$/)) {\r\n this.setHexValueIncludingUnusedBits(params);\r\n }\r\n else if (typeof params['hex'] != \"undefined\") {\r\n this.setHexValueIncludingUnusedBits(params['hex']);\r\n }\r\n else if (typeof params['bin'] != \"undefined\") {\r\n this.setByBinaryString(params['bin']);\r\n }\r\n else if (typeof params['array'] != \"undefined\") {\r\n this.setByBooleanArray(params['array']);\r\n }\r\n }\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERBitString, KJUR.asn1.ASN1Object);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER OctetString
\r\n * @name KJUR.asn1.DEROctetString\r\n * @class class for ASN.1 DER OctetString\r\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\r\n * @extends KJUR.asn1.DERAbstractString\r\n * @description\r\n * This class provides ASN.1 OctetString simple type.
\r\n * Supported \"params\" attributes are:\r\n *
    \r\n *
  • str - to set a string as a value
  • \r\n *
  • hex - to set a hexadecimal string as a value
  • \r\n *
  • obj - to set a encapsulated ASN.1 value by JSON object\r\n * which is defined in {@link KJUR.asn1.ASN1Util.newObject}
  • \r\n *
\r\n * NOTE: A parameter 'obj' have been supported\r\n * for \"OCTET STRING, encapsulates\" structure.\r\n * since asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).\r\n * @see KJUR.asn1.DERAbstractString - superclass\r\n * @example\r\n * // default constructor\r\n * o = new KJUR.asn1.DEROctetString();\r\n * // initialize with string\r\n * o = new KJUR.asn1.DEROctetString({str: \"aaa\"});\r\n * // initialize with hexadecimal string\r\n * o = new KJUR.asn1.DEROctetString({hex: \"616161\"});\r\n * // initialize with ASN1Util.newObject argument\r\n * o = new KJUR.asn1.DEROctetString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}});\r\n * // above generates a ASN.1 data like this:\r\n * // OCTET STRING, encapsulates {\r\n * // SEQUENCE {\r\n * // INTEGER 3\r\n * // PrintableString 'aaa'\r\n * // }\r\n * // }\r\n */\r\nKJUR.asn1.DEROctetString = function (params) {\r\n if (params !== undefined && typeof params.obj !== \"undefined\") {\r\n var o = KJUR.asn1.ASN1Util.newObject(params.obj);\r\n params.hex = o.getEncodedHex();\r\n }\r\n KJUR.asn1.DEROctetString.superclass.constructor.call(this, params);\r\n this.hT = \"04\";\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DEROctetString, KJUR.asn1.DERAbstractString);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER Null\r\n * @name KJUR.asn1.DERNull\r\n * @class class for ASN.1 DER Null\r\n * @extends KJUR.asn1.ASN1Object\r\n * @description\r\n * @see KJUR.asn1.ASN1Object - superclass\r\n */\r\nKJUR.asn1.DERNull = function () {\r\n KJUR.asn1.DERNull.superclass.constructor.call(this);\r\n this.hT = \"05\";\r\n this.hTLV = \"0500\";\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERNull, KJUR.asn1.ASN1Object);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER ObjectIdentifier\r\n * @name KJUR.asn1.DERObjectIdentifier\r\n * @class class for ASN.1 DER ObjectIdentifier\r\n * @param {Array} params associative array of parameters (ex. {'oid': '2.5.4.5'})\r\n * @extends KJUR.asn1.ASN1Object\r\n * @description\r\n *
\r\n * As for argument 'params' for constructor, you can specify one of\r\n * following properties:\r\n *
    \r\n *
  • oid - specify initial ASN.1 value(V) by a oid string (ex. 2.5.4.13)
  • \r\n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \r\n *
\r\n * NOTE: 'params' can be omitted.\r\n */\r\nKJUR.asn1.DERObjectIdentifier = function (params) {\r\n var itox = function (i) {\r\n var h = i.toString(16);\r\n if (h.length == 1)\r\n h = '0' + h;\r\n return h;\r\n };\r\n var roidtox = function (roid) {\r\n var h = '';\r\n var bi = new BigInteger(roid, 10);\r\n var b = bi.toString(2);\r\n var padLen = 7 - b.length % 7;\r\n if (padLen == 7)\r\n padLen = 0;\r\n var bPad = '';\r\n for (var i = 0; i < padLen; i++)\r\n bPad += '0';\r\n b = bPad + b;\r\n for (var i = 0; i < b.length - 1; i += 7) {\r\n var b8 = b.substr(i, 7);\r\n if (i != b.length - 7)\r\n b8 = '1' + b8;\r\n h += itox(parseInt(b8, 2));\r\n }\r\n return h;\r\n };\r\n KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this);\r\n this.hT = \"06\";\r\n /**\r\n * set value by a hexadecimal string\r\n * @name setValueHex\r\n * @memberOf KJUR.asn1.DERObjectIdentifier#\r\n * @function\r\n * @param {String} newHexString hexadecimal value of OID bytes\r\n */\r\n this.setValueHex = function (newHexString) {\r\n this.hTLV = null;\r\n this.isModified = true;\r\n this.s = null;\r\n this.hV = newHexString;\r\n };\r\n /**\r\n * set value by a OID string
\r\n * @name setValueOidString\r\n * @memberOf KJUR.asn1.DERObjectIdentifier#\r\n * @function\r\n * @param {String} oidString OID string (ex. 2.5.4.13)\r\n * @example\r\n * o = new KJUR.asn1.DERObjectIdentifier();\r\n * o.setValueOidString(\"2.5.4.13\");\r\n */\r\n this.setValueOidString = function (oidString) {\r\n if (!oidString.match(/^[0-9.]+$/)) {\r\n throw \"malformed oid string: \" + oidString;\r\n }\r\n var h = '';\r\n var a = oidString.split('.');\r\n var i0 = parseInt(a[0]) * 40 + parseInt(a[1]);\r\n h += itox(i0);\r\n a.splice(0, 2);\r\n for (var i = 0; i < a.length; i++) {\r\n h += roidtox(a[i]);\r\n }\r\n this.hTLV = null;\r\n this.isModified = true;\r\n this.s = null;\r\n this.hV = h;\r\n };\r\n /**\r\n * set value by a OID name\r\n * @name setValueName\r\n * @memberOf KJUR.asn1.DERObjectIdentifier#\r\n * @function\r\n * @param {String} oidName OID name (ex. 'serverAuth')\r\n * @since 1.0.1\r\n * @description\r\n * OID name shall be defined in 'KJUR.asn1.x509.OID.name2oidList'.\r\n * Otherwise raise error.\r\n * @example\r\n * o = new KJUR.asn1.DERObjectIdentifier();\r\n * o.setValueName(\"serverAuth\");\r\n */\r\n this.setValueName = function (oidName) {\r\n var oid = KJUR.asn1.x509.OID.name2oid(oidName);\r\n if (oid !== '') {\r\n this.setValueOidString(oid);\r\n }\r\n else {\r\n throw \"DERObjectIdentifier oidName undefined: \" + oidName;\r\n }\r\n };\r\n this.getFreshValueHex = function () {\r\n return this.hV;\r\n };\r\n if (params !== undefined) {\r\n if (typeof params === \"string\") {\r\n if (params.match(/^[0-2].[0-9.]+$/)) {\r\n this.setValueOidString(params);\r\n }\r\n else {\r\n this.setValueName(params);\r\n }\r\n }\r\n else if (params.oid !== undefined) {\r\n this.setValueOidString(params.oid);\r\n }\r\n else if (params.hex !== undefined) {\r\n this.setValueHex(params.hex);\r\n }\r\n else if (params.name !== undefined) {\r\n this.setValueName(params.name);\r\n }\r\n }\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERObjectIdentifier, KJUR.asn1.ASN1Object);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER Enumerated\r\n * @name KJUR.asn1.DEREnumerated\r\n * @class class for ASN.1 DER Enumerated\r\n * @extends KJUR.asn1.ASN1Object\r\n * @description\r\n *
\r\n * As for argument 'params' for constructor, you can specify one of\r\n * following properties:\r\n *
    \r\n *
  • int - specify initial ASN.1 value(V) by integer value
  • \r\n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \r\n *
\r\n * NOTE: 'params' can be omitted.\r\n * @example\r\n * new KJUR.asn1.DEREnumerated(123);\r\n * new KJUR.asn1.DEREnumerated({int: 123});\r\n * new KJUR.asn1.DEREnumerated({hex: '1fad'});\r\n */\r\nKJUR.asn1.DEREnumerated = function (params) {\r\n KJUR.asn1.DEREnumerated.superclass.constructor.call(this);\r\n this.hT = \"0a\";\r\n /**\r\n * set value by Tom Wu's BigInteger object\r\n * @name setByBigInteger\r\n * @memberOf KJUR.asn1.DEREnumerated#\r\n * @function\r\n * @param {BigInteger} bigIntegerValue to set\r\n */\r\n this.setByBigInteger = function (bigIntegerValue) {\r\n this.hTLV = null;\r\n this.isModified = true;\r\n this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue);\r\n };\r\n /**\r\n * set value by integer value\r\n * @name setByInteger\r\n * @memberOf KJUR.asn1.DEREnumerated#\r\n * @function\r\n * @param {Integer} integer value to set\r\n */\r\n this.setByInteger = function (intValue) {\r\n var bi = new BigInteger(String(intValue), 10);\r\n this.setByBigInteger(bi);\r\n };\r\n /**\r\n * set value by integer value\r\n * @name setValueHex\r\n * @memberOf KJUR.asn1.DEREnumerated#\r\n * @function\r\n * @param {String} hexadecimal string of integer value\r\n * @description\r\n *
\r\n * NOTE: Value shall be represented by minimum octet length of\r\n * two's complement representation.\r\n */\r\n this.setValueHex = function (newHexString) {\r\n this.hV = newHexString;\r\n };\r\n this.getFreshValueHex = function () {\r\n return this.hV;\r\n };\r\n if (typeof params != \"undefined\") {\r\n if (typeof params['int'] != \"undefined\") {\r\n this.setByInteger(params['int']);\r\n }\r\n else if (typeof params == \"number\") {\r\n this.setByInteger(params);\r\n }\r\n else if (typeof params['hex'] != \"undefined\") {\r\n this.setValueHex(params['hex']);\r\n }\r\n }\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DEREnumerated, KJUR.asn1.ASN1Object);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER UTF8String\r\n * @name KJUR.asn1.DERUTF8String\r\n * @class class for ASN.1 DER UTF8String\r\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\r\n * @extends KJUR.asn1.DERAbstractString\r\n * @description\r\n * @see KJUR.asn1.DERAbstractString - superclass\r\n */\r\nKJUR.asn1.DERUTF8String = function (params) {\r\n KJUR.asn1.DERUTF8String.superclass.constructor.call(this, params);\r\n this.hT = \"0c\";\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERUTF8String, KJUR.asn1.DERAbstractString);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER NumericString\r\n * @name KJUR.asn1.DERNumericString\r\n * @class class for ASN.1 DER NumericString\r\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\r\n * @extends KJUR.asn1.DERAbstractString\r\n * @description\r\n * @see KJUR.asn1.DERAbstractString - superclass\r\n */\r\nKJUR.asn1.DERNumericString = function (params) {\r\n KJUR.asn1.DERNumericString.superclass.constructor.call(this, params);\r\n this.hT = \"12\";\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERNumericString, KJUR.asn1.DERAbstractString);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER PrintableString\r\n * @name KJUR.asn1.DERPrintableString\r\n * @class class for ASN.1 DER PrintableString\r\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\r\n * @extends KJUR.asn1.DERAbstractString\r\n * @description\r\n * @see KJUR.asn1.DERAbstractString - superclass\r\n */\r\nKJUR.asn1.DERPrintableString = function (params) {\r\n KJUR.asn1.DERPrintableString.superclass.constructor.call(this, params);\r\n this.hT = \"13\";\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERPrintableString, KJUR.asn1.DERAbstractString);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER TeletexString\r\n * @name KJUR.asn1.DERTeletexString\r\n * @class class for ASN.1 DER TeletexString\r\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\r\n * @extends KJUR.asn1.DERAbstractString\r\n * @description\r\n * @see KJUR.asn1.DERAbstractString - superclass\r\n */\r\nKJUR.asn1.DERTeletexString = function (params) {\r\n KJUR.asn1.DERTeletexString.superclass.constructor.call(this, params);\r\n this.hT = \"14\";\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERTeletexString, KJUR.asn1.DERAbstractString);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER IA5String\r\n * @name KJUR.asn1.DERIA5String\r\n * @class class for ASN.1 DER IA5String\r\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\r\n * @extends KJUR.asn1.DERAbstractString\r\n * @description\r\n * @see KJUR.asn1.DERAbstractString - superclass\r\n */\r\nKJUR.asn1.DERIA5String = function (params) {\r\n KJUR.asn1.DERIA5String.superclass.constructor.call(this, params);\r\n this.hT = \"16\";\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERIA5String, KJUR.asn1.DERAbstractString);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER UTCTime\r\n * @name KJUR.asn1.DERUTCTime\r\n * @class class for ASN.1 DER UTCTime\r\n * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'})\r\n * @extends KJUR.asn1.DERAbstractTime\r\n * @description\r\n *
\r\n * As for argument 'params' for constructor, you can specify one of\r\n * following properties:\r\n *
    \r\n *
  • str - specify initial ASN.1 value(V) by a string (ex.'130430235959Z')
  • \r\n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \r\n *
  • date - specify Date object.
  • \r\n *
\r\n * NOTE: 'params' can be omitted.\r\n *

EXAMPLES

\r\n * @example\r\n * d1 = new KJUR.asn1.DERUTCTime();\r\n * d1.setString('130430125959Z');\r\n *\r\n * d2 = new KJUR.asn1.DERUTCTime({'str': '130430125959Z'});\r\n * d3 = new KJUR.asn1.DERUTCTime({'date': new Date(Date.UTC(2015, 0, 31, 0, 0, 0, 0))});\r\n * d4 = new KJUR.asn1.DERUTCTime('130430125959Z');\r\n */\r\nKJUR.asn1.DERUTCTime = function (params) {\r\n KJUR.asn1.DERUTCTime.superclass.constructor.call(this, params);\r\n this.hT = \"17\";\r\n /**\r\n * set value by a Date object
\r\n * @name setByDate\r\n * @memberOf KJUR.asn1.DERUTCTime#\r\n * @function\r\n * @param {Date} dateObject Date object to set ASN.1 value(V)\r\n * @example\r\n * o = new KJUR.asn1.DERUTCTime();\r\n * o.setByDate(new Date(\"2016/12/31\"));\r\n */\r\n this.setByDate = function (dateObject) {\r\n this.hTLV = null;\r\n this.isModified = true;\r\n this.date = dateObject;\r\n this.s = this.formatDate(this.date, 'utc');\r\n this.hV = stohex(this.s);\r\n };\r\n this.getFreshValueHex = function () {\r\n if (typeof this.date == \"undefined\" && typeof this.s == \"undefined\") {\r\n this.date = new Date();\r\n this.s = this.formatDate(this.date, 'utc');\r\n this.hV = stohex(this.s);\r\n }\r\n return this.hV;\r\n };\r\n if (params !== undefined) {\r\n if (params.str !== undefined) {\r\n this.setString(params.str);\r\n }\r\n else if (typeof params == \"string\" && params.match(/^[0-9]{12}Z$/)) {\r\n this.setString(params);\r\n }\r\n else if (params.hex !== undefined) {\r\n this.setStringHex(params.hex);\r\n }\r\n else if (params.date !== undefined) {\r\n this.setByDate(params.date);\r\n }\r\n }\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERUTCTime, KJUR.asn1.DERAbstractTime);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER GeneralizedTime\r\n * @name KJUR.asn1.DERGeneralizedTime\r\n * @class class for ASN.1 DER GeneralizedTime\r\n * @param {Array} params associative array of parameters (ex. {'str': '20130430235959Z'})\r\n * @property {Boolean} withMillis flag to show milliseconds or not\r\n * @extends KJUR.asn1.DERAbstractTime\r\n * @description\r\n *
\r\n * As for argument 'params' for constructor, you can specify one of\r\n * following properties:\r\n *
    \r\n *
  • str - specify initial ASN.1 value(V) by a string (ex.'20130430235959Z')
  • \r\n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \r\n *
  • date - specify Date object.
  • \r\n *
  • millis - specify flag to show milliseconds (from 1.0.6)
  • \r\n *
\r\n * NOTE1: 'params' can be omitted.\r\n * NOTE2: 'withMillis' property is supported from asn1 1.0.6.\r\n */\r\nKJUR.asn1.DERGeneralizedTime = function (params) {\r\n KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this, params);\r\n this.hT = \"18\";\r\n this.withMillis = false;\r\n /**\r\n * set value by a Date object\r\n * @name setByDate\r\n * @memberOf KJUR.asn1.DERGeneralizedTime#\r\n * @function\r\n * @param {Date} dateObject Date object to set ASN.1 value(V)\r\n * @example\r\n * When you specify UTC time, use 'Date.UTC' method like this:
\r\n * o1 = new DERUTCTime();\r\n * o1.setByDate(date);\r\n *\r\n * date = new Date(Date.UTC(2015, 0, 31, 23, 59, 59, 0)); #2015JAN31 23:59:59\r\n */\r\n this.setByDate = function (dateObject) {\r\n this.hTLV = null;\r\n this.isModified = true;\r\n this.date = dateObject;\r\n this.s = this.formatDate(this.date, 'gen', this.withMillis);\r\n this.hV = stohex(this.s);\r\n };\r\n this.getFreshValueHex = function () {\r\n if (this.date === undefined && this.s === undefined) {\r\n this.date = new Date();\r\n this.s = this.formatDate(this.date, 'gen', this.withMillis);\r\n this.hV = stohex(this.s);\r\n }\r\n return this.hV;\r\n };\r\n if (params !== undefined) {\r\n if (params.str !== undefined) {\r\n this.setString(params.str);\r\n }\r\n else if (typeof params == \"string\" && params.match(/^[0-9]{14}Z$/)) {\r\n this.setString(params);\r\n }\r\n else if (params.hex !== undefined) {\r\n this.setStringHex(params.hex);\r\n }\r\n else if (params.date !== undefined) {\r\n this.setByDate(params.date);\r\n }\r\n if (params.millis === true) {\r\n this.withMillis = true;\r\n }\r\n }\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERGeneralizedTime, KJUR.asn1.DERAbstractTime);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER Sequence\r\n * @name KJUR.asn1.DERSequence\r\n * @class class for ASN.1 DER Sequence\r\n * @extends KJUR.asn1.DERAbstractStructured\r\n * @description\r\n *
\r\n * As for argument 'params' for constructor, you can specify one of\r\n * following properties:\r\n *
    \r\n *
  • array - specify array of ASN1Object to set elements of content
  • \r\n *
\r\n * NOTE: 'params' can be omitted.\r\n */\r\nKJUR.asn1.DERSequence = function (params) {\r\n KJUR.asn1.DERSequence.superclass.constructor.call(this, params);\r\n this.hT = \"30\";\r\n this.getFreshValueHex = function () {\r\n var h = '';\r\n for (var i = 0; i < this.asn1Array.length; i++) {\r\n var asn1Obj = this.asn1Array[i];\r\n h += asn1Obj.getEncodedHex();\r\n }\r\n this.hV = h;\r\n return this.hV;\r\n };\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERSequence, KJUR.asn1.DERAbstractStructured);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER Set\r\n * @name KJUR.asn1.DERSet\r\n * @class class for ASN.1 DER Set\r\n * @extends KJUR.asn1.DERAbstractStructured\r\n * @description\r\n *
\r\n * As for argument 'params' for constructor, you can specify one of\r\n * following properties:\r\n *
    \r\n *
  • array - specify array of ASN1Object to set elements of content
  • \r\n *
  • sortflag - flag for sort (default: true). ASN.1 BER is not sorted in 'SET OF'.
  • \r\n *
\r\n * NOTE1: 'params' can be omitted.
\r\n * NOTE2: sortflag is supported since 1.0.5.\r\n */\r\nKJUR.asn1.DERSet = function (params) {\r\n KJUR.asn1.DERSet.superclass.constructor.call(this, params);\r\n this.hT = \"31\";\r\n this.sortFlag = true; // item shall be sorted only in ASN.1 DER\r\n this.getFreshValueHex = function () {\r\n var a = new Array();\r\n for (var i = 0; i < this.asn1Array.length; i++) {\r\n var asn1Obj = this.asn1Array[i];\r\n a.push(asn1Obj.getEncodedHex());\r\n }\r\n if (this.sortFlag == true)\r\n a.sort();\r\n this.hV = a.join('');\r\n return this.hV;\r\n };\r\n if (typeof params != \"undefined\") {\r\n if (typeof params.sortflag != \"undefined\" &&\r\n params.sortflag == false)\r\n this.sortFlag = false;\r\n }\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERSet, KJUR.asn1.DERAbstractStructured);\r\n// ********************************************************************\r\n/**\r\n * class for ASN.1 DER TaggedObject\r\n * @name KJUR.asn1.DERTaggedObject\r\n * @class class for ASN.1 DER TaggedObject\r\n * @extends KJUR.asn1.ASN1Object\r\n * @description\r\n *
\r\n * Parameter 'tagNoNex' is ASN.1 tag(T) value for this object.\r\n * For example, if you find '[1]' tag in a ASN.1 dump,\r\n * 'tagNoHex' will be 'a1'.\r\n *
\r\n * As for optional argument 'params' for constructor, you can specify *ANY* of\r\n * following properties:\r\n *
    \r\n *
  • explicit - specify true if this is explicit tag otherwise false\r\n * (default is 'true').
  • \r\n *
  • tag - specify tag (default is 'a0' which means [0])
  • \r\n *
  • obj - specify ASN1Object which is tagged
  • \r\n *
\r\n * @example\r\n * d1 = new KJUR.asn1.DERUTF8String({'str':'a'});\r\n * d2 = new KJUR.asn1.DERTaggedObject({'obj': d1});\r\n * hex = d2.getEncodedHex();\r\n */\r\nKJUR.asn1.DERTaggedObject = function (params) {\r\n KJUR.asn1.DERTaggedObject.superclass.constructor.call(this);\r\n this.hT = \"a0\";\r\n this.hV = '';\r\n this.isExplicit = true;\r\n this.asn1Object = null;\r\n /**\r\n * set value by an ASN1Object\r\n * @name setString\r\n * @memberOf KJUR.asn1.DERTaggedObject#\r\n * @function\r\n * @param {Boolean} isExplicitFlag flag for explicit/implicit tag\r\n * @param {Integer} tagNoHex hexadecimal string of ASN.1 tag\r\n * @param {ASN1Object} asn1Object ASN.1 to encapsulate\r\n */\r\n this.setASN1Object = function (isExplicitFlag, tagNoHex, asn1Object) {\r\n this.hT = tagNoHex;\r\n this.isExplicit = isExplicitFlag;\r\n this.asn1Object = asn1Object;\r\n if (this.isExplicit) {\r\n this.hV = this.asn1Object.getEncodedHex();\r\n this.hTLV = null;\r\n this.isModified = true;\r\n }\r\n else {\r\n this.hV = null;\r\n this.hTLV = asn1Object.getEncodedHex();\r\n this.hTLV = this.hTLV.replace(/^../, tagNoHex);\r\n this.isModified = false;\r\n }\r\n };\r\n this.getFreshValueHex = function () {\r\n return this.hV;\r\n };\r\n if (typeof params != \"undefined\") {\r\n if (typeof params['tag'] != \"undefined\") {\r\n this.hT = params['tag'];\r\n }\r\n if (typeof params['explicit'] != \"undefined\") {\r\n this.isExplicit = params['explicit'];\r\n }\r\n if (typeof params['obj'] != \"undefined\") {\r\n this.asn1Object = params['obj'];\r\n this.setASN1Object(this.isExplicit, this.hT, this.asn1Object);\r\n }\r\n }\r\n};\r\nYAHOO.lang.extend(KJUR.asn1.DERTaggedObject, KJUR.asn1.ASN1Object);\r\n","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nimport { hex2b64 } from \"./lib/jsbn/base64\";\r\nimport { Hex } from \"./lib/asn1js/hex\";\r\nimport { Base64 } from \"./lib/asn1js/base64\";\r\nimport { ASN1 } from \"./lib/asn1js/asn1\";\r\nimport { RSAKey } from \"./lib/jsbn/rsa\";\r\nimport { parseBigInt } from \"./lib/jsbn/jsbn\";\r\nimport { KJUR } from \"./lib/jsrsasign/asn1-1.0\";\r\n/**\r\n * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object.\r\n * This object is just a decorator for parsing the key parameter\r\n * @param {string|Object} key - The key in string format, or an object containing\r\n * the parameters needed to build a RSAKey object.\r\n * @constructor\r\n */\r\nvar JSEncryptRSAKey = /** @class */ (function (_super) {\r\n __extends(JSEncryptRSAKey, _super);\r\n function JSEncryptRSAKey(key) {\r\n var _this = _super.call(this) || this;\r\n // Call the super constructor.\r\n // RSAKey.call(this);\r\n // If a key key was provided.\r\n if (key) {\r\n // If this is a string...\r\n if (typeof key === \"string\") {\r\n _this.parseKey(key);\r\n }\r\n else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) ||\r\n JSEncryptRSAKey.hasPublicKeyProperty(key)) {\r\n // Set the values for the key.\r\n _this.parsePropertiesFrom(key);\r\n }\r\n }\r\n return _this;\r\n }\r\n /**\r\n * Method to parse a pem encoded string containing both a public or private key.\r\n * The method will translate the pem encoded string in a der encoded string and\r\n * will parse private key and public key parameters. This method accepts public key\r\n * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).\r\n *\r\n * @todo Check how many rsa formats use the same format of pkcs #1.\r\n *\r\n * The format is defined as:\r\n * PublicKeyInfo ::= SEQUENCE {\r\n * algorithm AlgorithmIdentifier,\r\n * PublicKey BIT STRING\r\n * }\r\n * Where AlgorithmIdentifier is:\r\n * AlgorithmIdentifier ::= SEQUENCE {\r\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\r\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\r\n * }\r\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\r\n * RSAPublicKey ::= SEQUENCE {\r\n * modulus INTEGER, -- n\r\n * publicExponent INTEGER -- e\r\n * }\r\n * it's possible to examine the structure of the keys obtained from openssl using\r\n * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/\r\n * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer\r\n * @private\r\n */\r\n JSEncryptRSAKey.prototype.parseKey = function (pem) {\r\n try {\r\n var modulus = 0;\r\n var public_exponent = 0;\r\n var reHex = /^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/;\r\n var der = reHex.test(pem) ? Hex.decode(pem) : Base64.unarmor(pem);\r\n var asn1 = ASN1.decode(der);\r\n // Fixes a bug with OpenSSL 1.0+ private keys\r\n if (asn1.sub.length === 3) {\r\n asn1 = asn1.sub[2].sub[0];\r\n }\r\n if (asn1.sub.length === 9) {\r\n // Parse the private key.\r\n modulus = asn1.sub[1].getHexStringValue(); // bigint\r\n this.n = parseBigInt(modulus, 16);\r\n public_exponent = asn1.sub[2].getHexStringValue(); // int\r\n this.e = parseInt(public_exponent, 16);\r\n var private_exponent = asn1.sub[3].getHexStringValue(); // bigint\r\n this.d = parseBigInt(private_exponent, 16);\r\n var prime1 = asn1.sub[4].getHexStringValue(); // bigint\r\n this.p = parseBigInt(prime1, 16);\r\n var prime2 = asn1.sub[5].getHexStringValue(); // bigint\r\n this.q = parseBigInt(prime2, 16);\r\n var exponent1 = asn1.sub[6].getHexStringValue(); // bigint\r\n this.dmp1 = parseBigInt(exponent1, 16);\r\n var exponent2 = asn1.sub[7].getHexStringValue(); // bigint\r\n this.dmq1 = parseBigInt(exponent2, 16);\r\n var coefficient = asn1.sub[8].getHexStringValue(); // bigint\r\n this.coeff = parseBigInt(coefficient, 16);\r\n }\r\n else if (asn1.sub.length === 2) {\r\n // Parse the public key.\r\n var bit_string = asn1.sub[1];\r\n var sequence = bit_string.sub[0];\r\n modulus = sequence.sub[0].getHexStringValue();\r\n this.n = parseBigInt(modulus, 16);\r\n public_exponent = sequence.sub[1].getHexStringValue();\r\n this.e = parseInt(public_exponent, 16);\r\n }\r\n else {\r\n return false;\r\n }\r\n return true;\r\n }\r\n catch (ex) {\r\n return false;\r\n }\r\n };\r\n /**\r\n * Translate rsa parameters in a hex encoded string representing the rsa key.\r\n *\r\n * The translation follow the ASN.1 notation :\r\n * RSAPrivateKey ::= SEQUENCE {\r\n * version Version,\r\n * modulus INTEGER, -- n\r\n * publicExponent INTEGER, -- e\r\n * privateExponent INTEGER, -- d\r\n * prime1 INTEGER, -- p\r\n * prime2 INTEGER, -- q\r\n * exponent1 INTEGER, -- d mod (p1)\r\n * exponent2 INTEGER, -- d mod (q-1)\r\n * coefficient INTEGER, -- (inverse of q) mod p\r\n * }\r\n * @returns {string} DER Encoded String representing the rsa private key\r\n * @private\r\n */\r\n JSEncryptRSAKey.prototype.getPrivateBaseKey = function () {\r\n var options = {\r\n array: [\r\n new KJUR.asn1.DERInteger({ int: 0 }),\r\n new KJUR.asn1.DERInteger({ bigint: this.n }),\r\n new KJUR.asn1.DERInteger({ int: this.e }),\r\n new KJUR.asn1.DERInteger({ bigint: this.d }),\r\n new KJUR.asn1.DERInteger({ bigint: this.p }),\r\n new KJUR.asn1.DERInteger({ bigint: this.q }),\r\n new KJUR.asn1.DERInteger({ bigint: this.dmp1 }),\r\n new KJUR.asn1.DERInteger({ bigint: this.dmq1 }),\r\n new KJUR.asn1.DERInteger({ bigint: this.coeff })\r\n ]\r\n };\r\n var seq = new KJUR.asn1.DERSequence(options);\r\n return seq.getEncodedHex();\r\n };\r\n /**\r\n * base64 (pem) encoded version of the DER encoded representation\r\n * @returns {string} pem encoded representation without header and footer\r\n * @public\r\n */\r\n JSEncryptRSAKey.prototype.getPrivateBaseKeyB64 = function () {\r\n return hex2b64(this.getPrivateBaseKey());\r\n };\r\n /**\r\n * Translate rsa parameters in a hex encoded string representing the rsa public key.\r\n * The representation follow the ASN.1 notation :\r\n * PublicKeyInfo ::= SEQUENCE {\r\n * algorithm AlgorithmIdentifier,\r\n * PublicKey BIT STRING\r\n * }\r\n * Where AlgorithmIdentifier is:\r\n * AlgorithmIdentifier ::= SEQUENCE {\r\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\r\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\r\n * }\r\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\r\n * RSAPublicKey ::= SEQUENCE {\r\n * modulus INTEGER, -- n\r\n * publicExponent INTEGER -- e\r\n * }\r\n * @returns {string} DER Encoded String representing the rsa public key\r\n * @private\r\n */\r\n JSEncryptRSAKey.prototype.getPublicBaseKey = function () {\r\n var first_sequence = new KJUR.asn1.DERSequence({\r\n array: [\r\n new KJUR.asn1.DERObjectIdentifier({ oid: \"1.2.840.113549.1.1.1\" }),\r\n new KJUR.asn1.DERNull()\r\n ]\r\n });\r\n var second_sequence = new KJUR.asn1.DERSequence({\r\n array: [\r\n new KJUR.asn1.DERInteger({ bigint: this.n }),\r\n new KJUR.asn1.DERInteger({ int: this.e })\r\n ]\r\n });\r\n var bit_string = new KJUR.asn1.DERBitString({\r\n hex: \"00\" + second_sequence.getEncodedHex()\r\n });\r\n var seq = new KJUR.asn1.DERSequence({\r\n array: [\r\n first_sequence,\r\n bit_string\r\n ]\r\n });\r\n return seq.getEncodedHex();\r\n };\r\n /**\r\n * base64 (pem) encoded version of the DER encoded representation\r\n * @returns {string} pem encoded representation without header and footer\r\n * @public\r\n */\r\n JSEncryptRSAKey.prototype.getPublicBaseKeyB64 = function () {\r\n return hex2b64(this.getPublicBaseKey());\r\n };\r\n /**\r\n * wrap the string in block of width chars. The default value for rsa keys is 64\r\n * characters.\r\n * @param {string} str the pem encoded string without header and footer\r\n * @param {Number} [width=64] - the length the string has to be wrapped at\r\n * @returns {string}\r\n * @private\r\n */\r\n JSEncryptRSAKey.wordwrap = function (str, width) {\r\n width = width || 64;\r\n if (!str) {\r\n return str;\r\n }\r\n var regex = \"(.{1,\" + width + \"})( +|$\\n?)|(.{1,\" + width + \"})\";\r\n return str.match(RegExp(regex, \"g\")).join(\"\\n\");\r\n };\r\n /**\r\n * Retrieve the pem encoded private key\r\n * @returns {string} the pem encoded private key with header/footer\r\n * @public\r\n */\r\n JSEncryptRSAKey.prototype.getPrivateKey = function () {\r\n var key = \"-----BEGIN RSA PRIVATE KEY-----\\n\";\r\n key += JSEncryptRSAKey.wordwrap(this.getPrivateBaseKeyB64()) + \"\\n\";\r\n key += \"-----END RSA PRIVATE KEY-----\";\r\n return key;\r\n };\r\n /**\r\n * Retrieve the pem encoded public key\r\n * @returns {string} the pem encoded public key with header/footer\r\n * @public\r\n */\r\n JSEncryptRSAKey.prototype.getPublicKey = function () {\r\n var key = \"-----BEGIN PUBLIC KEY-----\\n\";\r\n key += JSEncryptRSAKey.wordwrap(this.getPublicBaseKeyB64()) + \"\\n\";\r\n key += \"-----END PUBLIC KEY-----\";\r\n return key;\r\n };\r\n /**\r\n * Check if the object contains the necessary parameters to populate the rsa modulus\r\n * and public exponent parameters.\r\n * @param {Object} [obj={}] - An object that may contain the two public key\r\n * parameters\r\n * @returns {boolean} true if the object contains both the modulus and the public exponent\r\n * properties (n and e)\r\n * @todo check for types of n and e. N should be a parseable bigInt object, E should\r\n * be a parseable integer number\r\n * @private\r\n */\r\n JSEncryptRSAKey.hasPublicKeyProperty = function (obj) {\r\n obj = obj || {};\r\n return (obj.hasOwnProperty(\"n\") &&\r\n obj.hasOwnProperty(\"e\"));\r\n };\r\n /**\r\n * Check if the object contains ALL the parameters of an RSA key.\r\n * @param {Object} [obj={}] - An object that may contain nine rsa key\r\n * parameters\r\n * @returns {boolean} true if the object contains all the parameters needed\r\n * @todo check for types of the parameters all the parameters but the public exponent\r\n * should be parseable bigint objects, the public exponent should be a parseable integer number\r\n * @private\r\n */\r\n JSEncryptRSAKey.hasPrivateKeyProperty = function (obj) {\r\n obj = obj || {};\r\n return (obj.hasOwnProperty(\"n\") &&\r\n obj.hasOwnProperty(\"e\") &&\r\n obj.hasOwnProperty(\"d\") &&\r\n obj.hasOwnProperty(\"p\") &&\r\n obj.hasOwnProperty(\"q\") &&\r\n obj.hasOwnProperty(\"dmp1\") &&\r\n obj.hasOwnProperty(\"dmq1\") &&\r\n obj.hasOwnProperty(\"coeff\"));\r\n };\r\n /**\r\n * Parse the properties of obj in the current rsa object. Obj should AT LEAST\r\n * include the modulus and public exponent (n, e) parameters.\r\n * @param {Object} obj - the object containing rsa parameters\r\n * @private\r\n */\r\n JSEncryptRSAKey.prototype.parsePropertiesFrom = function (obj) {\r\n this.n = obj.n;\r\n this.e = obj.e;\r\n if (obj.hasOwnProperty(\"d\")) {\r\n this.d = obj.d;\r\n this.p = obj.p;\r\n this.q = obj.q;\r\n this.dmp1 = obj.dmp1;\r\n this.dmq1 = obj.dmq1;\r\n this.coeff = obj.coeff;\r\n }\r\n };\r\n return JSEncryptRSAKey;\r\n}(RSAKey));\r\nexport { JSEncryptRSAKey };\r\n","import { b64tohex, hex2b64 } from \"./lib/jsbn/base64\";\r\nimport { JSEncryptRSAKey } from \"./JSEncryptRSAKey\";\r\nimport version from './version.json';\r\n/**\r\n *\r\n * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour\r\n * possible parameters are:\r\n * - default_key_size {number} default: 1024 the key size in bit\r\n * - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent\r\n * - log {boolean} default: false whether log warn/error or not\r\n * @constructor\r\n */\r\nvar JSEncrypt = /** @class */ (function () {\r\n function JSEncrypt(options) {\r\n if (options === void 0) { options = {}; }\r\n options = options || {};\r\n this.default_key_size = options.default_key_size ? parseInt(options.default_key_size, 10) : 1024;\r\n this.default_public_exponent = options.default_public_exponent || \"010001\"; // 65537 default openssl public exponent for rsa key type\r\n this.log = options.log || false;\r\n // The private and public key.\r\n this.key = null;\r\n }\r\n /**\r\n * Method to set the rsa key parameter (one method is enough to set both the public\r\n * and the private key, since the private key contains the public key paramenters)\r\n * Log a warning if logs are enabled\r\n * @param {Object|string} key the pem encoded string or an object (with or without header/footer)\r\n * @public\r\n */\r\n JSEncrypt.prototype.setKey = function (key) {\r\n if (this.log && this.key) {\r\n console.warn(\"A key was already set, overriding existing.\");\r\n }\r\n this.key = new JSEncryptRSAKey(key);\r\n };\r\n /**\r\n * Proxy method for setKey, for api compatibility\r\n * @see setKey\r\n * @public\r\n */\r\n JSEncrypt.prototype.setPrivateKey = function (privkey) {\r\n // Create the key.\r\n this.setKey(privkey);\r\n };\r\n /**\r\n * Proxy method for setKey, for api compatibility\r\n * @see setKey\r\n * @public\r\n */\r\n JSEncrypt.prototype.setPublicKey = function (pubkey) {\r\n // Sets the public key.\r\n this.setKey(pubkey);\r\n };\r\n /**\r\n * Proxy method for RSAKey object's decrypt, decrypt the string using the private\r\n * components of the rsa key object. Note that if the object was not set will be created\r\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\r\n * @param {string} str base64 encoded crypted string to decrypt\r\n * @return {string} the decrypted string\r\n * @public\r\n */\r\n JSEncrypt.prototype.decrypt = function (str) {\r\n // Return the decrypted string.\r\n try {\r\n return this.getKey().decrypt(b64tohex(str));\r\n }\r\n catch (ex) {\r\n return false;\r\n }\r\n };\r\n /**\r\n * Proxy method for RSAKey object's encrypt, encrypt the string using the public\r\n * components of the rsa key object. Note that if the object was not set will be created\r\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\r\n * @param {string} str the string to encrypt\r\n * @return {string} the encrypted string encoded in base64\r\n * @public\r\n */\r\n JSEncrypt.prototype.encrypt = function (str) {\r\n // Return the encrypted string.\r\n try {\r\n return this.getKey().encrypt(str);\r\n }\r\n catch (ex) {\r\n return false;\r\n }\r\n };\r\n // 超长文本加密\r\n JSEncrypt.prototype.encryptLong = function (str) {\r\n try {\r\n return hex2b64(this.getKey().encryptLong(str));\r\n }\r\n catch (ex) {\r\n return false;\r\n }\r\n };\r\n // 超长文本解密\r\n JSEncrypt.prototype.decryptLong = function (str) {\r\n try {\r\n return this.getKey().decryptLong(str);\r\n }\r\n catch (ex) {\r\n return false;\r\n }\r\n };\r\n /**\r\n * Proxy method for RSAKey object's sign.\r\n * @param {string} str the string to sign\r\n * @param {function} digestMethod hash method\r\n * @param {string} digestName the name of the hash algorithm\r\n * @return {string} the signature encoded in base64\r\n * @public\r\n */\r\n JSEncrypt.prototype.sign = function (str, digestMethod, digestName) {\r\n // return the RSA signature of 'str' in 'hex' format.\r\n try {\r\n return hex2b64(this.getKey().sign(str, digestMethod, digestName));\r\n }\r\n catch (ex) {\r\n return false;\r\n }\r\n };\r\n /**\r\n * Proxy method for RSAKey object's verify.\r\n * @param {string} str the string to verify\r\n * @param {string} signature the signature encoded in base64 to compare the string to\r\n * @param {function} digestMethod hash method\r\n * @return {boolean} whether the data and signature match\r\n * @public\r\n */\r\n JSEncrypt.prototype.verify = function (str, signature, digestMethod) {\r\n // Return the decrypted 'digest' of the signature.\r\n try {\r\n return this.getKey().verify(str, b64tohex(signature), digestMethod);\r\n }\r\n catch (ex) {\r\n return false;\r\n }\r\n };\r\n /**\r\n * Getter for the current JSEncryptRSAKey object. If it doesn't exists a new object\r\n * will be created and returned\r\n * @param {callback} [cb] the callback to be called if we want the key to be generated\r\n * in an async fashion\r\n * @returns {JSEncryptRSAKey} the JSEncryptRSAKey object\r\n * @public\r\n */\r\n JSEncrypt.prototype.getKey = function (cb) {\r\n // Only create new if it does not exist.\r\n if (!this.key) {\r\n // Get a new private key.\r\n this.key = new JSEncryptRSAKey();\r\n if (cb && {}.toString.call(cb) === \"[object Function]\") {\r\n this.key.generateAsync(this.default_key_size, this.default_public_exponent, cb);\r\n return;\r\n }\r\n // Generate the key.\r\n this.key.generate(this.default_key_size, this.default_public_exponent);\r\n }\r\n return this.key;\r\n };\r\n /**\r\n * Returns the pem encoded representation of the private key\r\n * If the key doesn't exists a new key will be created\r\n * @returns {string} pem encoded representation of the private key WITH header and footer\r\n * @public\r\n */\r\n JSEncrypt.prototype.getPrivateKey = function () {\r\n // Return the private representation of this key.\r\n return this.getKey().getPrivateKey();\r\n };\r\n /**\r\n * Returns the pem encoded representation of the private key\r\n * If the key doesn't exists a new key will be created\r\n * @returns {string} pem encoded representation of the private key WITHOUT header and footer\r\n * @public\r\n */\r\n JSEncrypt.prototype.getPrivateKeyB64 = function () {\r\n // Return the private representation of this key.\r\n return this.getKey().getPrivateBaseKeyB64();\r\n };\r\n /**\r\n * Returns the pem encoded representation of the public key\r\n * If the key doesn't exists a new key will be created\r\n * @returns {string} pem encoded representation of the public key WITH header and footer\r\n * @public\r\n */\r\n JSEncrypt.prototype.getPublicKey = function () {\r\n // Return the private representation of this key.\r\n return this.getKey().getPublicKey();\r\n };\r\n /**\r\n * Returns the pem encoded representation of the public key\r\n * If the key doesn't exists a new key will be created\r\n * @returns {string} pem encoded representation of the public key WITHOUT header and footer\r\n * @public\r\n */\r\n JSEncrypt.prototype.getPublicKeyB64 = function () {\r\n // Return the private representation of this key.\r\n return this.getKey().getPublicBaseKeyB64();\r\n };\r\n JSEncrypt.version = version.version;\r\n return JSEncrypt;\r\n}());\r\nexport { JSEncrypt };\r\n","import { JSEncrypt } from './JSEncrypt';\r\nexport { JSEncrypt };\r\nexport default JSEncrypt;\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(5987);\n"],"names":["webpackUniversalModuleDefinition","root","factory","exports","module","define","amd","self","undef","this","CryptoJS","C","C_lib","lib","BlockCipher","C_algo","algo","SBOX","INV_SBOX","SUB_MIX_0","SUB_MIX_1","SUB_MIX_2","SUB_MIX_3","INV_SUB_MIX_0","INV_SUB_MIX_1","INV_SUB_MIX_2","INV_SUB_MIX_3","d","i","x","xi","sx","x2","x4","x8","t","RCON","AES","extend","_doReset","_nRounds","_keyPriorReset","_key","key","keyWords","words","keySize","sigBytes","nRounds","ksRows","keySchedule","_keySchedule","ksRow","invKeySchedule","_invKeySchedule","invKsRow","encryptBlock","M","offset","_doCryptBlock","decryptBlock","s0","s1","s2","s3","round","t0","t1","t2","t3","_createHelper","Cipher","undefined","Base","WordArray","BufferedBlockAlgorithm","C_enc","enc","Utf8","Base64","EvpKDF","cfg","createEncryptor","create","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","init","xformMode","_xformMode","reset","call","process","dataUpdate","_append","_process","finalize","finalProcessedData","_doFinalize","ivSize","selectCipherStrategy","PasswordBasedCipher","SerializableCipher","cipher","encrypt","message","decrypt","ciphertext","StreamCipher","finalProcessedBlocks","blockSize","C_mode","mode","BlockCipherMode","iv","Encryptor","Decryptor","_cipher","_iv","CBC","processBlock","xorBlock","_prevBlock","slice","thisBlock","block","C_pad","pad","Pkcs7","data","blockSizeBytes","nPaddingBytes","paddingWord","paddingWords","push","padding","concat","unpad","modeCreator","_minBufferSize","_mode","__creator","_doProcessBlock","_data","CipherParams","cipherParams","mixIn","toString","formatter","stringify","C_format","format","OpenSSLFormatter","OpenSSL","wordArray","salt","parse","openSSLStr","ciphertextWords","splice","encryptor","cipherCfg","algorithm","_parse","plaintext","C_kdf","kdf","OpenSSLKdf","execute","password","random","compute","derivedParams","Math","crypto","window","globalThis","msCrypto","g","err","cryptoSecureRandomInt","getRandomValues","Uint32Array","randomBytes","readInt32LE","Error","Object","F","obj","subtype","prototype","overrides","hasOwnProperty","$super","apply","arguments","instance","properties","propertyName","clone","length","encoder","Hex","thisWords","thatWords","thisSigBytes","thatSigBytes","clamp","thatByte","j","ceil","nBytes","hexChars","bite","join","hexStr","hexStrLength","parseInt","substr","Latin1","latin1Chars","String","fromCharCode","latin1Str","latin1StrLength","charCodeAt","decodeURIComponent","escape","e","utf8Str","unescape","encodeURIComponent","_nDataBytes","doFlush","processedWords","dataWords","dataSigBytes","nBlocksReady","max","nWordsReady","nBytesReady","min","Hasher","update","messageUpdate","hash","hasher","_createHmacHelper","HMAC","map","_map","base64Chars","byte1","byte2","byte3","triplet","charAt","paddingChar","base64Str","base64StrLength","reverseMap","_reverseMap","paddingIndex","indexOf","parseLoop","bits1","bits2","bitsCombined","Base64url","urlSafe","_safe_map","Utf16BE","Utf16","utf16Chars","codePoint","utf16Str","utf16StrLength","Utf16LE","swapEndian","word","MD5","iterations","derivedKey","derivedKeyWords","HexFormatter","input","_hasher","hasherBlockSize","hasherBlockSizeBytes","oKey","_oKey","iKey","_iKey","oKeyWords","iKeyWords","innerHash","hmac","ArrayBuffer","superInit","subInit","typedArray","Uint8Array","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","buffer","byteOffset","byteLength","typedArrayByteLength","T","abs","sin","_hash","offset_i","M_offset_i","H","M_offset_0","M_offset_1","M_offset_2","M_offset_3","M_offset_4","M_offset_5","M_offset_6","M_offset_7","M_offset_8","M_offset_9","M_offset_10","M_offset_11","M_offset_12","M_offset_13","M_offset_14","M_offset_15","a","b","c","FF","GG","HH","II","nBitsTotal","nBitsLeft","nBitsTotalH","floor","nBitsTotalL","H_i","s","n","HmacMD5","CFB","generateKeystreamAndEncrypt","keystream","CTRGladman","incWord","b1","b2","b3","incCounter","counter","_counter","CTR","ECB","OFB","_keystream","AnsiX923","lastBytePos","Ansix923","Iso10126","Iso97971","ZeroPadding","NoPadding","SHA1","PBKDF2","blockIndex","blockIndexWords","blockWords","blockWordsLength","intermediate","intermediateWords","S","C_","G","RabbitLegacy","K","X","_X","_C","_b","nextState","IV","IV_0","IV_1","i0","i2","i1","i3","gx","ga","gb","gh","gl","Rabbit","RC4","keySigBytes","_S","keyByteIndex","keyByte","_i","_j","generateKeystreamWord","keystreamWord","RC4Drop","drop","_zl","_zr","_sl","_sr","_hl","_hr","RIPEMD160","hl","hr","zl","zr","sl","sr","al","bl","cl","dl","el","ar","br","cr","dr","er","f1","f2","f3","f4","f5","rotl","y","z","HmacRIPEMD160","W","HmacSHA1","SHA256","SHA224","HmacSHA224","isPrime","sqrtN","sqrt","factor","getFractionalBits","nPrime","pow","f","h","gamma0x","gamma0","gamma1x","gamma1","ch","maj","sigma0","sigma1","HmacSHA256","C_x64","x64","X64Word","Word","RHO_OFFSETS","PI_INDEXES","ROUND_CONSTANTS","newX","newY","LFSR","roundConstantMsw","roundConstantLsw","bitPosition","SHA3","outputLength","state","_state","nBlockSizeLanes","M2i","M2i1","lane","high","low","tMsw","tLsw","Tx","Tx4","Tx1","Tx1Msw","Tx1Lsw","laneIndex","laneMsw","laneLsw","rhoOffset","TPiLane","T0","state0","TLane","Tx1Lane","Tx2Lane","roundConstant","blockSizeBits","outputLengthBytes","outputLengthLanes","hashWords","HmacSHA3","X64WordArray","SHA512","SHA384","HmacSHA384","X64Word_create","H0","H1","H2","H3","H4","H5","H6","H7","H0h","H0l","H1h","H1l","H2h","H2l","H3h","H3l","H4h","H4l","H5h","H5l","H6h","H6l","H7h","H7l","ah","bh","dh","eh","fh","fl","hh","Wil","Wih","Wi","gamma0xh","gamma0xl","gamma0h","gamma0l","gamma1xh","gamma1xl","gamma1h","gamma1l","Wi7","Wi7h","Wi7l","Wi16","Wi16h","Wi16l","chh","chl","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Ki","Kih","Kil","t1l","t1h","t2l","t2h","toX32","HmacSHA512","PC1","PC2","BIT_SHIFTS","SBOX_P","SBOX_MASK","DES","keyBits","keyBitPos","subKeys","_subKeys","nSubKey","subKey","bitShift","invSubKeys","_invSubKeys","_lBlock","_rBlock","exchangeLR","exchangeRL","lBlock","rBlock","mask","TripleDES","key1","key2","key3","_des1","_des2","_des3","X32WordArray","x64Words","x64WordsLength","x32Words","x64Word","wordsLength","defineProperty","value","ErrorCode","__importDefault","mod","__esModule","GtLogic_1","GtRuntime_1","Log_1","GtPush","setDebugMode","debugMode","default","info","checkAppid","appid","error","setTag","bindAlias","unbindAlias","setSocketServer","url","keyId","socketUrl","publicKeyId","publicKey","enableSocket","enable","trim","Constant","SDK_VERSION","DEFAULT_SOCKET_URL","SOCKET_PROTOCOL_VERSION","SERVER_PUBLIC_KEY","SERVER_PUBLIC_KEY_ID","SocketManager_1","ErrorCode_1","BindAlias_1","SetTag_1","UnbindAlias_1","GtLogic","static","inited","connect","checkInit","allowReconnect","reconnect","close","_a","cid","setTagResult","resultCode","CLIENT_ID_NOT_FOUND","tags","send","bindAliasResult","time","Date","getTime","lastAliasTime","OPERATION_TOO_OFTEN","alias","unbindAliasResult","onlySelf","CryptManager_1","Storage_1","Constant_1","Device_1","GtRuntime","onClientId","onlineState","onPushMsg","getSync","KEY_APPID","setSync","KEY_CID","KEY_SESSION","session","deviceId","KEY_DEVICE_ID","regId","KEY_REGID","createRegId","set","KEY_SOCKET_URL","_this","getNetworkType","success","networkType","networkConnected","onNetworkStatusChange","result","isConnected","md5Hex","getUuid","replace","r","v","packetId","online","Message_1","ActionMsg","constructor","super","actionMsgData","ActionMsgData","args","initMsg","command","Command","CLIENT_MSG","parseMsg","timer","setTimeout","waitingLoginMsgMap","has","msgId","waitingResponseMsgMap","delete","callback","TIME_OUT","msgAction","ClientAction","RECEIVED","receive","iterator","keys","next","done","get","actionMsg","ServerAction","PUSH_MESSAGE","REDIRECT_SERVER","ADD_PHONE_INFO_RESULT","SET_MODE_RESULT","SET_TAG_RESULT","BIND_ALIAS_RESULT","UNBIND_ALIAS_RESULT","FEED_BACK_RESULT","ADD_PHONE_INFO","SET_MODE","FEED_BACK","SET_TAGS","BIND_ALIAS","UNBIND_ALIAS","Map","appId","msgData","msgExtraData","JSON","ActionMsg_1","AddPhoneInfo","addPhoneInfoData","AddPhoneInfoData","initActionMsg","res","SUCCESS","REPEAT_MESSAGE","KEY_ADD_PHONE_INFO_TIME","lasTime","model","brand","system_version","version","device_token","imei","oaid","mac","idfa","deviceid","type","extra","os","platform","platformVersion","platformId","appVersion","language","osVersion","BindAlias","bindAliasTagData","BindAliasData","sn","is_self","Feedback","feedbackData","FeedbackData","pushMessage","actionId","ActionId","RECEIVE","MP_RECEIVE","WEB_RECEIVE","BEGIN","RESULT","OK","messageid","appkey","taskid","actionid","timestamp","pushMessageData","appKey","taskId","SetTag","setTagData","SetTagData","urlencode","str","UnbindAlias","unbindAliasData","UnbindAliasData","HeartBeat","HEART_BEAT","KeyNegotiate","keyNegotiateData","KeyNegotiateData","KEY_NEGOTIATE","resetKey","rsaPublicKeyId","secretKey","getEncryptedSecretKey","getEncryptedIV","Login_1","KeyNegotiateResult","keyNegotiateResultData","KeyNegotiateResultData","errorCode","console","encryptMode","encryptType","split","algorithmMap","toLowerCase","modeMap","paddingMap","setEncryptParams","errorMsg","Register_1","Login","loginData","LoginData","LOGIN","AddPhoneInfo_1","LoginResult","loginResultData","LoginResultData","sendWaitingMessages","MessageCoder_1","Message","timeStamp","signature","json","isAvailable","sign","KEY_NEGOTIATE_RESULT","REGISTER","REGISTER_RESULT","LOGIN_RESULT","LOGOUT","LOGOUT_RESULT","SERVER_MSG","SERVER_CLOSE","MessageCoder","msg","sha256","verify","KeyNegotiateResult_1","LoginResult_1","RegisterResult_1","AddPhoneInfoResult_1","BindAliasResult_1","FeedbackResult_1","PushMessage_1","RedirectServer_1","SetModeResult_1","SetTagResult_1","UnbindAliasResult_1","ActionMsg_2","Received_1","ServerClose_1","MessageHandler","receiveActionMsg","parseActionMsg","id","Received","receivedData","ReceivedData","getWaitingResponseMessage","removeWaitingResponseMessage","Register","registerData","RegisterData","RegisterResult","registerResultData","RegisterResultData","ServerClose","serverCloseData","ServerCloseData","code","AddPhoneInfoResult","addPhoneInfoResultData","AddPhoneInfoResultData","addPhoneInfo","BindAliasResult","bindAliasResultData","BindAliasResultData","KEY_BIND_ALIAS_TIME","FeedbackResult","feedbackResultData","FeedbackResultData","feedback","Feedback_1","PushMessage","PushMessageData","actionChain","cdnType","ActionChain","do","Type","GO_TO","TRANSMIT","RedirectServer","redirectServerData","RedirectServerData","addressList","delay","location","idConfig","SetModeResult","setModeResultData","SetModeResultData","setMode","SetTagResult","setTagResultData","SetTagResultData","KEY_SET_TAG_TIME","UnbindAliasResult","unbindAliasResultData","UnbindAliasResultData","DelayTask","start","cancel","setInterval","run","clearInterval","HeartBeat_1","DelayTask_1","HeartBeatTask","InstanceHolder","refresh","INTERVAL","Device","systemInfo","accountInfo","uni","getSystemInfoSync","getAccountInfoSync","system","osPrefix","toLocaleLowerCase","startsWith","miniProgram","fail","KeyNegotiate_1","MessageHandler_1","HeartBeatTask_1","SocketManager","socketTask","socketOpen","socketConnected","connectSocket","startNegotiating","resetSocket","onSocketOpen","onOpen","onSocketMessage","onMessage","onSocketError","onError","onSocketClose","onClose","getInstance","reason","closeSocket","sendSocketMessage","receiveMessage","Storage","setStorageSync","setStorage","defaultValue","getStorageSync","getStorage","wxmp_rsa_1","crypto_js_1","CryptManager","encryptedSecretKey","encryptedIV","rsa","symmetricMode","symmetricPadding","symmetricAlgorithm","setPublicKey","algorthim","plainText","cipherText","text","Log","BI_RM","int2char","op_and","op_or","op_xor","op_andnot","lbit","cbit","b64map","b64pad","hex2b64","ret","substring","b64tohex","k","slop","b64toBA","decoder","decode","hex","ignore","out","bits","char_count","b64","re","unarmor","m","exec","Int10","buf","mulAdd","l","sub","pop","base","valueOf","simplify","ellipsis","reTimeS","reTimeL","stringCut","len","Stream","pos","hexDigits","hexByte","hexDump","end","raw","isASCII","parseStringISO","parseStringUTF","parseStringBMP","hi","lo","parseTime","shortYear","parseInteger","neg","parseBitString","maxLength","unusedBit","lenBit","intro","skip","parseOctetString","parseOID","ASN1","stream","header","tag","ASN1Tag","typeName","tagClass","tagNumber","content","Infinity","posContent","isUniversal","toPrettyString","indent","tagConstructed","posStart","posEnd","toHexString","decodeLength","getHexStringValue","hexString","streamStart","getSub","isEOC","dbits","canary","j_lm","lowprimes","lplim","BigInteger","fromNumber","fromString","negate","toRadix","km","p","DB","nbi","ZERO","subTo","compareTo","bitLength","nbits","DM","divRemTo","modPowInt","isEven","Classic","Montgomery","exp","copyTo","intValue","DV","byteValue","shortValue","signum","toByteArray","equals","and","bitwiseTo","or","xor","andNot","not","shiftLeft","rShiftTo","lShiftTo","shiftRight","getLowestSetBit","bitCount","testBit","setBit","changeBit","clearBit","flipBit","add","addTo","subtract","multiply","multiplyTo","divide","remainder","divideAndRemainder","q","modPow","nbv","Barrett","k1","convert","g2","sqrTo","mulTo","w","is1","r2","revert","modInverse","ac","u","ONE","NullExp","gcd","isProbablePrime","modInt","millerRabin","fromInt","fromRadix","mi","sh","intAt","dlShiftTo","drShiftTo","bs","cbs","bm","ds","am","squareTo","pm","pt","ts","ms","nsh","ys","y0","yt","F1","F2","d1","FV","d2","qd","invDigit","chunkSize","LN2","log","cs","dMultiply","dAddOffset","nextBytes","op","multiplyLowerTo","multiplyUpperTo","n1","square","gcda","gcda1","fromNumberAsync","bnp_1","bnpfn1_1","reduce","mp","mpl","mph","um","mt2","u0","q3","mu","parseBigInt","inBrowser","navigator","appName","am2","xl","xh","am1","am3","BI_FP","BI_RC","rr","vv","Arcfour","prng_newstate","rng_state","rng_pool","rng_pptr","count","onMouseMoveListener","ev","rng_psize","mouseCoordinates","rng_get_byte","SecureRandom","ba","pkcs1pad1","filler","pkcs1pad2","rng","RSAKey","dmp1","dmq1","coeff","doPublic","doPrivate","xp","xq","setPublic","N","E","setPrivate","D","setPrivateEx","P","Q","DP","DQ","generate","B","qs","ee","p1","q1","phi","ctext","pkcs1unpad2","generateAsync","loop1","loop4","loop3","loop2","digestMethod","digestName","getDigestHeader","digest","unpadded","removeDigestHeader","encryptLong","maxLen","textArr","setSplitChn","forEach","decryptLong","splitMaxLen","ctextArr","match","RegExp","mArr","pkcs1unpad2Long","arr","charCode","currentStr","dArr","bArr","b_1","i_1","DIGEST_HEADERS","md2","md5","sha1","sha224","sha384","sha512","ripemd160","name","name_1","YAHOO","lang","subc","superc","superclass","_IEEnumFix","ADD","test","userAgent","fname","ex","KJUR","asn1","ASN1Util","integerToByteHex","bigIntToMinTwosComplementsHex","bigIntegerValue","hPos","xorLen","hMask","biMask","biNeg","getPEMStringFromHex","dataHex","pemHeader","hextopem","newObject","param","_KJUR","_KJUR_asn1","_DERBoolean","DERBoolean","_DERInteger","DERInteger","_DERBitString","DERBitString","_DEROctetString","DEROctetString","_DERNull","DERNull","_DERObjectIdentifier","DERObjectIdentifier","_DEREnumerated","DEREnumerated","_DERUTF8String","DERUTF8String","_DERNumericString","DERNumericString","_DERPrintableString","DERPrintableString","_DERTeletexString","DERTeletexString","_DERIA5String","DERIA5String","_DERUTCTime","DERUTCTime","_DERGeneralizedTime","DERGeneralizedTime","_DERSequence","DERSequence","_DERSet","DERSet","_DERTaggedObject","DERTaggedObject","_newObject","paramList","asn1Obj","tagParam","explicit","newParam","jsonToASN1HEX","getEncodedHex","oidHexToInt","i01","binbuf","bin","bi","oidIntToHex","oidString","itox","roidtox","roid","padLen","bPad","b8","ASN1Object","isModified","hTLV","hT","hL","hV","getLengthHexFromValue","hN","hNlen","head","getFreshValueHex","getValueHex","DERAbstractString","params","getString","setString","newS","stohex","setStringHex","newHexString","DERAbstractTime","date","localDateToUTC","utc","getTimezoneOffset","utcDate","formatDate","dateObject","withMillis","zeroPadding","year","getFullYear","month","getMonth","day","getDate","hour","getHours","getMinutes","sec","getSeconds","millis","getMilliseconds","sMillis","Array","setByDateValue","UTC","setByDate","DERAbstractStructured","asn1Array","setByASN1ObjectArray","asn1ObjectArray","appendASN1Object","asn1Object","setByBigInteger","setByInteger","setValueHex","o","setHexValueIncludingUnusedBits","newHexStringIncludingUnusedBits","setUnusedBitsAndHexValue","unusedBits","hValue","hUnusedBits","setByBinaryString","binaryString","setByBooleanArray","booleanArray","newFalseArray","nLength","setValueOidString","setValueName","oidName","oid","x509","OID","name2oid","sortFlag","sort","sortflag","isExplicit","setASN1Object","isExplicitFlag","tagNoHex","__extends","extendStatics","setPrototypeOf","__proto__","TypeError","__","JSEncryptRSAKey","_super","parseKey","hasPrivateKeyProperty","hasPublicKeyProperty","parsePropertiesFrom","pem","modulus","public_exponent","reHex","der","private_exponent","prime1","prime2","exponent1","exponent2","coefficient","bit_string","sequence","getPrivateBaseKey","options","array","int","bigint","seq","getPrivateBaseKeyB64","getPublicBaseKey","first_sequence","second_sequence","getPublicBaseKeyB64","wordwrap","width","regex","getPrivateKey","getPublicKey","JSEncrypt","default_key_size","default_public_exponent","setKey","warn","setPrivateKey","privkey","pubkey","getKey","cb","getPrivateKeyB64","getPublicKeyB64","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","enumerable","Function","prop","Symbol","toStringTag","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/packages/uni-push/src/index.ts b/packages/uni-push/src/index.ts index dab5ec1b0..66b2bd81d 100644 --- a/packages/uni-push/src/index.ts +++ b/packages/uni-push/src/index.ts @@ -17,6 +17,15 @@ if (!appid) { } else { GtPush.init({ appid, + onError: (res) => { + console.error(res.error) + // @ts-expect-error + uni.invokePushCallback({ + type: 'clientId', + cid: '', + errMsg: res.error, + }) + }, onClientId: (res) => { // @ts-expect-error uni.invokePushCallback({ -- GitLab