某盾滑块之签名_同盾滑块-程序员宅基地

技术标签: 爬虫  逆向  javascript  

这个某盾滑块的签名不是很难,很久之前写的,就是发出来方便大家学习下,之前就是直接扣的代码,哪里缺就补哪里,直接上代码

//node直接执行就行
/**
 * 空军特色网站 同盾滑块 版本2.1.4
 * 注意点
 * p1 p2两个参数需要经过URL编码后放入URL参数上,否则会报400
 */
window = global;

var oQoOoo = 'b37uCyfyme4S7TF/MVDRqSRxP4CB2BjsnDxr4bSxz0vSL/~hXNGID9Tr7vzaBm~F'; //多次测试是固定值
window._fmOpt = {};
window._fmOpt.partner = 'hsyuntai';
window._fmOpt.appName = 'hsyuntai_h5';
window._fmOpt.token = window._fmOpt.partner + '-' + new Date().getTime() + '-' + Math.random().toString(16).substr(2);

window._fmOpt.token = 'hsyuntai-1660813727844-195ba55b3ff06';
var requestType = 1;//这个也会变。。。不知道会有啥影响,JS文件中是个固定值
var qdAppId = '100578';//固定值

var o0OooO = {};     
o0OooO['version'] = 'jBNEA3ZCzmqA6i8hFQAmOYX+DKxq1xPLuKQreTsH3D2PS4+3i1dQDhz1/qUXXOI6'; //不是固定值,在fm.js文件中1119行 OooQO0[QQ0OQO[21]] = QQ0OQO[370] 获取到370这个数据坐标,然后从传入数组中获取到version
o0OooO['tokens'] = '1WPH1660813730233zVK6OBDkb';//访问https://fp.tongdun.net/web3_8/profile.json 返回得tokenId 这个URL需要一堆参数。。。

o0OooO['status'] = 255;


function o00OOo(O0000, oOoo0) {
    return O0000 % oOoo0;
}

function oQOQ0o() {
    var Ooo00Q = {};
    Ooo00Q['blackBox'] = {},
    Ooo00Q['blackBox']['v'] = o0OooO['version'],
    Ooo00Q['blackBox']['os'] = 3;
    if (o00OOo(o0OooO['status'], 255)) {
        if (localStorage && localStorage[Qo0oOQ] && localStorage[QQ0o0O] && OQQ0OO(O0OOoO(new window['Date']()['getTime'](), Number(localStorage[QQ0o0O])), 86400000)) {
            _fmOpt['blackBoxType'] = 1;
            return localStorage[Qo0oOQ];
        }
        ooOOOO(Ooo00Q['deviceInfo']),
        Ooo00Q['blackBox']['e'] = o0OooO['status'],
        _fmOpt['blackBoxType'] = 2,
        Ooo00Q['blackBox']['d'] = window['JSON']['stringify'](Ooo00Q['deviceInfo']);
    } else {
        if (o0OooO['tokens']) {
            Ooo00Q['blackBox'] = o0OooO['tokens'],
            _fmOpt['blackBoxType'] = 1;
            /** 
            setTimeout(function() {
                try {
                    if (window['localStorage']) {
                        localStorage[QQ0o0O] = new window['Date']()['getTime'](),
                        localStorage[Qo0oOQ] = Ooo00Q['blackBox'];
                    }
                } catch (error) {}
            }, 0);
            */
            return Ooo00Q['blackBox'];
        }
        ooOOOO(Ooo00Q['deviceInfo']),
        Ooo00Q['blackBox']['msg'] = 'no token returned',
        Ooo00Q['blackBox']['e'] = o0OooO['status'],
        Ooo00Q['blackBox']['d'] = window['JSON']['stringify'](Ooo00Q['deviceInfo']),
        _fmOpt['blackBoxType'] = 3;
    }
    return Qo00o0('tdfp', Oo00Q0['encode'](window['JSON']['stringify'](Ooo00Q['blackBox'])));
}
 
 
 var oQ00Oo =  function oQ00Oo(QoO0QQ) {
    OQOOQ0(true, QoO0QQ);
    oooQoQ = QoO0QQ.validateCodeObj;
    _$td(QQ0Q0Q('.ue-qpq-dfoufs')).removeClass(QQ0Q0Q('ejtbcmfe')).addClass(QQ0Q0Q('ue-d-boj'));
    QooQoO(QQ0Q0Q('vonpebm'));
};

var OQoOOQ = function(QoO0QQ) {
    return Math.round(QoO0QQ).toString(36);
};

var oQoQQO = [];

var QoQQO0 = function() {
    var QoO0QQ = 99;
    var oOoQQQ = Math.round(oQoQQO.length / QoO0QQ)
      , oO00OQ = [];
    if (oOoQQQ === 0) {
        oOoQQQ = 1;
    }
    var OQ0Q0o = false;
    if (OQ0Q0o) {
        for (var oOQO00 = 0, QQQoo0 = oQoQQO.length; oOQO00 < QQQoo0; oOQO00++) {
            var ooQ0Oo = oQoQQO[oOQO00];
            if (ooQ0Oo.type !== 1) {
                oO00OQ.push(ooQ0Oo);
            } else {
                if (oOQO00 % oOoQQQ === 0) {
                    oO00OQ.push(ooQ0Oo);
                }
            }
        }
        oQoQQO = oO00OQ;
    }
};

var oO00Oo = function(QoO0QQ, oOoQQQ) {
    var  OoooO0 = false;
    var OOooo0 = new Date()['getTime']();
    var oO00OQ, oOQO00 = '', QQQoo0 = '', ooQ0Oo = 0, oOoQ0o = 0, QoOoQo = oQoQQO[oQoQQO.length - 1];
    var ooooo0 = {
        top: 0,
        left: 0
    };
    ooooo0.width = null;
    ooooo0.height = null;
    if (QoOoQo && QoOoQo.type === ooOOoQ.KeyDown && QoOoQo.Action === ooOOoQ.Enter) {
        QoO0QQ = -1;
        oOoQQQ = -1;
    }
    QoQQO0();
    oO00OQ = OQoOOQ(ooooo0.left) + ',' + OQoOOQ(ooooo0.top) + ',' + OQoOOQ(ooooo0.left + ooooo0.width) + ',' + OQoOOQ(ooooo0.top + ooooo0.height) + ',' + OQoOOQ(QoO0QQ) + ',' + OQoOOQ(oOoQQQ) + ',' + '0,' + (OoooO0 ? '1' : '0') + ',' + OQoOOQ(OOooo0);
    for (var OQoQ0O = oQoQQO.length - 1; OQoQ0O >= 0; OQoQ0O--) {
        var QQOO0o = oQoQQO[OQoQ0O];
        if (QQOO0o.type === ooOOoQ.KeyDown || QQOO0o.type === ooOOoQ.KeyUp) {
            if (!OoooO0) {
                if (oOoQ0o < QOoOoO) {
                    QQQoo0 = OQoOOQ(QQOO0o.time - OOooo0) + ',' + OQoOOQ(QQOO0o.type) + (QQOO0o.dialog_type ? ',' + OQoOOQ(QQOO0o.dialog_type) : '') + '|' + QQQoo0;
                    oOoQ0o++;
                }
            }
        } else {
            if (ooQ0Oo < QOoOoO) {
                oOQO00 = OQoOOQ(QQOO0o.time - OOooo0) + ',' + OQoOOQ(QQOO0o.type) + ',' + OQoOOQ(QQOO0o.op_x) + ',' + OQoOOQ(QQOO0o.op_y) + (QQOO0o.Action ? ',' + OQoOOQ(QQOO0o.Action) : '') + '|' + oOQO00;
                ooQ0Oo++;
            }
        }
    }
    oQoQQO = [];
    return oO00OQ + '%' + oOQO00 + (QQQoo0 ? '%' + QQQoo0 : '');
};

var OQ0OOO = function(QoO0QQ) {
    if ((typeof QoO0QQ).toLowerCase() === 'function') {
        QoO0QQ = '' + QoO0QQ;
    }
    if (QoO0QQ == null) {
        return null;
    }
    for (var oOoQQQ = 64222, oO00OQ = 0; oO00OQ < QoO0QQ.length; oO00OQ++)
        oOoQQQ ^= (oOoQQQ << 8) + (oOoQQQ >>> 3) + QoO0QQ.charCodeAt(oO00OQ);
    return oOoQQQ;
};

var QQooOQ = function(QoO0QQ, oOoQQQ) {
    var oO00OQ = QoO0QQ.length;
    while (oO00OQ--) {
        if (QoO0QQ[oO00OQ] === oOoQQQ) {
            return true;
        }
    }
    return false;
};

var OQO0QO = function(QoO0QQ, oOoQQQ) {
    O0OOO0();
    var o00O0O = o00O0O || function(Q0oOOQ, QQQOQQ) {
        var oO00OQ = {};
        var oOQO00 = oO00OQ.lib = {};
        var oOOQoo = oOQO00.Base = function() {
            function QOQQoo() {}
            return {
                Fh: function(QoO0QQ) {
                    QOQQoo.prototype = this;
                    var QooQOQ = new QOQQoo();
                    if (QoO0QQ) {
                        QooQOQ.Hz(QoO0QQ);
                    }
                    if (!QooQOQ.hasOwnProperty('jE')) {
                        QooQOQ.jE = function() {
                            QooQOQ.$super.jE.apply(this, arguments);
                        }
                        ;
                    }
                    QooQOQ.jE.prototype = QooQOQ;
                    QooQOQ.$super = this;
                    return QooQOQ;
                },
                Cw: function() {
                    var QoO0QQ = this.Fh();
                    QoO0QQ.jE.apply(QoO0QQ, arguments);
                    return QoO0QQ;
                },
                jE: function() {},
                Hz: function(QoO0QQ) {
                    for (var oOoQQQ in QoO0QQ) {
                        if (QoO0QQ.hasOwnProperty(oOoQQQ)) {
                            this[oOoQQQ] = QoO0QQ[oOoQQQ];
                        }
                    }
                    if (QoO0QQ.hasOwnProperty(QQ0Q0Q('upSusjoh'))) {
                        this.uC = QoO0QQ.uC;
                    }
                },
                Mu: function() {
                    return this.jE.prototype.Fh(this);
                }
            };
        }();
        var ooOQ0o = oOQO00.WordArray = oOOQoo.Fh({
            jE: function(QoO0QQ, oOoQQQ) {
                QoO0QQ = this.words = QoO0QQ || [];
                if (oOoQQQ != QQQOQQ) {
                    this.sigBytes = oOoQQQ;
                } else {
                    this.sigBytes = QoO0QQ.length * 4;
                }
            },
            uC: function(QoO0QQ) {
                return (QoO0QQ || o0QooO).qP(this);
            },
            HH: function(QoO0QQ) {
                var oOoQQQ = this.words;
                var oO00OQ = QoO0QQ.words;
                var oOQO00 = this.sigBytes;
                var QQQoo0 = QoO0QQ.sigBytes;
                this.bz();
                if (oOQO00 % 4) {
                    for (var ooQ0Oo = 0; ooQ0Oo < QQQoo0; ooQ0Oo++) {
                        var oOoQ0o = oO00OQ[ooQ0Oo >>> 2] >>> 24 - ooQ0Oo % 4 * 8 & 255;
                        oOoQQQ[oOQO00 + ooQ0Oo >>> 2] |= oOoQ0o << 24 - (oOQO00 + ooQ0Oo) % 4 * 8;
                    }
                } else {
                    for (var ooQ0Oo = 0; ooQ0Oo < QQQoo0; ooQ0Oo += 4) {
                        oOoQQQ[oOQO00 + ooQ0Oo >>> 2] = oO00OQ[ooQ0Oo >>> 2];
                    }
                }
                this.sigBytes += QQQoo0;
                return this;
            },
            bz: function() {
                var QoO0QQ = this.words;
                var oOoQQQ = this.sigBytes;
                QoO0QQ[oOoQQQ >>> 2] &= 4294967295 << 32 - oOoQQQ % 4 * 8;
                QoO0QQ.length = Q0oOOQ.ceil(oOoQQQ / 4);
            },
            Mu: function() {
                var QoO0QQ = oOOQoo.Mu.call(this);
                QoO0QQ.words = this.words.slice(0);
                return QoO0QQ;
            },
            lf: function(QoO0QQ) {
                var oOoQQQ = [];
                var oO00OQ = function(OoQO0Q) {
                    var OoQO0Q = OoQO0Q;
                    var oOQQ00 = 987654321;
                    var OoQo00 = 4294967295;
                    return function() {
                        oOQQ00 = 36969 * (oOQQ00 & 65535) + (oOQQ00 >> 16) & OoQo00;
                        OoQO0Q = 18000 * (OoQO0Q & 65535) + (OoQO0Q >> 16) & OoQo00;
                        var QoO0QQ = (oOQQ00 << 16) + OoQO0Q & OoQo00;
                        QoO0QQ /= 4294967296;
                        QoO0QQ += 0.5;
                        return QoO0QQ * (Q0oOOQ.lf() > 0.5 ? 1 : -1);
                    }
                    ;
                };
                for (var oOQO00 = 0, QQQoo0; oOQO00 < QoO0QQ; oOQO00 += 4) {
                    var ooQ0Oo = oO00OQ((QQQoo0 || Q0oOOQ.lf()) * 4294967296);
                    QQQoo0 = ooQ0Oo() * 987654071;
                    oOoQQQ.push(ooQ0Oo() * 4294967296 | 0);
                }
                return new ooOQ0o.jE(oOoQQQ,QoO0QQ);
            }
        });
        var oOoQ0o = oO00OQ.enc = {};
        var o0QooO = oOoQ0o.Hex = {
            qP: function(QoO0QQ) {
                var oOoQQQ = QoO0QQ.words;
                var oO00OQ = QoO0QQ.sigBytes;
                var oOQO00 = [];
                for (var QQQoo0 = 0; QQQoo0 < oO00OQ; QQQoo0++) {
                    var ooQ0Oo = oOoQQQ[QQQoo0 >>> 2] >>> 24 - QQQoo0 % 4 * 8 & 255;
                    oOQO00.push((ooQ0Oo >>> 4).uC(16));
                    oOQO00.push((ooQ0Oo & 15).uC(16));
                }
                return oOQO00.join('');
            },
            Au: function(QoO0QQ) {
                var oOoQQQ = QoO0QQ.length;
                var oO00OQ = [];
                for (var oOQO00 = 0; oOQO00 < oOoQQQ; oOQO00 += 2) {
                    oO00OQ[oOQO00 >>> 3] |= parseInt(QoO0QQ.substr(oOQO00, 2), 16) << 24 - oOQO00 % 8 * 4;
                }
                return new ooOQ0o.jE(oO00OQ,oOoQQQ / 2);
            }
        };
        var o0QQ0Q = oOoQ0o.Latin1 = {
            qP: function(QoO0QQ) {
                var oOoQQQ = QoO0QQ.words;
                var oO00OQ = QoO0QQ.sigBytes;
                var oOQO00 = [];
                for (var QQQoo0 = 0; QQQoo0 < oO00OQ; QQQoo0++) {
                    var ooQ0Oo = oOoQQQ[QQQoo0 >>> 2] >>> 24 - QQQoo0 % 4 * 8 & 255;
                    oOQO00.push(String.fromCharCode(ooQ0Oo));
                }
                return oOQO00.join('');
            },
            Au: function(QoO0QQ) {
                var oOoQQQ = QoO0QQ.length;
                var oO00OQ = [];
                for (var oOQO00 = 0; oOQO00 < oOoQQQ; oOQO00++) {
                    oO00OQ[oOQO00 >>> 2] |= (QoO0QQ.charCodeAt(oOQO00) & 255) << 24 - oOQO00 % 4 * 8;
                }
                return new ooOQ0o.jE(oO00OQ,oOoQQQ);
            }
        };
        var Qo0O0o = oOoQ0o.Utf8 = {
            qP: function(QoO0QQ) {
                try {
                    return decodeURIComponent(escape(o0QQ0Q.qP(QoO0QQ)));
                } catch (e) {
                    throw new Error(QQ0Q0Q('Mbmgpsnfe UTF-8 ebub'));
                }
            },
            Au: function(QoO0QQ) {
                return o0QQ0Q.Au(unescape(encodeURIComponent(QoO0QQ)));
            }
        };
        var Q0oQoO = oOQO00.BufferedBlockAlgorithm = oOOQoo.Fh({
            Ad: function() {
                this._data = new ooOQ0o.jE();
                this._nDataBytes = 0;
            },
            LP: function(QoO0QQ) {
                if (typeof QoO0QQ == QQ0Q0Q('tusjoh')) {
                    QoO0QQ = Qo0O0o.Au(QoO0QQ);
                }
                this._data.HH(QoO0QQ);
                this._nDataBytes += QoO0QQ.sigBytes;
            },
            gd: function(QoO0QQ) {
                var oOoQQQ = this._data;
                var oO00OQ = oOoQQQ.words;
                var oOQO00 = oOoQQQ.sigBytes;
                var QQQoo0 = this.Be;
                var ooQ0Oo = QQQoo0 * 4;
                var oOoQ0o = oOQO00 / ooQ0Oo;
                if (QoO0QQ) {
                    oOoQ0o = Q0oOOQ.ceil(oOoQ0o);
                } else {
                    oOoQ0o = Q0oOOQ.max((oOoQ0o | 0) - this.bk, 0);
                }
                var QoOoQo = oOoQ0o * QQQoo0;
                var ooooo0 = Q0oOOQ.min(QoOoQo * 4, oOQO00);
                if (QoOoQo) {
                    for (var OQoQ0O = 0; OQoQ0O < QoOoQo; OQoQ0O += QQQoo0) {
                        this.lq(oO00OQ, OQoQ0O);
                    }
                    var QQOO0o = oO00OQ.splice(0, QoOoQo);
                    oOoQQQ.sigBytes -= ooooo0;
                }
                return new ooOQ0o.jE(QQOO0o,ooooo0);
            },
            Mu: function() {
                var QoO0QQ = oOOQoo.Mu.call(this);
                QoO0QQ._data = this._data.Mu();
                return QoO0QQ;
            },
            bk: 0
        });
        var QOQOQ0 = oOQO00.Hasher = Q0oQoO.Fh({
            Cc: oOOQoo.Fh(),
            jE: function(QoO0QQ) {
                this.Cc = this.Cc.Fh(QoO0QQ);
                this.Ad();
            },
            Ad: function() {
                Q0oQoO.Ad.call(this);
                this.pv();
            },
            Bw: function(QoO0QQ) {
                this.LP(QoO0QQ);
                this.gd();
                return this;
            },
            rL: function(QoO0QQ) {
                if (QoO0QQ) {
                    this.LP(QoO0QQ);
                }
                var oOoQQQ = this.Md();
                return oOoQQQ;
            },
            Be: 512 / 32,
            tz: function(QO00O0) {
                return function(QoO0QQ, oOoQQQ) {
                    return new QO00O0.jE(oOoQQQ).rL(QoO0QQ);
                }
                ;
            },
            dK: function(QO00O0) {
                return function(QoO0QQ, oOoQQQ) {
                    return new oOoOQ0.HMAC.jE(QO00O0,oOoQQQ).rL(QoO0QQ);
                }
                ;
            }
        });
        var oOoOQ0 = oO00OQ.algo = {};
        return oO00OQ;
    }(Math);
    (function() {
        var QoO0QQ = o00O0O;
        var oOoQQQ = QoO0QQ.lib;
        var ooOQ0o = oOoQQQ.WordArray;
        var oOQO00 = QoO0QQ.enc;
        var QQQoo0 = oOQO00.Base64 = {
            qP: function(QoO0QQ) {
                var oOoQQQ = QoO0QQ.words;
                var oO00OQ = QoO0QQ.sigBytes;
                var oOQO00 = this.dt;
                QoO0QQ.bz();
                var QQQoo0 = [];
                for (var ooQ0Oo = 0; ooQ0Oo < oO00OQ; ooQ0Oo += 3) {
                    var oOoQ0o = oOoQQQ[ooQ0Oo >>> 2] >>> 24 - ooQ0Oo % 4 * 8 & 255;
                    var QoOoQo = oOoQQQ[ooQ0Oo + 1 >>> 2] >>> 24 - (ooQ0Oo + 1) % 4 * 8 & 255;
                    var ooooo0 = oOoQQQ[ooQ0Oo + 2 >>> 2] >>> 24 - (ooQ0Oo + 2) % 4 * 8 & 255;
                    var OQoQ0O = oOoQ0o << 16 | QoOoQo << 8 | ooooo0;
                    for (var QQOO0o = 0; QQOO0o < 4 && ooQ0Oo + QQOO0o * 0.75 < oO00OQ; QQOO0o++) {
                        QQQoo0.push(oOQO00.charAt(OQoQ0O >>> 6 * (3 - QQOO0o) & 63));
                    }
                }
                var QOQOQ0 = oOQO00.charAt(64);
                if (QOQOQ0) {
                    while (QQQoo0.length % 4) {
                        QQQoo0.push(QOQOQ0);
                    }
                }
                return QQQoo0.join('');
            },
            Au: function(QoO0QQ) {
                var oOoQQQ = QoO0QQ.length;
                var oO00OQ = this.dt;
                var oOQO00 = oO00OQ.charAt(64);
                if (oOQO00) {
                    var QQQoo0 = QoO0QQ.indexOf(oOQO00);
                    if (QQQoo0 != -1) {
                        oOoQQQ = QQQoo0;
                    }
                }
                var ooQ0Oo = [];
                var oOoQ0o = 0;
                for (var QoOoQo = 0; QoOoQo < oOoQQQ; QoOoQo++) {
                    if (QoOoQo % 4) {
                        var ooooo0 = oO00OQ.indexOf(QoO0QQ.charAt(QoOoQo - 1)) << QoOoQo % 4 * 2;
                        var OQoQ0O = oO00OQ.indexOf(QoO0QQ.charAt(QoOoQo)) >>> 6 - QoOoQo % 4 * 2;
                        var QQOO0o = ooooo0 | OQoQ0O;
                        ooQ0Oo[oOoQ0o >>> 2] |= QQOO0o << 24 - oOoQ0o % 4 * 8;
                        oOoQ0o++;
                    }
                }
                return ooOQ0o.Cw(ooQ0Oo, oOoQ0o);
            },
            dt: 'abcdefghijklmnoqprstuvwxyzABCDEFGHJIKLMNOPQRSTUVWXYZ0123456789' + '~' + '/='
        };
    }());
    o00O0O.lib.Cipher || function(QQQOQQ) {
        var oOoQQQ = o00O0O;
        var oO00OQ = oOoQQQ.lib;
        var oOQO00 = oO00OQ.Base;
        var ooOQ0o = oO00OQ.WordArray;
        var Q0oQoO = oO00OQ.BufferedBlockAlgorithm;
        var oOoQ0o = oOoQQQ.enc;
        var QoOoQo = oOoQ0o.Utf8;
        var ooQQOo = oOoQ0o.Base64;
        var OQoQ0O = oOoQQQ.algo;
        var OooQO0 = OQoQ0O.EvpKDF;
        var QoQOQ0 = oO00OQ.Cipher = Q0oQoO.Fh({
            Cc: oOQO00.Fh(),
            wg: function(QoO0QQ, oOoQQQ) {
                return this.Cw(this.cF, QoO0QQ, oOoQQQ);
            },
            Js: function(QoO0QQ, oOoQQQ) {
                return this.Cw(this.cG, QoO0QQ, oOoQQQ);
            },
            jE: function(QoO0QQ, oOoQQQ, oO00OQ) {
                this.Cc = this.Cc.Fh(oO00OQ);
                this._xformMode = QoO0QQ;
                this._key = oOoQQQ;
                this.Ad();
            },
            Ad: function() {
                Q0oQoO.Ad.call(this);
                this.pv();
            },
            rA: function(QoO0QQ) {
                this.LP(QoO0QQ);
                return this.gd();
            },
            rL: function(QoO0QQ) {
                if (QoO0QQ) {
                    this.LP(QoO0QQ);
                }
                var oOoQQQ = this.Md();
                return oOoQQQ;
            },
            uM: 128 / 32,
            qf: 128 / 32,
            cF: 1,
            cG: 2,
            tz: function() {
                function OOO0O0(QoO0QQ) {
                    if (typeof QoO0QQ == QQ0Q0Q('tusjoh')) {
                        return O0QoOQ;
                    } else {
                        return Q0OO00;
                    }
                }
                return function(O0o0QQ) {
                    return {
                        Ck: function(QoO0QQ, oOoQQQ, oO00OQ) {
                            return OOO0O0(oOoQQQ).Ck(O0o0QQ, QoO0QQ, oOoQQQ, oO00OQ);
                        },
                        kD: function(QoO0QQ, oOoQQQ, oO00OQ) {
                            return OOO0O0(oOoQQQ).kD(O0o0QQ, QoO0QQ, oOoQQQ, oO00OQ);
                        }
                    };
                }
                ;
            }()
        });
        var QOO0O0 = oO00OQ.StreamCipher = QoQOQ0.Fh({
            Md: function() {
                var QoO0QQ = this.gd(!!QQ0Q0Q('gmvti'));
                return QoO0QQ;
            },
            Be: 1
        });
        var oo0oOO = oOoQQQ.Al = {};
        var Oo0o00 = oO00OQ.BlockCipherMode = oOQO00.Fh({
            wg: function(QoO0QQ, oOoQQQ) {
                return this.Encryptor.Cw(QoO0QQ, oOoQQQ);
            },
            Js: function(QoO0QQ, oOoQQQ) {
                return this.Decryptor.Cw(QoO0QQ, oOoQQQ);
            },
            jE: function(QoO0QQ, oOoQQQ) {
                this._cipher = QoO0QQ;
                this._iv = oOoQQQ;
            }
        });
        var OQ00oQ = oo0oOO.PF = function() {
            var QoO0QQ = Oo0o00.Fh();
            QoO0QQ.Encryptor = QoO0QQ.Fh({
                Fb: function(QoO0QQ, oOoQQQ) {
                    var oO00OQ = this._cipher;
                    var oOQO00 = oO00OQ.Be;
                    OOOQ0o.call(this, QoO0QQ, oOoQQQ, oOQO00);
                    oO00OQ.ft(QoO0QQ, oOoQQQ);
                    this._prevBlock = QoO0QQ.slice(oOoQQQ, oOoQQQ + oOQO00);
                }
            });
            QoO0QQ.Decryptor = QoO0QQ.Fh({
                Fb: function(QoO0QQ, oOoQQQ) {
                    var oO00OQ = this._cipher;
                    var oOQO00 = oO00OQ.Be;
                    var QQQoo0 = QoO0QQ.slice(oOoQQQ, oOoQQQ + oOQO00);
                    oO00OQ.tm(QoO0QQ, oOoQQQ);
                    OOOQ0o.call(this, QoO0QQ, oOoQQQ, oOQO00);
                    this._prevBlock = QQQoo0;
                }
            });
            function OOOQ0o(QoO0QQ, oOoQQQ, oO00OQ) {
                var oOQO00 = this._iv;
                if (oOQO00) {
                    var QQQoo0 = oOQO00;
                    this._iv = QQQOQQ;
                } else {
                    var QQQoo0 = this._prevBlock;
                }
                for (var oOoQ0o = 0; oOoQ0o < oO00OQ; oOoQ0o++) {
                    QoO0QQ[oOoQQQ + oOoQ0o] ^= QQQoo0[oOoQ0o];
                }
            }
            return QoO0QQ;
        }();
        var OO00oO = oOoQQQ.mB = {};
        var Q00oQQ = OO00oO.rb = {
            mB: function(QoO0QQ, oOoQQQ) {
                var oO00OQ = oOoQQQ * 4;
                var oOQO00 = oO00OQ - QoO0QQ.sigBytes % oO00OQ;
                var QQQoo0 = oOQO00 << 24 | oOQO00 << 16 | oOQO00 << 8 | oOQO00;
                var ooQ0Oo = [];
                for (var oOoQ0o = 0; oOoQ0o < oOQO00; oOoQ0o += 4) {
                    ooQ0Oo.push(QQQoo0);
                }
                var QoOoQo = ooOQ0o.Cw(ooQ0Oo, oOQO00);
                QoO0QQ.HH(QoOoQo);
            },
            vu: function(QoO0QQ) {
                var oOoQQQ = QoO0QQ.words[QoO0QQ.sigBytes - 1 >>> 2] & 255;
                QoO0QQ.sigBytes -= oOoQQQ;
            }
        };
        var OQQo00 = oO00OQ.BlockCipher = QoQOQ0.Fh({
            Cc: QoQOQ0.Cc.Fh({
                Al: OQ00oQ,
                ck: Q00oQQ
            }),
            Ad: function() {
                QoQOQ0.Ad.call(this);
                var QoO0QQ = this.Cc;
                var oOoQQQ = QoO0QQ.Hj;
                var oO00OQ = QoO0QQ.Al;
                if (this._xformMode == this.cF) {
                    var oOQO00 = oO00OQ.wg;
                } else {
                    var oOQO00 = oO00OQ.Js;
                    this.bk = 1;
                }
                this._mode = oOQO00.call(oO00OQ, this, oOoQQQ && oOoQQQ.words);
            },
            lq: function(QoO0QQ, oOoQQQ) {
                this._mode.Fb(QoO0QQ, oOoQQQ);
            },
            Md: function() {
                var QoO0QQ = this.Cc.ck;
                if (this._xformMode == this.cF) {
                    QoO0QQ.mB(this._data, this.Be);
                    var oOoQQQ = this.gd(!!QQ0Q0Q('gmvti'));
                } else {
                    var oOoQQQ = this.gd(!!QQ0Q0Q('gmvti'));
                    QoO0QQ.vu(oOoQQQ);
                }
                return oOoQQQ;
            },
            Be: 128 / 32
        });
        var oo000O = oO00OQ.CipherParams = oOQO00.Fh({
            jE: function(QoO0QQ) {
                this.Hz(QoO0QQ);
            },
            uC: function(QoO0QQ) {
                return (QoO0QQ || this.dP).qP(this);
            }
        });
        var Oooo0o = oOoQQQ.mr = {};
        var QOQ0QO = Oooo0o.OpenSSL = {
            qP: function(QoO0QQ) {
                var oOoQQQ = QoO0QQ.pE;
                var oO00OQ = QoO0QQ.rw;
                if (oO00OQ) {
                    var oOQO00 = ooOQ0o.Cw([1398893684, 1701076831]).HH(oO00OQ).HH(oOoQQQ);
                } else {
                    var oOQO00 = oOoQQQ;
                }
                return oOQO00.uC(ooQQOo);
            },
            Au: function(QoO0QQ) {
                var oOoQQQ = ooQQOo.Au(QoO0QQ);
                var oO00OQ = oOoQQQ.words;
                if (oO00OQ[0] == 1398893684 && oO00OQ[1] == 1701076831) {
                    var oOQO00 = ooOQ0o.Cw(oO00OQ.slice(2, 4));
                    oO00OQ.splice(0, 4);
                    oOoQQQ.sigBytes -= 16;
                }
                return oo000O.Cw({
                    pE: oOoQQQ,
                    rw: oOQO00
                });
            }
        };
        var Q0OO00 = oO00OQ.SerializableCipher = oOQO00.Fh({
            Cc: oOQO00.Fh({
                mr: QOQ0QO
            }),
            Ck: function(QoO0QQ, oOoQQQ, oO00OQ, oOQO00) {
                oOQO00 = this.Cc.Fh(oOQO00);
                var QQQoo0 = QoO0QQ.wg(oO00OQ, oOQO00);
                var ooQ0Oo = QQQoo0.rL(oOoQQQ);
                var oOoQ0o = QQQoo0.Cc;
                return oo000O.Cw({
                    pE: ooQ0Oo,
                    qg: oO00OQ,
                    Hj: oOoQ0o.Hj,
                    ux: QoO0QQ,
                    Al: oOoQ0o.Al,
                    ck: oOoQ0o.ck,
                    Be: QoO0QQ.Be,
                    dP: oOQO00.mr
                });
            },
            kD: function(QoO0QQ, oOoQQQ, oO00OQ, oOQO00) {
                oOQO00 = this.Cc.Fh(oOQO00);
                oOoQQQ = this.sz(oOoQQQ, oOQO00.mr);
                var QQQoo0 = QoO0QQ.Js(oO00OQ, oOQO00).rL(oOoQQQ.pE);
                return QQQoo0;
            },
            sz: function(QoO0QQ, oOoQQQ) {
                if (typeof QoO0QQ == QQ0Q0Q('tusjoh')) {
                    return oOoQQQ.Au(QoO0QQ, this);
                } else {
                    return QoO0QQ;
                }
            }
        });
        var ooOQO0 = oOoQQQ.tc = {};
        var OQ0ooO = ooOQO0.OpenSSL = {
            cK: function(QoO0QQ, oOoQQQ, oO00OQ, oOQO00) {
                if (!oOQO00) {
                    oOQO00 = ooOQ0o.lf(64 / 8);
                }
                var QQQoo0 = OooQO0.Cw({
                    uM: oOoQQQ + oO00OQ
                }).compute(QoO0QQ, oOQO00);
                var ooQ0Oo = ooOQ0o.Cw(QQQoo0.words.slice(oOoQQQ), oO00OQ * 4);
                QQQoo0.sigBytes = oOoQQQ * 4;
                return oo000O.Cw({
                    qg: QQQoo0,
                    Hj: ooQ0Oo,
                    rw: oOQO00
                });
            }
        };
        var O0QoOQ = oO00OQ.PasswordBasedCipher = Q0OO00.Fh({
            Cc: Q0OO00.Cc.Fh({
                tc: OQ0ooO
            }),
            Ck: function(QoO0QQ, oOoQQQ, oO00OQ, oOQO00) {
                oOQO00 = this.Cc.Fh(oOQO00);
                var QQQoo0 = oOQO00.tc.cK(oO00OQ, QoO0QQ.uM, QoO0QQ.qf);
                oOQO00.Hj = QQQoo0.Hj;
                var ooQ0Oo = Q0OO00.Ck.call(this, QoO0QQ, oOoQQQ, QQQoo0.qg, oOQO00);
                ooQ0Oo.Hz(QQQoo0);
                return ooQ0Oo;
            },
            kD: function(QoO0QQ, oOoQQQ, oO00OQ, oOQO00) {
                oOQO00 = this.Cc.Fh(oOQO00);
                oOoQQQ = this.sz(oOoQQQ, oOQO00.mr);
                var QQQoo0 = oOQO00.tc.cK(oO00OQ, QoO0QQ.uM, QoO0QQ.qf, oOoQQQ.rw);
                oOQO00.Hj = QQQoo0.Hj;
                var ooQ0Oo = Q0OO00.kD.call(this, QoO0QQ, oOoQQQ, QQQoo0.qg, oOQO00);
                return ooQ0Oo;
            }
        });
    }();
    o00O0O.Al.CFB = function() {
        var QoO0QQ = o00O0O.lib.BlockCipherMode.Fh();
        QoO0QQ.Encryptor = QoO0QQ.Fh({
            Fb: function(QoO0QQ, oOoQQQ) {
                var oO00OQ = this._cipher;
                var oOQO00 = oO00OQ.Be;
                oQOQoo.call(this, QoO0QQ, oOoQQQ, oOQO00, oO00OQ);
                this._prevBlock = QoO0QQ.slice(oOoQQQ, oOoQQQ + oOQO00);
            }
        });
        QoO0QQ.Decryptor = QoO0QQ.Fh({
            Fb: function(QoO0QQ, oOoQQQ) {
                var oO00OQ = this._cipher;
                var oOQO00 = oO00OQ.Be;
                var QQQoo0 = QoO0QQ.slice(oOoQQQ, oOoQQQ + oOQO00);
                oQOQoo.call(this, QoO0QQ, oOoQQQ, oOQO00, oO00OQ);
                this._prevBlock = QQQoo0;
            }
        });
        function oQOQoo(QoO0QQ, oOoQQQ, oO00OQ, oOQO00) {
            var QQQoo0 = this._iv;
            if (QQQoo0) {
                var ooQ0Oo = QQQoo0.slice(0);
                this._iv = QQQOQQ;
            } else {
                var ooQ0Oo = this._prevBlock;
            }
            oOQO00.ft(ooQ0Oo, 0);
            for (var QoOoQo = 0; QoOoQo < oO00OQ; QoOoQo++) {
                QoO0QQ[oOoQQQ + QoOoQo] ^= ooQ0Oo[QoOoQo];
            }
        }
        return QoO0QQ;
    }();
    o00O0O.Al.ECB = function() {
        var QoO0QQ = o00O0O.lib.BlockCipherMode.Fh();
        QoO0QQ.Encryptor = QoO0QQ.Fh({
            Fb: function(QoO0QQ, oOoQQQ) {
                this._cipher.ft(QoO0QQ, oOoQQQ);
            }
        });
        QoO0QQ.Decryptor = QoO0QQ.Fh({
            Fb: function(QoO0QQ, oOoQQQ) {
                this._cipher.tm(QoO0QQ, oOoQQQ);
            }
        });
        return QoO0QQ;
    }();
    o00O0O.mB.AnsiX923 = {
        mB: function(QoO0QQ, oOoQQQ) {
            var oO00OQ = QoO0QQ.sigBytes;
            var oOQO00 = oOoQQQ * 4;
            var QQQoo0 = oOQO00 - oO00OQ % oOQO00;
            var ooQ0Oo = oO00OQ + QQQoo0 - 1;
            QoO0QQ.bz();
            QoO0QQ.words[ooQ0Oo >>> 2] |= QQQoo0 << 24 - ooQ0Oo % 4 * 8;
            QoO0QQ.sigBytes += QQQoo0;
        },
        vu: function(QoO0QQ) {
            var oOoQQQ = QoO0QQ.words[QoO0QQ.sigBytes - 1 >>> 2] & 255;
            QoO0QQ.sigBytes -= oOoQQQ;
        }
    };
    o00O0O.Al.OFB = function() {
        var QoO0QQ = o00O0O.lib.BlockCipherMode.Fh();
        var oOoQQQ = QoO0QQ.Encryptor = QoO0QQ.Fh({
            Fb: function(QoO0QQ, oOoQQQ) {
                var oO00OQ = this._cipher;
                var oOQO00 = oO00OQ.Be;
                var QQQoo0 = this._iv;
                var ooQ0Oo = this._keystream;
                if (QQQoo0) {
                    ooQ0Oo = this._keystream = QQQoo0.slice(0);
                    this._iv = QQQOQQ;
                }
                oO00OQ.ft(ooQ0Oo, 0);
                for (var oOoQ0o = 0; oOoQ0o < oOQO00; oOoQ0o++) {
                    QoO0QQ[oOoQQQ + oOoQ0o] ^= ooQ0Oo[oOoQ0o];
                }
            }
        });
        QoO0QQ.Decryptor = oOoQQQ;
        return QoO0QQ;
    }();
    o00O0O.mB.NoPadding = {
        mB: function() {},
        vu: function() {}
    };
    o00O0O.mB.ZeroPadding = {
        mB: function(QoO0QQ, oOoQQQ) {
            var oO00OQ = oOoQQQ * 4;
            QoO0QQ.bz();
            QoO0QQ.sigBytes += oO00OQ - (QoO0QQ.sigBytes % oO00OQ || oO00OQ);
        },
        vu: function(QoO0QQ) {
            var oOoQQQ = QoO0QQ.words;
            var oO00OQ = QoO0QQ.sigBytes - 1;
            while (!(oOoQQQ[oO00OQ >>> 2] >>> 24 - oO00OQ % 4 * 8 & 255)) {
                oO00OQ--;
            }
            QoO0QQ.sigBytes = oO00OQ + 1;
        }
    };
    (function() {
        var QoO0QQ = o00O0O;
        var oOoQQQ = QoO0QQ.lib;
        var oO00OQ = oOoQQQ.BlockCipher;
        var oOQO00 = QoO0QQ.algo;
        var oOQ0Qo = [];
        var QOQOOQ = [];
        var oQ0oQo = [];
        var OQOQoQ = [];
        var OOQ0o0 = [];
        var ooOO0o = [];
        var oQo00Q = [];
        var QOOOQ0 = [];
        var o0QoOQ = [];
        var oooQQQ = [];
        (function() {
            var QoO0QQ = [];
            for (var oOoQQQ = 0; oOoQQQ < 256; oOoQQQ++) {
                if (oOoQQQ < 128) {
                    QoO0QQ[oOoQQQ] = oOoQQQ << 1;
                } else {
                    QoO0QQ[oOoQQQ] = oOoQQQ << 1 ^ 283;
                }
            }
            var oO00OQ = 0;
            var oOQO00 = 0;
            for (var oOoQQQ = 0; oOoQQQ < 256; oOoQQQ++) {
                var ooQ0Oo = oOQO00 ^ oOQO00 << 1 ^ oOQO00 << 2 ^ oOQO00 << 3 ^ oOQO00 << 4;
                ooQ0Oo = ooQ0Oo >>> 8 ^ ooQ0Oo & 255 ^ 99;
                oOQ0Qo[oO00OQ] = ooQ0Oo;
                QOQOOQ[ooQ0Oo] = oO00OQ;
                var oOoQ0o = QoO0QQ[oO00OQ];
                var QoOoQo = QoO0QQ[oOoQ0o];
                var ooooo0 = QoO0QQ[QoOoQo];
                var OQoQ0O = QoO0QQ[ooQ0Oo] * 257 ^ ooQ0Oo * 16843008;
                oQ0oQo[oO00OQ] = OQoQ0O << 24 | OQoQ0O >>> 8;
                OQOQoQ[oO00OQ] = OQoQ0O << 16 | OQoQ0O >>> 16;
                OOQ0o0[oO00OQ] = OQoQ0O << 8 | OQoQ0O >>> 24;
                ooOO0o[oO00OQ] = OQoQ0O;
                var OQoQ0O = ooooo0 * 16843009 ^ QoOoQo * 65537 ^ oOoQ0o * 257 ^ oO00OQ * 16843008;
                oQo00Q[ooQ0Oo] = OQoQ0O << 24 | OQoQ0O >>> 8;
                QOOOQ0[ooQ0Oo] = OQoQ0O << 16 | OQoQ0O >>> 16;
                o0QoOQ[ooQ0Oo] = OQoQ0O << 8 | OQoQ0O >>> 24;
                oooQQQ[ooQ0Oo] = OQoQ0O;
                if (!oO00OQ) {
                    oO00OQ = oOQO00 = 1;
                } else {
                    oO00OQ = oOoQ0o ^ QoO0QQ[QoO0QQ[QoO0QQ[ooooo0 ^ oOoQ0o]]];
                    oOQO00 ^= QoO0QQ[QoO0QQ[oOQO00]];
                }
            }
        }());
        var QooOQ0 = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54];
        var OQ00oQ = oOQO00.AES = oO00OQ.Fh({
            pv: function() {
                var QoO0QQ = this._key;
                var oOoQQQ = QoO0QQ.words;
                var oO00OQ = QoO0QQ.sigBytes / 4;
                var oOQO00 = this._nRounds = oO00OQ + 6;
                var QQQoo0 = (oOQO00 + 1) * 4;
                var ooQ0Oo = this._keySchedule = [];
                for (var oOoQ0o = 0; oOoQ0o < QQQoo0; oOoQ0o++) {
                    if (oOoQ0o < oO00OQ) {
                        ooQ0Oo[oOoQ0o] = oOoQQQ[oOoQ0o];
                    } else {
                        var QoOoQo = ooQ0Oo[oOoQ0o - 1];
                        if (!(oOoQ0o % oO00OQ)) {
                            QoOoQo = QoOoQo << 8 | QoOoQo >>> 24;
                            QoOoQo = oOQ0Qo[QoOoQo >>> 24] << 24 | oOQ0Qo[QoOoQo >>> 16 & 255] << 16 | oOQ0Qo[QoOoQo >>> 8 & 255] << 8 | oOQ0Qo[QoOoQo & 255];
                            QoOoQo ^= QooOQ0[oOoQ0o / oO00OQ | 0] << 24;
                        } else if (oO00OQ > 6 && oOoQ0o % oO00OQ == 4) {
                            QoOoQo = oOQ0Qo[QoOoQo >>> 24] << 24 | oOQ0Qo[QoOoQo >>> 16 & 255] << 16 | oOQ0Qo[QoOoQo >>> 8 & 255] << 8 | oOQ0Qo[QoOoQo & 255];
                        }
                        ooQ0Oo[oOoQ0o] = ooQ0Oo[oOoQ0o - oO00OQ] ^ QoOoQo;
                    }
                }
                var ooooo0 = this._invKeySchedule = [];
                for (var OQoQ0O = 0; OQoQ0O < QQQoo0; OQoQ0O++) {
                    var oOoQ0o = QQQoo0 - OQoQ0O;
                    if (OQoQ0O % 4) {
                        var QoOoQo = ooQ0Oo[oOoQ0o];
                    } else {
                        var QoOoQo = ooQ0Oo[oOoQ0o - 4];
                    }
                    if (OQoQ0O < 4 || oOoQ0o <= 4) {
                        ooooo0[OQoQ0O] = QoOoQo;
                    } else {
                        ooooo0[OQoQ0O] = oQo00Q[oOQ0Qo[QoOoQo >>> 24]] ^ QOOOQ0[oOQ0Qo[QoOoQo >>> 16 & 255]] ^ o0QoOQ[oOQ0Qo[QoOoQo >>> 8 & 255]] ^ oooQQQ[oOQ0Qo[QoOoQo & 255]];
                    }
                }
            },
            ft: function(QoO0QQ, oOoQQQ) {
                this.vF(QoO0QQ, oOoQQQ, this._keySchedule, oQ0oQo, OQOQoQ, OOQ0o0, ooOO0o, oOQ0Qo);
            },
            tm: function(QoO0QQ, oOoQQQ) {
                var oO00OQ = QoO0QQ[oOoQQQ + 1];
                QoO0QQ[oOoQQQ + 1] = QoO0QQ[oOoQQQ + 3];
                QoO0QQ[oOoQQQ + 3] = oO00OQ;
                this.vF(QoO0QQ, oOoQQQ, this._invKeySchedule, oQo00Q, QOOOQ0, o0QoOQ, oooQQQ, QOQOOQ);
                var oO00OQ = QoO0QQ[oOoQQQ + 1];
                QoO0QQ[oOoQQQ + 1] = QoO0QQ[oOoQQQ + 3];
                QoO0QQ[oOoQQQ + 3] = oO00OQ;
            },
            vF: function(QoO0QQ, oOoQQQ, oO00OQ, oOQO00, QQQoo0, ooQ0Oo, oOoQ0o, QoOoQo) {
                var ooooo0 = this._nRounds;
                var OQoQ0O = QoO0QQ[oOoQQQ] ^ oO00OQ[0];
                var QQOO0o = QoO0QQ[oOoQQQ + 1] ^ oO00OQ[1];
                var QOQOQ0 = QoO0QQ[oOoQQQ + 2] ^ oO00OQ[2];
                var QOO0O0 = QoO0QQ[oOoQQQ + 3] ^ oO00OQ[3];
                var oo0oOO = 4;
                for (var Qo0O00 = 1; Qo0O00 < ooooo0; Qo0O00++) {
                    var OQ00oQ = oOQO00[OQoQ0O >>> 24] ^ QQQoo0[QQOO0o >>> 16 & 255] ^ ooQ0Oo[QOQOQ0 >>> 8 & 255] ^ oOoQ0o[QOO0O0 & 255] ^ oO00OQ[oo0oOO++];
                    var OO00oO = oOQO00[QQOO0o >>> 24] ^ QQQoo0[QOQOQ0 >>> 16 & 255] ^ ooQ0Oo[QOO0O0 >>> 8 & 255] ^ oOoQ0o[OQoQ0O & 255] ^ oO00OQ[oo0oOO++];
                    var Q00oQQ = oOQO00[QOQOQ0 >>> 24] ^ QQQoo0[QOO0O0 >>> 16 & 255] ^ ooQ0Oo[OQoQ0O >>> 8 & 255] ^ oOoQ0o[QQOO0o & 255] ^ oO00OQ[oo0oOO++];
                    var OQQo00 = oOQO00[QOO0O0 >>> 24] ^ QQQoo0[OQoQ0O >>> 16 & 255] ^ ooQ0Oo[QQOO0o >>> 8 & 255] ^ oOoQ0o[QOQOQ0 & 255] ^ oO00OQ[oo0oOO++];
                    OQoQ0O = OQ00oQ;
                    QQOO0o = OO00oO;
                    QOQOQ0 = Q00oQQ;
                    QOO0O0 = OQQo00;
                }
                var OQ00oQ = (QoOoQo[OQoQ0O >>> 24] << 24 | QoOoQo[QQOO0o >>> 16 & 255] << 16 | QoOoQo[QOQOQ0 >>> 8 & 255] << 8 | QoOoQo[QOO0O0 & 255]) ^ oO00OQ[oo0oOO++];
                var OO00oO = (QoOoQo[QQOO0o >>> 24] << 24 | QoOoQo[QOQOQ0 >>> 16 & 255] << 16 | QoOoQo[QOO0O0 >>> 8 & 255] << 8 | QoOoQo[OQoQ0O & 255]) ^ oO00OQ[oo0oOO++];
                var Q00oQQ = (QoOoQo[QOQOQ0 >>> 24] << 24 | QoOoQo[QOO0O0 >>> 16 & 255] << 16 | QoOoQo[OQoQ0O >>> 8 & 255] << 8 | QoOoQo[QQOO0o & 255]) ^ oO00OQ[oo0oOO++];
                var OQQo00 = (QoOoQo[QOO0O0 >>> 24] << 24 | QoOoQo[OQoQ0O >>> 16 & 255] << 16 | QoOoQo[QQOO0o >>> 8 & 255] << 8 | QoOoQo[QOQOQ0 & 255]) ^ oO00OQ[oo0oOO++];
                QoO0QQ[oOoQQQ] = OQ00oQ;
                QoO0QQ[oOoQQQ + 1] = OO00oO;
                QoO0QQ[oOoQQQ + 2] = Q00oQQ;
                QoO0QQ[oOoQQQ + 3] = OQQo00;
            },
            uM: 256 / 32
        });
        QoO0QQ.AES = oO00OQ.tz(OQ00oQ);
    }());
    var oOQO00 = o00O0O.enc.Latin1.Au(oOoQQQ);
    var QQQoo0 = o00O0O.enc.Latin1.Au(QQ0Q0Q('Moa14C2uXpe8AUJ5'));
    var ooQ0Oo = o00O0O.AES.Ck(QoO0QQ, oOQO00, {
        Hj: QQQoo0,
        Al: o00O0O.Al.PF,
        ck: o00O0O.mB.rb
    });
    return ooQ0Oo.uC();
};

var QOQOoO = function(QoO0QQ, oOoQQQ) {
    return OQO0QO(QoO0QQ, oOoQQQ);
};

var QO0QQO;
var O0OOO0 = function() {
    if (!QO0QQO) {
        QO0QQO = {};
        var QoO0QQ = {};
        QoO0QQ[OQ0OOO(OQO0QO)] = [QOQOoO];
        QoO0QQ[OQ0OOO(QoQOoQ)] = [OO0QQO];
        for (var oOoQQQ in QoO0QQ) {
            if (QoO0QQ.hasOwnProperty(oOoQQQ)) {
                var oO00OQ = QO0QQO[oOoQQQ] = [];
                for (var oOQO00 in QoO0QQ[oOoQQQ]) {
                    if (QoO0QQ[oOoQQQ].hasOwnProperty(oOQO00)) {
                        oO00OQ.push(OQ0OOO(QoO0QQ[oOoQQQ][oOQO00]));
                    }
                }
            }
        }
    }
    var QQQoo0 = arguments['callee'].caller;
    var ooQ0Oo = OQ0OOO(QQQoo0);
    if (ooQ0Oo in QO0QQO) {
        var oOoQ0o = OQ0OOO(QQQoo0.caller);
        if (QQooOQ(QO0QQO[ooQ0Oo], oOoQ0o)) {
            return;
        }
        return;
    }
};

var oO00oO = function(QoO0QQ, oOoQQQ, oO00OQ, oOQO00, QQQoo0, ooQ0Oo, oOoQ0o) {
    QoO0QQ = o0O00o(QoO0QQ, o0O00o(o0O00o(QOQQoo(oOoQQQ, oO00OQ, oOQO00), QQQoo0), oOoQ0o));
    return o0O00o(oOOQ0O(QoO0QQ, ooQ0Oo), oOoQQQ);
};

var QOQQoo = function(QoO0QQ, oOoQQQ, oO00OQ) {
    return QoO0QQ & oOoQQQ | ~QoO0QQ & oO00OQ;
};

var oOOQ0O = function(QoO0QQ, oOoQQQ) {
    return QoO0QQ << oOoQQQ | QoO0QQ >>> 32 - oOoQQQ;
};

var OQoooQ = function(QoO0QQ) {
    var oOoQQQ = '';
    var oO00OQ = 1;
    while (oO00OQ) {
        switch (oO00OQ) {
        case (76 - 58) / 9:
            {
                oO00OQ = QQQoo0 < QoO0QQ['length'] ? 3 : 0;
                break;
            }
        case (161 - 85) / 19:
            {
                QQQoo0++;
                oO00OQ = 2;
                break;
            }
        case (86 - 65) / 7:
            {
                var oOQO00 = QoO0QQ['charCodeAt'](QQQoo0);
                if (oOQO00 < 128) {
                    oOoQQQ += String['fromCharCode'](oOQO00);
                } else if (oOQO00 > 127 && oOQO00 < 2048) {
                    oOoQQQ += String['fromCharCode'](oOQO00 >> 6 | 192);
                    oOoQQQ += String['fromCharCode'](oOQO00 & 63 | 128);
                } else {
                    oOoQQQ += String['fromCharCode'](oOQO00 >> 12 | 224);
                    oOoQQQ += String['fromCharCode'](oOQO00 >> 6 & 63 | 128);
                    oOoQQQ += String['fromCharCode'](oOQO00 & 63 | 128);
                }
                oO00OQ = 4;
                break;
            }
        case (73 - 66) / 7:
            {
                var QQQoo0 = 0;
                oO00OQ = 2;
                break;
            }
        }
    }
    return oOoQQQ;
};

var oQ0QOO = function(QoO0QQ) {
    var oOoQQQ = 1;
    while (oOoQQQ) {
        switch (oOoQQQ) {
        case (110 - 83) / 9:
            {
                while (ooQ0Oo < QoOoQo) {
                    oOoQ0o = (ooQ0Oo - ooQ0Oo % 4) / 4;
                    QQQoo0 = ooQ0Oo % 4 * 8;
                    oOQO00[oOoQ0o] = oOQO00[oOoQ0o] | QoO0QQ['charCodeAt'](ooQ0Oo) << QQQoo0;
                    ooQ0Oo++;
                }
                oOoQ0o = (ooQ0Oo - ooQ0Oo % 4) / 4;
                QQQoo0 = ooQ0Oo % 4 * 8;
                oOQO00[oOoQ0o] = oOQO00[oOoQ0o] | 128 << QQQoo0;
                oOoQQQ = 4;
                break;
            }
        case (138 - 58) / 20:
            {
                oOQO00[oO00OQ - 2] = QoOoQo << 3;
                oOQO00[oO00OQ - 1] = QoOoQo >>> 29;
                return oOQO00;
                oOoQQQ = 0;
                break;
            }
        case (114 - 100) / 7:
            {
                var oO00OQ = (OQoQ0O + 1) * 16;
                var oOQO00 = Array(oO00OQ - 1);
                var QQQoo0 = 0;
                var ooQ0Oo = 0;
                oOoQQQ = 3;
                break;
            }
        case (79 - 60) / 19:
            {
                var oOoQ0o;
                var QoOoQo = QoO0QQ['length'];
                var ooooo0 = QoOoQo + 8;
                var OQoQ0O = (ooooo0 - ooooo0 % 64) / 64;
                oOoQQQ = 2;
                break;
            }
        }
    }
};

var OOoO0O = function(QoO0QQ, oOoQQQ, oO00OQ) {
    return QoO0QQ & oO00OQ | oOoQQQ & ~oO00OQ;
};

var OOQOoQ = function(QoO0QQ, oOoQQQ, oO00OQ) {
    return QoO0QQ ^ oOoQQQ ^ oO00OQ;
};

var QQooQQ = function(QoO0QQ, oOoQQQ, oO00OQ, oOQO00, QQQoo0, ooQ0Oo, oOoQ0o) {
    QoO0QQ = o0O00o(QoO0QQ, o0O00o(o0O00o(OOoO0O(oOoQQQ, oO00OQ, oOQO00), QQQoo0), oOoQ0o));
    return o0O00o(oOOQ0O(QoO0QQ, ooQ0Oo), oOoQQQ);
};

var OQQQ0Q = function(QoO0QQ, oOoQQQ, oO00OQ, oOQO00, QQQoo0, ooQ0Oo, oOoQ0o) {
    QoO0QQ = o0O00o(QoO0QQ, o0O00o(o0O00o(OOQOoQ(oOoQQQ, oO00OQ, oOQO00), QQQoo0), oOoQ0o));
    return o0O00o(oOOQ0O(QoO0QQ, ooQ0Oo), oOoQQQ);
};

var oo0oQ0 = function(QoO0QQ, oOoQQQ, oO00OQ, oOQO00, QQQoo0, ooQ0Oo, oOoQ0o) {
    QoO0QQ = o0O00o(QoO0QQ, o0O00o(o0O00o(o00OO0(oOoQQQ, oO00OQ, oOQO00), QQQoo0), oOoQ0o));
    return o0O00o(oOOQ0O(QoO0QQ, ooQ0Oo), oOoQQQ);
};

var o00OO0 = function(QoO0QQ, oOoQQQ, oO00OQ) {
    return oOoQQQ ^ (QoO0QQ | ~oO00OQ);
};

var o0O00o = function(QoO0QQ, oOoQQQ) {
    var oO00OQ, oOQO00, QQQoo0, ooQ0Oo, oOoQ0o;
    QQQoo0 = QoO0QQ & 2147483648;
    ooQ0Oo = oOoQQQ & 2147483648;
    oO00OQ = QoO0QQ & 1073741824;
    oOQO00 = oOoQQQ & 1073741824;
    oOoQ0o = (QoO0QQ & 1073741823) + (oOoQQQ & 1073741823);
    if (oO00OQ & oOQO00) {
        return oOoQ0o ^ 2147483648 ^ QQQoo0 ^ ooQ0Oo;
    }
    if (oO00OQ | oOQO00) {
        if (oOoQ0o & 1073741824) {
            return oOoQ0o ^ 3221225472 ^ QQQoo0 ^ ooQ0Oo;
        } else {
            return oOoQ0o ^ 1073741824 ^ QQQoo0 ^ ooQ0Oo;
        }
    } else {
        return oOoQ0o ^ QQQoo0 ^ ooQ0Oo;
    }
};

var oO0000 = function(QoO0QQ) {
    var oOoQQQ = '', oO00OQ = '', oOQO00, QQQoo0;
    var ooQ0Oo = 1;
    while (ooQ0Oo) {
        switch (ooQ0Oo) {
        case (89 - 59) / 15:
            {
                ooQ0Oo = QQQoo0 <= 3 ? 3 : 0;
                break;
            }
        case (136 - 100) / 9:
            {
                QQQoo0++;
                ooQ0Oo = 2;
                break;
            }
        case (70 - 50) / 20:
            {
                QQQoo0 = 0;
                ooQ0Oo = 2;
                break;
            }
        case (96 - 48) / 16:
            {
                oOQO00 = QoO0QQ >>> QQQoo0 * 8 & 255;
                oO00OQ = '0' + oOQO00['toString'](16);
                oOoQQQ = oOoQQQ + oO00OQ['substr'](oO00OQ['length'] - 2, 2);
                ooQ0Oo = 4;
                break;
            }
        }
    }
    return oOoQQQ;
};

var QoQOoQ = function(QoO0QQ) {
    var oOoQQQ = 1;
    while (oOoQQQ) {
        switch (oOoQQQ) {
        case (62 - 45) / 17:
            {
                O0OOO0();
                var oO00OQ = Array();
                var oOQO00, QQQoo0, ooQ0Oo, oOoQ0o, QoOoQo, ooooo0, OQoQ0O, QQOO0o, QOQOQ0;
                var QOO0O0 = 7
                  , oo0oOO = 12
                  , Qo0O00 = 17
                  , OQ00oQ = 22;
                var OO00oO = 5
                  , Q00oQQ = 9
                  , OQQo00 = 14
                  , o0oQQo = 20;
                oOoQQQ = 2;
                break;
            }
        case (112 - 76) / 12:
            {
                OQoQ0O = 4023233417;
                QQOO0o = 2562383102;
                QOQOQ0 = 271733878;
                var Oooo0o = 1;
                while (Oooo0o) {
                    switch (Oooo0o) {
                    case (89 - 69) / 20:
                        {
                            oOQO00 = 0;
                            Oooo0o = 2;
                            break;
                        }
                    case (88 - 64) / 12:
                        {
                            Oooo0o = oOQO00 < oO00OQ['length'] ? 3 : 0;
                            break;
                        }
                    case (72 - 48) / 6:
                        {
                            oOQO00 += 16;
                            Oooo0o = 2;
                            break;
                        }
                    case (70 - 43) / 9:
                        {
                            QQQoo0 = ooooo0;
                            ooQ0Oo = OQoQ0O;
                            oOoQ0o = QQOO0o;
                            QoOoQo = QOQOQ0;
                            ooooo0 = oO00oO(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 0], QOO0O0, 3614090360);
                            QOQOQ0 = oO00oO(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 1], oo0oOO, 3905402710);
                            QQOO0o = oO00oO(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 2], Qo0O00, 606105819);
                            OQoQ0O = oO00oO(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 3], OQ00oQ, 3250441966);
                            ooooo0 = oO00oO(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 4], QOO0O0, 4118548399);
                            QOQOQ0 = oO00oO(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 5], oo0oOO, 1200080426);
                            QQOO0o = oO00oO(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 6], Qo0O00, 2821735955);
                            OQoQ0O = oO00oO(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 7], OQ00oQ, 4249261313);
                            ooooo0 = oO00oO(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 8], QOO0O0, 1770035416);
                            QOQOQ0 = oO00oO(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 9], oo0oOO, 2336552879);
                            QQOO0o = oO00oO(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 10], Qo0O00, 4294925233);
                            OQoQ0O = oO00oO(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 11], OQ00oQ, 2304563134);
                            ooooo0 = oO00oO(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 12], QOO0O0, 1804603682);
                            QOQOQ0 = oO00oO(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 13], oo0oOO, 4254626195);
                            QQOO0o = oO00oO(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 14], Qo0O00, 2792965006);
                            OQoQ0O = oO00oO(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 15], OQ00oQ, 1236535329);
                            ooooo0 = QQooQQ(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 1], OO00oO, 4129170786);
                            QOQOQ0 = QQooQQ(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 6], Q00oQQ, 3225465664);
                            QQOO0o = QQooQQ(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 11], OQQo00, 643717713);
                            OQoQ0O = QQooQQ(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 0], o0oQQo, 3921069994);
                            ooooo0 = QQooQQ(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 5], OO00oO, 3593408605);
                            QOQOQ0 = QQooQQ(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 10], Q00oQQ, 38016083);
                            QQOO0o = QQooQQ(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 15], OQQo00, 3634488961);
                            OQoQ0O = QQooQQ(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 4], o0oQQo, 3889429448);
                            ooooo0 = QQooQQ(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 9], OO00oO, 568446438);
                            QOQOQ0 = QQooQQ(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 14], Q00oQQ, 3275163606);
                            QQOO0o = QQooQQ(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 3], OQQo00, 4107603335);
                            OQoQ0O = QQooQQ(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 8], o0oQQo, 1163531501);
                            ooooo0 = QQooQQ(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 13], OO00oO, 2850285829);
                            QOQOQ0 = QQooQQ(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 2], Q00oQQ, 4243563512);
                            QQOO0o = QQooQQ(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 7], OQQo00, 1735328473);
                            OQoQ0O = QQooQQ(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 12], o0oQQo, 2368359562);
                            ooooo0 = OQQQ0Q(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 5], QOQ0QO, 4294588738);
                            QOQOQ0 = OQQQ0Q(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 8], o0OQ0Q, 2272392833);
                            QQOO0o = OQQQ0Q(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 11], ooOQO0, 1839030562);
                            OQoQ0O = OQQQ0Q(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 14], OQ0ooO, 4259657740);
                            ooooo0 = OQQQ0Q(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 1], QOQ0QO, 2763975236);
                            QOQOQ0 = OQQQ0Q(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 4], o0OQ0Q, 1272893353);
                            QQOO0o = OQQQ0Q(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 7], ooOQO0, 4139469664);
                            OQoQ0O = OQQQ0Q(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 10], OQ0ooO, 3200236656);
                            ooooo0 = OQQQ0Q(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 13], QOQ0QO, 681279174);
                            QOQOQ0 = OQQQ0Q(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 0], o0OQ0Q, 3936430074);
                            QQOO0o = OQQQ0Q(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 3], ooOQO0, 3572445317);
                            OQoQ0O = OQQQ0Q(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 6], OQ0ooO, 76029189);
                            ooooo0 = OQQQ0Q(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 9], QOQ0QO, 3654602809);
                            QOQOQ0 = OQQQ0Q(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 12], o0OQ0Q, 3873151461);
                            QQOO0o = OQQQ0Q(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 15], ooOQO0, 530742520);
                            OQoQ0O = OQQQ0Q(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 2], OQ0ooO, 3299628645);
                            ooooo0 = oo0oQ0(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 0], oOOOQQ, 4096336452);
                            QOQOQ0 = oo0oQ0(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 7], OQoOoO, 1126891415);
                            QQOO0o = oo0oQ0(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 14], oO0QoQ, 2878612391);
                            OQoQ0O = oo0oQ0(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 5], O00OoQ, 4237533241);
                            ooooo0 = oo0oQ0(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 12], oOOOQQ, 1700485571);
                            QOQOQ0 = oo0oQ0(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 3], OQoOoO, 2399980690);
                            QQOO0o = oo0oQ0(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 10], oO0QoQ, 4293915773);
                            OQoQ0O = oo0oQ0(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 1], O00OoQ, 2240044497);
                            ooooo0 = oo0oQ0(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 8], oOOOQQ, 1873313359);
                            QOQOQ0 = oo0oQ0(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 15], OQoOoO, 4264355552);
                            QQOO0o = oo0oQ0(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 6], oO0QoQ, 2734768916);
                            OQoQ0O = oo0oQ0(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 13], O00OoQ, 1309151649);
                            ooooo0 = oo0oQ0(ooooo0, OQoQ0O, QQOO0o, QOQOQ0, oO00OQ[oOQO00 + 4], oOOOQQ, 4149444226);
                            QOQOQ0 = oo0oQ0(QOQOQ0, ooooo0, OQoQ0O, QQOO0o, oO00OQ[oOQO00 + 11], OQoOoO, 3174756917);
                            QQOO0o = oo0oQ0(QQOO0o, QOQOQ0, ooooo0, OQoQ0O, oO00OQ[oOQO00 + 2], oO0QoQ, 718787259);
                            OQoQ0O = oo0oQ0(OQoQ0O, QQOO0o, QOQOQ0, ooooo0, oO00OQ[oOQO00 + 9], O00OoQ, 3951481745);
                            ooooo0 = o0O00o(ooooo0, QQQoo0);
                            OQoQ0O = o0O00o(OQoQ0O, ooQ0Oo);
                            QQOO0o = o0O00o(QQOO0o, oOoQ0o);
                            QOQOQ0 = o0O00o(QOQOQ0, QoOoQo);
                            Oooo0o = 4;
                            break;
                        }
                    }
                }
                oOoQQQ = 4;
                break;
            }
        case (106 - 88) / 9:
            {
                var QOQ0QO = 4
                  , o0OQ0Q = 11
                  , ooOQO0 = 16
                  , OQ0ooO = 23;
                var oOOOQQ = 6
                  , OQoOoO = 10
                  , oO0QoQ = 15
                  , O00OoQ = 21;
                QoO0QQ = OQoooQ(QoO0QQ);
                oO00OQ = oQ0QOO(QoO0QQ);
                ooooo0 = 1732584193;
                oOoQQQ = 3;
                break;
            }
        case (137 - 93) / 11:
            {
                var QOQ0QQ = oO0000(ooooo0) + oO0000(OQoQ0O) + oO0000(QQOO0o) + oO0000(QOQOQ0);
                return QOQ0QQ;
                oOoQQQ = 0;
                break;
            }
        }
    }
};

var QQ0Q0Q = function QQ0Q0Q(QoO0QQ) {
    var oOoQQQ = '';
    for (var oO00OQ = 0; oO00OQ < QoO0QQ.length; oO00OQ++) {
        var oOQO00 = QoO0QQ.charCodeAt(oO00OQ);
        if (oOQO00 >= 97 && oOQO00 <= 122) {
            if (oOQO00 == 97) {
                oOQO00 = 123;
            }
            ;oOoQQQ += String.fromCharCode(oOQO00 - 1);
        } else {
            oOoQQQ += QoO0QQ[oO00OQ];
        }
    }
    return oOoQQQ;
}

var OoQooo = function(QoO0QQ) {
    var oOoQQQ = 'abcdefghijklmnoqprstuvwxyzABCDEFGHJIKLMNOPQRSTUVWXYZ0123456789';
    var oO00OQ = '';
    var oOQO00 = 1;
    while (oOQO00) {
        switch (oOQO00) {
        case (57 - 49) / 8:
            {
                var QQQoo0 = 0;
                oOQO00 = 2;
                break;
            }
        case (162 - 98) / 16:
            {
                QQQoo0++;
                oOQO00 = 2;
                break;
            }
        case (91 - 64) / 9:
            {
                var ooQ0Oo = Math[QQ0Q0Q('dfjm')](Math[QQ0Q0Q('sboepn')]() * 35);
                oO00OQ += oOoQQQ[ooQ0Oo];
                oOQO00 = 4;
                break;
            }
        case (84 - 50) / 17:
            {
                oOQO00 = QQQoo0 < QoO0QQ ? 3 : 0;
                break;
            }
        }
    }
    return oO00OQ;
};

var OOOQ00 = function(QoO0QQ, oOoQQQ, oO00OQ,validateCodeObj) {
    QoQQO0();
    var O0OooO = ''
      , QQQoo0 = '';
      
      var mobj = {};
      mobj.left = 785;
      mobj.top = -2;
     // QQO00O = _$td(OoQQo0 + ' ' + ".td-pop-cnt").offset()
     QQO00O = mobj
      , oOoQ0o = function(QoO0QQ) {
       // if (oOo0oQ !== 1 && QoO0QQ > QQO00O.left) {
       //     QoO0QQ = QQO00O.left + (QoO0QQ - QQO00O.left) / oOo0oQ;
       // }
        return QoO0QQ;
    }
      , QoOoQo = function(QoO0QQ) {
       // if (oOo0oQ !== 1 && QoO0QQ > QQO00O.top) {
       //     QoO0QQ = QQO00O.top + (QoO0QQ - QQO00O.top) / oOo0oQ;
       // }
        return QoO0QQ;
    };
    if (oO00OQ === 'click') {
        var ooooo0 = _$td(OoQQo0 + ' ' + '.td-bg-img').offset();
        var OOooo0 = new Date().getTime();
        O0OooO = OQoOOQ(oOoQ0o(ooooo0.left)) + ',' + OQoOOQ(QoOoQo(ooooo0.top)) + ',' + OQoOOQ(oOoQ0o(ooooo0.left + 320)) + ',' + OQoOOQ(QoOoQo(ooooo0.top) + 180) + QQ0Q0Q(',2,') + (false ? '1' : '0') + ',' + OQoOOQ(OOooo0);
    } else if (oO00OQ === '3dClick') {
        var OQoQ0O = _$td(OoQQo0 + ' #td-3d-box');
        var QQOO0o = OQoQ0O.attr('td_3d_data_id');
        var QOQOQ0 = OQoQ0O.attr('td_3d_data_X');
        var QOO0O0 = OQoQ0O.attr('td_3d_data_Y');
        _$td(OoQQo0 + ' .' + QQOO0o).find('.td-3d-point').map(function(QoO0QQ) {
            var oOoQQQ = _$td(this).offset();
            O0OooO += oOoQQQ.left + ',' + oOoQQQ.top + ',';
        });
        O0OooO += (oooQoQ.rotateImages[QQOO0o.replace('td-3d-face-', '')] || {}).index + ',' + QOQOQ0 + ',' + QOO0O0 + ',' + oooQoQ.imageType + ',' + (OoooO0 ? '1' : '0') + ',' + OQoOOQ(OOooo0);
    } else {
       // var oo0oOO = _$td(OoQQo0 + ' ' + '.td-pop-slidebar').offset()
        //  , Qo0O00 = _$td(OoQQo0 + ' ' + '.td-pop-center').offset();
       var  oo0oOO = {
            left:800,
            top:273
        }
        var Qo0O00 = {
            left:800,
            top:59
        }
        oo0oOO.top -= 4;
        var OQooQQ = 42;//JS中是固定值
        var oOo0oQ = 1;
        var OOooo0 = new Date().getTime();
        O0OooO = OQoOOQ(oOoQ0o(oo0oOO.left)) + ',' + OQoOOQ(QoOoQo(oo0oOO.top)) + ',' + OQoOOQ(oOoQ0o(oo0oOO.left) + OQooQQ * oOo0oQ) + ',' + OQoOOQ(QoOoQo(oo0oOO.top) + 40) + ',' + OQoOOQ(oOoQ0o(QoO0QQ)) + ',' + OQoOOQ(QoOoQo(oOoQQQ)) + ',' + OQoOOQ(oOoQ0o(Qo0O00.left)) + ',' + OQoOOQ(QoOoQo(Qo0O00.top) + validateCodeObj.slideY) + ',' + '1,' + (false ? '1' : '0') + ',' + OQoOOQ(OOooo0);
    }
    for (var OQ00oQ = 0, OO00oO = oQoQQO.length; OQ00oQ < OO00oO; OQ00oQ++) {
        var Q00oQQ = oQoQQO[OQ00oQ];
        QQQoo0 += OQoOOQ(Q00oQQ.time - OOooo0) + ',' + OQoOOQ(Q00oQQ.type) + ',' + OQoOOQ(oOoQ0o(Q00oQQ.op_x)) + ',' + OQoOOQ(QoOoQo(Q00oQQ.op_y)) + (Q00oQQ.Action ? ',' + OQoOOQ(Q00oQQ.Action) : '') + '|';
    }
    oQoQQO = [];
    var OQQo00 = 10200
      , o0oQQo = (O0OooO + '%').length
      , Oooo0o = QQQoo0.length;
    if (Oooo0o > OQQo00 - o0oQQo) {
        var QOQ0QO = Oooo0o - (OQQo00 - o0oQQo);
        QQQoo0 = QQQoo0.substring(QOQ0QO, Oooo0o - 1).split('|');
        QQQoo0.shift();
        QQQoo0 = QQQoo0.join('|') + '|';
    }
    return O0OooO + '%' + QQQoo0;
};

//获取p1-p9参数
 var OO0QQO = function(QoO0QQ, oOoQQQ, oQ00Oo) {

    var OQo00o = 161186;
    var QO0oQo = false;
    var O0OoO0 = false;
    var myHref = "https://m.hsyuntai.com/med/htdocs/html/slide.html?ytFrom=h5&usePostMessage=1&t="+new Date().getTime()+"&qdAppId="+qdAppId+"&qdEnv=med";
    var mode = 1;

    oOoQQQ.blackBox = oQOQ0o();
    var oOQO00 = (oQoOoo || '|') + '^^' + (window._fmOpt.token || '|') + '^^' + (window._fmOpt.partner || '|') + '^^' + (window._fmOpt.appName || '|');
    var QQQoo0 = oOoQQQ.blackBox + '^^'+oOoQQQ.requestType+'^^1^^1';
    var ooQ0Oo = (OQo00o || '|') + '^^' + (QO0oQo || '|') + '^^' + (O0OoO0 || '|') + '^^' + new Date().getTime();
    var oOoQ0o = QoQOoQ(oOQO00 + '^^' + QQQoo0) + '^^' + (oOoQQQ.validateCodeObj || '|') + '^^' + (oOoQQQ.userAnswer || '|') + '^^' + (oOoQQQ.validateToken || '|') + QoQOoQ(ooQ0Oo);
    var QoOoQo = (oOoQQQ.sensorInfo || '|') + '^^' + (oOoQQQ.mouseInfo || '|') + '^^' + (oOoQQQ.usedTime || '|');
    var ooooo0 = window._fmOpt.token.split('-');
    var OQoQ0O = ooooo0[ooooo0.length - 2] + '-' + ooooo0[ooooo0.length - 1];
    var QQOO0o = QQ0Q0Q('stq67pv9') + OQoQ0O.substring(10, 18);
    var QOQOQ0 = OoQooo(8);
    var QOO0O0 = QOQOoO(QOQOQ0 + myHref, QQOO0o);
    var oo0oOO = QoQOoQ(QOO0O0) + QoQOoQ(ooQ0Oo);
    var ooQ0Oo = QOQOoO(ooQ0Oo, QQOO0o);
    var OQ00oQ = QQ0Q0Q('xfc');
    var OO00oO = {};

    OO00oO.p1 = encodeURI(oOQO00);
    OO00oO.p2 = encodeURI(QQQoo0);
    OO00oO.p3 = QOQOoO(oOoQ0o, QQOO0o);//坐标X加密
    OO00oO.p4 = QOQOoO(QoOoQo, QQOO0o);//轨迹加密
    OO00oO.p5 = OQ00oQ;
    OO00oO.p6 = QOO0O0;
    OO00oO.p7 = oo0oOO + OoQooo(32);
    OO00oO.p8 = QOQOQ0;
    OO00oO.p9 = ooQ0Oo;
    OO00oO.mode = mode;

    OO00oO.token = window._fmOpt.token;

    return OO00oO;
 }

 //生成从minNum到maxNum的随机数
function randomNum(minNum,maxNum){ 
    switch(arguments.length){ 
        case 1: 
            return parseInt(Math.random()*minNum+1,10); 
        break; 
        case 2: 
            return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10); 
        break; 
            default: 
                return 0; 
            break; 
    } 
}

 //准备入参
 var QoO0QQ = 'https://sphinx.tongdun.net/sphinx/validatecode/v1';
 var oOoQQQ = {};
 oOoQQQ.requestType = 1;//首次获取验证码值为1,刷新验证码为2 验证为3

 if(oOoQQQ.requestType == 2){
    var oooQoQ = {};//这个是上次获取验证码返回的validateCodeObj
    oOoQQQ.validateCodeObj =  JSON.stringify(oooQoQ);
 }else if(oOoQQQ.requestType == 1){
    oOoQQQ.usedTime = 0;//JS中是固定值
    oOoQQQ.mouseInfo = oO00Oo(0, 0);
 }
 

 //调用
 //var res = OO0QQO(QoO0QQ, oOoQQQ, oQ00Oo);
 //console.log(res);
 

 //token是获取验证码时返回的token
 var getSign = function(requestType,validateCodeObj,x,token){
    if(token != undefined && token != ''){
        window._fmOpt.token = token
    }else{
        window._fmOpt.token = window._fmOpt.partner + '-' + new Date().getTime() + '-' + Math.random().toString(16).substr(2);
    }

    oOoQQQ = {};
    oOoQQQ.requestType = requestType;
    if(oOoQQQ.requestType == 2){
        oOoQQQ.validateCodeObj =  JSON.stringify(validateCodeObj);
     }else if(oOoQQQ.requestType == 1){
        oOoQQQ.usedTime = 0;
        oOoQQQ.mouseInfo = oO00Oo(0, 0);
     }else if(oOoQQQ.requestType == 3){
        oOoQQQ.validateCodeObj =  validateCodeObj;//获取验证码返回的validateCodeObj,需要转成字符串
        oOoQQQ.usedTime = randomNum(500,1600);//看着像滑动时间
        oOoQQQ.mouseInfo = OOOQ00(835, 355,undefined,validateCodeObj);//这个看着像轨迹
        oOoQQQ.userAnswer = x+'|10|'+new Date().getTime();  //81|10|1660816242427 格式坐标X|10|时间戳  10是固定值
        oOoQQQ.sensorInfo = undefined;
     }

    var res = OO0QQO(QoO0QQ, oOoQQQ, oQ00Oo);
    return res;
 }

 var requestType = 3;
 var x = '74';
 var token = 'hsyuntai-1660813727844-195ba55b3ff06';
 var mobj =   {
    "bgImageSplitSequence": "EAD2C1963847B5F0",
    "encryptGeneral": "9SkIe6htvnDraO08h/6aAdqQH77wzrCxeecCKYA6N2Y=_2",
    "encryptVerification": "ifO/6WZi5QLJfAXwWqlvTJ7TAxC0U1lfySXmkrnlc18=_2",
    "height": 315,
    "imageType": "1",
    "slideBgi": "/sphinx/slide-bg/Kw9V6np5p7tDwX1c8FgazwSXDLm4Y3vzYv+F3/DG+4/Fym3Ozj4lnDpajjlXQHNR.jpeg",
    "slideImage": "/sphinx/slide/Kw9V6np5p7tDwX1c8FgazwSXDLm4Y3vzYv+F3/DG+4/Fym3Ozj4lnDpajjlXQHNR.png",
    "slideY": 126,
    "width": 350
};

 //res = getSign(requestType,mobj,x,token);
 //console.log(res);

 var signUtil = {};
 signUtil.getSign = getSign;
 module.exports = signUtil;

纯技术交流,请勿用于非法用途,如有权益问题可以发私信联系我删除.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/liberty888/article/details/131808750

智能推荐

什么是内部类?成员内部类、静态内部类、局部内部类和匿名内部类的区别及作用?_成员内部类和局部内部类的区别-程序员宅基地

文章浏览阅读3.4k次,点赞8次,收藏42次。一、什么是内部类?or 内部类的概念内部类是定义在另一个类中的类;下面类TestB是类TestA的内部类。即内部类对象引用了实例化该内部对象的外围类对象。public class TestA{ class TestB {}}二、 为什么需要内部类?or 内部类有什么作用?1、 内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据。2、内部类可以对同一个包中的其他类隐藏起来。3、 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。三、 内部类的分类成员内部_成员内部类和局部内部类的区别

分布式系统_分布式系统运维工具-程序员宅基地

文章浏览阅读118次。分布式系统要求拆分分布式思想的实质搭配要求分布式系统要求按照某些特定的规则将项目进行拆分。如果将一个项目的所有模板功能都写到一起,当某个模块出现问题时将直接导致整个服务器出现问题。拆分按照业务拆分为不同的服务器,有效的降低系统架构的耦合性在业务拆分的基础上可按照代码层级进行拆分(view、controller、service、pojo)分布式思想的实质分布式思想的实质是为了系统的..._分布式系统运维工具

用Exce分析l数据极简入门_exce l趋势分析数据量-程序员宅基地

文章浏览阅读174次。1.数据源准备2.数据处理step1:数据表处理应用函数:①VLOOKUP函数; ② CONCATENATE函数终表:step2:数据透视表统计分析(1) 透视表汇总不同渠道用户数, 金额(2)透视表汇总不同日期购买用户数,金额(3)透视表汇总不同用户购买订单数,金额step3:讲第二步结果可视化, 比如, 柱形图(1)不同渠道用户数, 金额(2)不同日期..._exce l趋势分析数据量

宁盾堡垒机双因素认证方案_horizon宁盾双因素配置-程序员宅基地

文章浏览阅读3.3k次。堡垒机可以为企业实现服务器、网络设备、数据库、安全设备等的集中管控和安全可靠运行,帮助IT运维人员提高工作效率。通俗来说,就是用来控制哪些人可以登录哪些资产(事先防范和事中控制),以及录像记录登录资产后做了什么事情(事后溯源)。由于堡垒机内部保存着企业所有的设备资产和权限关系,是企业内部信息安全的重要一环。但目前出现的以下问题产生了很大安全隐患:密码设置过于简单,容易被暴力破解;为方便记忆,设置统一的密码,一旦单点被破,极易引发全面危机。在单一的静态密码验证机制下,登录密码是堡垒机安全的唯一_horizon宁盾双因素配置

谷歌浏览器安装(Win、Linux、离线安装)_chrome linux debian离线安装依赖-程序员宅基地

文章浏览阅读7.7k次,点赞4次,收藏16次。Chrome作为一款挺不错的浏览器,其有着诸多的优良特性,并且支持跨平台。其支持(Windows、Linux、Mac OS X、BSD、Android),在绝大多数情况下,其的安装都很简单,但有时会由于网络原因,无法安装,所以在这里总结下Chrome的安装。Windows下的安装:在线安装:离线安装:Linux下的安装:在线安装:离线安装:..._chrome linux debian离线安装依赖

烤仔TVの尚书房 | 逃离北上广?不如押宝越南“北上广”-程序员宅基地

文章浏览阅读153次。中国发达城市榜单每天都在刷新,但无非是北上广轮流坐庄。北京拥有最顶尖的文化资源,上海是“摩登”的国际化大都市,广州是活力四射的千年商都。GDP和发展潜力是衡量城市的数字指...

随便推点

java spark的使用和配置_使用java调用spark注册进去的程序-程序员宅基地

文章浏览阅读3.3k次。前言spark在java使用比较少,多是scala的用法,我这里介绍一下我在项目中使用的代码配置详细算法的使用请点击我主页列表查看版本jar版本说明spark3.0.1scala2.12这个版本注意和spark版本对应,只是为了引jar包springboot版本2.3.2.RELEASEmaven<!-- spark --> <dependency> <gro_使用java调用spark注册进去的程序

汽车零部件开发工具巨头V公司全套bootloader中UDS协议栈源代码,自己完成底层外设驱动开发后,集成即可使用_uds协议栈 源代码-程序员宅基地

文章浏览阅读4.8k次。汽车零部件开发工具巨头V公司全套bootloader中UDS协议栈源代码,自己完成底层外设驱动开发后,集成即可使用,代码精简高效,大厂出品有量产保证。:139800617636213023darcy169_uds协议栈 源代码

AUTOSAR基础篇之OS(下)_autosar 定义了 5 种多核支持类型-程序员宅基地

文章浏览阅读4.6k次,点赞20次,收藏148次。AUTOSAR基础篇之OS(下)前言首先,请问大家几个小小的问题,你清楚:你知道多核OS在什么场景下使用吗?多核系统OS又是如何协同启动或者关闭的呢?AUTOSAR OS存在哪些功能安全等方面的要求呢?多核OS之间的启动关闭与单核相比又存在哪些异同呢?。。。。。。今天,我们来一起探索并回答这些问题。为了便于大家理解,以下是本文的主题大纲:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JCXrdI0k-1636287756923)(https://gite_autosar 定义了 5 种多核支持类型

VS报错无法打开自己写的头文件_vs2013打不开自己定义的头文件-程序员宅基地

文章浏览阅读2.2k次,点赞6次,收藏14次。原因:自己写的头文件没有被加入到方案的包含目录中去,无法被检索到,也就无法打开。将自己写的头文件都放入header files。然后在VS界面上,右键方案名,点击属性。将自己头文件夹的目录添加进去。_vs2013打不开自己定义的头文件

【Redis】Redis基础命令集详解_redis命令-程序员宅基地

文章浏览阅读3.3w次,点赞80次,收藏342次。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。当数据量很大时,count 的数量的指定可能会不起作用,Redis 会自动调整每次的遍历数目。_redis命令

URP渲染管线简介-程序员宅基地

文章浏览阅读449次,点赞3次,收藏3次。URP的设计目标是在保持高性能的同时,提供更多的渲染功能和自定义选项。与普通项目相比,会多出Presets文件夹,里面包含着一些设置,包括本色,声音,法线,贴图等设置。全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,主光源和附加光源在一次Pass中可以一起着色。URP:全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,一次Pass可以计算多个光源。可编程渲染管线:渲染策略是可以供程序员定制的,可以定制的有:光照计算和光源,深度测试,摄像机光照烘焙,后期处理策略等等。_urp渲染管线

推荐文章

热门文章

相关标签