!function o(a, s, l) { function u(t, e) { if (!s[t]) { if (!a[t]) { var r = "function" == typeof require && require; if (!e && r) return r(t, !0); if (c) return c(t, !0); var i = new Error("Cannot find module '" + t + "'"); throw i.code = "MODULE_NOT_FOUND", i } var n = s[t] = { exports: {} }; a[t][0].call(n.exports, function (e) { return u(a[t][1][e] || e) }, n, n.exports, o, a, s, l) } return s[t].exports } for (var c = "function" == typeof require && require, e = 0; e < l.length; e++)u(l[e]); return u }({ 1: [function (e, t, r) { var i = r; i.bignum = e("bn.js"), i.define = e("./asn1/api").define, i.base = e("./asn1/base"), i.constants = e("./asn1/constants"), i.decoders = e("./asn1/decoders"), i.encoders = e("./asn1/encoders") }, { "./asn1/api": 2, "./asn1/base": 4, "./asn1/constants": 8, "./asn1/decoders": 10, "./asn1/encoders": 13, "bn.js": 15 }], 2: [function (e, t, r) { var i = e("../asn1"), n = e("inherits"); function o(e, t) { this.name = e, this.body = t, this.decoders = {}, this.encoders = {} } r.define = function (e, t) { return new o(e, t) }, o.prototype._createNamed = function (t) { var r; try { r = e("vm").runInThisContext("(function " + this.name + "(entity) {\n this._initNamed(entity);\n})") } catch (e) { r = function (e) { this._initNamed(e) } } return n(r, t), r.prototype._initNamed = function (e) { t.call(this, e) }, new r(this) }, o.prototype._getDecoder = function (e) { return e = e || "der", this.decoders.hasOwnProperty(e) || (this.decoders[e] = this._createNamed(i.decoders[e])), this.decoders[e] }, o.prototype.decode = function (e, t, r) { return this._getDecoder(t).decode(e, r) }, o.prototype._getEncoder = function (e) { return e = e || "der", this.encoders.hasOwnProperty(e) || (this.encoders[e] = this._createNamed(i.encoders[e])), this.encoders[e] }, o.prototype.encode = function (e, t, r) { return this._getEncoder(t).encode(e, r) } }, { "../asn1": 1, inherits: 142, vm: 200 }], 3: [function (e, t, r) { var i = e("inherits"), n = e("../base").Reporter, o = e("buffer").Buffer; function a(e, t) { n.call(this, t), o.isBuffer(e) ? (this.base = e, this.offset = 0, this.length = e.length) : this.error("Input not Buffer") } function s(e, t) { if (Array.isArray(e)) this.length = 0, this.value = e.map(function (e) { return e instanceof s || (e = new s(e, t)), this.length += e.length, e }, this); else if ("number" == typeof e) { if (!(0 <= e && e <= 255)) return t.error("non-byte EncoderBuffer value"); this.value = e, this.length = 1 } else if ("string" == typeof e) this.value = e, this.length = o.byteLength(e); else { if (!o.isBuffer(e)) return t.error("Unsupported type: " + typeof e); this.value = e, this.length = e.length } } i(a, n), (r.DecoderBuffer = a).prototype.save = function () { return { offset: this.offset, reporter: n.prototype.save.call(this) } }, a.prototype.restore = function (e) { var t = new a(this.base); return t.offset = e.offset, t.length = this.offset, this.offset = e.offset, n.prototype.restore.call(this, e.reporter), t }, a.prototype.isEmpty = function () { return this.offset === this.length }, a.prototype.readUInt8 = function (e) { return this.offset + 1 <= this.length ? this.base.readUInt8(this.offset++, !0) : this.error(e || "DecoderBuffer overrun") }, a.prototype.skip = function (e, t) { if (!(this.offset + e <= this.length)) return this.error(t || "DecoderBuffer overrun"); var r = new a(this.base); return r._reporterState = this._reporterState, r.offset = this.offset, r.length = this.offset + e, this.offset += e, r }, a.prototype.raw = function (e) { return this.base.slice(e ? e.offset : this.offset, this.length) }, (r.EncoderBuffer = s).prototype.join = function (t, r) { return t = t || new o(this.length), r = r || 0, 0 === this.length || (Array.isArray(this.value) ? this.value.forEach(function (e) { e.join(t, r), r += e.length }) : ("number" == typeof this.value ? t[r] = this.value : "string" == typeof this.value ? t.write(this.value, r) : o.isBuffer(this.value) && this.value.copy(t, r), r += this.length)), t } }, { "../base": 4, buffer: 64, inherits: 142 }], 4: [function (e, t, r) { var i = r; i.Reporter = e("./reporter").Reporter, i.DecoderBuffer = e("./buffer").DecoderBuffer, i.EncoderBuffer = e("./buffer").EncoderBuffer, i.Node = e("./node") }, { "./buffer": 3, "./node": 5, "./reporter": 6 }], 5: [function (e, t, r) { var c = e("../base").Reporter, i = e("../base").EncoderBuffer, f = e("../base").DecoderBuffer, n = e("minimalistic-assert"), o = ["seq", "seqof", "set", "setof", "objid", "bool", "gentime", "utctime", "null_", "enum", "int", "objDesc", "bitstr", "bmpstr", "charstr", "genstr", "graphstr", "ia5str", "iso646str", "numstr", "octstr", "printstr", "t61str", "unistr", "utf8str", "videostr"], a = ["key", "obj", "use", "optional", "explicit", "implicit", "def", "choice", "any", "contains"].concat(o); function s(e, t) { var r = {}; (this._baseState = r).enc = e, r.parent = t || null, r.children = null, r.tag = null, r.args = null, r.reverseArgs = null, r.choice = null, r.optional = !1, r.any = !1, r.obj = !1, r.use = null, r.useDecoder = null, r.key = null, r["default"] = null, r.explicit = null, r.implicit = null, r.contains = null, r.parent || (r.children = [], this._wrap()) } t.exports = s; var l = ["enc", "parent", "children", "tag", "args", "reverseArgs", "choice", "optional", "any", "obj", "use", "alteredUse", "key", "default", "explicit", "implicit", "contains"]; s.prototype.clone = function () { var t = this._baseState, r = {}; l.forEach(function (e) { r[e] = t[e] }); var e = new this.constructor(r.parent); return e._baseState = r, e }, s.prototype._wrap = function () { var r = this._baseState; a.forEach(function (t) { this[t] = function () { var e = new this.constructor(this); return r.children.push(e), e[t].apply(e, arguments) } }, this) }, s.prototype._init = function (e) { var t = this._baseState; n(null === t.parent), e.call(this), t.children = t.children.filter(function (e) { return e._baseState.parent === this }, this), n.equal(t.children.length, 1, "Root node can have only one child") }, s.prototype._useArgs = function (e) { var t = this._baseState, r = e.filter(function (e) { return e instanceof this.constructor }, this); e = e.filter(function (e) { return !(e instanceof this.constructor) }, this), 0 !== r.length && (n(null === t.children), (t.children = r).forEach(function (e) { e._baseState.parent = this }, this)), 0 !== e.length && (n(null === t.args), t.args = e, t.reverseArgs = e.map(function (r) { if ("object" != typeof r || r.constructor !== Object) return r; var i = {}; return Object.keys(r).forEach(function (e) { e == (0 | e) && (e |= 0); var t = r[e]; i[t] = e }), i })) }, ["_peekTag", "_decodeTag", "_use", "_decodeStr", "_decodeObjid", "_decodeTime", "_decodeNull", "_decodeInt", "_decodeBool", "_decodeList", "_encodeComposite", "_encodeStr", "_encodeObjid", "_encodeTime", "_encodeNull", "_encodeInt", "_encodeBool"].forEach(function (t) { s.prototype[t] = function () { var e = this._baseState; throw new Error(t + " not implemented for encoding: " + e.enc) } }), o.forEach(function (r) { s.prototype[r] = function () { var e = this._baseState, t = Array.prototype.slice.call(arguments); return n(null === e.tag), e.tag = r, this._useArgs(t), this } }), s.prototype.use = function (e) { n(e); var t = this._baseState; return n(null === t.use), t.use = e, this }, s.prototype.optional = function () { return this._baseState.optional = !0, this }, s.prototype.def = function (e) { var t = this._baseState; return n(null === t["default"]), t["default"] = e, t.optional = !0, this }, s.prototype.explicit = function (e) { var t = this._baseState; return n(null === t.explicit && null === t.implicit), t.explicit = e, this }, s.prototype.implicit = function (e) { var t = this._baseState; return n(null === t.explicit && null === t.implicit), t.implicit = e, this }, s.prototype.obj = function () { var e = this._baseState, t = Array.prototype.slice.call(arguments); return e.obj = !0, 0 !== t.length && this._useArgs(t), this }, s.prototype.key = function (e) { var t = this._baseState; return n(null === t.key), t.key = e, this }, s.prototype.any = function () { return this._baseState.any = !0, this }, s.prototype.choice = function (t) { var e = this._baseState; return n(null === e.choice), e.choice = t, this._useArgs(Object.keys(t).map(function (e) { return t[e] })), this }, s.prototype.contains = function (e) { var t = this._baseState; return n(null === t.use), t.contains = e, this }, s.prototype._decode = function (t, r) { var e = this._baseState; if (null === e.parent) return t.wrapResult(e.children[0]._decode(t, r)); var i, n = e["default"], o = !0, a = null; if (null !== e.key && (a = t.enterKey(e.key)), e.optional) { var s = null; if (null !== e.explicit ? s = e.explicit : null !== e.implicit ? s = e.implicit : null !== e.tag && (s = e.tag), null !== s || e.any) { if (o = this._peekTag(t, s, e.any), t.isError(o)) return o } else { var l = t.save(); try { null === e.choice ? this._decodeGeneric(e.tag, t, r) : this._decodeChoice(t, r), o = !0 } catch (e) { o = !1 } t.restore(l) } } if (e.obj && o && (i = t.enterObject()), o) { if (null !== e.explicit) { var u = this._decodeTag(t, e.explicit); if (t.isError(u)) return u; t = u } var c, h = t.offset; if (null === e.use && null === e.choice) { e.any && (l = t.save()); var d = this._decodeTag(t, null !== e.implicit ? e.implicit : e.tag, e.any); if (t.isError(d)) return d; e.any ? n = t.raw(l) : t = d } if (r && r.track && null !== e.tag && r.track(t.path(), h, t.length, "tagged"), r && r.track && null !== e.tag && r.track(t.path(), t.offset, t.length, "content"), n = e.any ? n : null === e.choice ? this._decodeGeneric(e.tag, t, r) : this._decodeChoice(t, r), t.isError(n)) return n; e.any || null !== e.choice || null === e.children || e.children.forEach(function (e) { e._decode(t, r) }), !e.contains || "octstr" !== e.tag && "bitstr" !== e.tag || (c = new f(n), n = this._getUse(e.contains, t._reporterState.obj)._decode(c, r)) } return e.obj && o && (n = t.leaveObject(i)), null === e.key || null === n && !0 !== o ? null !== a && t.exitKey(a) : t.leaveKey(a, e.key, n), n }, s.prototype._decodeGeneric = function (e, t, r) { var i = this._baseState; return "seq" === e || "set" === e ? null : "seqof" === e || "setof" === e ? this._decodeList(t, e, i.args[0], r) : /str$/.test(e) ? this._decodeStr(t, e, r) : "objid" === e && i.args ? this._decodeObjid(t, i.args[0], i.args[1], r) : "objid" === e ? this._decodeObjid(t, null, null, r) : "gentime" === e || "utctime" === e ? this._decodeTime(t, e, r) : "null_" === e ? this._decodeNull(t, r) : "bool" === e ? this._decodeBool(t, r) : "objDesc" === e ? this._decodeStr(t, e, r) : "int" === e || "enum" === e ? this._decodeInt(t, i.args && i.args[0], r) : null !== i.use ? this._getUse(i.use, t._reporterState.obj)._decode(t, r) : t.error("unknown tag: " + e) }, s.prototype._getUse = function (e, t) { var r = this._baseState; return r.useDecoder = this._use(e, t), n(null === r.useDecoder._baseState.parent), r.useDecoder = r.useDecoder._baseState.children[0], r.implicit !== r.useDecoder._baseState.implicit && (r.useDecoder = r.useDecoder.clone(), r.useDecoder._baseState.implicit = r.implicit), r.useDecoder }, s.prototype._decodeChoice = function (n, o) { var a = this._baseState, s = null, l = !1; return Object.keys(a.choice).some(function (e) { var t = n.save(), r = a.choice[e]; try { var i = r._decode(n, o); if (n.isError(i)) return !1; s = { type: e, value: i }, l = !0 } catch (e) { return n.restore(t), !1 } return !0 }, this), l ? s : n.error("Choice not matched") }, s.prototype._createEncoderBuffer = function (e) { return new i(e, this.reporter) }, s.prototype._encode = function (e, t, r) { var i = this._baseState; if (null === i["default"] || i["default"] !== e) { var n = this._encodeValue(e, t, r); if (void 0 !== n && !this._skipDefault(n, t, r)) return n } }, s.prototype._encodeValue = function (i, n, e) { var t = this._baseState; if (null === t.parent) return t.children[0]._encode(i, n || new c); var r = null; if (this.reporter = n, t.optional && void 0 === i) { if (null === t["default"]) return; i = t["default"] } var o, a, s = null, l = !1; if (t.any) r = this._createEncoderBuffer(i); else if (t.choice) r = this._encodeChoice(i, n); else if (t.contains) s = this._getUse(t.contains, e)._encode(i, n), l = !0; else if (t.children) s = t.children.map(function (e) { if ("null_" === e._baseState.tag) return e._encode(null, n, i); if (null === e._baseState.key) return n.error("Child should have a key"); var t = n.enterKey(e._baseState.key); if ("object" != typeof i) return n.error("Child expected, but input is not object"); var r = e._encode(i[e._baseState.key], n, i); return n.leaveKey(t), r }, this).filter(function (e) { return e }), s = this._createEncoderBuffer(s); else if ("seqof" === t.tag || "setof" === t.tag) { if (!t.args || 1 !== t.args.length) return n.error("Too many args for : " + t.tag); if (!Array.isArray(i)) return n.error("seqof/setof, but data is not Array"); var u = this.clone(); u._baseState.implicit = null, s = this._createEncoderBuffer(i.map(function (e) { var t = this._baseState; return this._getUse(t.args[0], i)._encode(e, n) }, u)) } else null !== t.use ? r = this._getUse(t.use, e)._encode(i, n) : (s = this._encodePrimitive(t.tag, i), l = !0); return t.any || null !== t.choice || (o = null !== t.implicit ? t.implicit : t.tag, a = null === t.implicit ? "universal" : "context", null === o ? null === t.use && n.error("Tag could be omitted only for .use()") : null === t.use && (r = this._encodeComposite(o, l, a, s))), null !== t.explicit && (r = this._encodeComposite(t.explicit, !1, "context", r)), r }, s.prototype._encodeChoice = function (e, t) { var r = this._baseState, i = r.choice[e.type]; return i || n(!1, e.type + " not found in " + JSON.stringify(Object.keys(r.choice))), i._encode(e.value, t) }, s.prototype._encodePrimitive = function (e, t) { var r = this._baseState; if (/str$/.test(e)) return this._encodeStr(t, e); if ("objid" === e && r.args) return this._encodeObjid(t, r.reverseArgs[0], r.args[1]); if ("objid" === e) return this._encodeObjid(t, null, null); if ("gentime" === e || "utctime" === e) return this._encodeTime(t, e); if ("null_" === e) return this._encodeNull(); if ("int" === e || "enum" === e) return this._encodeInt(t, r.args && r.reverseArgs[0]); if ("bool" === e) return this._encodeBool(t); if ("objDesc" === e) return this._encodeStr(t, e); throw new Error("Unsupported tag: " + e) }, s.prototype._isNumstr = function (e) { return /^[0-9 ]*$/.test(e) }, s.prototype._isPrintstr = function (e) { return /^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(e) } }, { "../base": 4, "minimalistic-assert": 148 }], 6: [function (e, t, r) { var i = e("inherits"); function n(e) { this._reporterState = { obj: null, path: [], options: e || {}, errors: [] } } function o(e, t) { this.path = e, this.rethrow(t) } (r.Reporter = n).prototype.isError = function (e) { return e instanceof o }, n.prototype.save = function () { var e = this._reporterState; return { obj: e.obj, pathLen: e.path.length } }, n.prototype.restore = function (e) { var t = this._reporterState; t.obj = e.obj, t.path = t.path.slice(0, e.pathLen) }, n.prototype.enterKey = function (e) { return this._reporterState.path.push(e) }, n.prototype.exitKey = function (e) { var t = this._reporterState; t.path = t.path.slice(0, e - 1) }, n.prototype.leaveKey = function (e, t, r) { var i = this._reporterState; this.exitKey(e), null !== i.obj && (i.obj[t] = r) }, n.prototype.path = function () { return this._reporterState.path.join("/") }, n.prototype.enterObject = function () { var e = this._reporterState, t = e.obj; return e.obj = {}, t }, n.prototype.leaveObject = function (e) { var t = this._reporterState, r = t.obj; return t.obj = e, r }, n.prototype.error = function (e) { var t = this._reporterState, r = e instanceof o, i = r ? e : new o(t.path.map(function (e) { return "[" + JSON.stringify(e) + "]" }).join(""), e.message || e, e.stack); if (!t.options.partial) throw i; return r || t.errors.push(i), i }, n.prototype.wrapResult = function (e) { var t = this._reporterState; return t.options.partial ? { result: this.isError(e) ? null : e, errors: t.errors } : e }, i(o, Error), o.prototype.rethrow = function (e) { if (this.message = e + " at: " + (this.path || "(shallow)"), Error.captureStackTrace && Error.captureStackTrace(this, o), !this.stack) try { throw new Error(this.message) } catch (e) { this.stack = e.stack } return this } }, { inherits: 142 }], 7: [function (e, t, r) { var i = e("../constants"); r.tagClass = { 0: "universal", 1: "application", 2: "context", 3: "private" }, r.tagClassByName = i._reverse(r.tagClass), r.tag = { 0: "end", 1: "bool", 2: "int", 3: "bitstr", 4: "octstr", 5: "null_", 6: "objid", 7: "objDesc", 8: "external", 9: "real", 10: "enum", 11: "embed", 12: "utf8str", 13: "relativeOid", 16: "seq", 17: "set", 18: "numstr", 19: "printstr", 20: "t61str", 21: "videostr", 22: "ia5str", 23: "utctime", 24: "gentime", 25: "graphstr", 26: "iso646str", 27: "genstr", 28: "unistr", 29: "charstr", 30: "bmpstr" }, r.tagByName = i._reverse(r.tag) }, { "../constants": 8 }], 8: [function (e, t, r) { var i = r; i._reverse = function (r) { var i = {}; return Object.keys(r).forEach(function (e) { (0 | e) == e && (e |= 0); var t = r[e]; i[t] = e }), i }, i.der = e("./der") }, { "./der": 7 }], 9: [function (e, t, r) { var i = e("inherits"), n = e("../../asn1"), o = n.base, a = n.bignum, s = n.constants.der; function l(e) { this.enc = "der", this.name = e.name, this.entity = e, this.tree = new u, this.tree._init(e.body) } function u(e) { o.Node.call(this, "der", e) } function c(e, t) { var r = e.readUInt8(t); if (e.isError(r)) return r; var i = s.tagClass[r >> 6], n = 0 == (32 & r); if (31 == (31 & r)) for (var o = r, r = 0; 128 == (128 & o);) { if (o = e.readUInt8(t), e.isError(o)) return o; r <<= 7, r |= 127 & o } else r &= 31; return { cls: i, primitive: n, tag: r, tagStr: s.tag[r] } } function h(e, t, r) { var i = e.readUInt8(r); if (e.isError(i)) return i; if (!t && 128 === i) return null; if (0 == (128 & i)) return i; var n = 127 & i; if (4 < n) return e.error("length octect is too long"); for (var o = i = 0; o < n; o++) { i <<= 8; var a = e.readUInt8(r); if (e.isError(a)) return a; i |= a } return i } (t.exports = l).prototype.decode = function (e, t) { return e instanceof o.DecoderBuffer || (e = new o.DecoderBuffer(e, t)), this.tree._decode(e, t) }, i(u, o.Node), u.prototype._peekTag = function (e, t, r) { if (e.isEmpty()) return !1; var i = e.save(), n = c(e, 'Failed to peek tag: "' + t + '"'); return e.isError(n) ? n : (e.restore(i), n.tag === t || n.tagStr === t || n.tagStr + "of" === t || r) }, u.prototype._decodeTag = function (e, t, r) { var i = c(e, 'Failed to decode tag of "' + t + '"'); if (e.isError(i)) return i; var n = h(e, i.primitive, 'Failed to get length of "' + t + '"'); if (e.isError(n)) return n; if (!r && i.tag !== t && i.tagStr !== t && i.tagStr + "of" !== t) return e.error('Failed to match tag: "' + t + '"'); if (i.primitive || null !== n) return e.skip(n, 'Failed to match body of: "' + t + '"'); var o = e.save(), a = this._skipUntilEnd(e, 'Failed to skip indefinite length body: "' + this.tag + '"'); return e.isError(a) ? a : (n = e.offset - o.offset, e.restore(o), e.skip(n, 'Failed to match body of: "' + t + '"')) }, u.prototype._skipUntilEnd = function (e, t) { for (; ;) { var r = c(e, t); if (e.isError(r)) return r; var i, n = h(e, r.primitive, t); if (e.isError(n)) return n; if (i = r.primitive || null !== n ? e.skip(n) : this._skipUntilEnd(e, t), e.isError(i)) return i; if ("end" === r.tagStr) break } }, u.prototype._decodeList = function (e, t, r, i) { for (var n = []; !e.isEmpty();) { var o = this._peekTag(e, "end"); if (e.isError(o)) return o; var a = r.decode(e, "der", i); if (e.isError(a) && o) break; n.push(a) } return n }, u.prototype._decodeStr = function (e, t) { if ("bitstr" === t) { var r = e.readUInt8(); return e.isError(r) ? r : { unused: r, data: e.raw() } } if ("bmpstr" === t) { var i = e.raw(); if (i.length % 2 == 1) return e.error("Decoding of string type: bmpstr length mismatch"); for (var n = "", o = 0; o < i.length / 2; o++)n += String.fromCharCode(i.readUInt16BE(2 * o)); return n } if ("numstr" === t) { var a = e.raw().toString("ascii"); return this._isNumstr(a) ? a : e.error("Decoding of string type: numstr unsupported characters") } if ("octstr" === t) return e.raw(); if ("objDesc" === t) return e.raw(); if ("printstr" !== t) return /str$/.test(t) ? e.raw().toString() : e.error("Decoding of string type: " + t + " unsupported"); var s = e.raw().toString("ascii"); return this._isPrintstr(s) ? s : e.error("Decoding of string type: printstr unsupported characters") }, u.prototype._decodeObjid = function (e, t, r) { for (var i = [], n = 0; !e.isEmpty();) { var o = e.readUInt8(); n <<= 7, n |= 127 & o, 0 == (128 & o) && (i.push(n), n = 0) } 128 & o && i.push(n); var a, s = i[0] / 40 | 0, l = i[0] % 40, u = r ? i : [s, l].concat(i.slice(1)); return t && (void 0 === (a = t[u.join(" ")]) && (a = t[u.join(".")]), void 0 !== a && (u = a)), u }, u.prototype._decodeTime = function (e, t) { var r = e.raw().toString(); if ("gentime" === t) var i = 0 | r.slice(0, 4), n = 0 | r.slice(4, 6), o = 0 | r.slice(6, 8), a = 0 | r.slice(8, 10), s = 0 | r.slice(10, 12), l = 0 | r.slice(12, 14); else { if ("utctime" !== t) return e.error("Decoding " + t + " time is not supported yet"); i = 0 | r.slice(0, 2), n = 0 | r.slice(2, 4), o = 0 | r.slice(4, 6), a = 0 | r.slice(6, 8), s = 0 | r.slice(8, 10), l = 0 | r.slice(10, 12); i = i < 70 ? 2e3 + i : 1900 + i } return Date.UTC(i, n - 1, o, a, s, l, 0) }, u.prototype._decodeNull = function () { return null }, u.prototype._decodeBool = function (e) { var t = e.readUInt8(); return e.isError(t) ? t : 0 !== t }, u.prototype._decodeInt = function (e, t) { var r = e.raw(), i = new a(r); return t && (i = t[i.toString(10)] || i), i }, u.prototype._use = function (e, t) { return "function" == typeof e && (e = e(t)), e._getDecoder("der").tree } }, { "../../asn1": 1, inherits: 142 }], 10: [function (e, t, r) { var i = r; i.der = e("./der"), i.pem = e("./pem") }, { "./der": 9, "./pem": 11 }], 11: [function (e, t, r) { var i = e("inherits"), h = e("buffer").Buffer, d = e("./der"); function n(e) { d.call(this, e), this.enc = "pem" } i(n, d), (t.exports = n).prototype.decode = function (e, t) { for (var r = e.toString().split(/[\r\n]+/g), i = t.label.toUpperCase(), n = /^-----(BEGIN|END) ([^-]+)-----$/, o = -1, a = -1, s = 0; s < r.length; s++) { var l = r[s].match(n); if (null !== l && l[2] === i) { if (-1 !== o) { if ("END" !== l[1]) break; a = s; break } if ("BEGIN" !== l[1]) break; o = s } } if (-1 === o || -1 === a) throw new Error("PEM section not found for: " + i); var u = r.slice(o + 1, a).join(""); u.replace(/[^a-z0-9\+\/=]+/gi, ""); var c = new h(u, "base64"); return d.prototype.decode.call(this, c, t) } }, { "./der": 9, buffer: 64, inherits: 142 }], 12: [function (e, t, r) { var i = e("inherits"), u = e("buffer").Buffer, n = e("../../asn1"), o = n.base, c = n.constants.der; function a(e) { this.enc = "der", this.name = e.name, this.entity = e, this.tree = new s, this.tree._init(e.body) } function s(e) { o.Node.call(this, "der", e) } function l(e) { return e < 10 ? "0" + e : e } (t.exports = a).prototype.encode = function (e, t) { return this.tree._encode(e, t).join() }, i(s, o.Node), s.prototype._encodeComposite = function (e, t, r, i) { var n = function (e, t, r, i) { var n; "seqof" === e ? e = "seq" : "setof" === e && (e = "set"); if (c.tagByName.hasOwnProperty(e)) n = c.tagByName[e]; else { if ("number" != typeof e || (0 | e) !== e) return i.error("Unknown tag: " + e); n = e } if (31 <= n) return i.error("Multi-octet tag encoding unsupported"); t || (n |= 32); return n |= c.tagClassByName[r || "universal"] << 6 }(e, t, r, this.reporter); if (i.length < 128) return (o = new u(2))[0] = n, o[1] = i.length, this._createEncoderBuffer([o, i]); for (var o, a = 1, s = i.length; 256 <= s; s >>= 8)a++; (o = new u(2 + a))[0] = n, o[1] = 128 | a; for (var s = 1 + a, l = i.length; 0 < l; s--, l >>= 8)o[s] = 255 & l; return this._createEncoderBuffer([o, i]) }, s.prototype._encodeStr = function (e, t) { if ("bitstr" === t) return this._createEncoderBuffer([0 | e.unused, e.data]); if ("bmpstr" !== t) return "numstr" === t ? this._isNumstr(e) ? this._createEncoderBuffer(e) : this.reporter.error("Encoding of string type: numstr supports only digits and space") : "printstr" === t ? this._isPrintstr(e) ? this._createEncoderBuffer(e) : this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark") : /str$/.test(t) || "objDesc" === t ? this._createEncoderBuffer(e) : this.reporter.error("Encoding of string type: " + t + " unsupported"); for (var r = new u(2 * e.length), i = 0; i < e.length; i++)r.writeUInt16BE(e.charCodeAt(i), 2 * i); return this._createEncoderBuffer(r) }, s.prototype._encodeObjid = function (e, t, r) { if ("string" == typeof e) { if (!t) return this.reporter.error("string objid given, but no values map found"); if (!t.hasOwnProperty(e)) return this.reporter.error("objid not found in values map"); e = t[e].split(/[\s\.]+/g); for (var i = 0; i < e.length; i++)e[i] |= 0 } else if (Array.isArray(e)) { e = e.slice(); for (i = 0; i < e.length; i++)e[i] |= 0 } if (!Array.isArray(e)) return this.reporter.error("objid() should be either array or string, got: " + JSON.stringify(e)); if (!r) { if (40 <= e[1]) return this.reporter.error("Second objid identifier OOB"); e.splice(0, 2, 40 * e[0] + e[1]) } for (var n = 0, i = 0; i < e.length; i++) { var o = e[i]; for (n++; 128 <= o; o >>= 7)n++ } for (var a = new u(n), s = a.length - 1, i = e.length - 1; 0 <= i; i--) { o = e[i]; for (a[s--] = 127 & o; 0 < (o >>= 7);)a[s--] = 128 | 127 & o } return this._createEncoderBuffer(a) }, s.prototype._encodeTime = function (e, t) { var r, i = new Date(e); return "gentime" === t ? r = [l(i.getFullYear()), l(i.getUTCMonth() + 1), l(i.getUTCDate()), l(i.getUTCHours()), l(i.getUTCMinutes()), l(i.getUTCSeconds()), "Z"].join("") : "utctime" === t ? r = [l(i.getFullYear() % 100), l(i.getUTCMonth() + 1), l(i.getUTCDate()), l(i.getUTCHours()), l(i.getUTCMinutes()), l(i.getUTCSeconds()), "Z"].join("") : this.reporter.error("Encoding " + t + " time is not supported yet"), this._encodeStr(r, "octstr") }, s.prototype._encodeNull = function () { return this._createEncoderBuffer("") }, s.prototype._encodeInt = function (e, t) { if ("string" == typeof e) { if (!t) return this.reporter.error("String int or enum given, but no values map"); if (!t.hasOwnProperty(e)) return this.reporter.error("Values map doesn't contain: " + JSON.stringify(e)); e = t[e] } var r; if ("number" == typeof e || u.isBuffer(e) || (r = e.toArray(), !e.sign && 128 & r[0] && r.unshift(0), e = new u(r)), u.isBuffer(e)) { var i = e.length; 0 === e.length && i++; var n = new u(i); return e.copy(n), 0 === e.length && (n[0] = 0), this._createEncoderBuffer(n) } if (e < 128) return this._createEncoderBuffer(e); if (e < 256) return this._createEncoderBuffer([0, e]); for (var i = 1, o = e; 256 <= o; o >>= 8)i++; for (o = (n = new Array(i)).length - 1; 0 <= o; o--)n[o] = 255 & e, e >>= 8; return 128 & n[0] && n.unshift(0), this._createEncoderBuffer(new u(n)) }, s.prototype._encodeBool = function (e) { return this._createEncoderBuffer(e ? 255 : 0) }, s.prototype._use = function (e, t) { return "function" == typeof e && (e = e(t)), e._getEncoder("der").tree }, s.prototype._skipDefault = function (e, t, r) { var i, n = this._baseState; if (null === n["default"]) return !1; var o = e.join(); if (void 0 === n.defaultBuffer && (n.defaultBuffer = this._encodeValue(n["default"], t, r).join()), o.length !== n.defaultBuffer.length) return !1; for (i = 0; i < o.length; i++)if (o[i] !== n.defaultBuffer[i]) return !1; return !0 } }, { "../../asn1": 1, buffer: 64, inherits: 142 }], 13: [function (e, t, r) { var i = r; i.der = e("./der"), i.pem = e("./pem") }, { "./der": 12, "./pem": 14 }], 14: [function (e, t, r) { var i = e("inherits"), o = e("./der"); function n(e) { o.call(this, e), this.enc = "pem" } i(n, o), (t.exports = n).prototype.encode = function (e, t) { for (var r = o.prototype.encode.call(this, e).toString("base64"), i = ["-----BEGIN " + t.label + "-----"], n = 0; n < r.length; n += 64)i.push(r.slice(n, n + 64)); return i.push("-----END " + t.label + "-----"), i.join("\n") } }, { "./der": 12, inherits: 142 }], 15: [function (E, e, t) { !function (e, t) { "use strict"; function m(e, t) { if (!e) throw new Error(t || "Assertion failed") } function r(e, t) { e.super_ = t; function r() { } r.prototype = t.prototype, e.prototype = new r, e.prototype.constructor = e } function g(e, t, r) { if (g.isBN(e)) return e; this.negative = 0, this.words = null, this.length = 0, (this.red = null) !== e && ("le" !== t && "be" !== t || (r = t, t = 10), this._init(e || 0, t || 10, r || "be")) } var i; "object" == typeof e ? e.exports = g : t.BN = g, (g.BN = g).wordSize = 26; try { i = E("buffer").Buffer } catch (e) { } function a(e, t, r) { for (var i = 0, n = Math.min(e.length, r), o = t; o < n; o++) { var a = e.charCodeAt(o) - 48; i <<= 4, i |= 49 <= a && a <= 54 ? a - 49 + 10 : 17 <= a && a <= 22 ? a - 17 + 10 : 15 & a } return i } function h(e, t, r, i) { for (var n = 0, o = Math.min(e.length, r), a = t; a < o; a++) { var s = e.charCodeAt(a) - 48; n *= i, n += 49 <= s ? s - 49 + 10 : 17 <= s ? s - 17 + 10 : s } return n } g.isBN = function (e) { return e instanceof g || null !== e && "object" == typeof e && e.constructor.wordSize === g.wordSize && Array.isArray(e.words) }, g.max = function (e, t) { return 0 < e.cmp(t) ? e : t }, g.min = function (e, t) { return e.cmp(t) < 0 ? e : t }, g.prototype._init = function (e, t, r) { if ("number" == typeof e) return this._initNumber(e, t, r); if ("object" == typeof e) return this._initArray(e, t, r); "hex" === t && (t = 16), m(t === (0 | t) && 2 <= t && t <= 36); var i = 0; "-" === (e = e.toString().replace(/\s+/g, ""))[0] && i++, 16 === t ? this._parseHex(e, i) : this._parseBase(e, t, i), "-" === e[0] && (this.negative = 1), this.strip(), "le" === r && this._initArray(this.toArray(), t, r) }, g.prototype._initNumber = function (e, t, r) { e < 0 && (this.negative = 1, e = -e), e < 67108864 ? (this.words = [67108863 & e], this.length = 1) : e < 4503599627370496 ? (this.words = [67108863 & e, e / 67108864 & 67108863], this.length = 2) : (m(e < 9007199254740992), this.words = [67108863 & e, e / 67108864 & 67108863, 1], this.length = 3), "le" === r && this._initArray(this.toArray(), t, r) }, g.prototype._initArray = function (e, t, r) { if (m("number" == typeof e.length), e.length <= 0) return this.words = [0], this.length = 1, this; this.length = Math.ceil(e.length / 3), this.words = new Array(this.length); for (var i, n, o = 0; o < this.length; o++)this.words[o] = 0; var a = 0; if ("be" === r) for (o = e.length - 1, i = 0; 0 <= o; o -= 3)n = e[o] | e[o - 1] << 8 | e[o - 2] << 16, this.words[i] |= n << a & 67108863, this.words[i + 1] = n >>> 26 - a & 67108863, 26 <= (a += 24) && (a -= 26, i++); else if ("le" === r) for (i = o = 0; o < e.length; o += 3)n = e[o] | e[o + 1] << 8 | e[o + 2] << 16, this.words[i] |= n << a & 67108863, this.words[i + 1] = n >>> 26 - a & 67108863, 26 <= (a += 24) && (a -= 26, i++); return this.strip() }, g.prototype._parseHex = function (e, t) { this.length = Math.ceil((e.length - t) / 6), this.words = new Array(this.length); for (var r, i = 0; i < this.length; i++)this.words[i] = 0; for (var n = 0, i = e.length - 6, o = 0; t <= i; i -= 6)r = a(e, i, i + 6), this.words[o] |= r << n & 67108863, this.words[o + 1] |= r >>> 26 - n & 4194303, 26 <= (n += 24) && (n -= 26, o++); i + 6 !== t && (r = a(e, t, i + 6), this.words[o] |= r << n & 67108863, this.words[o + 1] |= r >>> 26 - n & 4194303), this.strip() }, g.prototype._parseBase = function (e, t, r) { this.words = [0]; for (var i = 0, n = this.length = 1; n <= 67108863; n *= t)i++; i--, n = n / t | 0; for (var o = e.length - r, a = o % i, s = Math.min(o, o - a) + r, l = 0, u = r; u < s; u += i)l = h(e, u, u + i, t), this.imuln(n), this.words[0] + l < 67108864 ? this.words[0] += l : this._iaddn(l); if (0 != a) { for (var c = 1, l = h(e, u, e.length, t), u = 0; u < a; u++)c *= t; this.imuln(c), this.words[0] + l < 67108864 ? this.words[0] += l : this._iaddn(l) } }, g.prototype.copy = function (e) { e.words = new Array(this.length); for (var t = 0; t < this.length; t++)e.words[t] = this.words[t]; e.length = this.length, e.negative = this.negative, e.red = this.red }, g.prototype.clone = function () { var e = new g(null); return this.copy(e), e }, g.prototype._expand = function (e) { for (; this.length < e;)this.words[this.length++] = 0; return this }, g.prototype.strip = function () { for (; 1 < this.length && 0 === this.words[this.length - 1];)this.length--; return this._normSign() }, g.prototype._normSign = function () { return 1 === this.length && 0 === this.words[0] && (this.negative = 0), this }, g.prototype.inspect = function () { return (this.red ? "<BN-R: " : "<BN: ") + this.toString(16) + ">" }; var d = ["", "0", "00", "000", "0000", "00000", "000000", "0000000", "00000000", "000000000", "0000000000", "00000000000", "000000000000", "0000000000000", "00000000000000", "000000000000000", "0000000000000000", "00000000000000000", "000000000000000000", "0000000000000000000", "00000000000000000000", "000000000000000000000", "0000000000000000000000", "00000000000000000000000", "000000000000000000000000", "0000000000000000000000000"], f = [0, 0, 25, 16, 12, 11, 10, 9, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5], p = [0, 0, 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, 43046721, 1e7, 19487171, 35831808, 62748517, 7529536, 11390625, 16777216, 24137569, 34012224, 47045881, 64e6, 4084101, 5153632, 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, 243e5, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176]; function n(e, t, r) { r.negative = t.negative ^ e.negative; var i = e.length + t.length | 0, i = (r.length = i) - 1 | 0, n = 67108863 & (h = (0 | e.words[0]) * (0 | t.words[0])), o = h / 67108864 | 0; r.words[0] = n; for (var a = 1; a < i; a++) { for (var s = o >>> 26, l = 67108863 & o, u = Math.min(a, t.length - 1), c = Math.max(0, a - e.length + 1); c <= u; c++) { var h, d = a - c | 0; s += (h = (0 | e.words[d]) * (0 | t.words[c]) + l) / 67108864 | 0, l = 67108863 & h } r.words[a] = 0 | l, o = 0 | s } return 0 !== o ? r.words[a] = 0 | o : r.length--, r.strip() } g.prototype.toString = function (e, t) { if (t = 0 | t || 1, 16 === (e = e || 10) || "hex" === e) { s = ""; for (var r = 0, i = 0, n = 0; n < this.length; n++) { var o = this.words[n], a = (16777215 & (o << r | i)).toString(16), s = 0 !== (i = o >>> 24 - r & 16777215) || n !== this.length - 1 ? d[6 - a.length] + a + s : a + s; 26 <= (r += 2) && (r -= 26, n--) } for (0 !== i && (s = i.toString(16) + s); s.length % t != 0;)s = "0" + s; return 0 !== this.negative && (s = "-" + s), s } if (e === (0 | e) && 2 <= e && e <= 36) { var l = f[e], u = p[e]; for (s = "", (c = this.clone()).negative = 0; !c.isZero();) { var c, h = c.modn(u).toString(e); s = (c = c.idivn(u)).isZero() ? h + s : d[l - h.length] + h + s } for (this.isZero() && (s = "0" + s); s.length % t != 0;)s = "0" + s; return 0 !== this.negative && (s = "-" + s), s } m(!1, "Base should be between 2 and 36") }, g.prototype.toNumber = function () { var e = this.words[0]; return 2 === this.length ? e += 67108864 * this.words[1] : 3 === this.length && 1 === this.words[2] ? e += 4503599627370496 + 67108864 * this.words[1] : 2 < this.length && m(!1, "Number can only safely store up to 53 bits"), 0 !== this.negative ? -e : e }, g.prototype.toJSON = function () { return this.toString(16) }, g.prototype.toBuffer = function (e, t) { return m(void 0 !== i), this.toArrayLike(i, e, t) }, g.prototype.toArray = function (e, t) { return this.toArrayLike(Array, e, t) }, g.prototype.toArrayLike = function (e, t, r) { var i = this.byteLength(), n = r || Math.max(1, i); m(i <= n, "byte array longer than desired length"), m(0 < n, "Requested array length <= 0"), this.strip(); var o, a, s = "le" === t, l = new e(n), u = this.clone(); if (s) { for (a = 0; !u.isZero(); a++)o = u.andln(255), u.iushrn(8), l[a] = o; for (; a < n; a++)l[a] = 0 } else { for (a = 0; a < n - i; a++)l[a] = 0; for (a = 0; !u.isZero(); a++)o = u.andln(255), u.iushrn(8), l[n - a - 1] = o } return l }, Math.clz32 ? g.prototype._countBits = function (e) { return 32 - Math.clz32(e) } : g.prototype._countBits = function (e) { var t = e, r = 0; return 4096 <= t && (r += 13, t >>>= 13), 64 <= t && (r += 7, t >>>= 7), 8 <= t && (r += 4, t >>>= 4), 2 <= t && (r += 2, t >>>= 2), r + t }, g.prototype._zeroBits = function (e) { if (0 === e) return 26; var t = e, r = 0; return 0 == (8191 & t) && (r += 13, t >>>= 13), 0 == (127 & t) && (r += 7, t >>>= 7), 0 == (15 & t) && (r += 4, t >>>= 4), 0 == (3 & t) && (r += 2, t >>>= 2), 0 == (1 & t) && r++, r }, g.prototype.bitLength = function () { var e = this.words[this.length - 1], t = this._countBits(e); return 26 * (this.length - 1) + t }, g.prototype.zeroBits = function () { if (this.isZero()) return 0; for (var e = 0, t = 0; t < this.length; t++) { var r = this._zeroBits(this.words[t]); if (e += r, 26 !== r) break } return e }, g.prototype.byteLength = function () { return Math.ceil(this.bitLength() / 8) }, g.prototype.toTwos = function (e) { return 0 !== this.negative ? this.abs().inotn(e).iaddn(1) : this.clone() }, g.prototype.fromTwos = function (e) { return this.testn(e - 1) ? this.notn(e).iaddn(1).ineg() : this.clone() }, g.prototype.isNeg = function () { return 0 !== this.negative }, g.prototype.neg = function () { return this.clone().ineg() }, g.prototype.ineg = function () { return this.isZero() || (this.negative ^= 1), this }, g.prototype.iuor = function (e) { for (; this.length < e.length;)this.words[this.length++] = 0; for (var t = 0; t < e.length; t++)this.words[t] = this.words[t] | e.words[t]; return this.strip() }, g.prototype.ior = function (e) { return m(0 == (this.negative | e.negative)), this.iuor(e) }, g.prototype.or = function (e) { return this.length > e.length ? this.clone().ior(e) : e.clone().ior(this) }, g.prototype.uor = function (e) { return this.length > e.length ? this.clone().iuor(e) : e.clone().iuor(this) }, g.prototype.iuand = function (e) { for (var t = this.length > e.length ? e : this, r = 0; r < t.length; r++)this.words[r] = this.words[r] & e.words[r]; return this.length = t.length, this.strip() }, g.prototype.iand = function (e) { return m(0 == (this.negative | e.negative)), this.iuand(e) }, g.prototype.and = function (e) { return this.length > e.length ? this.clone().iand(e) : e.clone().iand(this) }, g.prototype.uand = function (e) { return this.length > e.length ? this.clone().iuand(e) : e.clone().iuand(this) }, g.prototype.iuxor = function (e) { for (var t, r = this.length > e.length ? (t = this, e) : (t = e, this), i = 0; i < r.length; i++)this.words[i] = t.words[i] ^ r.words[i]; if (this !== t) for (; i < t.length; i++)this.words[i] = t.words[i]; return this.length = t.length, this.strip() }, g.prototype.ixor = function (e) { return m(0 == (this.negative | e.negative)), this.iuxor(e) }, g.prototype.xor = function (e) { return this.length > e.length ? this.clone().ixor(e) : e.clone().ixor(this) }, g.prototype.uxor = function (e) { return this.length > e.length ? this.clone().iuxor(e) : e.clone().iuxor(this) }, g.prototype.inotn = function (e) { m("number" == typeof e && 0 <= e); var t = 0 | Math.ceil(e / 26), r = e % 26; this._expand(t), 0 < r && t--; for (var i = 0; i < t; i++)this.words[i] = 67108863 & ~this.words[i]; return 0 < r && (this.words[i] = ~this.words[i] & 67108863 >> 26 - r), this.strip() }, g.prototype.notn = function (e) { return this.clone().inotn(e) }, g.prototype.setn = function (e, t) { m("number" == typeof e && 0 <= e); var r = e / 26 | 0, i = e % 26; return this._expand(1 + r), this.words[r] = t ? this.words[r] | 1 << i : this.words[r] & ~(1 << i), this.strip() }, g.prototype.iadd = function (e) { var t, r, i; if (0 !== this.negative && 0 === e.negative) return this.negative = 0, t = this.isub(e), this.negative ^= 1, this._normSign(); if (0 === this.negative && 0 !== e.negative) return e.negative = 0, t = this.isub(e), e.negative = 1, t._normSign(); i = this.length > e.length ? (r = this, e) : (r = e, this); for (var n = 0, o = 0; o < i.length; o++)t = (0 | r.words[o]) + (0 | i.words[o]) + n, this.words[o] = 67108863 & t, n = t >>> 26; for (; 0 !== n && o < r.length; o++)t = (0 | r.words[o]) + n, this.words[o] = 67108863 & t, n = t >>> 26; if (this.length = r.length, 0 !== n) this.words[this.length] = n, this.length++; else if (r !== this) for (; o < r.length; o++)this.words[o] = r.words[o]; return this }, g.prototype.add = function (e) { var t; return 0 !== e.negative && 0 === this.negative ? (e.negative = 0, t = this.sub(e), e.negative ^= 1, t) : 0 === e.negative && 0 !== this.negative ? (this.negative = 0, t = e.sub(this), this.negative = 1, t) : this.length > e.length ? this.clone().iadd(e) : e.clone().iadd(this) }, g.prototype.isub = function (e) { if (0 !== e.negative) { e.negative = 0; var t = this.iadd(e); return e.negative = 1, t._normSign() } if (0 !== this.negative) return this.negative = 0, this.iadd(e), this.negative = 1, this._normSign(); var r, i, n = this.cmp(e); if (0 === n) return this.negative = 0, this.length = 1, this.words[0] = 0, this; i = 0 < n ? (r = this, e) : (r = e, this); for (var o = 0, a = 0; a < i.length; a++)o = (t = (0 | r.words[a]) - (0 | i.words[a]) + o) >> 26, this.words[a] = 67108863 & t; for (; 0 !== o && a < r.length; a++)o = (t = (0 | r.words[a]) + o) >> 26, this.words[a] = 67108863 & t; if (0 === o && a < r.length && r !== this) for (; a < r.length; a++)this.words[a] = r.words[a]; return this.length = Math.max(this.length, a), r !== this && (this.negative = 1), this.strip() }, g.prototype.sub = function (e) { return this.clone().isub(e) }; var o = function (e, t, r) { var i, n, o, a = e.words, s = t.words, l = r.words, u = 0, c = 0 | a[0], h = 8191 & c, d = c >>> 13, f = 0 | a[1], p = 8191 & f, y = f >>> 13, m = 0 | a[2], g = 8191 & m, b = m >>> 13, v = 0 | a[3], _ = 8191 & v, w = v >>> 13, S = 0 | a[4], E = 8191 & S, x = S >>> 13, T = 0 | a[5], M = 8191 & T, k = T >>> 13, P = 0 | a[6], C = 8191 & P, A = P >>> 13, I = 0 | a[7], R = 8191 & I, L = I >>> 13, D = 0 | a[8], B = 8191 & D, O = D >>> 13, U = 0 | a[9], N = 8191 & U, H = U >>> 13, j = 0 | s[0], F = 8191 & j, q = j >>> 13, V = 0 | s[1], z = 8191 & V, K = V >>> 13, W = 0 | s[2], X = 8191 & W, G = W >>> 13, Y = 0 | s[3], Q = 8191 & Y, J = Y >>> 13, Z = 0 | s[4], $ = 8191 & Z, ee = Z >>> 13, te = 0 | s[5], re = 8191 & te, ie = te >>> 13, ne = 0 | s[6], oe = 8191 & ne, ae = ne >>> 13, se = 0 | s[7], le = 8191 & se, ue = se >>> 13, ce = 0 | s[8], he = 8191 & ce, de = ce >>> 13, fe = 0 | s[9], pe = 8191 & fe, ye = fe >>> 13; r.negative = e.negative ^ t.negative, r.length = 19; var me = (u + (i = Math.imul(h, F)) | 0) + ((8191 & (n = (n = Math.imul(h, q)) + Math.imul(d, F) | 0)) << 13) | 0, u = ((o = Math.imul(d, q)) + (n >>> 13) | 0) + (me >>> 26) | 0; me &= 67108863, i = Math.imul(p, F), n = (n = Math.imul(p, q)) + Math.imul(y, F) | 0, o = Math.imul(y, q); var ge = (u + (i = i + Math.imul(h, z) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, K) | 0) + Math.imul(d, z) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, K) | 0) + (n >>> 13) | 0) + (ge >>> 26) | 0, ge &= 67108863, i = Math.imul(g, F), n = (n = Math.imul(g, q)) + Math.imul(b, F) | 0, o = Math.imul(b, q), i = i + Math.imul(p, z) | 0, n = (n = n + Math.imul(p, K) | 0) + Math.imul(y, z) | 0, o = o + Math.imul(y, K) | 0; var be = (u + (i = i + Math.imul(h, X) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, G) | 0) + Math.imul(d, X) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, G) | 0) + (n >>> 13) | 0) + (be >>> 26) | 0, be &= 67108863, i = Math.imul(_, F), n = (n = Math.imul(_, q)) + Math.imul(w, F) | 0, o = Math.imul(w, q), i = i + Math.imul(g, z) | 0, n = (n = n + Math.imul(g, K) | 0) + Math.imul(b, z) | 0, o = o + Math.imul(b, K) | 0, i = i + Math.imul(p, X) | 0, n = (n = n + Math.imul(p, G) | 0) + Math.imul(y, X) | 0, o = o + Math.imul(y, G) | 0; var ve = (u + (i = i + Math.imul(h, Q) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, J) | 0) + Math.imul(d, Q) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, J) | 0) + (n >>> 13) | 0) + (ve >>> 26) | 0, ve &= 67108863, i = Math.imul(E, F), n = (n = Math.imul(E, q)) + Math.imul(x, F) | 0, o = Math.imul(x, q), i = i + Math.imul(_, z) | 0, n = (n = n + Math.imul(_, K) | 0) + Math.imul(w, z) | 0, o = o + Math.imul(w, K) | 0, i = i + Math.imul(g, X) | 0, n = (n = n + Math.imul(g, G) | 0) + Math.imul(b, X) | 0, o = o + Math.imul(b, G) | 0, i = i + Math.imul(p, Q) | 0, n = (n = n + Math.imul(p, J) | 0) + Math.imul(y, Q) | 0, o = o + Math.imul(y, J) | 0; var _e = (u + (i = i + Math.imul(h, $) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, ee) | 0) + Math.imul(d, $) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, ee) | 0) + (n >>> 13) | 0) + (_e >>> 26) | 0, _e &= 67108863, i = Math.imul(M, F), n = (n = Math.imul(M, q)) + Math.imul(k, F) | 0, o = Math.imul(k, q), i = i + Math.imul(E, z) | 0, n = (n = n + Math.imul(E, K) | 0) + Math.imul(x, z) | 0, o = o + Math.imul(x, K) | 0, i = i + Math.imul(_, X) | 0, n = (n = n + Math.imul(_, G) | 0) + Math.imul(w, X) | 0, o = o + Math.imul(w, G) | 0, i = i + Math.imul(g, Q) | 0, n = (n = n + Math.imul(g, J) | 0) + Math.imul(b, Q) | 0, o = o + Math.imul(b, J) | 0, i = i + Math.imul(p, $) | 0, n = (n = n + Math.imul(p, ee) | 0) + Math.imul(y, $) | 0, o = o + Math.imul(y, ee) | 0; var we = (u + (i = i + Math.imul(h, re) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, ie) | 0) + Math.imul(d, re) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, ie) | 0) + (n >>> 13) | 0) + (we >>> 26) | 0, we &= 67108863, i = Math.imul(C, F), n = (n = Math.imul(C, q)) + Math.imul(A, F) | 0, o = Math.imul(A, q), i = i + Math.imul(M, z) | 0, n = (n = n + Math.imul(M, K) | 0) + Math.imul(k, z) | 0, o = o + Math.imul(k, K) | 0, i = i + Math.imul(E, X) | 0, n = (n = n + Math.imul(E, G) | 0) + Math.imul(x, X) | 0, o = o + Math.imul(x, G) | 0, i = i + Math.imul(_, Q) | 0, n = (n = n + Math.imul(_, J) | 0) + Math.imul(w, Q) | 0, o = o + Math.imul(w, J) | 0, i = i + Math.imul(g, $) | 0, n = (n = n + Math.imul(g, ee) | 0) + Math.imul(b, $) | 0, o = o + Math.imul(b, ee) | 0, i = i + Math.imul(p, re) | 0, n = (n = n + Math.imul(p, ie) | 0) + Math.imul(y, re) | 0, o = o + Math.imul(y, ie) | 0; var Se = (u + (i = i + Math.imul(h, oe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, ae) | 0) + Math.imul(d, oe) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, ae) | 0) + (n >>> 13) | 0) + (Se >>> 26) | 0, Se &= 67108863, i = Math.imul(R, F), n = (n = Math.imul(R, q)) + Math.imul(L, F) | 0, o = Math.imul(L, q), i = i + Math.imul(C, z) | 0, n = (n = n + Math.imul(C, K) | 0) + Math.imul(A, z) | 0, o = o + Math.imul(A, K) | 0, i = i + Math.imul(M, X) | 0, n = (n = n + Math.imul(M, G) | 0) + Math.imul(k, X) | 0, o = o + Math.imul(k, G) | 0, i = i + Math.imul(E, Q) | 0, n = (n = n + Math.imul(E, J) | 0) + Math.imul(x, Q) | 0, o = o + Math.imul(x, J) | 0, i = i + Math.imul(_, $) | 0, n = (n = n + Math.imul(_, ee) | 0) + Math.imul(w, $) | 0, o = o + Math.imul(w, ee) | 0, i = i + Math.imul(g, re) | 0, n = (n = n + Math.imul(g, ie) | 0) + Math.imul(b, re) | 0, o = o + Math.imul(b, ie) | 0, i = i + Math.imul(p, oe) | 0, n = (n = n + Math.imul(p, ae) | 0) + Math.imul(y, oe) | 0, o = o + Math.imul(y, ae) | 0; var Ee = (u + (i = i + Math.imul(h, le) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, ue) | 0) + Math.imul(d, le) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, ue) | 0) + (n >>> 13) | 0) + (Ee >>> 26) | 0, Ee &= 67108863, i = Math.imul(B, F), n = (n = Math.imul(B, q)) + Math.imul(O, F) | 0, o = Math.imul(O, q), i = i + Math.imul(R, z) | 0, n = (n = n + Math.imul(R, K) | 0) + Math.imul(L, z) | 0, o = o + Math.imul(L, K) | 0, i = i + Math.imul(C, X) | 0, n = (n = n + Math.imul(C, G) | 0) + Math.imul(A, X) | 0, o = o + Math.imul(A, G) | 0, i = i + Math.imul(M, Q) | 0, n = (n = n + Math.imul(M, J) | 0) + Math.imul(k, Q) | 0, o = o + Math.imul(k, J) | 0, i = i + Math.imul(E, $) | 0, n = (n = n + Math.imul(E, ee) | 0) + Math.imul(x, $) | 0, o = o + Math.imul(x, ee) | 0, i = i + Math.imul(_, re) | 0, n = (n = n + Math.imul(_, ie) | 0) + Math.imul(w, re) | 0, o = o + Math.imul(w, ie) | 0, i = i + Math.imul(g, oe) | 0, n = (n = n + Math.imul(g, ae) | 0) + Math.imul(b, oe) | 0, o = o + Math.imul(b, ae) | 0, i = i + Math.imul(p, le) | 0, n = (n = n + Math.imul(p, ue) | 0) + Math.imul(y, le) | 0, o = o + Math.imul(y, ue) | 0; var xe = (u + (i = i + Math.imul(h, he) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, de) | 0) + Math.imul(d, he) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, de) | 0) + (n >>> 13) | 0) + (xe >>> 26) | 0, xe &= 67108863, i = Math.imul(N, F), n = (n = Math.imul(N, q)) + Math.imul(H, F) | 0, o = Math.imul(H, q), i = i + Math.imul(B, z) | 0, n = (n = n + Math.imul(B, K) | 0) + Math.imul(O, z) | 0, o = o + Math.imul(O, K) | 0, i = i + Math.imul(R, X) | 0, n = (n = n + Math.imul(R, G) | 0) + Math.imul(L, X) | 0, o = o + Math.imul(L, G) | 0, i = i + Math.imul(C, Q) | 0, n = (n = n + Math.imul(C, J) | 0) + Math.imul(A, Q) | 0, o = o + Math.imul(A, J) | 0, i = i + Math.imul(M, $) | 0, n = (n = n + Math.imul(M, ee) | 0) + Math.imul(k, $) | 0, o = o + Math.imul(k, ee) | 0, i = i + Math.imul(E, re) | 0, n = (n = n + Math.imul(E, ie) | 0) + Math.imul(x, re) | 0, o = o + Math.imul(x, ie) | 0, i = i + Math.imul(_, oe) | 0, n = (n = n + Math.imul(_, ae) | 0) + Math.imul(w, oe) | 0, o = o + Math.imul(w, ae) | 0, i = i + Math.imul(g, le) | 0, n = (n = n + Math.imul(g, ue) | 0) + Math.imul(b, le) | 0, o = o + Math.imul(b, ue) | 0, i = i + Math.imul(p, he) | 0, n = (n = n + Math.imul(p, de) | 0) + Math.imul(y, he) | 0, o = o + Math.imul(y, de) | 0; var Te = (u + (i = i + Math.imul(h, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, ye) | 0) + Math.imul(d, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, ye) | 0) + (n >>> 13) | 0) + (Te >>> 26) | 0, Te &= 67108863, i = Math.imul(N, z), n = (n = Math.imul(N, K)) + Math.imul(H, z) | 0, o = Math.imul(H, K), i = i + Math.imul(B, X) | 0, n = (n = n + Math.imul(B, G) | 0) + Math.imul(O, X) | 0, o = o + Math.imul(O, G) | 0, i = i + Math.imul(R, Q) | 0, n = (n = n + Math.imul(R, J) | 0) + Math.imul(L, Q) | 0, o = o + Math.imul(L, J) | 0, i = i + Math.imul(C, $) | 0, n = (n = n + Math.imul(C, ee) | 0) + Math.imul(A, $) | 0, o = o + Math.imul(A, ee) | 0, i = i + Math.imul(M, re) | 0, n = (n = n + Math.imul(M, ie) | 0) + Math.imul(k, re) | 0, o = o + Math.imul(k, ie) | 0, i = i + Math.imul(E, oe) | 0, n = (n = n + Math.imul(E, ae) | 0) + Math.imul(x, oe) | 0, o = o + Math.imul(x, ae) | 0, i = i + Math.imul(_, le) | 0, n = (n = n + Math.imul(_, ue) | 0) + Math.imul(w, le) | 0, o = o + Math.imul(w, ue) | 0, i = i + Math.imul(g, he) | 0, n = (n = n + Math.imul(g, de) | 0) + Math.imul(b, he) | 0, o = o + Math.imul(b, de) | 0; var Me = (u + (i = i + Math.imul(p, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(p, ye) | 0) + Math.imul(y, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(y, ye) | 0) + (n >>> 13) | 0) + (Me >>> 26) | 0, Me &= 67108863, i = Math.imul(N, X), n = (n = Math.imul(N, G)) + Math.imul(H, X) | 0, o = Math.imul(H, G), i = i + Math.imul(B, Q) | 0, n = (n = n + Math.imul(B, J) | 0) + Math.imul(O, Q) | 0, o = o + Math.imul(O, J) | 0, i = i + Math.imul(R, $) | 0, n = (n = n + Math.imul(R, ee) | 0) + Math.imul(L, $) | 0, o = o + Math.imul(L, ee) | 0, i = i + Math.imul(C, re) | 0, n = (n = n + Math.imul(C, ie) | 0) + Math.imul(A, re) | 0, o = o + Math.imul(A, ie) | 0, i = i + Math.imul(M, oe) | 0, n = (n = n + Math.imul(M, ae) | 0) + Math.imul(k, oe) | 0, o = o + Math.imul(k, ae) | 0, i = i + Math.imul(E, le) | 0, n = (n = n + Math.imul(E, ue) | 0) + Math.imul(x, le) | 0, o = o + Math.imul(x, ue) | 0, i = i + Math.imul(_, he) | 0, n = (n = n + Math.imul(_, de) | 0) + Math.imul(w, he) | 0, o = o + Math.imul(w, de) | 0; var ke = (u + (i = i + Math.imul(g, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(g, ye) | 0) + Math.imul(b, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(b, ye) | 0) + (n >>> 13) | 0) + (ke >>> 26) | 0, ke &= 67108863, i = Math.imul(N, Q), n = (n = Math.imul(N, J)) + Math.imul(H, Q) | 0, o = Math.imul(H, J), i = i + Math.imul(B, $) | 0, n = (n = n + Math.imul(B, ee) | 0) + Math.imul(O, $) | 0, o = o + Math.imul(O, ee) | 0, i = i + Math.imul(R, re) | 0, n = (n = n + Math.imul(R, ie) | 0) + Math.imul(L, re) | 0, o = o + Math.imul(L, ie) | 0, i = i + Math.imul(C, oe) | 0, n = (n = n + Math.imul(C, ae) | 0) + Math.imul(A, oe) | 0, o = o + Math.imul(A, ae) | 0, i = i + Math.imul(M, le) | 0, n = (n = n + Math.imul(M, ue) | 0) + Math.imul(k, le) | 0, o = o + Math.imul(k, ue) | 0, i = i + Math.imul(E, he) | 0, n = (n = n + Math.imul(E, de) | 0) + Math.imul(x, he) | 0, o = o + Math.imul(x, de) | 0; var Pe = (u + (i = i + Math.imul(_, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(_, ye) | 0) + Math.imul(w, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(w, ye) | 0) + (n >>> 13) | 0) + (Pe >>> 26) | 0, Pe &= 67108863, i = Math.imul(N, $), n = (n = Math.imul(N, ee)) + Math.imul(H, $) | 0, o = Math.imul(H, ee), i = i + Math.imul(B, re) | 0, n = (n = n + Math.imul(B, ie) | 0) + Math.imul(O, re) | 0, o = o + Math.imul(O, ie) | 0, i = i + Math.imul(R, oe) | 0, n = (n = n + Math.imul(R, ae) | 0) + Math.imul(L, oe) | 0, o = o + Math.imul(L, ae) | 0, i = i + Math.imul(C, le) | 0, n = (n = n + Math.imul(C, ue) | 0) + Math.imul(A, le) | 0, o = o + Math.imul(A, ue) | 0, i = i + Math.imul(M, he) | 0, n = (n = n + Math.imul(M, de) | 0) + Math.imul(k, he) | 0, o = o + Math.imul(k, de) | 0; var Ce = (u + (i = i + Math.imul(E, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(E, ye) | 0) + Math.imul(x, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(x, ye) | 0) + (n >>> 13) | 0) + (Ce >>> 26) | 0, Ce &= 67108863, i = Math.imul(N, re), n = (n = Math.imul(N, ie)) + Math.imul(H, re) | 0, o = Math.imul(H, ie), i = i + Math.imul(B, oe) | 0, n = (n = n + Math.imul(B, ae) | 0) + Math.imul(O, oe) | 0, o = o + Math.imul(O, ae) | 0, i = i + Math.imul(R, le) | 0, n = (n = n + Math.imul(R, ue) | 0) + Math.imul(L, le) | 0, o = o + Math.imul(L, ue) | 0, i = i + Math.imul(C, he) | 0, n = (n = n + Math.imul(C, de) | 0) + Math.imul(A, he) | 0, o = o + Math.imul(A, de) | 0; var Ae = (u + (i = i + Math.imul(M, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(M, ye) | 0) + Math.imul(k, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(k, ye) | 0) + (n >>> 13) | 0) + (Ae >>> 26) | 0, Ae &= 67108863, i = Math.imul(N, oe), n = (n = Math.imul(N, ae)) + Math.imul(H, oe) | 0, o = Math.imul(H, ae), i = i + Math.imul(B, le) | 0, n = (n = n + Math.imul(B, ue) | 0) + Math.imul(O, le) | 0, o = o + Math.imul(O, ue) | 0, i = i + Math.imul(R, he) | 0, n = (n = n + Math.imul(R, de) | 0) + Math.imul(L, he) | 0, o = o + Math.imul(L, de) | 0; var Ie = (u + (i = i + Math.imul(C, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(C, ye) | 0) + Math.imul(A, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(A, ye) | 0) + (n >>> 13) | 0) + (Ie >>> 26) | 0, Ie &= 67108863, i = Math.imul(N, le), n = (n = Math.imul(N, ue)) + Math.imul(H, le) | 0, o = Math.imul(H, ue), i = i + Math.imul(B, he) | 0, n = (n = n + Math.imul(B, de) | 0) + Math.imul(O, he) | 0, o = o + Math.imul(O, de) | 0; var Re = (u + (i = i + Math.imul(R, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(R, ye) | 0) + Math.imul(L, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(L, ye) | 0) + (n >>> 13) | 0) + (Re >>> 26) | 0, Re &= 67108863, i = Math.imul(N, he), n = (n = Math.imul(N, de)) + Math.imul(H, he) | 0, o = Math.imul(H, de); var Le = (u + (i = i + Math.imul(B, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(B, ye) | 0) + Math.imul(O, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(O, ye) | 0) + (n >>> 13) | 0) + (Le >>> 26) | 0, Le &= 67108863; var De = (u + (i = Math.imul(N, pe)) | 0) + ((8191 & (n = (n = Math.imul(N, ye)) + Math.imul(H, pe) | 0)) << 13) | 0; return u = ((o = Math.imul(H, ye)) + (n >>> 13) | 0) + (De >>> 26) | 0, De &= 67108863, l[0] = me, l[1] = ge, l[2] = be, l[3] = ve, l[4] = _e, l[5] = we, l[6] = Se, l[7] = Ee, l[8] = xe, l[9] = Te, l[10] = Me, l[11] = ke, l[12] = Pe, l[13] = Ce, l[14] = Ae, l[15] = Ie, l[16] = Re, l[17] = Le, l[18] = De, 0 !== u && (l[19] = u, r.length++), r }; function s(e, t, r) { return (new l).mulp(e, t, r) } function l(e, t) { this.x = e, this.y = t } Math.imul || (o = n), g.prototype.mulTo = function (e, t) { var r = this.length + e.length, i = (10 === this.length && 10 === e.length ? o : r < 63 ? n : r < 1024 ? function (e, t, r) { r.negative = t.negative ^ e.negative, r.length = e.length + t.length; for (var i = 0, n = 0, o = 0; o < r.length - 1; o++) { for (var a = n, n = 0, s = 67108863 & i, l = Math.min(o, t.length - 1), u = Math.max(0, o - e.length + 1); u <= l; u++) { var c = o - u, h = (0 | e.words[c]) * (0 | t.words[u]), d = 67108863 & h, s = 67108863 & (d = d + s | 0); n += (a = (a = a + (h / 67108864 | 0) | 0) + (d >>> 26) | 0) >>> 26, a &= 67108863 } r.words[o] = s, i = a, a = n } return 0 !== i ? r.words[o] = i : r.length--, r.strip() } : s)(this, e, t); return i }, l.prototype.makeRBT = function (e) { for (var t = new Array(e), r = g.prototype._countBits(e) - 1, i = 0; i < e; i++)t[i] = this.revBin(i, r, e); return t }, l.prototype.revBin = function (e, t, r) { if (0 === e || e === r - 1) return e; for (var i = 0, n = 0; n < t; n++)i |= (1 & e) << t - n - 1, e >>= 1; return i }, l.prototype.permute = function (e, t, r, i, n, o) { for (var a = 0; a < o; a++)i[a] = t[e[a]], n[a] = r[e[a]] }, l.prototype.transform = function (e, t, r, i, n, o) { this.permute(o, e, t, r, i, n); for (var a = 1; a < n; a <<= 1)for (var s = a << 1, l = Math.cos(2 * Math.PI / s), u = Math.sin(2 * Math.PI / s), c = 0; c < n; c += s)for (var h = l, d = u, f = 0; f < a; f++) { var p = r[c + f], y = i[c + f], m = h * (b = r[c + f + a]) - d * (g = i[c + f + a]), g = h * g + d * b, b = m; r[c + f] = p + b, i[c + f] = y + g, r[c + f + a] = p - b, i[c + f + a] = y - g, f !== s && (m = l * h - u * d, d = l * d + u * h, h = m) } }, l.prototype.guessLen13b = function (e, t) { for (var r = 1 & (n = 1 | Math.max(t, e)), i = 0, n = n / 2 | 0; n; n >>>= 1)i++; return 1 << i + 1 + r }, l.prototype.conjugate = function (e, t, r) { if (!(r <= 1)) for (var i = 0; i < r / 2; i++) { var n = e[i]; e[i] = e[r - i - 1], e[r - i - 1] = n, n = t[i], t[i] = -t[r - i - 1], t[r - i - 1] = -n } }, l.prototype.normalize13b = function (e, t) { for (var r = 0, i = 0; i < t / 2; i++) { var n = 8192 * Math.round(e[2 * i + 1] / t) + Math.round(e[2 * i] / t) + r; e[i] = 67108863 & n, r = n < 67108864 ? 0 : n / 67108864 | 0 } return e }, l.prototype.convert13b = function (e, t, r, i) { for (var n = 0, o = 0; o < t; o++)n += 0 | e[o], r[2 * o] = 8191 & n, n >>>= 13, r[2 * o + 1] = 8191 & n, n >>>= 13; for (o = 2 * t; o < i; ++o)r[o] = 0; m(0 === n), m(0 == (-8192 & n)) }, l.prototype.stub = function (e) { for (var t = new Array(e), r = 0; r < e; r++)t[r] = 0; return t }, l.prototype.mulp = function (e, t, r) { var i = 2 * this.guessLen13b(e.length, t.length), n = this.makeRBT(i), o = this.stub(i), a = new Array(i), s = new Array(i), l = new Array(i), u = new Array(i), c = new Array(i), h = new Array(i), d = r.words; d.length = i, this.convert13b(e.words, e.length, a, i), this.convert13b(t.words, t.length, u, i), this.transform(a, o, s, l, i, n), this.transform(u, o, c, h, i, n); for (var f = 0; f < i; f++) { var p = s[f] * c[f] - l[f] * h[f]; l[f] = s[f] * h[f] + l[f] * c[f], s[f] = p } return this.conjugate(s, l, i), this.transform(s, l, d, o, i, n), this.conjugate(d, o, i), this.normalize13b(d, i), r.negative = e.negative ^ t.negative, r.length = e.length + t.length, r.strip() }, g.prototype.mul = function (e) { var t = new g(null); return t.words = new Array(this.length + e.length), this.mulTo(e, t) }, g.prototype.mulf = function (e) { var t = new g(null); return t.words = new Array(this.length + e.length), s(this, e, t) }, g.prototype.imul = function (e) { return this.clone().mulTo(e, this) }, g.prototype.imuln = function (e) { m("number" == typeof e), m(e < 67108864); for (var t = 0, r = 0; r < this.length; r++) { var i = (0 | this.words[r]) * e, n = (67108863 & i) + (67108863 & t); t >>= 26, t += i / 67108864 | 0, t += n >>> 26, this.words[r] = 67108863 & n } return 0 !== t && (this.words[r] = t, this.length++), this }, g.prototype.muln = function (e) { return this.clone().imuln(e) }, g.prototype.sqr = function () { return this.mul(this) }, g.prototype.isqr = function () { return this.imul(this.clone()) }, g.prototype.pow = function (e) { var t = function (e) { for (var t = new Array(e.bitLength()), r = 0; r < t.length; r++) { var i = r / 26 | 0, n = r % 26; t[r] = (e.words[i] & 1 << n) >>> n } return t }(e); if (0 === t.length) return new g(1); for (var r = this, i = 0; i < t.length && 0 === t[i]; i++, r = r.sqr()); if (++i < t.length) for (var n = r.sqr(); i < t.length; i++, n = n.sqr())0 !== t[i] && (r = r.mul(n)); return r }, g.prototype.iushln = function (e) { m("number" == typeof e && 0 <= e); var t = e % 26, r = (e - t) / 26, i = 67108863 >>> 26 - t << 26 - t; if (0 != t) { for (var n = 0, o = 0; o < this.length; o++) { var a = this.words[o] & i, s = (0 | this.words[o]) - a << t; this.words[o] = s | n, n = a >>> 26 - t } n && (this.words[o] = n, this.length++) } if (0 != r) { for (o = this.length - 1; 0 <= o; o--)this.words[o + r] = this.words[o]; for (o = 0; o < r; o++)this.words[o] = 0; this.length += r } return this.strip() }, g.prototype.ishln = function (e) { return m(0 === this.negative), this.iushln(e) }, g.prototype.iushrn = function (e, t, r) { var i; m("number" == typeof e && 0 <= e), i = t ? (t - t % 26) / 26 : 0; var n = e % 26, o = Math.min((e - n) / 26, this.length), a = 67108863 ^ 67108863 >>> n << n, s = r; if (i -= o, i = Math.max(0, i), s) { for (var l = 0; l < o; l++)s.words[l] = this.words[l]; s.length = o } if (0 !== o) if (this.length > o) for (this.length -= o, l = 0; l < this.length; l++)this.words[l] = this.words[l + o]; else this.words[0] = 0, this.length = 1; for (var u = 0, l = this.length - 1; 0 <= l && (0 !== u || i <= l); l--) { var c = 0 | this.words[l]; this.words[l] = u << 26 - n | c >>> n, u = c & a } return s && 0 !== u && (s.words[s.length++] = u), 0 === this.length && (this.words[0] = 0, this.length = 1), this.strip() }, g.prototype.ishrn = function (e, t, r) { return m(0 === this.negative), this.iushrn(e, t, r) }, g.prototype.shln = function (e) { return this.clone().ishln(e) }, g.prototype.ushln = function (e) { return this.clone().iushln(e) }, g.prototype.shrn = function (e) { return this.clone().ishrn(e) }, g.prototype.ushrn = function (e) { return this.clone().iushrn(e) }, g.prototype.testn = function (e) { m("number" == typeof e && 0 <= e); var t = e % 26, r = (e - t) / 26, i = 1 << t; return !(this.length <= r) && !!(this.words[r] & i) }, g.prototype.imaskn = function (e) { m("number" == typeof e && 0 <= e); var t, r = e % 26, i = (e - r) / 26; return m(0 === this.negative, "imaskn works only with positive numbers"), this.length <= i ? this : (0 != r && i++, this.length = Math.min(i, this.length), 0 != r && (t = 67108863 ^ 67108863 >>> r << r, this.words[this.length - 1] &= t), this.strip()) }, g.prototype.maskn = function (e) { return this.clone().imaskn(e) }, g.prototype.iaddn = function (e) { return m("number" == typeof e), m(e < 67108864), e < 0 ? this.isubn(-e) : 0 !== this.negative ? (1 === this.length && (0 | this.words[0]) < e ? (this.words[0] = e - (0 | this.words[0]), this.negative = 0) : (this.negative = 0, this.isubn(e), this.negative = 1), this) : this._iaddn(e) }, g.prototype._iaddn = function (e) { this.words[0] += e; for (var t = 0; t < this.length && 67108864 <= this.words[t]; t++)this.words[t] -= 67108864, t === this.length - 1 ? this.words[t + 1] = 1 : this.words[t + 1]++; return this.length = Math.max(this.length, t + 1), this }, g.prototype.isubn = function (e) { if (m("number" == typeof e), m(e < 67108864), e < 0) return this.iaddn(-e); if (0 !== this.negative) return this.negative = 0, this.iaddn(e), this.negative = 1, this; if (this.words[0] -= e, 1 === this.length && this.words[0] < 0) this.words[0] = -this.words[0], this.negative = 1; else for (var t = 0; t < this.length && this.words[t] < 0; t++)this.words[t] += 67108864, --this.words[t + 1]; return this.strip() }, g.prototype.addn = function (e) { return this.clone().iaddn(e) }, g.prototype.subn = function (e) { return this.clone().isubn(e) }, g.prototype.iabs = function () { return this.negative = 0, this }, g.prototype.abs = function () { return this.clone().iabs() }, g.prototype._ishlnsubmul = function (e, t, r) { var i, n = e.length + r; this._expand(n); for (var o = 0, a = 0; a < e.length; a++) { i = (0 | this.words[a + r]) + o; var s = (0 | e.words[a]) * t, o = ((i -= 67108863 & s) >> 26) - (s / 67108864 | 0); this.words[a + r] = 67108863 & i } for (; a < this.length - r; a++)o = (i = (0 | this.words[a + r]) + o) >> 26, this.words[a + r] = 67108863 & i; if (0 === o) return this.strip(); for (m(-1 === o), a = o = 0; a < this.length; a++)o = (i = -(0 | this.words[a]) + o) >> 26, this.words[a] = 67108863 & i; return this.negative = 1, this.strip() }, g.prototype._wordDiv = function (e, t) { var r = (this.length, e.length), i = this.clone(), n = e, o = 0 | n.words[n.length - 1]; 0 != (r = 26 - this._countBits(o)) && (n = n.ushln(r), i.iushln(r), o = 0 | n.words[n.length - 1]); var a, s = i.length - n.length; if ("mod" !== t) { (a = new g(null)).length = 1 + s, a.words = new Array(a.length); for (var l = 0; l < a.length; l++)a.words[l] = 0 } var u = i.clone()._ishlnsubmul(n, 1, s); 0 === u.negative && (i = u, a && (a.words[s] = 1)); for (var c = s - 1; 0 <= c; c--) { var h = 67108864 * (0 | i.words[n.length + c]) + (0 | i.words[n.length + c - 1]), h = Math.min(h / o | 0, 67108863); for (i._ishlnsubmul(n, h, c); 0 !== i.negative;)h--, i.negative = 0, i._ishlnsubmul(n, 1, c), i.isZero() || (i.negative ^= 1); a && (a.words[c] = h) } return a && a.strip(), i.strip(), "div" !== t && 0 != r && i.iushrn(r), { div: a || null, mod: i } }, g.prototype.divmod = function (e, t, r) { return m(!e.isZero()), this.isZero() ? { div: new g(0), mod: new g(0) } : 0 !== this.negative && 0 === e.negative ? (o = this.neg().divmod(e, t), "mod" !== t && (i = o.div.neg()), "div" !== t && (n = o.mod.neg(), r && 0 !== n.negative && n.iadd(e)), { div: i, mod: n }) : 0 === this.negative && 0 !== e.negative ? (o = this.divmod(e.neg(), t), "mod" !== t && (i = o.div.neg()), { div: i, mod: o.mod }) : 0 != (this.negative & e.negative) ? (o = this.neg().divmod(e.neg(), t), "div" !== t && (n = o.mod.neg(), r && 0 !== n.negative && n.isub(e)), { div: o.div, mod: n }) : e.length > this.length || this.cmp(e) < 0 ? { div: new g(0), mod: this } : 1 === e.length ? "div" === t ? { div: this.divn(e.words[0]), mod: null } : "mod" === t ? { div: null, mod: new g(this.modn(e.words[0])) } : { div: this.divn(e.words[0]), mod: new g(this.modn(e.words[0])) } : this._wordDiv(e, t); var i, n, o }, g.prototype.div = function (e) { return this.divmod(e, "div", !1).div }, g.prototype.mod = function (e) { return this.divmod(e, "mod", !1).mod }, g.prototype.umod = function (e) { return this.divmod(e, "mod", !0).mod }, g.prototype.divRound = function (e) { var t = this.divmod(e); if (t.mod.isZero()) return t.div; var r = 0 !== t.div.negative ? t.mod.isub(e) : t.mod, i = e.ushrn(1), n = e.andln(1), o = r.cmp(i); return o < 0 || 1 === n && 0 === o ? t.div : 0 !== t.div.negative ? t.div.isubn(1) : t.div.iaddn(1) }, g.prototype.modn = function (e) { m(e <= 67108863); for (var t = (1 << 26) % e, r = 0, i = this.length - 1; 0 <= i; i--)r = (t * r + (0 | this.words[i])) % e; return r }, g.prototype.idivn = function (e) { m(e <= 67108863); for (var t = 0, r = this.length - 1; 0 <= r; r--) { var i = (0 | this.words[r]) + 67108864 * t; this.words[r] = i / e | 0, t = i % e } return this.strip() }, g.prototype.divn = function (e) { return this.clone().idivn(e) }, g.prototype.egcd = function (e) { m(0 === e.negative), m(!e.isZero()); for (var t = this, r = e.clone(), t = 0 !== t.negative ? t.umod(e) : t.clone(), i = new g(1), n = new g(0), o = new g(0), a = new g(1), s = 0; t.isEven() && r.isEven();)t.iushrn(1), r.iushrn(1), ++s; for (var l = r.clone(), u = t.clone(); !t.isZero();) { for (var c = 0, h = 1; 0 == (t.words[0] & h) && c < 26; ++c, h <<= 1); if (0 < c) for (t.iushrn(c); 0 < c--;)(i.isOdd() || n.isOdd()) && (i.iadd(l), n.isub(u)), i.iushrn(1), n.iushrn(1); for (var d = 0, f = 1; 0 == (r.words[0] & f) && d < 26; ++d, f <<= 1); if (0 < d) for (r.iushrn(d); 0 < d--;)(o.isOdd() || a.isOdd()) && (o.iadd(l), a.isub(u)), o.iushrn(1), a.iushrn(1); 0 <= t.cmp(r) ? (t.isub(r), i.isub(o), n.isub(a)) : (r.isub(t), o.isub(i), a.isub(n)) } return { a: o, b: a, gcd: r.iushln(s) } }, g.prototype._invmp = function (e) { m(0 === e.negative), m(!e.isZero()); for (var t, r = this, i = e.clone(), r = 0 !== r.negative ? r.umod(e) : r.clone(), n = new g(1), o = new g(0), a = i.clone(); 0 < r.cmpn(1) && 0 < i.cmpn(1);) { for (var s = 0, l = 1; 0 == (r.words[0] & l) && s < 26; ++s, l <<= 1); if (0 < s) for (r.iushrn(s); 0 < s--;)n.isOdd() && n.iadd(a), n.iushrn(1); for (var u = 0, c = 1; 0 == (i.words[0] & c) && u < 26; ++u, c <<= 1); if (0 < u) for (i.iushrn(u); 0 < u--;)o.isOdd() && o.iadd(a), o.iushrn(1); 0 <= r.cmp(i) ? (r.isub(i), n.isub(o)) : (i.isub(r), o.isub(n)) } return (t = 0 === r.cmpn(1) ? n : o).cmpn(0) < 0 && t.iadd(e), t }, g.prototype.gcd = function (e) { if (this.isZero()) return e.abs(); if (e.isZero()) return this.abs(); var t = this.clone(), r = e.clone(); t.negative = 0; for (var i = r.negative = 0; t.isEven() && r.isEven(); i++)t.iushrn(1), r.iushrn(1); for (; ;) { for (; t.isEven();)t.iushrn(1); for (; r.isEven();)r.iushrn(1); var n = t.cmp(r); if (n < 0) var o = t, t = r, r = o; else if (0 === n || 0 === r.cmpn(1)) break; t.isub(r) } return r.iushln(i) }, g.prototype.invm = function (e) { return this.egcd(e).a.umod(e) }, g.prototype.isEven = function () { return 0 == (1 & this.words[0]) }, g.prototype.isOdd = function () { return 1 == (1 & this.words[0]) }, g.prototype.andln = function (e) { return this.words[0] & e }, g.prototype.bincn = function (e) { m("number" == typeof e); var t = e % 26, r = (e - t) / 26, i = 1 << t; if (this.length <= r) return this._expand(1 + r), this.words[r] |= i, this; for (var n = i, o = r; 0 !== n && o < this.length; o++) { var a = 0 | this.words[o], n = (a += n) >>> 26; a &= 67108863, this.words[o] = a } return 0 !== n && (this.words[o] = n, this.length++), this }, g.prototype.isZero = function () { return 1 === this.length && 0 === this.words[0] }, g.prototype.cmpn = function (e) { var t, r, i = e < 0; return 0 === this.negative || i ? 0 === this.negative && i ? 1 : (this.strip(), r = 1 < this.length ? 1 : (i && (e = -e), m(e <= 67108863, "Number is too big"), (t = 0 | this.words[0]) === e ? 0 : t < e ? -1 : 1), 0 !== this.negative ? 0 | -r : r) : -1 }, g.prototype.cmp = function (e) { if (0 !== this.negative && 0 === e.negative) return -1; if (0 === this.negative && 0 !== e.negative) return 1; var t = this.ucmp(e); return 0 !== this.negative ? 0 | -t : t }, g.prototype.ucmp = function (e) { if (this.length > e.length) return 1; if (this.length < e.length) return -1; for (var t = 0, r = this.length - 1; 0 <= r; r--) { var i = 0 | this.words[r], n = 0 | e.words[r]; if (i != n) { i < n ? t = -1 : n < i && (t = 1); break } } return t }, g.prototype.gtn = function (e) { return 1 === this.cmpn(e) }, g.prototype.gt = function (e) { return 1 === this.cmp(e) }, g.prototype.gten = function (e) { return 0 <= this.cmpn(e) }, g.prototype.gte = function (e) { return 0 <= this.cmp(e) }, g.prototype.ltn = function (e) { return -1 === this.cmpn(e) }, g.prototype.lt = function (e) { return -1 === this.cmp(e) }, g.prototype.lten = function (e) { return this.cmpn(e) <= 0 }, g.prototype.lte = function (e) { return this.cmp(e) <= 0 }, g.prototype.eqn = function (e) { return 0 === this.cmpn(e) }, g.prototype.eq = function (e) { return 0 === this.cmp(e) }, g.red = function (e) { return new w(e) }, g.prototype.toRed = function (e) { return m(!this.red, "Already a number in reduction context"), m(0 === this.negative, "red works only with positives"), e.convertTo(this)._forceRed(e) }, g.prototype.fromRed = function () { return m(this.red, "fromRed works only with numbers in reduction context"), this.red.convertFrom(this) }, g.prototype._forceRed = function (e) { return this.red = e, this }, g.prototype.forceRed = function (e) { return m(!this.red, "Already a number in reduction context"), this._forceRed(e) }, g.prototype.redAdd = function (e) { return m(this.red, "redAdd works only with red numbers"), this.red.add(this, e) }, g.prototype.redIAdd = function (e) { return m(this.red, "redIAdd works only with red numbers"), this.red.iadd(this, e) }, g.prototype.redSub = function (e) { return m(this.red, "redSub works only with red numbers"), this.red.sub(this, e) }, g.prototype.redISub = function (e) { return m(this.red, "redISub works only with red numbers"), this.red.isub(this, e) }, g.prototype.redShl = function (e) { return m(this.red, "redShl works only with red numbers"), this.red.shl(this, e) }, g.prototype.redMul = function (e) { return m(this.red, "redMul works only with red numbers"), this.red._verify2(this, e), this.red.mul(this, e) }, g.prototype.redIMul = function (e) { return m(this.red, "redMul works only with red numbers"), this.red._verify2(this, e), this.red.imul(this, e) }, g.prototype.redSqr = function () { return m(this.red, "redSqr works only with red numbers"), this.red._verify1(this), this.red.sqr(this) }, g.prototype.redISqr = function () { return m(this.red, "redISqr works only with red numbers"), this.red._verify1(this), this.red.isqr(this) }, g.prototype.redSqrt = function () { return m(this.red, "redSqrt works only with red numbers"), this.red._verify1(this), this.red.sqrt(this) }, g.prototype.redInvm = function () { return m(this.red, "redInvm works only with red numbers"), this.red._verify1(this), this.red.invm(this) }, g.prototype.redNeg = function () { return m(this.red, "redNeg works only with red numbers"), this.red._verify1(this), this.red.neg(this) }, g.prototype.redPow = function (e) { return m(this.red && !e.red, "redPow(normalNum)"), this.red._verify1(this), this.red.pow(this, e) }; var u = { k256: null, p224: null, p192: null, p25519: null }; function c(e, t) { this.name = e, this.p = new g(t, 16), this.n = this.p.bitLength(), this.k = new g(1).iushln(this.n).isub(this.p), this.tmp = this._tmp() } function y() { c.call(this, "k256", "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f") } function b() { c.call(this, "p224", "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001") } function v() { c.call(this, "p192", "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff") } function _() { c.call(this, "25519", "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed") } function w(e) { var t; "string" == typeof e ? (t = g._prime(e), this.m = t.p, this.prime = t) : (m(e.gtn(1), "modulus must be greater than 1"), this.m = e, this.prime = null) } function S(e) { w.call(this, e), this.shift = this.m.bitLength(), this.shift % 26 != 0 && (this.shift += 26 - this.shift % 26), this.r = new g(1).iushln(this.shift), this.r2 = this.imod(this.r.sqr()), this.rinv = this.r._invmp(this.m), this.minv = this.rinv.mul(this.r).isubn(1).div(this.m), this.minv = this.minv.umod(this.r), this.minv = this.r.sub(this.minv) } c.prototype._tmp = function () { var e = new g(null); return e.words = new Array(Math.ceil(this.n / 13)), e }, c.prototype.ireduce = function (e) { for (var t, r = e; this.split(r, this.tmp), (t = (r = (r = this.imulK(r)).iadd(this.tmp)).bitLength()) > this.n;); var i = t < this.n ? -1 : r.ucmp(this.p); return 0 === i ? (r.words[0] = 0, r.length = 1) : 0 < i ? r.isub(this.p) : r.strip(), r }, c.prototype.split = function (e, t) { e.iushrn(this.n, 0, t) }, c.prototype.imulK = function (e) { return e.imul(this.k) }, r(y, c), y.prototype.split = function (e, t) { for (var r = Math.min(e.length, 9), i = 0; i < r; i++)t.words[i] = e.words[i]; if (t.length = r, e.length <= 9) return e.words[0] = 0, void (e.length = 1); var n = e.words[9]; for (t.words[t.length++] = 4194303 & n, i = 10; i < e.length; i++) { var o = 0 | e.words[i]; e.words[i - 10] = (4194303 & o) << 4 | n >>> 22, n = o } n >>>= 22, 0 === (e.words[i - 10] = n) && 10 < e.length ? e.length -= 10 : e.length -= 9 }, y.prototype.imulK = function (e) { e.words[e.length] = 0, e.words[e.length + 1] = 0, e.length += 2; for (var t = 0, r = 0; r < e.length; r++) { var i = 0 | e.words[r]; t += 977 * i, e.words[r] = 67108863 & t, t = 64 * i + (t / 67108864 | 0) } return 0 === e.words[e.length - 1] && (e.length--, 0 === e.words[e.length - 1] && e.length--), e }, r(b, c), r(v, c), r(_, c), _.prototype.imulK = function (e) { for (var t = 0, r = 0; r < e.length; r++) { var i = 19 * (0 | e.words[r]) + t, n = 67108863 & i; i >>>= 26, e.words[r] = n, t = i } return 0 !== t && (e.words[e.length++] = t), e }, g._prime = function (e) { if (u[e]) return u[e]; var t; if ("k256" === e) t = new y; else if ("p224" === e) t = new b; else if ("p192" === e) t = new v; else { if ("p25519" !== e) throw new Error("Unknown prime " + e); t = new _ } return u[e] = t }, w.prototype._verify1 = function (e) { m(0 === e.negative, "red works only with positives"), m(e.red, "red works only with red numbers") }, w.prototype._verify2 = function (e, t) { m(0 == (e.negative | t.negative), "red works only with positives"), m(e.red && e.red === t.red, "red works only with red numbers") }, w.prototype.imod = function (e) { return this.prime ? this.prime.ireduce(e)._forceRed(this) : e.umod(this.m)._forceRed(this) }, w.prototype.neg = function (e) { return e.isZero() ? e.clone() : this.m.sub(e)._forceRed(this) }, w.prototype.add = function (e, t) { this._verify2(e, t); var r = e.add(t); return 0 <= r.cmp(this.m) && r.isub(this.m), r._forceRed(this) }, w.prototype.iadd = function (e, t) { this._verify2(e, t); var r = e.iadd(t); return 0 <= r.cmp(this.m) && r.isub(this.m), r }, w.prototype.sub = function (e, t) { this._verify2(e, t); var r = e.sub(t); return r.cmpn(0) < 0 && r.iadd(this.m), r._forceRed(this) }, w.prototype.isub = function (e, t) { this._verify2(e, t); var r = e.isub(t); return r.cmpn(0) < 0 && r.iadd(this.m), r }, w.prototype.shl = function (e, t) { return this._verify1(e), this.imod(e.ushln(t)) }, w.prototype.imul = function (e, t) { return this._verify2(e, t), this.imod(e.imul(t)) }, w.prototype.mul = function (e, t) { return this._verify2(e, t), this.imod(e.mul(t)) }, w.prototype.isqr = function (e) { return this.imul(e, e.clone()) }, w.prototype.sqr = function (e) { return this.mul(e, e) }, w.prototype.sqrt = function (e) { if (e.isZero()) return e.clone(); var t = this.m.andln(3); if (m(t % 2 == 1), 3 === t) { var r = this.m.add(new g(1)).iushrn(2); return this.pow(e, r) } for (var i = this.m.subn(1), n = 0; !i.isZero() && 0 === i.andln(1);)n++, i.iushrn(1); m(!i.isZero()); for (var o = new g(1).toRed(this), a = o.redNeg(), s = this.m.subn(1).iushrn(1), l = new g(2 * (l = this.m.bitLength()) * l).toRed(this); 0 !== this.pow(l, s).cmp(a);)l.redIAdd(a); for (var u = this.pow(l, i), c = this.pow(e, i.addn(1).iushrn(1)), h = this.pow(e, i), d = n; 0 !== h.cmp(o);) { for (var f = h, p = 0; 0 !== f.cmp(o); p++)f = f.redSqr(); m(p < d); var y = this.pow(u, new g(1).iushln(d - p - 1)), c = c.redMul(y), u = y.redSqr(), h = h.redMul(u), d = p } return c }, w.prototype.invm = function (e) { var t = e._invmp(this.m); return 0 !== t.negative ? (t.negative = 0, this.imod(t).redNeg()) : this.imod(t) }, w.prototype.pow = function (e, t) { if (t.isZero()) return new g(1).toRed(this); if (0 === t.cmpn(1)) return e.clone(); var r = new Array(16); r[0] = new g(1).toRed(this), r[1] = e; for (var i = 2; i < r.length; i++)r[i] = this.mul(r[i - 1], e); var n = r[0], o = 0, a = 0, s = t.bitLength() % 26; for (0 === s && (s = 26), i = t.length - 1; 0 <= i; i--) { for (var l = t.words[i], u = s - 1; 0 <= u; u--) { var c = l >> u & 1; n !== r[0] && (n = this.sqr(n)), 0 != c || 0 !== o ? (o <<= 1, o |= c, (4 === ++a || 0 === i && 0 === u) && (n = this.mul(n, r[o]), o = a = 0)) : a = 0 } s = 26 } return n }, w.prototype.convertTo = function (e) { var t = e.umod(this.m); return t === e ? t.clone() : t }, w.prototype.convertFrom = function (e) { var t = e.clone(); return t.red = null, t }, g.mont = function (e) { return new S(e) }, r(S, w), S.prototype.convertTo = function (e) { return this.imod(e.ushln(this.shift)) }, S.prototype.convertFrom = function (e) { var t = this.imod(e.mul(this.rinv)); return t.red = null, t }, S.prototype.imul = function (e, t) { if (e.isZero() || t.isZero()) return e.words[0] = 0, e.length = 1, e; var r = e.imul(t), i = r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), n = r.isub(i).iushrn(this.shift), o = n; return 0 <= n.cmp(this.m) ? o = n.isub(this.m) : n.cmpn(0) < 0 && (o = n.iadd(this.m)), o._forceRed(this) }, S.prototype.mul = function (e, t) { if (e.isZero() || t.isZero()) return new g(0)._forceRed(this); var r = e.mul(t), i = r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), n = r.isub(i).iushrn(this.shift), o = n; return 0 <= n.cmp(this.m) ? o = n.isub(this.m) : n.cmpn(0) < 0 && (o = n.iadd(this.m)), o._forceRed(this) }, S.prototype.invm = function (e) { return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this) } }(void 0 === e || e, this) }, { buffer: 19 }], 16: [function (e, t, r) { "use strict"; r.byteLength = function (e) { var t = h(e), r = t[0], i = t[1]; return 3 * (r + i) / 4 - i }, r.toByteArray = function (e) { var t, r, i = h(e), n = i[0], o = i[1], a = new c(function (e, t) { return 3 * (e + t) / 4 - t }(n, o)), s = 0, l = 0 < o ? n - 4 : n; for (r = 0; r < l; r += 4)t = u[e.charCodeAt(r)] << 18 | u[e.charCodeAt(r + 1)] << 12 | u[e.charCodeAt(r + 2)] << 6 | u[e.charCodeAt(r + 3)], a[s++] = t >> 16 & 255, a[s++] = t >> 8 & 255, a[s++] = 255 & t; 2 === o && (t = u[e.charCodeAt(r)] << 2 | u[e.charCodeAt(r + 1)] >> 4, a[s++] = 255 & t); 1 === o && (t = u[e.charCodeAt(r)] << 10 | u[e.charCodeAt(r + 1)] << 4 | u[e.charCodeAt(r + 2)] >> 2, a[s++] = t >> 8 & 255, a[s++] = 255 & t); return a }, r.fromByteArray = function (e) { for (var t, r = e.length, i = r % 3, n = [], o = 0, a = r - i; o < a; o += 16383)n.push(l(e, o, a < o + 16383 ? a : o + 16383)); 1 == i ? (t = e[r - 1], n.push(s[t >> 2] + s[t << 4 & 63] + "==")) : 2 == i && (t = (e[r - 2] << 8) + e[r - 1], n.push(s[t >> 10] + s[t >> 4 & 63] + s[t << 2 & 63] + "=")); return n.join("") }; for (var s = [], u = [], c = "undefined" != typeof Uint8Array ? Uint8Array : Array, i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", n = 0, o = i.length; n < o; ++n)s[n] = i[n], u[i.charCodeAt(n)] = n; function h(e) { var t = e.length; if (0 < t % 4) throw new Error("Invalid string. Length must be a multiple of 4"); var r = e.indexOf("="); return -1 === r && (r = t), [r, r === t ? 0 : 4 - r % 4] } function l(e, t, r) { for (var i, n, o = [], a = t; a < r; a += 3)i = (e[a] << 16 & 16711680) + (e[a + 1] << 8 & 65280) + (255 & e[a + 2]), o.push(s[(n = i) >> 18 & 63] + s[n >> 12 & 63] + s[n >> 6 & 63] + s[63 & n]); return o.join("") } u["-".charCodeAt(0)] = 62, u["_".charCodeAt(0)] = 63 }, {}], 17: [function (T, e, t) { !function (e, t) { "use strict"; function m(e, t) { if (!e) throw new Error(t || "Assertion failed") } function r(e, t) { e.super_ = t; function r() { } r.prototype = t.prototype, e.prototype = new r, e.prototype.constructor = e } function g(e, t, r) { if (g.isBN(e)) return e; this.negative = 0, this.words = null, this.length = 0, (this.red = null) !== e && ("le" !== t && "be" !== t || (r = t, t = 10), this._init(e || 0, t || 10, r || "be")) } var i; "object" == typeof e ? e.exports = g : t.BN = g, (g.BN = g).wordSize = 26; try { i = T("buffer").Buffer } catch (e) { } function a(e, t, r) { for (var i = 0, n = Math.min(e.length, r), o = 0, a = t; a < n; a++) { var s, l = e.charCodeAt(a) - 48; i <<= 4, i |= s = 49 <= l && l <= 54 ? l - 49 + 10 : 17 <= l && l <= 22 ? l - 17 + 10 : l, o |= s } return m(!(240 & o), "Invalid character in " + e), i } function h(e, t, r, i) { for (var n = 0, o = 0, a = Math.min(e.length, r), s = t; s < a; s++) { var l = e.charCodeAt(s) - 48; n *= i, o = 49 <= l ? l - 49 + 10 : 17 <= l ? l - 17 + 10 : l, m(0 <= l && o < i, "Invalid character"), n += o } return n } function n(e, t) { e.words = t.words, e.length = t.length, e.negative = t.negative, e.red = t.red } function o() { return (this.red ? "<BN-R: " : "<BN: ") + this.toString(16) + ">" } g.isBN = function (e) { return e instanceof g || null !== e && "object" == typeof e && e.constructor.wordSize === g.wordSize && Array.isArray(e.words) }, g.max = function (e, t) { return 0 < e.cmp(t) ? e : t }, g.min = function (e, t) { return e.cmp(t) < 0 ? e : t }, g.prototype._init = function (e, t, r) { if ("number" == typeof e) return this._initNumber(e, t, r); if ("object" == typeof e) return this._initArray(e, t, r); "hex" === t && (t = 16), m(t === (0 | t) && 2 <= t && t <= 36); var i = 0; "-" === (e = e.toString().replace(/\s+/g, ""))[0] && i++, 16 === t ? this._parseHex(e, i) : this._parseBase(e, t, i), "-" === e[0] && (this.negative = 1), this._strip(), "le" === r && this._initArray(this.toArray(), t, r) }, g.prototype._initNumber = function (e, t, r) { e < 0 && (this.negative = 1, e = -e), e < 67108864 ? (this.words = [67108863 & e], this.length = 1) : e < 4503599627370496 ? (this.words = [67108863 & e, e / 67108864 & 67108863], this.length = 2) : (m(e < 9007199254740992), this.words = [67108863 & e, e / 67108864 & 67108863, 1], this.length = 3), "le" === r && this._initArray(this.toArray(), t, r) }, g.prototype._initArray = function (e, t, r) { if (m("number" == typeof e.length), e.length <= 0) return this.words = [0], this.length = 1, this; this.length = Math.ceil(e.length / 3), this.words = new Array(this.length); for (var i, n, o = 0; o < this.length; o++)this.words[o] = 0; var a = 0; if ("be" === r) for (o = e.length - 1, i = 0; 0 <= o; o -= 3)n = e[o] | e[o - 1] << 8 | e[o - 2] << 16, this.words[i] |= n << a & 67108863, this.words[i + 1] = n >>> 26 - a & 67108863, 26 <= (a += 24) && (a -= 26, i++); else if ("le" === r) for (i = o = 0; o < e.length; o += 3)n = e[o] | e[o + 1] << 8 | e[o + 2] << 16, this.words[i] |= n << a & 67108863, this.words[i + 1] = n >>> 26 - a & 67108863, 26 <= (a += 24) && (a -= 26, i++); return this._strip() }, g.prototype._parseHex = function (e, t) { this.length = Math.ceil((e.length - t) / 6), this.words = new Array(this.length); for (var r, i = 0; i < this.length; i++)this.words[i] = 0; for (var n = 0, i = e.length - 6, o = 0; t <= i; i -= 6)r = a(e, i, i + 6), this.words[o] |= r << n & 67108863, this.words[o + 1] |= r >>> 26 - n & 4194303, 26 <= (n += 24) && (n -= 26, o++); i + 6 !== t && (r = a(e, t, i + 6), this.words[o] |= r << n & 67108863, this.words[o + 1] |= r >>> 26 - n & 4194303), this._strip() }, g.prototype._parseBase = function (e, t, r) { this.words = [0]; for (var i = 0, n = this.length = 1; n <= 67108863; n *= t)i++; i--, n = n / t | 0; for (var o = e.length - r, a = o % i, s = Math.min(o, o - a) + r, l = 0, u = r; u < s; u += i)l = h(e, u, u + i, t), this.imuln(n), this.words[0] + l < 67108864 ? this.words[0] += l : this._iaddn(l); if (0 != a) { for (var c = 1, l = h(e, u, e.length, t), u = 0; u < a; u++)c *= t; this.imuln(c), this.words[0] + l < 67108864 ? this.words[0] += l : this._iaddn(l) } }, g.prototype.copy = function (e) { e.words = new Array(this.length); for (var t = 0; t < this.length; t++)e.words[t] = this.words[t]; e.length = this.length, e.negative = this.negative, e.red = this.red }, g.prototype._move = function (e) { n(e, this) }, g.prototype.clone = function () { var e = new g(null); return this.copy(e), e }, g.prototype._expand = function (e) { for (; this.length < e;)this.words[this.length++] = 0; return this }, g.prototype._strip = function () { for (; 1 < this.length && 0 === this.words[this.length - 1];)this.length--; return this._normSign() }, g.prototype._normSign = function () { return 1 === this.length && 0 === this.words[0] && (this.negative = 0), this }, "undefined" != typeof Symbol && "function" == typeof Symbol["for"] ? g.prototype[Symbol["for"]("nodejs.util.inspect.custom")] = o : g.prototype.inspect = o; var d = ["", "0", "00", "000", "0000", "00000", "000000", "0000000", "00000000", "000000000", "0000000000", "00000000000", "000000000000", "0000000000000", "00000000000000", "000000000000000", "0000000000000000", "00000000000000000", "000000000000000000", "0000000000000000000", "00000000000000000000", "000000000000000000000", "0000000000000000000000", "00000000000000000000000", "000000000000000000000000", "0000000000000000000000000"], f = [0, 0, 25, 16, 12, 11, 10, 9, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5], p = [0, 0, 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, 43046721, 1e7, 19487171, 35831808, 62748517, 7529536, 11390625, 16777216, 24137569, 34012224, 47045881, 64e6, 4084101, 5153632, 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, 243e5, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176]; g.prototype.toString = function (e, t) { if (t = 0 | t || 1, 16 === (e = e || 10) || "hex" === e) { s = ""; for (var r = 0, i = 0, n = 0; n < this.length; n++) { var o = this.words[n], a = (16777215 & (o << r | i)).toString(16), s = 0 !== (i = o >>> 24 - r & 16777215) || n !== this.length - 1 ? d[6 - a.length] + a + s : a + s; 26 <= (r += 2) && (r -= 26, n--) } for (0 !== i && (s = i.toString(16) + s); s.length % t != 0;)s = "0" + s; return 0 !== this.negative && (s = "-" + s), s } if (e === (0 | e) && 2 <= e && e <= 36) { var l = f[e], u = p[e]; for (s = "", (c = this.clone()).negative = 0; !c.isZero();) { var c, h = c.modrn(u).toString(e); s = (c = c.idivn(u)).isZero() ? h + s : d[l - h.length] + h + s } for (this.isZero() && (s = "0" + s); s.length % t != 0;)s = "0" + s; return 0 !== this.negative && (s = "-" + s), s } m(!1, "Base should be between 2 and 36") }, g.prototype.toNumber = function () { var e = this.words[0]; return 2 === this.length ? e += 67108864 * this.words[1] : 3 === this.length && 1 === this.words[2] ? e += 4503599627370496 + 67108864 * this.words[1] : 2 < this.length && m(!1, "Number can only safely store up to 53 bits"), 0 !== this.negative ? -e : e }, g.prototype.toJSON = function () { return this.toString(16, 2) }, i && (g.prototype.toBuffer = function (e, t) { return this.toArrayLike(i, e, t) }), g.prototype.toArray = function (e, t) { return this.toArrayLike(Array, e, t) }; function s(e, t, r) { r.negative = t.negative ^ e.negative; var i = e.length + t.length | 0, i = (r.length = i) - 1 | 0, n = 67108863 & (h = (0 | e.words[0]) * (0 | t.words[0])), o = h / 67108864 | 0; r.words[0] = n; for (var a = 1; a < i; a++) { for (var s = o >>> 26, l = 67108863 & o, u = Math.min(a, t.length - 1), c = Math.max(0, a - e.length + 1); c <= u; c++) { var h, d = a - c | 0; s += (h = (0 | e.words[d]) * (0 | t.words[c]) + l) / 67108864 | 0, l = 67108863 & h } r.words[a] = 0 | l, o = 0 | s } return 0 !== o ? r.words[a] = 0 | o : r.length--, r._strip() } g.prototype.toArrayLike = function (e, t, r) { this._strip(); var i = this.byteLength(), n = r || Math.max(1, i); m(i <= n, "byte array longer than desired length"), m(0 < n, "Requested array length <= 0"); var o, a, s = (a = n, (o = e).allocUnsafe ? o.allocUnsafe(a) : new o(a)); return this["_toArrayLike" + ("le" === t ? "LE" : "BE")](s, i), s }, g.prototype._toArrayLikeLE = function (e) { for (var t = 0, r = 0, i = 0, n = 0; i < this.length; i++) { var o = this.words[i] << n | r; e[t++] = 255 & o, t < e.length && (e[t++] = o >> 8 & 255), t < e.length && (e[t++] = o >> 16 & 255), 6 === n ? (t < e.length && (e[t++] = o >> 24 & 255), n = r = 0) : (r = o >>> 24, n += 2) } if (t < e.length) for (e[t++] = r; t < e.length;)e[t++] = 0 }, g.prototype._toArrayLikeBE = function (e) { for (var t = e.length - 1, r = 0, i = 0, n = 0; i < this.length; i++) { var o = this.words[i] << n | r; e[t--] = 255 & o, 0 <= t && (e[t--] = o >> 8 & 255), 0 <= t && (e[t--] = o >> 16 & 255), 6 === n ? (0 <= t && (e[t--] = o >> 24 & 255), n = r = 0) : (r = o >>> 24, n += 2) } if (0 <= t) for (e[t--] = r; 0 <= t;)e[t--] = 0 }, Math.clz32 ? g.prototype._countBits = function (e) { return 32 - Math.clz32(e) } : g.prototype._countBits = function (e) { var t = e, r = 0; return 4096 <= t && (r += 13, t >>>= 13), 64 <= t && (r += 7, t >>>= 7), 8 <= t && (r += 4, t >>>= 4), 2 <= t && (r += 2, t >>>= 2), r + t }, g.prototype._zeroBits = function (e) { if (0 === e) return 26; var t = e, r = 0; return 0 == (8191 & t) && (r += 13, t >>>= 13), 0 == (127 & t) && (r += 7, t >>>= 7), 0 == (15 & t) && (r += 4, t >>>= 4), 0 == (3 & t) && (r += 2, t >>>= 2), 0 == (1 & t) && r++, r }, g.prototype.bitLength = function () { var e = this.words[this.length - 1], t = this._countBits(e); return 26 * (this.length - 1) + t }, g.prototype.zeroBits = function () { if (this.isZero()) return 0; for (var e = 0, t = 0; t < this.length; t++) { var r = this._zeroBits(this.words[t]); if (e += r, 26 !== r) break } return e }, g.prototype.byteLength = function () { return Math.ceil(this.bitLength() / 8) }, g.prototype.toTwos = function (e) { return 0 !== this.negative ? this.abs().inotn(e).iaddn(1) : this.clone() }, g.prototype.fromTwos = function (e) { return this.testn(e - 1) ? this.notn(e).iaddn(1).ineg() : this.clone() }, g.prototype.isNeg = function () { return 0 !== this.negative }, g.prototype.neg = function () { return this.clone().ineg() }, g.prototype.ineg = function () { return this.isZero() || (this.negative ^= 1), this }, g.prototype.iuor = function (e) { for (; this.length < e.length;)this.words[this.length++] = 0; for (var t = 0; t < e.length; t++)this.words[t] = this.words[t] | e.words[t]; return this._strip() }, g.prototype.ior = function (e) { return m(0 == (this.negative | e.negative)), this.iuor(e) }, g.prototype.or = function (e) { return this.length > e.length ? this.clone().ior(e) : e.clone().ior(this) }, g.prototype.uor = function (e) { return this.length > e.length ? this.clone().iuor(e) : e.clone().iuor(this) }, g.prototype.iuand = function (e) { for (var t = this.length > e.length ? e : this, r = 0; r < t.length; r++)this.words[r] = this.words[r] & e.words[r]; return this.length = t.length, this._strip() }, g.prototype.iand = function (e) { return m(0 == (this.negative | e.negative)), this.iuand(e) }, g.prototype.and = function (e) { return this.length > e.length ? this.clone().iand(e) : e.clone().iand(this) }, g.prototype.uand = function (e) { return this.length > e.length ? this.clone().iuand(e) : e.clone().iuand(this) }, g.prototype.iuxor = function (e) { for (var t, r = this.length > e.length ? (t = this, e) : (t = e, this), i = 0; i < r.length; i++)this.words[i] = t.words[i] ^ r.words[i]; if (this !== t) for (; i < t.length; i++)this.words[i] = t.words[i]; return this.length = t.length, this._strip() }, g.prototype.ixor = function (e) { return m(0 == (this.negative | e.negative)), this.iuxor(e) }, g.prototype.xor = function (e) { return this.length > e.length ? this.clone().ixor(e) : e.clone().ixor(this) }, g.prototype.uxor = function (e) { return this.length > e.length ? this.clone().iuxor(e) : e.clone().iuxor(this) }, g.prototype.inotn = function (e) { m("number" == typeof e && 0 <= e); var t = 0 | Math.ceil(e / 26), r = e % 26; this._expand(t), 0 < r && t--; for (var i = 0; i < t; i++)this.words[i] = 67108863 & ~this.words[i]; return 0 < r && (this.words[i] = ~this.words[i] & 67108863 >> 26 - r), this._strip() }, g.prototype.notn = function (e) { return this.clone().inotn(e) }, g.prototype.setn = function (e, t) { m("number" == typeof e && 0 <= e); var r = e / 26 | 0, i = e % 26; return this._expand(1 + r), this.words[r] = t ? this.words[r] | 1 << i : this.words[r] & ~(1 << i), this._strip() }, g.prototype.iadd = function (e) { var t, r, i; if (0 !== this.negative && 0 === e.negative) return this.negative = 0, t = this.isub(e), this.negative ^= 1, this._normSign(); if (0 === this.negative && 0 !== e.negative) return e.negative = 0, t = this.isub(e), e.negative = 1, t._normSign(); i = this.length > e.length ? (r = this, e) : (r = e, this); for (var n = 0, o = 0; o < i.length; o++)t = (0 | r.words[o]) + (0 | i.words[o]) + n, this.words[o] = 67108863 & t, n = t >>> 26; for (; 0 !== n && o < r.length; o++)t = (0 | r.words[o]) + n, this.words[o] = 67108863 & t, n = t >>> 26; if (this.length = r.length, 0 !== n) this.words[this.length] = n, this.length++; else if (r !== this) for (; o < r.length; o++)this.words[o] = r.words[o]; return this }, g.prototype.add = function (e) { var t; return 0 !== e.negative && 0 === this.negative ? (e.negative = 0, t = this.sub(e), e.negative ^= 1, t) : 0 === e.negative && 0 !== this.negative ? (this.negative = 0, t = e.sub(this), this.negative = 1, t) : this.length > e.length ? this.clone().iadd(e) : e.clone().iadd(this) }, g.prototype.isub = function (e) { if (0 !== e.negative) { e.negative = 0; var t = this.iadd(e); return e.negative = 1, t._normSign() } if (0 !== this.negative) return this.negative = 0, this.iadd(e), this.negative = 1, this._normSign(); var r, i, n = this.cmp(e); if (0 === n) return this.negative = 0, this.length = 1, this.words[0] = 0, this; i = 0 < n ? (r = this, e) : (r = e, this); for (var o = 0, a = 0; a < i.length; a++)o = (t = (0 | r.words[a]) - (0 | i.words[a]) + o) >> 26, this.words[a] = 67108863 & t; for (; 0 !== o && a < r.length; a++)o = (t = (0 | r.words[a]) + o) >> 26, this.words[a] = 67108863 & t; if (0 === o && a < r.length && r !== this) for (; a < r.length; a++)this.words[a] = r.words[a]; return this.length = Math.max(this.length, a), r !== this && (this.negative = 1), this._strip() }, g.prototype.sub = function (e) { return this.clone().isub(e) }; var l = function (e, t, r) { var i, n, o, a = e.words, s = t.words, l = r.words, u = 0, c = 0 | a[0], h = 8191 & c, d = c >>> 13, f = 0 | a[1], p = 8191 & f, y = f >>> 13, m = 0 | a[2], g = 8191 & m, b = m >>> 13, v = 0 | a[3], _ = 8191 & v, w = v >>> 13, S = 0 | a[4], E = 8191 & S, x = S >>> 13, T = 0 | a[5], M = 8191 & T, k = T >>> 13, P = 0 | a[6], C = 8191 & P, A = P >>> 13, I = 0 | a[7], R = 8191 & I, L = I >>> 13, D = 0 | a[8], B = 8191 & D, O = D >>> 13, U = 0 | a[9], N = 8191 & U, H = U >>> 13, j = 0 | s[0], F = 8191 & j, q = j >>> 13, V = 0 | s[1], z = 8191 & V, K = V >>> 13, W = 0 | s[2], X = 8191 & W, G = W >>> 13, Y = 0 | s[3], Q = 8191 & Y, J = Y >>> 13, Z = 0 | s[4], $ = 8191 & Z, ee = Z >>> 13, te = 0 | s[5], re = 8191 & te, ie = te >>> 13, ne = 0 | s[6], oe = 8191 & ne, ae = ne >>> 13, se = 0 | s[7], le = 8191 & se, ue = se >>> 13, ce = 0 | s[8], he = 8191 & ce, de = ce >>> 13, fe = 0 | s[9], pe = 8191 & fe, ye = fe >>> 13; r.negative = e.negative ^ t.negative, r.length = 19; var me = (u + (i = Math.imul(h, F)) | 0) + ((8191 & (n = (n = Math.imul(h, q)) + Math.imul(d, F) | 0)) << 13) | 0, u = ((o = Math.imul(d, q)) + (n >>> 13) | 0) + (me >>> 26) | 0; me &= 67108863, i = Math.imul(p, F), n = (n = Math.imul(p, q)) + Math.imul(y, F) | 0, o = Math.imul(y, q); var ge = (u + (i = i + Math.imul(h, z) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, K) | 0) + Math.imul(d, z) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, K) | 0) + (n >>> 13) | 0) + (ge >>> 26) | 0, ge &= 67108863, i = Math.imul(g, F), n = (n = Math.imul(g, q)) + Math.imul(b, F) | 0, o = Math.imul(b, q), i = i + Math.imul(p, z) | 0, n = (n = n + Math.imul(p, K) | 0) + Math.imul(y, z) | 0, o = o + Math.imul(y, K) | 0; var be = (u + (i = i + Math.imul(h, X) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, G) | 0) + Math.imul(d, X) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, G) | 0) + (n >>> 13) | 0) + (be >>> 26) | 0, be &= 67108863, i = Math.imul(_, F), n = (n = Math.imul(_, q)) + Math.imul(w, F) | 0, o = Math.imul(w, q), i = i + Math.imul(g, z) | 0, n = (n = n + Math.imul(g, K) | 0) + Math.imul(b, z) | 0, o = o + Math.imul(b, K) | 0, i = i + Math.imul(p, X) | 0, n = (n = n + Math.imul(p, G) | 0) + Math.imul(y, X) | 0, o = o + Math.imul(y, G) | 0; var ve = (u + (i = i + Math.imul(h, Q) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, J) | 0) + Math.imul(d, Q) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, J) | 0) + (n >>> 13) | 0) + (ve >>> 26) | 0, ve &= 67108863, i = Math.imul(E, F), n = (n = Math.imul(E, q)) + Math.imul(x, F) | 0, o = Math.imul(x, q), i = i + Math.imul(_, z) | 0, n = (n = n + Math.imul(_, K) | 0) + Math.imul(w, z) | 0, o = o + Math.imul(w, K) | 0, i = i + Math.imul(g, X) | 0, n = (n = n + Math.imul(g, G) | 0) + Math.imul(b, X) | 0, o = o + Math.imul(b, G) | 0, i = i + Math.imul(p, Q) | 0, n = (n = n + Math.imul(p, J) | 0) + Math.imul(y, Q) | 0, o = o + Math.imul(y, J) | 0; var _e = (u + (i = i + Math.imul(h, $) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, ee) | 0) + Math.imul(d, $) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, ee) | 0) + (n >>> 13) | 0) + (_e >>> 26) | 0, _e &= 67108863, i = Math.imul(M, F), n = (n = Math.imul(M, q)) + Math.imul(k, F) | 0, o = Math.imul(k, q), i = i + Math.imul(E, z) | 0, n = (n = n + Math.imul(E, K) | 0) + Math.imul(x, z) | 0, o = o + Math.imul(x, K) | 0, i = i + Math.imul(_, X) | 0, n = (n = n + Math.imul(_, G) | 0) + Math.imul(w, X) | 0, o = o + Math.imul(w, G) | 0, i = i + Math.imul(g, Q) | 0, n = (n = n + Math.imul(g, J) | 0) + Math.imul(b, Q) | 0, o = o + Math.imul(b, J) | 0, i = i + Math.imul(p, $) | 0, n = (n = n + Math.imul(p, ee) | 0) + Math.imul(y, $) | 0, o = o + Math.imul(y, ee) | 0; var we = (u + (i = i + Math.imul(h, re) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, ie) | 0) + Math.imul(d, re) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, ie) | 0) + (n >>> 13) | 0) + (we >>> 26) | 0, we &= 67108863, i = Math.imul(C, F), n = (n = Math.imul(C, q)) + Math.imul(A, F) | 0, o = Math.imul(A, q), i = i + Math.imul(M, z) | 0, n = (n = n + Math.imul(M, K) | 0) + Math.imul(k, z) | 0, o = o + Math.imul(k, K) | 0, i = i + Math.imul(E, X) | 0, n = (n = n + Math.imul(E, G) | 0) + Math.imul(x, X) | 0, o = o + Math.imul(x, G) | 0, i = i + Math.imul(_, Q) | 0, n = (n = n + Math.imul(_, J) | 0) + Math.imul(w, Q) | 0, o = o + Math.imul(w, J) | 0, i = i + Math.imul(g, $) | 0, n = (n = n + Math.imul(g, ee) | 0) + Math.imul(b, $) | 0, o = o + Math.imul(b, ee) | 0, i = i + Math.imul(p, re) | 0, n = (n = n + Math.imul(p, ie) | 0) + Math.imul(y, re) | 0, o = o + Math.imul(y, ie) | 0; var Se = (u + (i = i + Math.imul(h, oe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, ae) | 0) + Math.imul(d, oe) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, ae) | 0) + (n >>> 13) | 0) + (Se >>> 26) | 0, Se &= 67108863, i = Math.imul(R, F), n = (n = Math.imul(R, q)) + Math.imul(L, F) | 0, o = Math.imul(L, q), i = i + Math.imul(C, z) | 0, n = (n = n + Math.imul(C, K) | 0) + Math.imul(A, z) | 0, o = o + Math.imul(A, K) | 0, i = i + Math.imul(M, X) | 0, n = (n = n + Math.imul(M, G) | 0) + Math.imul(k, X) | 0, o = o + Math.imul(k, G) | 0, i = i + Math.imul(E, Q) | 0, n = (n = n + Math.imul(E, J) | 0) + Math.imul(x, Q) | 0, o = o + Math.imul(x, J) | 0, i = i + Math.imul(_, $) | 0, n = (n = n + Math.imul(_, ee) | 0) + Math.imul(w, $) | 0, o = o + Math.imul(w, ee) | 0, i = i + Math.imul(g, re) | 0, n = (n = n + Math.imul(g, ie) | 0) + Math.imul(b, re) | 0, o = o + Math.imul(b, ie) | 0, i = i + Math.imul(p, oe) | 0, n = (n = n + Math.imul(p, ae) | 0) + Math.imul(y, oe) | 0, o = o + Math.imul(y, ae) | 0; var Ee = (u + (i = i + Math.imul(h, le) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, ue) | 0) + Math.imul(d, le) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, ue) | 0) + (n >>> 13) | 0) + (Ee >>> 26) | 0, Ee &= 67108863, i = Math.imul(B, F), n = (n = Math.imul(B, q)) + Math.imul(O, F) | 0, o = Math.imul(O, q), i = i + Math.imul(R, z) | 0, n = (n = n + Math.imul(R, K) | 0) + Math.imul(L, z) | 0, o = o + Math.imul(L, K) | 0, i = i + Math.imul(C, X) | 0, n = (n = n + Math.imul(C, G) | 0) + Math.imul(A, X) | 0, o = o + Math.imul(A, G) | 0, i = i + Math.imul(M, Q) | 0, n = (n = n + Math.imul(M, J) | 0) + Math.imul(k, Q) | 0, o = o + Math.imul(k, J) | 0, i = i + Math.imul(E, $) | 0, n = (n = n + Math.imul(E, ee) | 0) + Math.imul(x, $) | 0, o = o + Math.imul(x, ee) | 0, i = i + Math.imul(_, re) | 0, n = (n = n + Math.imul(_, ie) | 0) + Math.imul(w, re) | 0, o = o + Math.imul(w, ie) | 0, i = i + Math.imul(g, oe) | 0, n = (n = n + Math.imul(g, ae) | 0) + Math.imul(b, oe) | 0, o = o + Math.imul(b, ae) | 0, i = i + Math.imul(p, le) | 0, n = (n = n + Math.imul(p, ue) | 0) + Math.imul(y, le) | 0, o = o + Math.imul(y, ue) | 0; var xe = (u + (i = i + Math.imul(h, he) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, de) | 0) + Math.imul(d, he) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, de) | 0) + (n >>> 13) | 0) + (xe >>> 26) | 0, xe &= 67108863, i = Math.imul(N, F), n = (n = Math.imul(N, q)) + Math.imul(H, F) | 0, o = Math.imul(H, q), i = i + Math.imul(B, z) | 0, n = (n = n + Math.imul(B, K) | 0) + Math.imul(O, z) | 0, o = o + Math.imul(O, K) | 0, i = i + Math.imul(R, X) | 0, n = (n = n + Math.imul(R, G) | 0) + Math.imul(L, X) | 0, o = o + Math.imul(L, G) | 0, i = i + Math.imul(C, Q) | 0, n = (n = n + Math.imul(C, J) | 0) + Math.imul(A, Q) | 0, o = o + Math.imul(A, J) | 0, i = i + Math.imul(M, $) | 0, n = (n = n + Math.imul(M, ee) | 0) + Math.imul(k, $) | 0, o = o + Math.imul(k, ee) | 0, i = i + Math.imul(E, re) | 0, n = (n = n + Math.imul(E, ie) | 0) + Math.imul(x, re) | 0, o = o + Math.imul(x, ie) | 0, i = i + Math.imul(_, oe) | 0, n = (n = n + Math.imul(_, ae) | 0) + Math.imul(w, oe) | 0, o = o + Math.imul(w, ae) | 0, i = i + Math.imul(g, le) | 0, n = (n = n + Math.imul(g, ue) | 0) + Math.imul(b, le) | 0, o = o + Math.imul(b, ue) | 0, i = i + Math.imul(p, he) | 0, n = (n = n + Math.imul(p, de) | 0) + Math.imul(y, he) | 0, o = o + Math.imul(y, de) | 0; var Te = (u + (i = i + Math.imul(h, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(h, ye) | 0) + Math.imul(d, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(d, ye) | 0) + (n >>> 13) | 0) + (Te >>> 26) | 0, Te &= 67108863, i = Math.imul(N, z), n = (n = Math.imul(N, K)) + Math.imul(H, z) | 0, o = Math.imul(H, K), i = i + Math.imul(B, X) | 0, n = (n = n + Math.imul(B, G) | 0) + Math.imul(O, X) | 0, o = o + Math.imul(O, G) | 0, i = i + Math.imul(R, Q) | 0, n = (n = n + Math.imul(R, J) | 0) + Math.imul(L, Q) | 0, o = o + Math.imul(L, J) | 0, i = i + Math.imul(C, $) | 0, n = (n = n + Math.imul(C, ee) | 0) + Math.imul(A, $) | 0, o = o + Math.imul(A, ee) | 0, i = i + Math.imul(M, re) | 0, n = (n = n + Math.imul(M, ie) | 0) + Math.imul(k, re) | 0, o = o + Math.imul(k, ie) | 0, i = i + Math.imul(E, oe) | 0, n = (n = n + Math.imul(E, ae) | 0) + Math.imul(x, oe) | 0, o = o + Math.imul(x, ae) | 0, i = i + Math.imul(_, le) | 0, n = (n = n + Math.imul(_, ue) | 0) + Math.imul(w, le) | 0, o = o + Math.imul(w, ue) | 0, i = i + Math.imul(g, he) | 0, n = (n = n + Math.imul(g, de) | 0) + Math.imul(b, he) | 0, o = o + Math.imul(b, de) | 0; var Me = (u + (i = i + Math.imul(p, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(p, ye) | 0) + Math.imul(y, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(y, ye) | 0) + (n >>> 13) | 0) + (Me >>> 26) | 0, Me &= 67108863, i = Math.imul(N, X), n = (n = Math.imul(N, G)) + Math.imul(H, X) | 0, o = Math.imul(H, G), i = i + Math.imul(B, Q) | 0, n = (n = n + Math.imul(B, J) | 0) + Math.imul(O, Q) | 0, o = o + Math.imul(O, J) | 0, i = i + Math.imul(R, $) | 0, n = (n = n + Math.imul(R, ee) | 0) + Math.imul(L, $) | 0, o = o + Math.imul(L, ee) | 0, i = i + Math.imul(C, re) | 0, n = (n = n + Math.imul(C, ie) | 0) + Math.imul(A, re) | 0, o = o + Math.imul(A, ie) | 0, i = i + Math.imul(M, oe) | 0, n = (n = n + Math.imul(M, ae) | 0) + Math.imul(k, oe) | 0, o = o + Math.imul(k, ae) | 0, i = i + Math.imul(E, le) | 0, n = (n = n + Math.imul(E, ue) | 0) + Math.imul(x, le) | 0, o = o + Math.imul(x, ue) | 0, i = i + Math.imul(_, he) | 0, n = (n = n + Math.imul(_, de) | 0) + Math.imul(w, he) | 0, o = o + Math.imul(w, de) | 0; var ke = (u + (i = i + Math.imul(g, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(g, ye) | 0) + Math.imul(b, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(b, ye) | 0) + (n >>> 13) | 0) + (ke >>> 26) | 0, ke &= 67108863, i = Math.imul(N, Q), n = (n = Math.imul(N, J)) + Math.imul(H, Q) | 0, o = Math.imul(H, J), i = i + Math.imul(B, $) | 0, n = (n = n + Math.imul(B, ee) | 0) + Math.imul(O, $) | 0, o = o + Math.imul(O, ee) | 0, i = i + Math.imul(R, re) | 0, n = (n = n + Math.imul(R, ie) | 0) + Math.imul(L, re) | 0, o = o + Math.imul(L, ie) | 0, i = i + Math.imul(C, oe) | 0, n = (n = n + Math.imul(C, ae) | 0) + Math.imul(A, oe) | 0, o = o + Math.imul(A, ae) | 0, i = i + Math.imul(M, le) | 0, n = (n = n + Math.imul(M, ue) | 0) + Math.imul(k, le) | 0, o = o + Math.imul(k, ue) | 0, i = i + Math.imul(E, he) | 0, n = (n = n + Math.imul(E, de) | 0) + Math.imul(x, he) | 0, o = o + Math.imul(x, de) | 0; var Pe = (u + (i = i + Math.imul(_, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(_, ye) | 0) + Math.imul(w, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(w, ye) | 0) + (n >>> 13) | 0) + (Pe >>> 26) | 0, Pe &= 67108863, i = Math.imul(N, $), n = (n = Math.imul(N, ee)) + Math.imul(H, $) | 0, o = Math.imul(H, ee), i = i + Math.imul(B, re) | 0, n = (n = n + Math.imul(B, ie) | 0) + Math.imul(O, re) | 0, o = o + Math.imul(O, ie) | 0, i = i + Math.imul(R, oe) | 0, n = (n = n + Math.imul(R, ae) | 0) + Math.imul(L, oe) | 0, o = o + Math.imul(L, ae) | 0, i = i + Math.imul(C, le) | 0, n = (n = n + Math.imul(C, ue) | 0) + Math.imul(A, le) | 0, o = o + Math.imul(A, ue) | 0, i = i + Math.imul(M, he) | 0, n = (n = n + Math.imul(M, de) | 0) + Math.imul(k, he) | 0, o = o + Math.imul(k, de) | 0; var Ce = (u + (i = i + Math.imul(E, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(E, ye) | 0) + Math.imul(x, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(x, ye) | 0) + (n >>> 13) | 0) + (Ce >>> 26) | 0, Ce &= 67108863, i = Math.imul(N, re), n = (n = Math.imul(N, ie)) + Math.imul(H, re) | 0, o = Math.imul(H, ie), i = i + Math.imul(B, oe) | 0, n = (n = n + Math.imul(B, ae) | 0) + Math.imul(O, oe) | 0, o = o + Math.imul(O, ae) | 0, i = i + Math.imul(R, le) | 0, n = (n = n + Math.imul(R, ue) | 0) + Math.imul(L, le) | 0, o = o + Math.imul(L, ue) | 0, i = i + Math.imul(C, he) | 0, n = (n = n + Math.imul(C, de) | 0) + Math.imul(A, he) | 0, o = o + Math.imul(A, de) | 0; var Ae = (u + (i = i + Math.imul(M, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(M, ye) | 0) + Math.imul(k, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(k, ye) | 0) + (n >>> 13) | 0) + (Ae >>> 26) | 0, Ae &= 67108863, i = Math.imul(N, oe), n = (n = Math.imul(N, ae)) + Math.imul(H, oe) | 0, o = Math.imul(H, ae), i = i + Math.imul(B, le) | 0, n = (n = n + Math.imul(B, ue) | 0) + Math.imul(O, le) | 0, o = o + Math.imul(O, ue) | 0, i = i + Math.imul(R, he) | 0, n = (n = n + Math.imul(R, de) | 0) + Math.imul(L, he) | 0, o = o + Math.imul(L, de) | 0; var Ie = (u + (i = i + Math.imul(C, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(C, ye) | 0) + Math.imul(A, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(A, ye) | 0) + (n >>> 13) | 0) + (Ie >>> 26) | 0, Ie &= 67108863, i = Math.imul(N, le), n = (n = Math.imul(N, ue)) + Math.imul(H, le) | 0, o = Math.imul(H, ue), i = i + Math.imul(B, he) | 0, n = (n = n + Math.imul(B, de) | 0) + Math.imul(O, he) | 0, o = o + Math.imul(O, de) | 0; var Re = (u + (i = i + Math.imul(R, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(R, ye) | 0) + Math.imul(L, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(L, ye) | 0) + (n >>> 13) | 0) + (Re >>> 26) | 0, Re &= 67108863, i = Math.imul(N, he), n = (n = Math.imul(N, de)) + Math.imul(H, he) | 0, o = Math.imul(H, de); var Le = (u + (i = i + Math.imul(B, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(B, ye) | 0) + Math.imul(O, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(O, ye) | 0) + (n >>> 13) | 0) + (Le >>> 26) | 0, Le &= 67108863; var De = (u + (i = Math.imul(N, pe)) | 0) + ((8191 & (n = (n = Math.imul(N, ye)) + Math.imul(H, pe) | 0)) << 13) | 0; return u = ((o = Math.imul(H, ye)) + (n >>> 13) | 0) + (De >>> 26) | 0, De &= 67108863, l[0] = me, l[1] = ge, l[2] = be, l[3] = ve, l[4] = _e, l[5] = we, l[6] = Se, l[7] = Ee, l[8] = xe, l[9] = Te, l[10] = Me, l[11] = ke, l[12] = Pe, l[13] = Ce, l[14] = Ae, l[15] = Ie, l[16] = Re, l[17] = Le, l[18] = De, 0 !== u && (l[19] = u, r.length++), r }; function u(e, t, r) { r.negative = t.negative ^ e.negative, r.length = e.length + t.length; for (var i = 0, n = 0, o = 0; o < r.length - 1; o++) { for (var a = n, n = 0, s = 67108863 & i, l = Math.min(o, t.length - 1), u = Math.max(0, o - e.length + 1); u <= l; u++) { var c = o - u, h = (0 | e.words[c]) * (0 | t.words[u]), d = 67108863 & h, s = 67108863 & (d = d + s | 0); n += (a = (a = a + (h / 67108864 | 0) | 0) + (d >>> 26) | 0) >>> 26, a &= 67108863 } r.words[o] = s, i = a, a = n } return 0 !== i ? r.words[o] = i : r.length--, r._strip() } function c(e, t, r) { return u(e, t, r) } Math.imul || (l = s), g.prototype.mulTo = function (e, t) { var r = this.length + e.length, i = (10 === this.length && 10 === e.length ? l : r < 63 ? s : r < 1024 ? u : c)(this, e, t); return i }, g.prototype.mul = function (e) { var t = new g(null); return t.words = new Array(this.length + e.length), this.mulTo(e, t) }, g.prototype.mulf = function (e) { var t = new g(null); return t.words = new Array(this.length + e.length), c(this, e, t) }, g.prototype.imul = function (e) { return this.clone().mulTo(e, this) }, g.prototype.imuln = function (e) { var t = e < 0; t && (e = -e), m("number" == typeof e), m(e < 67108864); for (var r = 0, i = 0; i < this.length; i++) { var n = (0 | this.words[i]) * e, o = (67108863 & n) + (67108863 & r); r >>= 26, r += n / 67108864 | 0, r += o >>> 26, this.words[i] = 67108863 & o } return 0 !== r && (this.words[i] = r, this.length++), t ? this.ineg() : this }, g.prototype.muln = function (e) { return this.clone().imuln(e) }, g.prototype.sqr = function () { return this.mul(this) }, g.prototype.isqr = function () { return this.imul(this.clone()) }, g.prototype.pow = function (e) { var t = function (e) { for (var t = new Array(e.bitLength()), r = 0; r < t.length; r++) { var i = r / 26 | 0, n = r % 26; t[r] = e.words[i] >>> n & 1 } return t }(e); if (0 === t.length) return new g(1); for (var r = this, i = 0; i < t.length && 0 === t[i]; i++, r = r.sqr()); if (++i < t.length) for (var n = r.sqr(); i < t.length; i++, n = n.sqr())0 !== t[i] && (r = r.mul(n)); return r }, g.prototype.iushln = function (e) { m("number" == typeof e && 0 <= e); var t = e % 26, r = (e - t) / 26, i = 67108863 >>> 26 - t << 26 - t; if (0 != t) { for (var n = 0, o = 0; o < this.length; o++) { var a = this.words[o] & i, s = (0 | this.words[o]) - a << t; this.words[o] = s | n, n = a >>> 26 - t } n && (this.words[o] = n, this.length++) } if (0 != r) { for (o = this.length - 1; 0 <= o; o--)this.words[o + r] = this.words[o]; for (o = 0; o < r; o++)this.words[o] = 0; this.length += r } return this._strip() }, g.prototype.ishln = function (e) { return m(0 === this.negative), this.iushln(e) }, g.prototype.iushrn = function (e, t, r) { var i; m("number" == typeof e && 0 <= e), i = t ? (t - t % 26) / 26 : 0; var n = e % 26, o = Math.min((e - n) / 26, this.length), a = 67108863 ^ 67108863 >>> n << n, s = r; if (i -= o, i = Math.max(0, i), s) { for (var l = 0; l < o; l++)s.words[l] = this.words[l]; s.length = o } if (0 !== o) if (this.length > o) for (this.length -= o, l = 0; l < this.length; l++)this.words[l] = this.words[l + o]; else this.words[0] = 0, this.length = 1; for (var u = 0, l = this.length - 1; 0 <= l && (0 !== u || i <= l); l--) { var c = 0 | this.words[l]; this.words[l] = u << 26 - n | c >>> n, u = c & a } return s && 0 !== u && (s.words[s.length++] = u), 0 === this.length && (this.words[0] = 0, this.length = 1), this._strip() }, g.prototype.ishrn = function (e, t, r) { return m(0 === this.negative), this.iushrn(e, t, r) }, g.prototype.shln = function (e) { return this.clone().ishln(e) }, g.prototype.ushln = function (e) { return this.clone().iushln(e) }, g.prototype.shrn = function (e) { return this.clone().ishrn(e) }, g.prototype.ushrn = function (e) { return this.clone().iushrn(e) }, g.prototype.testn = function (e) { m("number" == typeof e && 0 <= e); var t = e % 26, r = (e - t) / 26, i = 1 << t; return !(this.length <= r) && !!(this.words[r] & i) }, g.prototype.imaskn = function (e) { m("number" == typeof e && 0 <= e); var t, r = e % 26, i = (e - r) / 26; return m(0 === this.negative, "imaskn works only with positive numbers"), this.length <= i ? this : (0 != r && i++, this.length = Math.min(i, this.length), 0 != r && (t = 67108863 ^ 67108863 >>> r << r, this.words[this.length - 1] &= t), this._strip()) }, g.prototype.maskn = function (e) { return this.clone().imaskn(e) }, g.prototype.iaddn = function (e) { return m("number" == typeof e), m(e < 67108864), e < 0 ? this.isubn(-e) : 0 !== this.negative ? (1 === this.length && (0 | this.words[0]) <= e ? (this.words[0] = e - (0 | this.words[0]), this.negative = 0) : (this.negative = 0, this.isubn(e), this.negative = 1), this) : this._iaddn(e) }, g.prototype._iaddn = function (e) { this.words[0] += e; for (var t = 0; t < this.length && 67108864 <= this.words[t]; t++)this.words[t] -= 67108864, t === this.length - 1 ? this.words[t + 1] = 1 : this.words[t + 1]++; return this.length = Math.max(this.length, t + 1), this }, g.prototype.isubn = function (e) { if (m("number" == typeof e), m(e < 67108864), e < 0) return this.iaddn(-e); if (0 !== this.negative) return this.negative = 0, this.iaddn(e), this.negative = 1, this; if (this.words[0] -= e, 1 === this.length && this.words[0] < 0) this.words[0] = -this.words[0], this.negative = 1; else for (var t = 0; t < this.length && this.words[t] < 0; t++)this.words[t] += 67108864, --this.words[t + 1]; return this._strip() }, g.prototype.addn = function (e) { return this.clone().iaddn(e) }, g.prototype.subn = function (e) { return this.clone().isubn(e) }, g.prototype.iabs = function () { return this.negative = 0, this }, g.prototype.abs = function () { return this.clone().iabs() }, g.prototype._ishlnsubmul = function (e, t, r) { var i, n = e.length + r; this._expand(n); for (var o = 0, a = 0; a < e.length; a++) { i = (0 | this.words[a + r]) + o; var s = (0 | e.words[a]) * t, o = ((i -= 67108863 & s) >> 26) - (s / 67108864 | 0); this.words[a + r] = 67108863 & i } for (; a < this.length - r; a++)o = (i = (0 | this.words[a + r]) + o) >> 26, this.words[a + r] = 67108863 & i; if (0 === o) return this._strip(); for (m(-1 === o), a = o = 0; a < this.length; a++)o = (i = -(0 | this.words[a]) + o) >> 26, this.words[a] = 67108863 & i; return this.negative = 1, this._strip() }, g.prototype._wordDiv = function (e, t) { var r = (this.length, e.length), i = this.clone(), n = e, o = 0 | n.words[n.length - 1]; 0 != (r = 26 - this._countBits(o)) && (n = n.ushln(r), i.iushln(r), o = 0 | n.words[n.length - 1]); var a, s = i.length - n.length; if ("mod" !== t) { (a = new g(null)).length = 1 + s, a.words = new Array(a.length); for (var l = 0; l < a.length; l++)a.words[l] = 0 } var u = i.clone()._ishlnsubmul(n, 1, s); 0 === u.negative && (i = u, a && (a.words[s] = 1)); for (var c = s - 1; 0 <= c; c--) { var h = 67108864 * (0 | i.words[n.length + c]) + (0 | i.words[n.length + c - 1]), h = Math.min(h / o | 0, 67108863); for (i._ishlnsubmul(n, h, c); 0 !== i.negative;)h--, i.negative = 0, i._ishlnsubmul(n, 1, c), i.isZero() || (i.negative ^= 1); a && (a.words[c] = h) } return a && a._strip(), i._strip(), "div" !== t && 0 != r && i.iushrn(r), { div: a || null, mod: i } }, g.prototype.divmod = function (e, t, r) { return m(!e.isZero()), this.isZero() ? { div: new g(0), mod: new g(0) } : 0 !== this.negative && 0 === e.negative ? (o = this.neg().divmod(e, t), "mod" !== t && (i = o.div.neg()), "div" !== t && (n = o.mod.neg(), r && 0 !== n.negative && n.iadd(e)), { div: i, mod: n }) : 0 === this.negative && 0 !== e.negative ? (o = this.divmod(e.neg(), t), "mod" !== t && (i = o.div.neg()), { div: i, mod: o.mod }) : 0 != (this.negative & e.negative) ? (o = this.neg().divmod(e.neg(), t), "div" !== t && (n = o.mod.neg(), r && 0 !== n.negative && n.isub(e)), { div: o.div, mod: n }) : e.length > this.length || this.cmp(e) < 0 ? { div: new g(0), mod: this } : 1 === e.length ? "div" === t ? { div: this.divn(e.words[0]), mod: null } : "mod" === t ? { div: null, mod: new g(this.modrn(e.words[0])) } : { div: this.divn(e.words[0]), mod: new g(this.modrn(e.words[0])) } : this._wordDiv(e, t); var i, n, o }, g.prototype.div = function (e) { return this.divmod(e, "div", !1).div }, g.prototype.mod = function (e) { return this.divmod(e, "mod", !1).mod }, g.prototype.umod = function (e) { return this.divmod(e, "mod", !0).mod }, g.prototype.divRound = function (e) { var t = this.divmod(e); if (t.mod.isZero()) return t.div; var r = 0 !== t.div.negative ? t.mod.isub(e) : t.mod, i = e.ushrn(1), n = e.andln(1), o = r.cmp(i); return o < 0 || 1 === n && 0 === o ? t.div : 0 !== t.div.negative ? t.div.isubn(1) : t.div.iaddn(1) }, g.prototype.modrn = function (e) { var t = e < 0; t && (e = -e), m(e <= 67108863); for (var r = (1 << 26) % e, i = 0, n = this.length - 1; 0 <= n; n--)i = (r * i + (0 | this.words[n])) % e; return t ? -i : i }, g.prototype.modn = function (e) { return this.modrn(e) }, g.prototype.idivn = function (e) { var t = e < 0; t && (e = -e), m(e <= 67108863); for (var r = 0, i = this.length - 1; 0 <= i; i--) { var n = (0 | this.words[i]) + 67108864 * r; this.words[i] = n / e | 0, r = n % e } return this._strip(), t ? this.ineg() : this }, g.prototype.divn = function (e) { return this.clone().idivn(e) }, g.prototype.egcd = function (e) { m(0 === e.negative), m(!e.isZero()); for (var t = this, r = e.clone(), t = 0 !== t.negative ? t.umod(e) : t.clone(), i = new g(1), n = new g(0), o = new g(0), a = new g(1), s = 0; t.isEven() && r.isEven();)t.iushrn(1), r.iushrn(1), ++s; for (var l = r.clone(), u = t.clone(); !t.isZero();) { for (var c = 0, h = 1; 0 == (t.words[0] & h) && c < 26; ++c, h <<= 1); if (0 < c) for (t.iushrn(c); 0 < c--;)(i.isOdd() || n.isOdd()) && (i.iadd(l), n.isub(u)), i.iushrn(1), n.iushrn(1); for (var d = 0, f = 1; 0 == (r.words[0] & f) && d < 26; ++d, f <<= 1); if (0 < d) for (r.iushrn(d); 0 < d--;)(o.isOdd() || a.isOdd()) && (o.iadd(l), a.isub(u)), o.iushrn(1), a.iushrn(1); 0 <= t.cmp(r) ? (t.isub(r), i.isub(o), n.isub(a)) : (r.isub(t), o.isub(i), a.isub(n)) } return { a: o, b: a, gcd: r.iushln(s) } }, g.prototype._invmp = function (e) { m(0 === e.negative), m(!e.isZero()); for (var t, r = this, i = e.clone(), r = 0 !== r.negative ? r.umod(e) : r.clone(), n = new g(1), o = new g(0), a = i.clone(); 0 < r.cmpn(1) && 0 < i.cmpn(1);) { for (var s = 0, l = 1; 0 == (r.words[0] & l) && s < 26; ++s, l <<= 1); if (0 < s) for (r.iushrn(s); 0 < s--;)n.isOdd() && n.iadd(a), n.iushrn(1); for (var u = 0, c = 1; 0 == (i.words[0] & c) && u < 26; ++u, c <<= 1); if (0 < u) for (i.iushrn(u); 0 < u--;)o.isOdd() && o.iadd(a), o.iushrn(1); 0 <= r.cmp(i) ? (r.isub(i), n.isub(o)) : (i.isub(r), o.isub(n)) } return (t = 0 === r.cmpn(1) ? n : o).cmpn(0) < 0 && t.iadd(e), t }, g.prototype.gcd = function (e) { if (this.isZero()) return e.abs(); if (e.isZero()) return this.abs(); var t = this.clone(), r = e.clone(); t.negative = 0; for (var i = r.negative = 0; t.isEven() && r.isEven(); i++)t.iushrn(1), r.iushrn(1); for (; ;) { for (; t.isEven();)t.iushrn(1); for (; r.isEven();)r.iushrn(1); var n = t.cmp(r); if (n < 0) var o = t, t = r, r = o; else if (0 === n || 0 === r.cmpn(1)) break; t.isub(r) } return r.iushln(i) }, g.prototype.invm = function (e) { return this.egcd(e).a.umod(e) }, g.prototype.isEven = function () { return 0 == (1 & this.words[0]) }, g.prototype.isOdd = function () { return 1 == (1 & this.words[0]) }, g.prototype.andln = function (e) { return this.words[0] & e }, g.prototype.bincn = function (e) { m("number" == typeof e); var t = e % 26, r = (e - t) / 26, i = 1 << t; if (this.length <= r) return this._expand(1 + r), this.words[r] |= i, this; for (var n = i, o = r; 0 !== n && o < this.length; o++) { var a = 0 | this.words[o], n = (a += n) >>> 26; a &= 67108863, this.words[o] = a } return 0 !== n && (this.words[o] = n, this.length++), this }, g.prototype.isZero = function () { return 1 === this.length && 0 === this.words[0] }, g.prototype.cmpn = function (e) { var t, r, i = e < 0; return 0 === this.negative || i ? 0 === this.negative && i ? 1 : (this._strip(), r = 1 < this.length ? 1 : (i && (e = -e), m(e <= 67108863, "Number is too big"), (t = 0 | this.words[0]) === e ? 0 : t < e ? -1 : 1), 0 !== this.negative ? 0 | -r : r) : -1 }, g.prototype.cmp = function (e) { if (0 !== this.negative && 0 === e.negative) return -1; if (0 === this.negative && 0 !== e.negative) return 1; var t = this.ucmp(e); return 0 !== this.negative ? 0 | -t : t }, g.prototype.ucmp = function (e) { if (this.length > e.length) return 1; if (this.length < e.length) return -1; for (var t = 0, r = this.length - 1; 0 <= r; r--) { var i = 0 | this.words[r], n = 0 | e.words[r]; if (i != n) { i < n ? t = -1 : n < i && (t = 1); break } } return t }, g.prototype.gtn = function (e) { return 1 === this.cmpn(e) }, g.prototype.gt = function (e) { return 1 === this.cmp(e) }, g.prototype.gten = function (e) { return 0 <= this.cmpn(e) }, g.prototype.gte = function (e) { return 0 <= this.cmp(e) }, g.prototype.ltn = function (e) { return -1 === this.cmpn(e) }, g.prototype.lt = function (e) { return -1 === this.cmp(e) }, g.prototype.lten = function (e) { return this.cmpn(e) <= 0 }, g.prototype.lte = function (e) { return this.cmp(e) <= 0 }, g.prototype.eqn = function (e) { return 0 === this.cmpn(e) }, g.prototype.eq = function (e) { return 0 === this.cmp(e) }, g.red = function (e) { return new E(e) }, g.prototype.toRed = function (e) { return m(!this.red, "Already a number in reduction context"), m(0 === this.negative, "red works only with positives"), e.convertTo(this)._forceRed(e) }, g.prototype.fromRed = function () { return m(this.red, "fromRed works only with numbers in reduction context"), this.red.convertFrom(this) }, g.prototype._forceRed = function (e) { return this.red = e, this }, g.prototype.forceRed = function (e) { return m(!this.red, "Already a number in reduction context"), this._forceRed(e) }, g.prototype.redAdd = function (e) { return m(this.red, "redAdd works only with red numbers"), this.red.add(this, e) }, g.prototype.redIAdd = function (e) { return m(this.red, "redIAdd works only with red numbers"), this.red.iadd(this, e) }, g.prototype.redSub = function (e) { return m(this.red, "redSub works only with red numbers"), this.red.sub(this, e) }, g.prototype.redISub = function (e) { return m(this.red, "redISub works only with red numbers"), this.red.isub(this, e) }, g.prototype.redShl = function (e) { return m(this.red, "redShl works only with red numbers"), this.red.shl(this, e) }, g.prototype.redMul = function (e) { return m(this.red, "redMul works only with red numbers"), this.red._verify2(this, e), this.red.mul(this, e) }, g.prototype.redIMul = function (e) { return m(this.red, "redMul works only with red numbers"), this.red._verify2(this, e), this.red.imul(this, e) }, g.prototype.redSqr = function () { return m(this.red, "redSqr works only with red numbers"), this.red._verify1(this), this.red.sqr(this) }, g.prototype.redISqr = function () { return m(this.red, "redISqr works only with red numbers"), this.red._verify1(this), this.red.isqr(this) }, g.prototype.redSqrt = function () { return m(this.red, "redSqrt works only with red numbers"), this.red._verify1(this), this.red.sqrt(this) }, g.prototype.redInvm = function () { return m(this.red, "redInvm works only with red numbers"), this.red._verify1(this), this.red.invm(this) }, g.prototype.redNeg = function () { return m(this.red, "redNeg works only with red numbers"), this.red._verify1(this), this.red.neg(this) }, g.prototype.redPow = function (e) { return m(this.red && !e.red, "redPow(normalNum)"), this.red._verify1(this), this.red.pow(this, e) }; var y = { k256: null, p224: null, p192: null, p25519: null }; function b(e, t) { this.name = e, this.p = new g(t, 16), this.n = this.p.bitLength(), this.k = new g(1).iushln(this.n).isub(this.p), this.tmp = this._tmp() } function v() { b.call(this, "k256", "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f") } function _() { b.call(this, "p224", "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001") } function w() { b.call(this, "p192", "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff") } function S() { b.call(this, "25519", "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed") } function E(e) { var t; "string" == typeof e ? (t = g._prime(e), this.m = t.p, this.prime = t) : (m(e.gtn(1), "modulus must be greater than 1"), this.m = e, this.prime = null) } function x(e) { E.call(this, e), this.shift = this.m.bitLength(), this.shift % 26 != 0 && (this.shift += 26 - this.shift % 26), this.r = new g(1).iushln(this.shift), this.r2 = this.imod(this.r.sqr()), this.rinv = this.r._invmp(this.m), this.minv = this.rinv.mul(this.r).isubn(1).div(this.m), this.minv = this.minv.umod(this.r), this.minv = this.r.sub(this.minv) } b.prototype._tmp = function () { var e = new g(null); return e.words = new Array(Math.ceil(this.n / 13)), e }, b.prototype.ireduce = function (e) { for (var t, r = e; this.split(r, this.tmp), (t = (r = (r = this.imulK(r)).iadd(this.tmp)).bitLength()) > this.n;); var i = t < this.n ? -1 : r.ucmp(this.p); return 0 === i ? (r.words[0] = 0, r.length = 1) : 0 < i ? r.isub(this.p) : r._strip(), r }, b.prototype.split = function (e, t) { e.iushrn(this.n, 0, t) }, b.prototype.imulK = function (e) { return e.imul(this.k) }, r(v, b), v.prototype.split = function (e, t) { for (var r = Math.min(e.length, 9), i = 0; i < r; i++)t.words[i] = e.words[i]; if (t.length = r, e.length <= 9) return e.words[0] = 0, void (e.length = 1); var n = e.words[9]; for (t.words[t.length++] = 4194303 & n, i = 10; i < e.length; i++) { var o = 0 | e.words[i]; e.words[i - 10] = (4194303 & o) << 4 | n >>> 22, n = o } n >>>= 22, 0 === (e.words[i - 10] = n) && 10 < e.length ? e.length -= 10 : e.length -= 9 }, v.prototype.imulK = function (e) { e.words[e.length] = 0, e.words[e.length + 1] = 0, e.length += 2; for (var t = 0, r = 0; r < e.length; r++) { var i = 0 | e.words[r]; t += 977 * i, e.words[r] = 67108863 & t, t = 64 * i + (t / 67108864 | 0) } return 0 === e.words[e.length - 1] && (e.length--, 0 === e.words[e.length - 1] && e.length--), e }, r(_, b), r(w, b), r(S, b), S.prototype.imulK = function (e) { for (var t = 0, r = 0; r < e.length; r++) { var i = 19 * (0 | e.words[r]) + t, n = 67108863 & i; i >>>= 26, e.words[r] = n, t = i } return 0 !== t && (e.words[e.length++] = t), e }, g._prime = function (e) { if (y[e]) return y[e]; var t; if ("k256" === e) t = new v; else if ("p224" === e) t = new _; else if ("p192" === e) t = new w; else { if ("p25519" !== e) throw new Error("Unknown prime " + e); t = new S } return y[e] = t }, E.prototype._verify1 = function (e) { m(0 === e.negative, "red works only with positives"), m(e.red, "red works only with red numbers") }, E.prototype._verify2 = function (e, t) { m(0 == (e.negative | t.negative), "red works only with positives"), m(e.red && e.red === t.red, "red works only with red numbers") }, E.prototype.imod = function (e) { return this.prime ? this.prime.ireduce(e)._forceRed(this) : (n(e, e.umod(this.m)._forceRed(this)), e) }, E.prototype.neg = function (e) { return e.isZero() ? e.clone() : this.m.sub(e)._forceRed(this) }, E.prototype.add = function (e, t) { this._verify2(e, t); var r = e.add(t); return 0 <= r.cmp(this.m) && r.isub(this.m), r._forceRed(this) }, E.prototype.iadd = function (e, t) { this._verify2(e, t); var r = e.iadd(t); return 0 <= r.cmp(this.m) && r.isub(this.m), r }, E.prototype.sub = function (e, t) { this._verify2(e, t); var r = e.sub(t); return r.cmpn(0) < 0 && r.iadd(this.m), r._forceRed(this) }, E.prototype.isub = function (e, t) { this._verify2(e, t); var r = e.isub(t); return r.cmpn(0) < 0 && r.iadd(this.m), r }, E.prototype.shl = function (e, t) { return this._verify1(e), this.imod(e.ushln(t)) }, E.prototype.imul = function (e, t) { return this._verify2(e, t), this.imod(e.imul(t)) }, E.prototype.mul = function (e, t) { return this._verify2(e, t), this.imod(e.mul(t)) }, E.prototype.isqr = function (e) { return this.imul(e, e.clone()) }, E.prototype.sqr = function (e) { return this.mul(e, e) }, E.prototype.sqrt = function (e) { if (e.isZero()) return e.clone(); var t = this.m.andln(3); if (m(t % 2 == 1), 3 === t) { var r = this.m.add(new g(1)).iushrn(2); return this.pow(e, r) } for (var i = this.m.subn(1), n = 0; !i.isZero() && 0 === i.andln(1);)n++, i.iushrn(1); m(!i.isZero()); for (var o = new g(1).toRed(this), a = o.redNeg(), s = this.m.subn(1).iushrn(1), l = new g(2 * (l = this.m.bitLength()) * l).toRed(this); 0 !== this.pow(l, s).cmp(a);)l.redIAdd(a); for (var u = this.pow(l, i), c = this.pow(e, i.addn(1).iushrn(1)), h = this.pow(e, i), d = n; 0 !== h.cmp(o);) { for (var f = h, p = 0; 0 !== f.cmp(o); p++)f = f.redSqr(); m(p < d); var y = this.pow(u, new g(1).iushln(d - p - 1)), c = c.redMul(y), u = y.redSqr(), h = h.redMul(u), d = p } return c }, E.prototype.invm = function (e) { var t = e._invmp(this.m); return 0 !== t.negative ? (t.negative = 0, this.imod(t).redNeg()) : this.imod(t) }, E.prototype.pow = function (e, t) { if (t.isZero()) return new g(1).toRed(this); if (0 === t.cmpn(1)) return e.clone(); var r = new Array(16); r[0] = new g(1).toRed(this), r[1] = e; for (var i = 2; i < r.length; i++)r[i] = this.mul(r[i - 1], e); var n = r[0], o = 0, a = 0, s = t.bitLength() % 26; for (0 === s && (s = 26), i = t.length - 1; 0 <= i; i--) { for (var l = t.words[i], u = s - 1; 0 <= u; u--) { var c = l >> u & 1; n !== r[0] && (n = this.sqr(n)), 0 != c || 0 !== o ? (o <<= 1, o |= c, (4 === ++a || 0 === i && 0 === u) && (n = this.mul(n, r[o]), o = a = 0)) : a = 0 } s = 26 } return n }, E.prototype.convertTo = function (e) { var t = e.umod(this.m); return t === e ? t.clone() : t }, E.prototype.convertFrom = function (e) { var t = e.clone(); return t.red = null, t }, g.mont = function (e) { return new x(e) }, r(x, E), x.prototype.convertTo = function (e) { return this.imod(e.ushln(this.shift)) }, x.prototype.convertFrom = function (e) { var t = this.imod(e.mul(this.rinv)); return t.red = null, t }, x.prototype.imul = function (e, t) { if (e.isZero() || t.isZero()) return e.words[0] = 0, e.length = 1, e; var r = e.imul(t), i = r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), n = r.isub(i).iushrn(this.shift), o = n; return 0 <= n.cmp(this.m) ? o = n.isub(this.m) : n.cmpn(0) < 0 && (o = n.iadd(this.m)), o._forceRed(this) }, x.prototype.mul = function (e, t) { if (e.isZero() || t.isZero()) return new g(0)._forceRed(this); var r = e.mul(t), i = r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), n = r.isub(i).iushrn(this.shift), o = n; return 0 <= n.cmp(this.m) ? o = n.isub(this.m) : n.cmpn(0) < 0 && (o = n.iadd(this.m)), o._forceRed(this) }, x.prototype.invm = function (e) { return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this) } }(void 0 === e || e, this) }, { buffer: 19 }], 18: [function (e, t, r) { var i; function n(e) { this.rand = e } if (t.exports = function (e) { return (i = i || new n(null)).generate(e) }, (t.exports.Rand = n).prototype.generate = function (e) { return this._rand(e) }, n.prototype._rand = function (e) { if (this.rand.getBytes) return this.rand.getBytes(e); for (var t = new Uint8Array(e), r = 0; r < t.length; r++)t[r] = this.rand.getByte(); return t }, "object" == typeof self) self.crypto && self.crypto.getRandomValues ? n.prototype._rand = function (e) { var t = new Uint8Array(e); return self.crypto.getRandomValues(t), t } : self.msCrypto && self.msCrypto.getRandomValues ? n.prototype._rand = function (e) { var t = new Uint8Array(e); return self.msCrypto.getRandomValues(t), t } : "object" == typeof window && (n.prototype._rand = function () { throw new Error("Not implemented yet") }); else try { var o = e("crypto"); if ("function" != typeof o.randomBytes) throw new Error("Not supported"); n.prototype._rand = function (e) { return o.randomBytes(e) } } catch (e) { } }, { crypto: 19 }], 19: [function (e, t, r) { }, {}], 20: [function (e, t, r) { var n = e("safe-buffer").Buffer; function o(e) { n.isBuffer(e) || (e = n.from(e)); for (var t = e.length / 4 | 0, r = new Array(t), i = 0; i < t; i++)r[i] = e.readUInt32BE(4 * i); return r } function i(e) { for (; 0 < e.length; e++)e[0] = 0 } function a(e, t, r, i, n) { for (var o, a, s, l, u = r[0], c = r[1], h = r[2], d = r[3], f = e[0] ^ t[0], p = e[1] ^ t[1], y = e[2] ^ t[2], m = e[3] ^ t[3], g = 4, b = 1; b < n; b++)o = u[f >>> 24] ^ c[p >>> 16 & 255] ^ h[y >>> 8 & 255] ^ d[255 & m] ^ t[g++], a = u[p >>> 24] ^ c[y >>> 16 & 255] ^ h[m >>> 8 & 255] ^ d[255 & f] ^ t[g++], s = u[y >>> 24] ^ c[m >>> 16 & 255] ^ h[f >>> 8 & 255] ^ d[255 & p] ^ t[g++], l = u[m >>> 24] ^ c[f >>> 16 & 255] ^ h[p >>> 8 & 255] ^ d[255 & y] ^ t[g++], f = o, p = a, y = s, m = l; return o = (i[f >>> 24] << 24 | i[p >>> 16 & 255] << 16 | i[y >>> 8 & 255] << 8 | i[255 & m]) ^ t[g++], a = (i[p >>> 24] << 24 | i[y >>> 16 & 255] << 16 | i[m >>> 8 & 255] << 8 | i[255 & f]) ^ t[g++], s = (i[y >>> 24] << 24 | i[m >>> 16 & 255] << 16 | i[f >>> 8 & 255] << 8 | i[255 & p]) ^ t[g++], l = (i[m >>> 24] << 24 | i[f >>> 16 & 255] << 16 | i[p >>> 8 & 255] << 8 | i[255 & y]) ^ t[g++], [o >>>= 0, a >>>= 0, s >>>= 0, l >>>= 0] } var h = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], d = function () { for (var e = new Array(256), t = 0; t < 256; t++)e[t] = t < 128 ? t << 1 : t << 1 ^ 283; for (var r = [], i = [], n = [[], [], [], []], o = [[], [], [], []], a = 0, s = 0, l = 0; l < 256; ++l) { var u = (u = s ^ s << 1 ^ s << 2 ^ s << 3 ^ s << 4) >>> 8 ^ 255 & u ^ 99, c = e[i[r[a] = u] = a], h = e[c], d = e[h], f = 257 * e[u] ^ 16843008 * u; n[0][a] = f << 24 | f >>> 8, n[1][a] = f << 16 | f >>> 16, n[2][a] = f << 8 | f >>> 24, n[3][a] = f, f = 16843009 * d ^ 65537 * h ^ 257 * c ^ 16843008 * a, o[0][u] = f << 24 | f >>> 8, o[1][u] = f << 16 | f >>> 16, o[2][u] = f << 8 | f >>> 24, o[3][u] = f, 0 === a ? a = s = 1 : (a = c ^ e[e[e[d ^ c]]], s ^= e[e[s]]) } return { SBOX: r, INV_SBOX: i, SUB_MIX: n, INV_SUB_MIX: o } }(); function s(e) { this._key = o(e), this._reset() } s.blockSize = 16, s.keySize = 32, s.prototype.blockSize = s.blockSize, s.prototype.keySize = s.keySize, s.prototype._reset = function () { for (var e = this._key, t = e.length, r = t + 6, i = 4 * (r + 1), n = [], o = 0; o < t; o++)n[o] = e[o]; for (o = t; o < i; o++) { var a = n[o - 1]; o % t == 0 ? (a = a << 8 | a >>> 24, a = d.SBOX[a >>> 24] << 24 | d.SBOX[a >>> 16 & 255] << 16 | d.SBOX[a >>> 8 & 255] << 8 | d.SBOX[255 & a], a ^= h[o / t | 0] << 24) : 6 < t && o % t == 4 && (a = d.SBOX[a >>> 24] << 24 | d.SBOX[a >>> 16 & 255] << 16 | d.SBOX[a >>> 8 & 255] << 8 | d.SBOX[255 & a]), n[o] = n[o - t] ^ a } for (var s = [], l = 0; l < i; l++) { var u = i - l, c = n[u - (l % 4 ? 0 : 4)]; s[l] = l < 4 || u <= 4 ? c : d.INV_SUB_MIX[0][d.SBOX[c >>> 24]] ^ d.INV_SUB_MIX[1][d.SBOX[c >>> 16 & 255]] ^ d.INV_SUB_MIX[2][d.SBOX[c >>> 8 & 255]] ^ d.INV_SUB_MIX[3][d.SBOX[255 & c]] } this._nRounds = r, this._keySchedule = n, this._invKeySchedule = s }, s.prototype.encryptBlockRaw = function (e) { return a(e = o(e), this._keySchedule, d.SUB_MIX, d.SBOX, this._nRounds) }, s.prototype.encryptBlock = function (e) { var t = this.encryptBlockRaw(e), r = n.allocUnsafe(16); return r.writeUInt32BE(t[0], 0), r.writeUInt32BE(t[1], 4), r.writeUInt32BE(t[2], 8), r.writeUInt32BE(t[3], 12), r }, s.prototype.decryptBlock = function (e) { var t = (e = o(e))[1]; e[1] = e[3], e[3] = t; var r = a(e, this._invKeySchedule, d.INV_SUB_MIX, d.INV_SBOX, this._nRounds), i = n.allocUnsafe(16); return i.writeUInt32BE(r[0], 0), i.writeUInt32BE(r[3], 4), i.writeUInt32BE(r[2], 8), i.writeUInt32BE(r[1], 12), i }, s.prototype.scrub = function () { i(this._keySchedule), i(this._invKeySchedule), i(this._key) }, t.exports.AES = s }, { "safe-buffer": 186 }], 21: [function (e, t, r) { var a = e("./aes"), u = e("safe-buffer").Buffer, s = e("cipher-base"), i = e("inherits"), c = e("./ghash"), n = e("buffer-xor"), h = e("./incr32"); function o(e, t, r, i) { s.call(this); var n = u.alloc(4, 0); this._cipher = new a.AES(t); var o = this._cipher.encryptBlock(n); this._ghash = new c(o), r = function (e, t, r) { if (12 === t.length) return e._finID = u.concat([t, u.from([0, 0, 0, 1])]), u.concat([t, u.from([0, 0, 0, 2])]); var i = new c(r), n = t.length, o = n % 16; i.update(t), o && (o = 16 - o, i.update(u.alloc(o, 0))), i.update(u.alloc(8, 0)); var a = 8 * n, s = u.alloc(8); s.writeUIntBE(a, 0, 8), i.update(s), e._finID = i.state; var l = u.from(e._finID); return h(l), l }(this, r, o), this._prev = u.from(r), this._cache = u.allocUnsafe(0), this._secCache = u.allocUnsafe(0), this._decrypt = i, this._alen = 0, this._len = 0, this._mode = e, this._authTag = null, this._called = !1 } i(o, s), o.prototype._update = function (e) { var t; this._called || !this._alen || (t = 16 - this._alen % 16) < 16 && (t = u.alloc(t, 0), this._ghash.update(t)), this._called = !0; var r = this._mode.encrypt(this, e); return this._decrypt ? this._ghash.update(e) : this._ghash.update(r), this._len += e.length, r }, o.prototype._final = function () { if (this._decrypt && !this._authTag) throw new Error("Unsupported state or unable to authenticate data"); var e = n(this._ghash["final"](8 * this._alen, 8 * this._len), this._cipher.encryptBlock(this._finID)); if (this._decrypt && function (e, t) { var r = 0; e.length !== t.length && r++; for (var i = Math.min(e.length, t.length), n = 0; n < i; ++n)r += e[n] ^ t[n]; return r }(e, this._authTag)) throw new Error("Unsupported state or unable to authenticate data"); this._authTag = e, this._cipher.scrub() }, o.prototype.getAuthTag = function () { if (this._decrypt || !u.isBuffer(this._authTag)) throw new Error("Attempting to get auth tag in unsupported state"); return this._authTag }, o.prototype.setAuthTag = function (e) { if (!this._decrypt) throw new Error("Attempting to set auth tag in unsupported state"); this._authTag = e }, o.prototype.setAAD = function (e) { if (this._called) throw new Error("Attempting to set AAD in unsupported state"); this._ghash.update(e), this._alen += e.length }, t.exports = o }, { "./aes": 20, "./ghash": 25, "./incr32": 26, "buffer-xor": 63, "cipher-base": 65, inherits: 142, "safe-buffer": 186 }], 22: [function (e, t, r) { var i = e("./encrypter"), n = e("./decrypter"), o = e("./modes/list.json"); r.createCipher = r.Cipher = i.createCipher, r.createCipheriv = r.Cipheriv = i.createCipheriv, r.createDecipher = r.Decipher = n.createDecipher, r.createDecipheriv = r.Decipheriv = n.createDecipheriv, r.listCiphers = r.getCiphers = function () { return Object.keys(o) } }, { "./decrypter": 23, "./encrypter": 24, "./modes/list.json": 34 }], 23: [function (e, t, r) { var n = e("./authCipher"), o = e("safe-buffer").Buffer, a = e("./modes"), s = e("./streamCipher"), i = e("cipher-base"), l = e("./aes"), u = e("evp_bytestokey"); function c(e, t, r) { i.call(this), this._cache = new h, this._last = void 0, this._cipher = new l.AES(t), this._prev = o.from(r), this._mode = e, this._autopadding = !0 } function h() { this.cache = o.allocUnsafe(0) } function d(e, t, r) { var i = a[e.toLowerCase()]; if (!i) throw new TypeError("invalid suite type"); if ("string" == typeof r && (r = o.from(r)), "GCM" !== i.mode && r.length !== i.iv) throw new TypeError("invalid iv length " + r.length); if ("string" == typeof t && (t = o.from(t)), t.length !== i.key / 8) throw new TypeError("invalid key length " + t.length); return "stream" === i.type ? new s(i.module, t, r, !0) : "auth" === i.type ? new n(i.module, t, r, !0) : new c(i.module, t, r) } e("inherits")(c, i), c.prototype._update = function (e) { var t, r; this._cache.add(e); for (var i = []; t = this._cache.get(this._autopadding);)r = this._mode.decrypt(this, t), i.push(r); return o.concat(i) }, c.prototype._final = function () { var e = this._cache.flush(); if (this._autopadding) return function (e) { var t = e[15]; if (t < 1 || 16 < t) throw new Error("unable to decrypt data"); var r = -1; for (; ++r < t;)if (e[r + (16 - t)] !== t) throw new Error("unable to decrypt data"); if (16 === t) return; return e.slice(0, 16 - t) }(this._mode.decrypt(this, e)); if (e) throw new Error("data not multiple of block length") }, c.prototype.setAutoPadding = function (e) { return this._autopadding = !!e, this }, h.prototype.add = function (e) { this.cache = o.concat([this.cache, e]) }, h.prototype.get = function (e) { var t; if (e) { if (16 < this.cache.length) return t = this.cache.slice(0, 16), this.cache = this.cache.slice(16), t } else if (16 <= this.cache.length) return t = this.cache.slice(0, 16), this.cache = this.cache.slice(16), t; return null }, h.prototype.flush = function () { if (this.cache.length) return this.cache }, r.createDecipher = function (e, t) { var r = a[e.toLowerCase()]; if (!r) throw new TypeError("invalid suite type"); var i = u(t, !1, r.key, r.iv); return d(e, i.key, i.iv) }, r.createDecipheriv = d }, { "./aes": 20, "./authCipher": 21, "./modes": 33, "./streamCipher": 36, "cipher-base": 65, evp_bytestokey: 109, inherits: 142, "safe-buffer": 186 }], 24: [function (e, t, r) { var n = e("./modes"), o = e("./authCipher"), a = e("safe-buffer").Buffer, s = e("./streamCipher"), i = e("cipher-base"), l = e("./aes"), u = e("evp_bytestokey"); function c(e, t, r) { i.call(this), this._cache = new d, this._cipher = new l.AES(t), this._prev = a.from(r), this._mode = e, this._autopadding = !0 } e("inherits")(c, i), c.prototype._update = function (e) { var t, r; this._cache.add(e); for (var i = []; t = this._cache.get();)r = this._mode.encrypt(this, t), i.push(r); return a.concat(i) }; var h = a.alloc(16, 16); function d() { this.cache = a.allocUnsafe(0) } function f(e, t, r) { var i = n[e.toLowerCase()]; if (!i) throw new TypeError("invalid suite type"); if ("string" == typeof t && (t = a.from(t)), t.length !== i.key / 8) throw new TypeError("invalid key length " + t.length); if ("string" == typeof r && (r = a.from(r)), "GCM" !== i.mode && r.length !== i.iv) throw new TypeError("invalid iv length " + r.length); return new ("stream" === i.type ? s : "auth" === i.type ? o : c)(i.module, t, r) } c.prototype._final = function () { var e = this._cache.flush(); if (this._autopadding) return e = this._mode.encrypt(this, e), this._cipher.scrub(), e; if (!e.equals(h)) throw this._cipher.scrub(), new Error("data not multiple of block length") }, c.prototype.setAutoPadding = function (e) { return this._autopadding = !!e, this }, d.prototype.add = function (e) { this.cache = a.concat([this.cache, e]) }, d.prototype.get = function () { if (15 < this.cache.length) { var e = this.cache.slice(0, 16); return this.cache = this.cache.slice(16), e } return null }, d.prototype.flush = function () { for (var e = 16 - this.cache.length, t = a.allocUnsafe(e), r = -1; ++r < e;)t.writeUInt8(e, r); return a.concat([this.cache, t]) }, r.createCipheriv = f, r.createCipher = function (e, t) { var r = n[e.toLowerCase()]; if (!r) throw new TypeError("invalid suite type"); var i = u(t, !1, r.key, r.iv); return f(e, i.key, i.iv) } }, { "./aes": 20, "./authCipher": 21, "./modes": 33, "./streamCipher": 36, "cipher-base": 65, evp_bytestokey: 109, inherits: 142, "safe-buffer": 186 }], 25: [function (e, t, r) { var i = e("safe-buffer").Buffer, n = i.alloc(16, 0); function a(e) { var t = i.allocUnsafe(16); return t.writeUInt32BE(e[0] >>> 0, 0), t.writeUInt32BE(e[1] >>> 0, 4), t.writeUInt32BE(e[2] >>> 0, 8), t.writeUInt32BE(e[3] >>> 0, 12), t } function o(e) { this.h = e, this.state = i.alloc(16, 0), this.cache = i.allocUnsafe(0) } o.prototype.ghash = function (e) { for (var t = -1; ++t < e.length;)this.state[t] ^= e[t]; this._multiply() }, o.prototype._multiply = function () { for (var e, t, r, i = [(e = this.h).readUInt32BE(0), e.readUInt32BE(4), e.readUInt32BE(8), e.readUInt32BE(12)], n = [0, 0, 0, 0], o = -1; ++o < 128;) { for (0 != (this.state[~~(o / 8)] & 1 << 7 - o % 8) && (n[0] ^= i[0], n[1] ^= i[1], n[2] ^= i[2], n[3] ^= i[3]), r = 0 != (1 & i[3]), t = 3; 0 < t; t--)i[t] = i[t] >>> 1 | (1 & i[t - 1]) << 31; i[0] = i[0] >>> 1, r && (i[0] = i[0] ^ 225 << 24) } this.state = a(n) }, o.prototype.update = function (e) { var t; for (this.cache = i.concat([this.cache, e]); 16 <= this.cache.length;)t = this.cache.slice(0, 16), this.cache = this.cache.slice(16), this.ghash(t) }, o.prototype["final"] = function (e, t) { return this.cache.length && this.ghash(i.concat([this.cache, n], 16)), this.ghash(a([0, e, 0, t])), this.state }, t.exports = o }, { "safe-buffer": 186 }], 26: [function (e, t, r) { t.exports = function (e) { for (var t, r = e.length; r--;) { if (255 !== (t = e.readUInt8(r))) { t++, e.writeUInt8(t, r); break } e.writeUInt8(0, r) } } }, {}], 27: [function (e, t, r) { var n = e("buffer-xor"); r.encrypt = function (e, t) { var r = n(t, e._prev); return e._prev = e._cipher.encryptBlock(r), e._prev }, r.decrypt = function (e, t) { var r = e._prev; e._prev = t; var i = e._cipher.decryptBlock(t); return n(i, r) } }, { "buffer-xor": 63 }], 28: [function (e, t, r) { var o = e("safe-buffer").Buffer, a = e("buffer-xor"); function s(e, t, r) { var i = t.length, n = a(t, e._cache); return e._cache = e._cache.slice(i), e._prev = o.concat([e._prev, r ? t : n]), n } r.encrypt = function (e, t, r) { for (var i, n = o.allocUnsafe(0); t.length;) { if (0 === e._cache.length && (e._cache = e._cipher.encryptBlock(e._prev), e._prev = o.allocUnsafe(0)), !(e._cache.length <= t.length)) { n = o.concat([n, s(e, t, r)]); break } i = e._cache.length, n = o.concat([n, s(e, t.slice(0, i), r)]), t = t.slice(i) } return n } }, { "buffer-xor": 63, "safe-buffer": 186 }], 29: [function (e, t, r) { var a = e("safe-buffer").Buffer; function s(e, t, r) { for (var i, n, o = -1, a = 0; ++o < 8;)i = t & 1 << 7 - o ? 128 : 0, a += (128 & (n = e._cipher.encryptBlock(e._prev)[0] ^ i)) >> o % 8, e._prev = l(e._prev, r ? i : n); return a } function l(e, t) { var r = e.length, i = -1, n = a.allocUnsafe(e.length); for (e = a.concat([e, a.from([t])]); ++i < r;)n[i] = e[i] << 1 | e[i + 1] >> 7; return n } r.encrypt = function (e, t, r) { for (var i = t.length, n = a.allocUnsafe(i), o = -1; ++o < i;)n[o] = s(e, t[o], r); return n } }, { "safe-buffer": 186 }], 30: [function (e, t, r) { var c = e("safe-buffer").Buffer; r.encrypt = function (e, t, r) { for (var i, n, o, a, s = t.length, l = c.allocUnsafe(s), u = -1; ++u < s;)l[u] = (i = e, n = t[u], o = r, a = i._cipher.encryptBlock(i._prev)[0] ^ n, i._prev = c.concat([i._prev.slice(1), c.from([o ? n : a])]), a); return l } }, { "safe-buffer": 186 }], 31: [function (e, t, r) { var c = e("buffer-xor"), h = e("safe-buffer").Buffer, d = e("../incr32"); r.encrypt = function (e, t) { var r = Math.ceil(t.length / 16), i = e._cache.length; e._cache = h.concat([e._cache, h.allocUnsafe(16 * r)]); for (var n, o, a = 0; a < r; a++) { var s = (o = (n = e)._cipher.encryptBlockRaw(n._prev), d(n._prev), o), l = i + 16 * a; e._cache.writeUInt32BE(s[0], l + 0), e._cache.writeUInt32BE(s[1], l + 4), e._cache.writeUInt32BE(s[2], l + 8), e._cache.writeUInt32BE(s[3], l + 12) } var u = e._cache.slice(0, t.length); return e._cache = e._cache.slice(t.length), c(t, u) } }, { "../incr32": 26, "buffer-xor": 63, "safe-buffer": 186 }], 32: [function (e, t, r) { r.encrypt = function (e, t) { return e._cipher.encryptBlock(t) }, r.decrypt = function (e, t) { return e._cipher.decryptBlock(t) } }, {}], 33: [function (e, t, r) { var i = { ECB: e("./ecb"), CBC: e("./cbc"), CFB: e("./cfb"), CFB8: e("./cfb8"), CFB1: e("./cfb1"), OFB: e("./ofb"), CTR: e("./ctr"), GCM: e("./ctr") }, n = e("./list.json"); for (var o in n) n[o].module = i[n[o].mode]; t.exports = n }, { "./cbc": 27, "./cfb": 28, "./cfb1": 29, "./cfb8": 30, "./ctr": 31, "./ecb": 32, "./list.json": 34, "./ofb": 35 }], 34: [function (e, t, r) { t.exports = { "aes-128-ecb": { cipher: "AES", key: 128, iv: 0, mode: "ECB", type: "block" }, "aes-192-ecb": { cipher: "AES", key: 192, iv: 0, mode: "ECB", type: "block" }, "aes-256-ecb": { cipher: "AES", key: 256, iv: 0, mode: "ECB", type: "block" }, "aes-128-cbc": { cipher: "AES", key: 128, iv: 16, mode: "CBC", type: "block" }, "aes-192-cbc": { cipher: "AES", key: 192, iv: 16, mode: "CBC", type: "block" }, "aes-256-cbc": { cipher: "AES", key: 256, iv: 16, mode: "CBC", type: "block" }, aes128: { cipher: "AES", key: 128, iv: 16, mode: "CBC", type: "block" }, aes192: { cipher: "AES", key: 192, iv: 16, mode: "CBC", type: "block" }, aes256: { cipher: "AES", key: 256, iv: 16, mode: "CBC", type: "block" }, "aes-128-cfb": { cipher: "AES", key: 128, iv: 16, mode: "CFB", type: "stream" }, "aes-192-cfb": { cipher: "AES", key: 192, iv: 16, mode: "CFB", type: "stream" }, "aes-256-cfb": { cipher: "AES", key: 256, iv: 16, mode: "CFB", type: "stream" }, "aes-128-cfb8": { cipher: "AES", key: 128, iv: 16, mode: "CFB8", type: "stream" }, "aes-192-cfb8": { cipher: "AES", key: 192, iv: 16, mode: "CFB8", type: "stream" }, "aes-256-cfb8": { cipher: "AES", key: 256, iv: 16, mode: "CFB8", type: "stream" }, "aes-128-cfb1": { cipher: "AES", key: 128, iv: 16, mode: "CFB1", type: "stream" }, "aes-192-cfb1": { cipher: "AES", key: 192, iv: 16, mode: "CFB1", type: "stream" }, "aes-256-cfb1": { cipher: "AES", key: 256, iv: 16, mode: "CFB1", type: "stream" }, "aes-128-ofb": { cipher: "AES", key: 128, iv: 16, mode: "OFB", type: "stream" }, "aes-192-ofb": { cipher: "AES", key: 192, iv: 16, mode: "OFB", type: "stream" }, "aes-256-ofb": { cipher: "AES", key: 256, iv: 16, mode: "OFB", type: "stream" }, "aes-128-ctr": { cipher: "AES", key: 128, iv: 16, mode: "CTR", type: "stream" }, "aes-192-ctr": { cipher: "AES", key: 192, iv: 16, mode: "CTR", type: "stream" }, "aes-256-ctr": { cipher: "AES", key: 256, iv: 16, mode: "CTR", type: "stream" }, "aes-128-gcm": { cipher: "AES", key: 128, iv: 12, mode: "GCM", type: "auth" }, "aes-192-gcm": { cipher: "AES", key: 192, iv: 12, mode: "GCM", type: "auth" }, "aes-256-gcm": { cipher: "AES", key: 256, iv: 12, mode: "GCM", type: "auth" } } }, {}], 35: [function (e, t, r) { (function (n) { var o = e("buffer-xor"); r.encrypt = function (e, t) { for (; e._cache.length < t.length;)e._cache = n.concat([e._cache, ((r = e)._prev = r._cipher.encryptBlock(r._prev), r._prev)]); var r, i = e._cache.slice(0, t.length); return e._cache = e._cache.slice(t.length), o(t, i) } }).call(this, e("buffer").Buffer) }, { buffer: 64, "buffer-xor": 63 }], 36: [function (e, t, r) { var n = e("./aes"), o = e("safe-buffer").Buffer, a = e("cipher-base"); function i(e, t, r, i) { a.call(this), this._cipher = new n.AES(t), this._prev = o.from(r), this._cache = o.allocUnsafe(0), this._secCache = o.allocUnsafe(0), this._decrypt = i, this._mode = e } e("inherits")(i, a), i.prototype._update = function (e) { return this._mode.encrypt(this, e, this._decrypt) }, i.prototype._final = function () { this._cipher.scrub() }, t.exports = i }, { "./aes": 20, "cipher-base": 65, inherits: 142, "safe-buffer": 186 }], 37: [function (e, t, r) { var i = e("browserify-des"), n = e("browserify-aes/browser"), o = e("browserify-aes/modes"), a = e("browserify-des/modes"), s = e("evp_bytestokey"); function l(e, t, r) { if (e = e.toLowerCase(), o[e]) return n.createCipheriv(e, t, r); if (a[e]) return new i({ key: t, iv: r, mode: e }); throw new TypeError("invalid suite type") } function u(e, t, r) { if (e = e.toLowerCase(), o[e]) return n.createDecipheriv(e, t, r); if (a[e]) return new i({ key: t, iv: r, mode: e, decrypt: !0 }); throw new TypeError("invalid suite type") } r.createCipher = r.Cipher = function (e, t) { var r, i; if (e = e.toLowerCase(), o[e]) r = o[e].key, i = o[e].iv; else { if (!a[e]) throw new TypeError("invalid suite type"); r = 8 * a[e].key, i = a[e].iv } var n = s(t, !1, r, i); return l(e, n.key, n.iv) }, r.createCipheriv = r.Cipheriv = l, r.createDecipher = r.Decipher = function (e, t) { var r, i; if (e = e.toLowerCase(), o[e]) r = o[e].key, i = o[e].iv; else { if (!a[e]) throw new TypeError("invalid suite type"); r = 8 * a[e].key, i = a[e].iv } var n = s(t, !1, r, i); return u(e, n.key, n.iv) }, r.createDecipheriv = r.Decipheriv = u, r.listCiphers = r.getCiphers = function () { return Object.keys(a).concat(n.getCiphers()) } }, { "browserify-aes/browser": 22, "browserify-aes/modes": 33, "browserify-des": 38, "browserify-des/modes": 39, evp_bytestokey: 109 }], 38: [function (e, t, r) { var a = e("cipher-base"), i = e("des.js"), n = e("inherits"), s = e("safe-buffer").Buffer, l = { "des-ede3-cbc": i.CBC.instantiate(i.EDE), "des-ede3": i.EDE, "des-ede-cbc": i.CBC.instantiate(i.EDE), "des-ede": i.EDE, "des-cbc": i.CBC.instantiate(i.DES), "des-ecb": i.DES }; function o(e) { a.call(this); var t = e.mode.toLowerCase(), r = l[t], i = e.decrypt ? "decrypt" : "encrypt", n = e.key; s.isBuffer(n) || (n = s.from(n)), "des-ede" !== t && "des-ede-cbc" !== t || (n = s.concat([n, n.slice(0, 8)])); var o = e.iv; s.isBuffer(o) || (o = s.from(o)), this._des = r.create({ key: n, iv: o, type: i }) } l.des = l["des-cbc"], l.des3 = l["des-ede3-cbc"], n(t.exports = o, a), o.prototype._update = function (e) { return s.from(this._des.update(e)) }, o.prototype._final = function () { return s.from(this._des["final"]()) } }, { "cipher-base": 65, "des.js": 80, inherits: 142, "safe-buffer": 186 }], 39: [function (e, t, r) { r["des-ecb"] = { key: 8, iv: 0 }, r["des-cbc"] = r.des = { key: 8, iv: 8 }, r["des-ede3-cbc"] = r.des3 = { key: 24, iv: 8 }, r["des-ede3"] = { key: 24, iv: 0 }, r["des-ede-cbc"] = { key: 16, iv: 8 }, r["des-ede"] = { key: 16, iv: 0 } }, {}], 40: [function (t, r, e) { (function (y) { var m = t("bn.js"), i = t("randombytes"); function e(e, t) { var r, i, n = { blinder: (i = g(r = t)).toRed(m.mont(r.modulus)).redPow(new m(r.publicExponent)).fromRed(), unblinder: i.invm(r.modulus) }, o = t.modulus.byteLength(), a = (m.mont(t.modulus), new m(e).mul(n.blinder).umod(t.modulus)), s = a.toRed(m.mont(t.prime1)), l = a.toRed(m.mont(t.prime2)), u = t.coefficient, c = t.prime1, h = t.prime2, d = s.redPow(t.exponent1), f = l.redPow(t.exponent2), d = d.fromRed(), f = f.fromRed(), p = d.isub(f).imul(u).umod(c); return p.imul(h), f.iadd(p), new y(f.imul(n.unblinder).umod(t.modulus).toArray(!1, o)) } function g(e) { for (var t = e.modulus.byteLength(), r = new m(i(t)); 0 <= r.cmp(e.modulus) || !r.umod(e.prime1) || !r.umod(e.prime2);)r = new m(i(t)); return r } (r.exports = e).getr = g }).call(this, t("buffer").Buffer) }, { "bn.js": 41, buffer: 64, randombytes: 169 }], 41: [function (e, t, r) { arguments[4][15][0].apply(r, arguments) }, { buffer: 19, dup: 15 }], 42: [function (e, t, r) { t.exports = e("./browser/algorithms.json") }, { "./browser/algorithms.json": 43 }], 43: [function (e, t, r) { t.exports = { sha224WithRSAEncryption: { sign: "rsa", hash: "sha224", id: "302d300d06096086480165030402040500041c" }, "RSA-SHA224": { sign: "ecdsa/rsa", hash: "sha224", id: "302d300d06096086480165030402040500041c" }, sha256WithRSAEncryption: { sign: "rsa", hash: "sha256", id: "3031300d060960864801650304020105000420" }, "RSA-SHA256": { sign: "ecdsa/rsa", hash: "sha256", id: "3031300d060960864801650304020105000420" }, sha384WithRSAEncryption: { sign: "rsa", hash: "sha384", id: "3041300d060960864801650304020205000430" }, "RSA-SHA384": { sign: "ecdsa/rsa", hash: "sha384", id: "3041300d060960864801650304020205000430" }, sha512WithRSAEncryption: { sign: "rsa", hash: "sha512", id: "3051300d060960864801650304020305000440" }, "RSA-SHA512": { sign: "ecdsa/rsa", hash: "sha512", id: "3051300d060960864801650304020305000440" }, "RSA-SHA1": { sign: "rsa", hash: "sha1", id: "3021300906052b0e03021a05000414" }, "ecdsa-with-SHA1": { sign: "ecdsa", hash: "sha1", id: "" }, sha256: { sign: "ecdsa", hash: "sha256", id: "" }, sha224: { sign: "ecdsa", hash: "sha224", id: "" }, sha384: { sign: "ecdsa", hash: "sha384", id: "" }, sha512: { sign: "ecdsa", hash: "sha512", id: "" }, "DSA-SHA": { sign: "dsa", hash: "sha1", id: "" }, "DSA-SHA1": { sign: "dsa", hash: "sha1", id: "" }, DSA: { sign: "dsa", hash: "sha1", id: "" }, "DSA-WITH-SHA224": { sign: "dsa", hash: "sha224", id: "" }, "DSA-SHA224": { sign: "dsa", hash: "sha224", id: "" }, "DSA-WITH-SHA256": { sign: "dsa", hash: "sha256", id: "" }, "DSA-SHA256": { sign: "dsa", hash: "sha256", id: "" }, "DSA-WITH-SHA384": { sign: "dsa", hash: "sha384", id: "" }, "DSA-SHA384": { sign: "dsa", hash: "sha384", id: "" }, "DSA-WITH-SHA512": { sign: "dsa", hash: "sha512", id: "" }, "DSA-SHA512": { sign: "dsa", hash: "sha512", id: "" }, "DSA-RIPEMD160": { sign: "dsa", hash: "rmd160", id: "" }, ripemd160WithRSA: { sign: "rsa", hash: "rmd160", id: "3021300906052b2403020105000414" }, "RSA-RIPEMD160": { sign: "rsa", hash: "rmd160", id: "3021300906052b2403020105000414" }, md5WithRSAEncryption: { sign: "rsa", hash: "md5", id: "3020300c06082a864886f70d020505000410" }, "RSA-MD5": { sign: "rsa", hash: "md5", id: "3020300c06082a864886f70d020505000410" } } }, {}], 44: [function (e, t, r) { t.exports = { "1.3.132.0.10": "secp256k1", "1.3.132.0.33": "p224", "1.2.840.10045.3.1.1": "p192", "1.2.840.10045.3.1.7": "p256", "1.3.132.0.34": "p384", "1.3.132.0.35": "p521" } }, {}], 45: [function (e, t, r) { var n = e("buffer").Buffer, i = e("create-hash"), o = e("readable-stream"), a = e("inherits"), s = e("./sign"), l = e("./verify"), u = e("./algorithms.json"); function c(e) { o.Writable.call(this); var t = u[e]; if (!t) throw new Error("Unknown message digest"); this._hashType = t.hash, this._hash = i(t.hash), this._tag = t.id, this._signType = t.sign } function h(e) { o.Writable.call(this); var t = u[e]; if (!t) throw new Error("Unknown message digest"); this._hash = i(t.hash), this._tag = t.id, this._signType = t.sign } function d(e) { return new c(e) } function f(e) { return new h(e) } Object.keys(u).forEach(function (e) { u[e].id = n.from(u[e].id, "hex"), u[e.toLowerCase()] = u[e] }), a(c, o.Writable), c.prototype._write = function (e, t, r) { this._hash.update(e), r() }, c.prototype.update = function (e, t) { return "string" == typeof e && (e = n.from(e, t)), this._hash.update(e), this }, c.prototype.sign = function (e, t) { this.end(); var r = this._hash.digest(), i = s(r, e, this._hashType, this._signType, this._tag); return t ? i.toString(t) : i }, a(h, o.Writable), h.prototype._write = function (e, t, r) { this._hash.update(e), r() }, h.prototype.update = function (e, t) { return "string" == typeof e && (e = n.from(e, t)), this._hash.update(e), this }, h.prototype.verify = function (e, t, r) { "string" == typeof t && (t = n.from(t, r)), this.end(); var i = this._hash.digest(); return l(t, i, e, this._signType, this._tag) }, t.exports = { Sign: d, Verify: f, createSign: d, createVerify: f } }, { "./algorithms.json": 43, "./sign": 46, "./verify": 47, buffer: 64, "create-hash": 69, inherits: 142, "readable-stream": 62 }], 46: [function (e, t, r) { var y = e("buffer").Buffer, u = e("create-hmac"), c = e("browserify-rsa"), h = e("elliptic").ec, m = e("bn.js"), d = e("parse-asn1"), f = e("./curves.json"); function g(e, t, r, i) { var n; (e = y.from(e.toArray())).length < t.byteLength() && (n = y.alloc(t.byteLength() - e.length), e = y.concat([n, e])); var o = r.length, a = function (e, t) { e = (e = b(e, t)).mod(t); var r = y.from(e.toArray()); { var i; r.length < t.byteLength() && (i = y.alloc(t.byteLength() - r.length), r = y.concat([i, r])) } return r }(r, t); (l = y.alloc(o)).fill(1); var s = y.alloc(o), s = u(i, s).update(l).update(y.from([0])).update(e).update(a).digest(), l = u(i, s).update(l).digest(); return { k: s = u(i, s).update(l).update(y.from([1])).update(e).update(a).digest(), v: l = u(i, s).update(l).digest() } } function b(e, t) { var r = new m(e), i = (e.length << 3) - t.bitLength(); return 0 < i && r.ishrn(i), r } function v(e, t, r) { var i, n; do { for (i = y.alloc(0); 8 * i.length < e.bitLength();)t.v = u(r, t.k).update(t.v).digest(), i = y.concat([i, t.v]); n = b(i, e), t.k = u(r, t.k).update(t.v).update(y.from([0])).digest(), t.v = u(r, t.k).update(t.v).digest() } while (-1 !== n.cmp(e)); return n } t.exports = function (e, t, r, i, n) { var o = d(t); if (o.curve) { if ("ecdsa" !== i && "ecdsa/rsa" !== i) throw new Error("wrong private key type"); return function (e, t) { var r = f[t.curve.join(".")]; if (!r) throw new Error("unknown curve " + t.curve.join(".")); var i = new h(r).keyFromPrivate(t.privateKey).sign(e); return y.from(i.toDER()) }(e, o) } if ("dsa" === o.type) { if ("dsa" !== i) throw new Error("wrong private key type"); return function (e, t, r) { var i, n = t.params.priv_key, o = t.params.p, a = t.params.q, s = t.params.g, l = new m(0), u = b(e, a).mod(a), c = !1, h = g(n, a, e, r); for (; !1 === c;)i = v(a, h, r), d = i, f = o, p = a, l = s.toRed(m.mont(f)).redPow(d).fromRed().mod(p), 0 === (c = i.invm(a).imul(u.add(n.mul(l))).mod(a)).cmpn(0) && (c = !1, l = new m(0)); var d, f, p; return function (e, t) { e = e.toArray(), t = t.toArray(), 128 & e[0] && (e = [0].concat(e)); 128 & t[0] && (t = [0].concat(t)); var r = [48, e.length + t.length + 4, 2, e.length]; return r = r.concat(e, [2, t.length], t), y.from(r) }(l, c) }(e, o, r) } if ("rsa" !== i && "ecdsa/rsa" !== i) throw new Error("wrong private key type"); e = y.concat([n, e]); for (var a = o.modulus.byteLength(), s = [0, 1]; e.length + s.length + 1 < a;)s.push(255); s.push(0); for (var l = -1; ++l < e.length;)s.push(e[l]); return c(s, o) }, t.exports.getKey = g, t.exports.makeKey = v }, { "./curves.json": 44, "bn.js": 17, "browserify-rsa": 40, buffer: 64, "create-hmac": 71, elliptic: 91, "parse-asn1": 154 }], 47: [function (e, t, r) { var d = e("buffer").Buffer, f = e("bn.js"), p = e("elliptic").ec, y = e("parse-asn1"), m = e("./curves.json"); function g(e, t) { if (e.cmpn(0) <= 0) throw new Error("invalid sig"); if (e.cmp(t) >= t) throw new Error("invalid sig") } t.exports = function (e, t, r, i, n) { var o = y(r); if ("ec" === o.type) { if ("ecdsa" !== i && "ecdsa/rsa" !== i) throw new Error("wrong public key type"); return function (e, t, r) { var i = m[r.data.algorithm.curve.join(".")]; if (!i) throw new Error("unknown curve " + r.data.algorithm.curve.join(".")); var n = new p(i), o = r.data.subjectPrivateKey.data; return n.verify(t, e, o) }(e, t, o) } if ("dsa" === o.type) { if ("dsa" !== i) throw new Error("wrong public key type"); return function (e, t, r) { var i = r.data.p, n = r.data.q, o = r.data.g, a = r.data.pub_key, s = y.signature.decode(e, "der"), l = s.s, u = s.r; g(l, n), g(u, n); var c = f.mont(i), h = l.invm(n); return 0 === o.toRed(c).redPow(new f(t).mul(h).mod(n)).fromRed().mul(a.toRed(c).redPow(u.mul(h).mod(n)).fromRed()).mod(i).mod(n).cmp(u) }(e, t, o) } if ("rsa" !== i && "ecdsa/rsa" !== i) throw new Error("wrong public key type"); t = d.concat([n, t]); for (var a = o.modulus.byteLength(), s = [1], l = 0; t.length + s.length + 2 < a;)s.push(255), l++; s.push(0); for (var u = -1; ++u < t.length;)s.push(t[u]); s = d.from(s); var c = f.mont(o.modulus); e = (e = new f(e).toRed(c)).redPow(new f(o.publicExponent)), e = d.from(e.fromRed().toArray()); var h = l < 8 ? 1 : 0, a = Math.min(e.length, s.length); for (e.length !== s.length && (h = 1), u = -1; ++u < a;)h |= e[u] ^ s[u]; return 0 === h } }, { "./curves.json": 44, "bn.js": 17, buffer: 64, elliptic: 91, "parse-asn1": 154 }], 48: [function (e, t, r) { "use strict"; var i = {}; function n(e, s, t) { var r = function (a) { var e, t; function r(e, t, r) { return a.call(this, (i = e, n = t, o = r, "string" == typeof s ? s : s(i, n, o))) || this; var i, n, o } return t = a, (e = r).prototype = Object.create(t.prototype), (e.prototype.constructor = e).__proto__ = t, r }(t = t || Error); r.prototype.name = t.name, r.prototype.code = e, i[e] = r } function p(e, t) { if (Array.isArray(e)) { var r = e.length; return e = e.map(function (e) { return String(e) }), 2 < r ? "one of ".concat(t, " ").concat(e.slice(0, r - 1).join(", "), ", or ") + e[r - 1] : 2 === r ? "one of ".concat(t, " ").concat(e[0], " or ").concat(e[1]) : "of ".concat(t, " ").concat(e[0]) } return "of ".concat(t, " ").concat(String(e)) } n("ERR_INVALID_OPT_VALUE", function (e, t) { return 'The value "' + t + '" is invalid for option "' + e + '"' }, TypeError), n("ERR_INVALID_ARG_TYPE", function (e, t, r) { var i, n, o, a, s, l, u, c, h, d, f; return "string" == typeof t && (n = "not ", t.substr(!o || o < 0 ? 0 : +o, n.length) === n) ? (i = "must not be", t = t.replace(/^not /, "")) : i = "must be", h = e, d = " argument", (void 0 === f || f > h.length) && (f = h.length), s = h.substring(f - d.length, f) === d ? "The ".concat(e, " ").concat(i, " ").concat(p(t, "type")) : ("number" != typeof c && (c = 0), a = c + (u = ".").length > (l = e).length || -1 === l.indexOf(u, c) ? "argument" : "property", 'The "'.concat(e, '" ').concat(a, " ").concat(i, " ").concat(p(t, "type"))), s += ". Received type ".concat(typeof r) }, TypeError), n("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF"), n("ERR_METHOD_NOT_IMPLEMENTED", function (e) { return "The " + e + " method is not implemented" }), n("ERR_STREAM_PREMATURE_CLOSE", "Premature close"), n("ERR_STREAM_DESTROYED", function (e) { return "Cannot call " + e + " after a stream was destroyed" }), n("ERR_MULTIPLE_CALLBACK", "Callback called multiple times"), n("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable"), n("ERR_STREAM_WRITE_AFTER_END", "write after end"), n("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError), n("ERR_UNKNOWN_ENCODING", function (e) { return "Unknown encoding: " + e }, TypeError), n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event"), t.exports.codes = i }, {}], 49: [function (c, h, e) { (function (e) { "use strict"; var t = Object.keys || function (e) { var t = []; for (var r in e) t.push(r); return t }; h.exports = s; var r = c("./_stream_readable"), i = c("./_stream_writable"); c("inherits")(s, r); for (var n = t(i.prototype), o = 0; o < n.length; o++) { var a = n[o]; s.prototype[a] || (s.prototype[a] = i.prototype[a]) } function s(e) { if (!(this instanceof s)) return new s(e); r.call(this, e), i.call(this, e), this.allowHalfOpen = !0, e && (!1 === e.readable && (this.readable = !1), !1 === e.writable && (this.writable = !1), !1 === e.allowHalfOpen && (this.allowHalfOpen = !1, this.once("end", l))) } function l() { this._writableState.ended || e.nextTick(u, this) } function u(e) { e.end() } Object.defineProperty(s.prototype, "writableHighWaterMark", { enumerable: !1, get: function () { return this._writableState.highWaterMark } }), Object.defineProperty(s.prototype, "writableBuffer", { enumerable: !1, get: function () { return this._writableState && this._writableState.getBuffer() } }), Object.defineProperty(s.prototype, "writableLength", { enumerable: !1, get: function () { return this._writableState.length } }), Object.defineProperty(s.prototype, "destroyed", { enumerable: !1, get: function () { return void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed && this._writableState.destroyed) }, set: function (e) { void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed = e, this._writableState.destroyed = e) } }) }).call(this, c("_process")) }, { "./_stream_readable": 51, "./_stream_writable": 53, _process: 161, inherits: 142 }], 50: [function (e, t, r) { "use strict"; t.exports = n; var i = e("./_stream_transform"); function n(e) { if (!(this instanceof n)) return new n(e); i.call(this, e) } e("inherits")(n, i), n.prototype._transform = function (e, t, r) { r(null, e) } }, { "./_stream_transform": 52, inherits: 142 }], 51: [function (j, F, e) { (function (y, e) { "use strict"; var i; (F.exports = E).ReadableState = S; function m(e, t) { return e.listeners(t).length } j("events").EventEmitter; var n = j("./internal/streams/stream"), l = j("buffer").Buffer, u = e.Uint8Array || function () { }; var o, t, r, a = j("util"), g = a && a.debuglog ? a.debuglog("stream") : function () { }, s = j("./internal/streams/buffer_list"), c = j("./internal/streams/destroy"), h = j("./internal/streams/state").getHighWaterMark, d = j("../errors").codes, f = d.ERR_INVALID_ARG_TYPE, p = d.ERR_STREAM_PUSH_AFTER_EOF, b = d.ERR_METHOD_NOT_IMPLEMENTED, v = d.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; j("inherits")(E, n); var _ = c.errorOrDestroy, w = ["error", "close", "destroy", "pause", "resume"]; function S(e, t, r) { i = i || j("./_stream_duplex"), e = e || {}, "boolean" != typeof r && (r = t instanceof i), this.objectMode = !!e.objectMode, r && (this.objectMode = this.objectMode || !!e.readableObjectMode), this.highWaterMark = h(this, e, "readableHighWaterMark", r), this.buffer = new s, this.length = 0, this.pipes = null, this.pipesCount = 0, this.flowing = null, this.ended = !1, this.endEmitted = !1, this.reading = !1, this.sync = !0, this.needReadable = !1, this.emittedReadable = !1, this.readableListening = !1, this.resumeScheduled = !1, this.paused = !0, this.emitClose = !1 !== e.emitClose, this.autoDestroy = !!e.autoDestroy, this.destroyed = !1, this.defaultEncoding = e.defaultEncoding || "utf8", this.awaitDrain = 0, this.readingMore = !1, this.decoder = null, this.encoding = null, e.encoding && (o = o || j("string_decoder/").StringDecoder, this.decoder = new o(e.encoding), this.encoding = e.encoding) } function E(e) { if (i = i || j("./_stream_duplex"), !(this instanceof E)) return new E(e); var t = this instanceof i; this._readableState = new S(e, this, t), this.readable = !0, e && ("function" == typeof e.read && (this._read = e.read), "function" == typeof e.destroy && (this._destroy = e.destroy)), n.call(this) } function x(e, t, r, i, n) { g("readableAddChunk", t); var o, a, s = e._readableState; if (null === t) s.reading = !1, function (e, t) { if (g("onEofChunk"), t.ended) return; { var r; !t.decoder || (r = t.decoder.end()) && r.length && (t.buffer.push(r), t.length += t.objectMode ? 1 : r.length) } t.ended = !0, t.sync ? P(e) : (t.needReadable = !1, t.emittedReadable || (t.emittedReadable = !0, C(e))) }(e, s); else if (n || (o = function (e, t) { var r; (function (e) { return l.isBuffer(e) || e instanceof u })(t) || "string" == typeof t || void 0 === t || e.objectMode || (r = new f("chunk", ["string", "Buffer", "Uint8Array"], t)); return r }(s, t)), o) _(e, o); else if (s.objectMode || t && 0 < t.length) if ("string" == typeof t || s.objectMode || Object.getPrototypeOf(t) === l.prototype || (a = t, t = l.from(a)), i) s.endEmitted ? _(e, new v) : T(e, s, t, !0); else if (s.ended) _(e, new p); else { if (s.destroyed) return !1; s.reading = !1, s.decoder && !r ? (t = s.decoder.write(t), s.objectMode || 0 !== t.length ? T(e, s, t, !1) : A(e, s)) : T(e, s, t, !1) } else i || (s.reading = !1, A(e, s)); return !s.ended && (s.length < s.highWaterMark || 0 === s.length) } function T(e, t, r, i) { t.flowing && 0 === t.length && !t.sync ? (t.awaitDrain = 0, e.emit("data", r)) : (t.length += t.objectMode ? 1 : r.length, i ? t.buffer.unshift(r) : t.buffer.push(r), t.needReadable && P(e)), A(e, t) } Object.defineProperty(E.prototype, "destroyed", { enumerable: !1, get: function () { return void 0 !== this._readableState && this._readableState.destroyed }, set: function (e) { this._readableState && (this._readableState.destroyed = e) } }), E.prototype.destroy = c.destroy, E.prototype._undestroy = c.undestroy, E.prototype._destroy = function (e, t) { t(e) }, E.prototype.push = function (e, t) { var r, i = this._readableState; return i.objectMode ? r = !0 : "string" == typeof e && ((t = t || i.defaultEncoding) !== i.encoding && (e = l.from(e, t), t = ""), r = !0), x(this, e, t, !1, r) }, E.prototype.unshift = function (e) { return x(this, e, null, !0, !1) }, E.prototype.isPaused = function () { return !1 === this._readableState.flowing }, E.prototype.setEncoding = function (e) { var t = new (o = o || j("string_decoder/").StringDecoder)(e); this._readableState.decoder = t, this._readableState.encoding = this._readableState.decoder.encoding; for (var r = this._readableState.buffer.head, i = ""; null !== r;)i += t.write(r.data), r = r.next; return this._readableState.buffer.clear(), "" !== i && this._readableState.buffer.push(i), this._readableState.length = i.length, this }; var M = 1073741824; function k(e, t) { return e <= 0 || 0 === t.length && t.ended ? 0 : t.objectMode ? 1 : e != e ? t.flowing && t.length ? t.buffer.head.data.length : t.length : (e > t.highWaterMark && (t.highWaterMark = (M <= (r = e) ? r = M : (r--, r |= r >>> 1, r |= r >>> 2, r |= r >>> 4, r |= r >>> 8, r |= r >>> 16, r++), r)), e <= t.length ? e : t.ended ? t.length : (t.needReadable = !0, 0)); var r } function P(e) { var t = e._readableState; g("emitReadable", t.needReadable, t.emittedReadable), t.needReadable = !1, t.emittedReadable || (g("emitReadable", t.flowing), t.emittedReadable = !0, y.nextTick(C, e)) } function C(e) { var t = e._readableState; g("emitReadable_", t.destroyed, t.length, t.ended), t.destroyed || !t.length && !t.ended || (e.emit("readable"), t.emittedReadable = !1), t.needReadable = !t.flowing && !t.ended && t.length <= t.highWaterMark, B(e) } function A(e, t) { t.readingMore || (t.readingMore = !0, y.nextTick(I, e, t)) } function I(e, t) { for (; !t.reading && !t.ended && (t.length < t.highWaterMark || t.flowing && 0 === t.length);) { var r = t.length; if (g("maybeReadMore read 0"), e.read(0), r === t.length) break } t.readingMore = !1 } function R(e) { var t = e._readableState; t.readableListening = 0 < e.listenerCount("readable"), t.resumeScheduled && !t.paused ? t.flowing = !0 : 0 < e.listenerCount("data") && e.resume() } function L(e) { g("readable nexttick read 0"), e.read(0) } function D(e, t) { g("resume", t.reading), t.reading || e.read(0), t.resumeScheduled = !1, e.emit("resume"), B(e), t.flowing && !t.reading && e.read(0) } function B(e) { var t = e._readableState; for (g("flow", t.flowing); t.flowing && null !== e.read();); } function O(e, t) { return 0 === t.length ? null : (t.objectMode ? r = t.buffer.shift() : !e || e >= t.length ? (r = t.decoder ? t.buffer.join("") : 1 === t.buffer.length ? t.buffer.first() : t.buffer.concat(t.length), t.buffer.clear()) : r = t.buffer.consume(e, t.decoder), r); var r } function U(e) { var t = e._readableState; g("endReadable", t.endEmitted), t.endEmitted || (t.ended = !0, y.nextTick(N, t, e)) } function N(e, t) { var r; g("endReadableNT", e.endEmitted, e.length), e.endEmitted || 0 !== e.length || (e.endEmitted = !0, t.readable = !1, t.emit("end"), !e.autoDestroy || (!(r = t._writableState) || r.autoDestroy && r.finished) && t.destroy()) } function H(e, t) { for (var r = 0, i = e.length; r < i; r++)if (e[r] === t) return r; return -1 } E.prototype.read = function (e) { g("read", e), e = parseInt(e, 10); var t = this._readableState, r = e; if (0 !== e && (t.emittedReadable = !1), 0 === e && t.needReadable && ((0 !== t.highWaterMark ? t.length >= t.highWaterMark : 0 < t.length) || t.ended)) return g("read: emitReadable", t.length, t.ended), (0 === t.length && t.ended ? U : P)(this), null; if (0 === (e = k(e, t)) && t.ended) return 0 === t.length && U(this), null; var i, n = t.needReadable; return g("need readable", n), (0 === t.length || t.length - e < t.highWaterMark) && g("length less than watermark", n = !0), t.ended || t.reading ? g("reading or ended", n = !1) : n && (g("do read"), t.reading = !0, t.sync = !0, 0 === t.length && (t.needReadable = !0), this._read(t.highWaterMark), t.sync = !1, t.reading || (e = k(r, t))), null === (i = 0 < e ? O(e, t) : null) ? (t.needReadable = t.length <= t.highWaterMark, e = 0) : (t.length -= e, t.awaitDrain = 0), 0 === t.length && (t.ended || (t.needReadable = !0), r !== e && t.ended && U(this)), null !== i && this.emit("data", i), i }, E.prototype._read = function (e) { _(this, new b("_read()")) }, E.prototype.pipe = function (r, e) { var i = this, n = this._readableState; switch (n.pipesCount) { case 0: n.pipes = r; break; case 1: n.pipes = [n.pipes, r]; break; default: n.pipes.push(r) }n.pipesCount += 1, g("pipe count=%d opts=%j", n.pipesCount, e); var t = (!e || !1 !== e.end) && r !== y.stdout && r !== y.stderr ? a : p; function o(e, t) { g("onunpipe"), e === i && t && !1 === t.hasUnpiped && (t.hasUnpiped = !0, g("cleanup"), r.removeListener("close", d), r.removeListener("finish", f), r.removeListener("drain", l), r.removeListener("error", h), r.removeListener("unpipe", o), i.removeListener("end", a), i.removeListener("end", p), i.removeListener("data", c), u = !0, !n.awaitDrain || r._writableState && !r._writableState.needDrain || l()) } function a() { g("onend"), r.end() } n.endEmitted ? y.nextTick(t) : i.once("end", t), r.on("unpipe", o); var s, l = (s = i, function () { var e = s._readableState; g("pipeOnDrain", e.awaitDrain), e.awaitDrain && e.awaitDrain--, 0 === e.awaitDrain && m(s, "data") && (e.flowing = !0, B(s)) }); r.on("drain", l); var u = !1; function c(e) { g("ondata"); var t = r.write(e); g("dest.write", t), !1 === t && ((1 === n.pipesCount && n.pipes === r || 1 < n.pipesCount && -1 !== H(n.pipes, r)) && !u && (g("false write response, pause", n.awaitDrain), n.awaitDrain++), i.pause()) } function h(e) { g("onerror", e), p(), r.removeListener("error", h), 0 === m(r, "error") && _(r, e) } function d() { r.removeListener("finish", f), p() } function f() { g("onfinish"), r.removeListener("close", d), p() } function p() { g("unpipe"), i.unpipe(r) } return i.on("data", c), function (e, t, r) { if ("function" == typeof e.prependListener) return e.prependListener(t, r); e._events && e._events[t] ? Array.isArray(e._events[t]) ? e._events[t].unshift(r) : e._events[t] = [r, e._events[t]] : e.on(t, r) }(r, "error", h), r.once("close", d), r.once("finish", f), r.emit("pipe", i), n.flowing || (g("pipe resume"), i.resume()), r }, E.prototype.unpipe = function (e) { var t = this._readableState, r = { hasUnpiped: !1 }; if (0 === t.pipesCount) return this; if (1 === t.pipesCount) return e && e !== t.pipes || (e = e || t.pipes, t.pipes = null, t.pipesCount = 0, t.flowing = !1, e && e.emit("unpipe", this, r)), this; if (!e) { var i = t.pipes, n = t.pipesCount; t.pipes = null, t.pipesCount = 0, t.flowing = !1; for (var o = 0; o < n; o++)i[o].emit("unpipe", this, { hasUnpiped: !1 }); return this } var a = H(t.pipes, e); return -1 === a || (t.pipes.splice(a, 1), --t.pipesCount, 1 === t.pipesCount && (t.pipes = t.pipes[0]), e.emit("unpipe", this, r)), this }, E.prototype.addListener = E.prototype.on = function (e, t) { var r = n.prototype.on.call(this, e, t), i = this._readableState; return "data" === e ? (i.readableListening = 0 < this.listenerCount("readable"), !1 !== i.flowing && this.resume()) : "readable" === e && (i.endEmitted || i.readableListening || (i.readableListening = i.needReadable = !0, i.flowing = !1, i.emittedReadable = !1, g("on readable", i.length, i.reading), i.length ? P(this) : i.reading || y.nextTick(L, this))), r }, E.prototype.removeListener = function (e, t) { var r = n.prototype.removeListener.call(this, e, t); return "readable" === e && y.nextTick(R, this), r }, E.prototype.removeAllListeners = function (e) { var t = n.prototype.removeAllListeners.apply(this, arguments); return "readable" !== e && void 0 !== e || y.nextTick(R, this), t }, E.prototype.resume = function () { var e, t, r = this._readableState; return r.flowing || (g("resume"), r.flowing = !r.readableListening, e = this, (t = r).resumeScheduled || (t.resumeScheduled = !0, y.nextTick(D, e, t))), r.paused = !1, this }, E.prototype.pause = function () { return g("call pause flowing=%j", this._readableState.flowing), !1 !== this._readableState.flowing && (g("pause"), this._readableState.flowing = !1, this.emit("pause")), this._readableState.paused = !0, this }, E.prototype.wrap = function (t) { var r = this, i = this._readableState, n = !1; for (var e in t.on("end", function () { var e; g("wrapped end"), !i.decoder || i.ended || (e = i.decoder.end()) && e.length && r.push(e), r.push(null) }), t.on("data", function (e) { g("wrapped data"), i.decoder && (e = i.decoder.write(e)), i.objectMode && null == e || (i.objectMode || e && e.length) && (r.push(e) || (n = !0, t.pause())) }), t) void 0 === this[e] && "function" == typeof t[e] && (this[e] = function (e) { return function () { return t[e].apply(t, arguments) } }(e)); for (var o = 0; o < w.length; o++)t.on(w[o], this.emit.bind(this, w[o])); return this._read = function (e) { g("wrapped _read", e), n && (n = !1, t.resume()) }, this }, "function" == typeof Symbol && (E.prototype[Symbol.asyncIterator] = function () { return void 0 === t && (t = j("./internal/streams/async_iterator")), t(this) }), Object.defineProperty(E.prototype, "readableHighWaterMark", { enumerable: !1, get: function () { return this._readableState.highWaterMark } }), Object.defineProperty(E.prototype, "readableBuffer", { enumerable: !1, get: function () { return this._readableState && this._readableState.buffer } }), Object.defineProperty(E.prototype, "readableFlowing", { enumerable: !1, get: function () { return this._readableState.flowing }, set: function (e) { this._readableState && (this._readableState.flowing = e) } }), E._fromList = O, Object.defineProperty(E.prototype, "readableLength", { enumerable: !1, get: function () { return this._readableState.length } }), "function" == typeof Symbol && (E.from = function (e, t) { return void 0 === r && (r = j("./internal/streams/from")), r(E, e, t) }) }).call(this, j("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "../errors": 48, "./_stream_duplex": 49, "./internal/streams/async_iterator": 54, "./internal/streams/buffer_list": 55, "./internal/streams/destroy": 56, "./internal/streams/from": 58, "./internal/streams/state": 60, "./internal/streams/stream": 61, _process: 161, buffer: 64, events: 108, inherits: 142, "string_decoder/": 196, util: 19 }], 52: [function (e, t, r) { "use strict"; t.exports = u; var i = e("../errors").codes, n = i.ERR_METHOD_NOT_IMPLEMENTED, o = i.ERR_MULTIPLE_CALLBACK, a = i.ERR_TRANSFORM_ALREADY_TRANSFORMING, s = i.ERR_TRANSFORM_WITH_LENGTH_0, l = e("./_stream_duplex"); function u(e) { if (!(this instanceof u)) return new u(e); l.call(this, e), this._transformState = { afterTransform: function (e, t) { var r = this._transformState; r.transforming = !1; var i = r.writecb; if (null === i) return this.emit("error", new o); r.writechunk = null, (r.writecb = null) != t && this.push(t), i(e); var n = this._readableState; n.reading = !1, (n.needReadable || n.length < n.highWaterMark) && this._read(n.highWaterMark) }.bind(this), needTransform: !1, transforming: !1, writecb: null, writechunk: null, writeencoding: null }, this._readableState.needReadable = !0, this._readableState.sync = !1, e && ("function" == typeof e.transform && (this._transform = e.transform), "function" == typeof e.flush && (this._flush = e.flush)), this.on("prefinish", c) } function c() { var r = this; "function" != typeof this._flush || this._readableState.destroyed ? h(this, null, null) : this._flush(function (e, t) { h(r, e, t) }) } function h(e, t, r) { if (t) return e.emit("error", t); if (null != r && e.push(r), e._writableState.length) throw new s; if (e._transformState.transforming) throw new a; return e.push(null) } e("inherits")(u, l), u.prototype.push = function (e, t) { return this._transformState.needTransform = !1, l.prototype.push.call(this, e, t) }, u.prototype._transform = function (e, t, r) { r(new n("_transform()")) }, u.prototype._write = function (e, t, r) { var i, n = this._transformState; n.writecb = r, n.writechunk = e, n.writeencoding = t, n.transforming || (i = this._readableState, (n.needTransform || i.needReadable || i.length < i.highWaterMark) && this._read(i.highWaterMark)) }, u.prototype._read = function (e) { var t = this._transformState; null === t.writechunk || t.transforming ? t.needTransform = !0 : (t.transforming = !0, this._transform(t.writechunk, t.writeencoding, t.afterTransform)) }, u.prototype._destroy = function (e, t) { l.prototype._destroy.call(this, e, function (e) { t(e) }) } }, { "../errors": 48, "./_stream_duplex": 49, inherits: 142 }], 53: [function (A, I, e) { (function (m, e) { "use strict"; function h(e) { var t = this; this.next = null, this.entry = null, this.finish = function () { !function (e, t, r) { var i = e.entry; e.entry = null; for (; i;) { var n = i.callback; t.pendingcb--, n(r), i = i.next } t.corkedRequestsFree.next = e }(t, e) } } var n; (I.exports = y).WritableState = p; var t = { deprecate: A("util-deprecate") }, r = A("./internal/streams/stream"), g = A("buffer").Buffer, b = e.Uint8Array || function () { }; var i, o = A("./internal/streams/destroy"), a = A("./internal/streams/state").getHighWaterMark, s = A("../errors").codes, v = s.ERR_INVALID_ARG_TYPE, l = s.ERR_METHOD_NOT_IMPLEMENTED, u = s.ERR_MULTIPLE_CALLBACK, c = s.ERR_STREAM_CANNOT_PIPE, d = s.ERR_STREAM_DESTROYED, _ = s.ERR_STREAM_NULL_VALUES, w = s.ERR_STREAM_WRITE_AFTER_END, f = s.ERR_UNKNOWN_ENCODING, S = o.errorOrDestroy; function E() { } function p(e, t, r) { n = n || A("./_stream_duplex"), e = e || {}, "boolean" != typeof r && (r = t instanceof n), this.objectMode = !!e.objectMode, r && (this.objectMode = this.objectMode || !!e.writableObjectMode), this.highWaterMark = a(this, e, "writableHighWaterMark", r), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1; var i = (this.destroyed = !1) === e.decodeStrings; this.decodeStrings = !i, this.defaultEncoding = e.defaultEncoding || "utf8", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = function (e) { !function (e, t) { var r = e._writableState, i = r.sync, n = r.writecb; if ("function" != typeof n) throw new u; { var o; (function (e) { e.writing = !1, e.writecb = null, e.length -= e.writelen, e.writelen = 0 })(r), t ? function (e, t, r, i, n) { --t.pendingcb, r ? (m.nextTick(n, i), m.nextTick(C, e, t), e._writableState.errorEmitted = !0, S(e, i)) : (n(i), e._writableState.errorEmitted = !0, S(e, i), C(e, t)) }(e, r, i, t, n) : ((o = k(r) || e.destroyed) || r.corked || r.bufferProcessing || !r.bufferedRequest || M(e, r), i ? m.nextTick(T, e, r, o, n) : T(e, r, o, n)) } }(t, e) }, this.writecb = null, this.writelen = 0, this.bufferedRequest = null, this.lastBufferedRequest = null, this.pendingcb = 0, this.prefinished = !1, this.errorEmitted = !1, this.emitClose = !1 !== e.emitClose, this.autoDestroy = !!e.autoDestroy, this.bufferedRequestCount = 0, this.corkedRequestsFree = new h(this) } function y(e) { var t = this instanceof (n = n || A("./_stream_duplex")); if (!t && !i.call(y, this)) return new y(e); this._writableState = new p(e, this, t), this.writable = !0, e && ("function" == typeof e.write && (this._write = e.write), "function" == typeof e.writev && (this._writev = e.writev), "function" == typeof e.destroy && (this._destroy = e.destroy), "function" == typeof e["final"] && (this._final = e["final"])), r.call(this) } function x(e, t, r, i, n, o, a) { t.writelen = i, t.writecb = a, t.writing = !0, t.sync = !0, t.destroyed ? t.onwrite(new d("write")) : r ? e._writev(n, t.onwrite) : e._write(n, o, t.onwrite), t.sync = !1 } function T(e, t, r, i) { var n, o; r || (n = e, 0 === (o = t).length && o.needDrain && (o.needDrain = !1, n.emit("drain"))), t.pendingcb--, i(), C(e, t) } function M(e, t) { t.bufferProcessing = !0; var r = t.bufferedRequest; if (e._writev && r && r.next) { var i = t.bufferedRequestCount, n = new Array(i), o = t.corkedRequestsFree; o.entry = r; for (var a = 0, s = !0; r;)(n[a] = r).isBuf || (s = !1), r = r.next, a += 1; n.allBuffers = s, x(e, t, !0, t.length, n, "", o.finish), t.pendingcb++, t.lastBufferedRequest = null, o.next ? (t.corkedRequestsFree = o.next, o.next = null) : t.corkedRequestsFree = new h(t), t.bufferedRequestCount = 0 } else { for (; r;) { var l = r.chunk, u = r.encoding, c = r.callback; if (x(e, t, !1, t.objectMode ? 1 : l.length, l, u, c), r = r.next, t.bufferedRequestCount--, t.writing) break } null === r && (t.lastBufferedRequest = null) } t.bufferedRequest = r, t.bufferProcessing = !1 } function k(e) { return e.ending && 0 === e.length && null === e.bufferedRequest && !e.finished && !e.writing } function P(t, r) { t._final(function (e) { r.pendingcb--, e && S(t, e), r.prefinished = !0, t.emit("prefinish"), C(t, r) }) } function C(e, t) { var r, i, n, o = k(t); return o && (i = e, (n = t).prefinished || n.finalCalled || ("function" != typeof i._final || n.destroyed ? (n.prefinished = !0, i.emit("prefinish")) : (n.pendingcb++, n.finalCalled = !0, m.nextTick(P, i, n))), 0 === t.pendingcb && (t.finished = !0, e.emit("finish"), !t.autoDestroy || (!(r = e._readableState) || r.autoDestroy && r.endEmitted) && e.destroy())), o } A("inherits")(y, r), p.prototype.getBuffer = function () { for (var e = this.bufferedRequest, t = []; e;)t.push(e), e = e.next; return t }, function () { try { Object.defineProperty(p.prototype, "buffer", { get: t.deprecate(function () { return this.getBuffer() }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003") }) } catch (e) { } }(), "function" == typeof Symbol && Symbol.hasInstance && "function" == typeof Function.prototype[Symbol.hasInstance] ? (i = Function.prototype[Symbol.hasInstance], Object.defineProperty(y, Symbol.hasInstance, { value: function (e) { return !!i.call(this, e) || this === y && (e && e._writableState instanceof p) } })) : i = function (e) { return e instanceof this }, y.prototype.pipe = function () { S(this, new c) }, y.prototype.write = function (e, t, r) { var i, n, o, a, s, l, u, c, h, d, f = this._writableState, p = !1, y = !f.objectMode && (i = e, g.isBuffer(i) || i instanceof b); return y && !g.isBuffer(e) && (n = e, e = g.from(n)), "function" == typeof t && (r = t, t = null), t = y ? "buffer" : t || f.defaultEncoding, "function" != typeof r && (r = E), f.ending ? (c = this, h = r, d = new w, S(c, d), m.nextTick(h, d)) : !y && (o = this, a = f, l = r, null === (s = e) ? u = new _ : "string" == typeof s || a.objectMode || (u = new v("chunk", ["string", "Buffer"], s)), u && (S(o, u), !void m.nextTick(l, u))) || (f.pendingcb++, p = function (e, t, r, i, n, o) { { var a; r || (a = function (e, t, r) { e.objectMode || !1 === e.decodeStrings || "string" != typeof t || (t = g.from(t, r)); return t }(t, i, n), i !== a && (r = !0, n = "buffer", i = a)) } var s = t.objectMode ? 1 : i.length; t.length += s; var l = t.length < t.highWaterMark; l || (t.needDrain = !0); { var u; t.writing || t.corked ? (u = t.lastBufferedRequest, t.lastBufferedRequest = { chunk: i, encoding: n, isBuf: r, callback: o, next: null }, u ? u.next = t.lastBufferedRequest : t.bufferedRequest = t.lastBufferedRequest, t.bufferedRequestCount += 1) : x(e, t, !1, s, i, n, o) } return l }(this, f, y, e, t, r)), p }, y.prototype.cork = function () { this._writableState.corked++ }, y.prototype.uncork = function () { var e = this._writableState; e.corked && (e.corked--, e.writing || e.corked || e.bufferProcessing || !e.bufferedRequest || M(this, e)) }, y.prototype.setDefaultEncoding = function (e) { if ("string" == typeof e && (e = e.toLowerCase()), !(-1 < ["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((e + "").toLowerCase()))) throw new f(e); return this._writableState.defaultEncoding = e, this }, Object.defineProperty(y.prototype, "writableBuffer", { enumerable: !1, get: function () { return this._writableState && this._writableState.getBuffer() } }), Object.defineProperty(y.prototype, "writableHighWaterMark", { enumerable: !1, get: function () { return this._writableState.highWaterMark } }), y.prototype._write = function (e, t, r) { r(new l("_write()")) }, y.prototype._writev = null, y.prototype.end = function (e, t, r) { var i = this._writableState; return "function" == typeof e ? (r = e, t = e = null) : "function" == typeof t && (r = t, t = null), null != e && this.write(e, t), i.corked && (i.corked = 1, this.uncork()), i.ending || function (e, t, r) { t.ending = !0, C(e, t), r && (t.finished ? m.nextTick(r) : e.once("finish", r)); t.ended = !0, e.writable = !1 }(this, i, r), this }, Object.defineProperty(y.prototype, "writableLength", { enumerable: !1, get: function () { return this._writableState.length } }), Object.defineProperty(y.prototype, "destroyed", { enumerable: !1, get: function () { return void 0 !== this._writableState && this._writableState.destroyed }, set: function (e) { this._writableState && (this._writableState.destroyed = e) } }), y.prototype.destroy = o.destroy, y.prototype._undestroy = o.undestroy, y.prototype._destroy = function (e, t) { t(e) } }).call(this, A("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "../errors": 48, "./_stream_duplex": 49, "./internal/streams/destroy": 56, "./internal/streams/state": 60, "./internal/streams/stream": 61, _process: 161, buffer: 64, inherits: 142, "util-deprecate": 199 }], 54: [function (i, m, e) { (function (s) { "use strict"; var e; function r(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e } var n = i("./end-of-stream"), o = Symbol("lastResolve"), a = Symbol("lastReject"), l = Symbol("error"), u = Symbol("ended"), c = Symbol("lastPromise"), h = Symbol("handlePromise"), d = Symbol("stream"); function f(e, t) { return { value: e, done: t } } function p(e) { var t, r = e[o]; null === r || null !== (t = e[d].read()) && (e[c] = null, e[o] = null, e[a] = null, r(f(t, !1))) } var t = Object.getPrototypeOf(function () { }), y = Object.setPrototypeOf((r(e = { get stream() { return this[d] }, next: function () { var r = this, e = this[l]; if (null !== e) return Promise.reject(e); if (this[u]) return Promise.resolve(f(void 0, !0)); if (this[d].destroyed) return new Promise(function (e, t) { s.nextTick(function () { r[l] ? t(r[l]) : e(f(void 0, !0)) }) }); var t, i, n, o = this[c]; if (o) t = new Promise((i = o, n = this, function (e, t) { i.then(function () { n[u] ? e(f(void 0, !0)) : n[h](e, t) }, t) })); else { var a = this[d].read(); if (null !== a) return Promise.resolve(f(a, !1)); t = new Promise(this[h]) } return this[c] = t } }, Symbol.asyncIterator, function () { return this }), r(e, "return", function () { var e = this; return new Promise(function (t, r) { e[d].destroy(null, function (e) { e ? r(e) : t(f(void 0, !0)) }) }) }), e), t); m.exports = function (e) { var t, i = Object.create(y, (r(t = {}, d, { value: e, writable: !0 }), r(t, o, { value: null, writable: !0 }), r(t, a, { value: null, writable: !0 }), r(t, l, { value: null, writable: !0 }), r(t, u, { value: e._readableState.endEmitted, writable: !0 }), r(t, h, { value: function (e, t) { var r = i[d].read(); r ? (i[c] = null, i[o] = null, i[a] = null, e(f(r, !1))) : (i[o] = e, i[a] = t) }, writable: !0 }), t)); return i[c] = null, n(e, function (e) { if (e && "ERR_STREAM_PREMATURE_CLOSE" !== e.code) { var t = i[a]; return null !== t && (i[c] = null, i[o] = null, i[a] = null, t(e)), void (i[l] = e) } var r = i[o]; null !== r && (i[c] = null, i[o] = null, r(f(void 0, !(i[a] = null)))), i[u] = !0 }), e.on("readable", function (e) { s.nextTick(p, e) }.bind(null, i)), i } }).call(this, i("_process")) }, { "./end-of-stream": 57, _process: 161 }], 55: [function (e, t, r) { "use strict"; function n(t, e) { var r, i = Object.keys(t); return Object.getOwnPropertySymbols && (r = Object.getOwnPropertySymbols(t), e && (r = r.filter(function (e) { return Object.getOwnPropertyDescriptor(t, e).enumerable })), i.push.apply(i, r)), i } function o(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e } function a(e, t) { for (var r = 0; r < t.length; r++) { var i = t[r]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var s = e("buffer").Buffer, l = e("util").inspect, u = l && l.custom || "inspect"; t.exports = function () { function e() { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this.head = null, this.tail = null, this.length = 0 } var t, r, i; return t = e, (r = [{ key: "push", value: function (e) { var t = { data: e, next: null }; 0 < this.length ? this.tail.next = t : this.head = t, this.tail = t, ++this.length } }, { key: "unshift", value: function (e) { var t = { data: e, next: this.head }; 0 === this.length && (this.tail = t), this.head = t, ++this.length } }, { key: "shift", value: function () { if (0 !== this.length) { var e = this.head.data; return 1 === this.length ? this.head = this.tail = null : this.head = this.head.next, --this.length, e } } }, { key: "clear", value: function () { this.head = this.tail = null, this.length = 0 } }, { key: "join", value: function (e) { if (0 === this.length) return ""; for (var t = this.head, r = "" + t.data; t = t.next;)r += e + t.data; return r } }, { key: "concat", value: function (e) { if (0 === this.length) return s.alloc(0); for (var t, r, i, n = s.allocUnsafe(e >>> 0), o = this.head, a = 0; o;)t = o.data, r = n, i = a, s.prototype.copy.call(t, r, i), a += o.data.length, o = o.next; return n } }, { key: "consume", value: function (e, t) { var r; return e < this.head.data.length ? (r = this.head.data.slice(0, e), this.head.data = this.head.data.slice(e)) : r = e === this.head.data.length ? this.shift() : t ? this._getString(e) : this._getBuffer(e), r } }, { key: "first", value: function () { return this.head.data } }, { key: "_getString", value: function (e) { var t = this.head, r = 1, i = t.data; for (e -= i.length; t = t.next;) { var n = t.data, o = e > n.length ? n.length : e; if (o === n.length ? i += n : i += n.slice(0, e), 0 === (e -= o)) { o === n.length ? (++r, t.next ? this.head = t.next : this.head = this.tail = null) : (this.head = t).data = n.slice(o); break } ++r } return this.length -= r, i } }, { key: "_getBuffer", value: function (e) { var t = s.allocUnsafe(e), r = this.head, i = 1; for (r.data.copy(t), e -= r.data.length; r = r.next;) { var n = r.data, o = e > n.length ? n.length : e; if (n.copy(t, t.length - e, 0, o), 0 === (e -= o)) { o === n.length ? (++i, r.next ? this.head = r.next : this.head = this.tail = null) : (this.head = r).data = n.slice(o); break } ++i } return this.length -= i, t } }, { key: u, value: function (e, t) { return l(this, function (t) { for (var e = 1; e < arguments.length; e++) { var r = null != arguments[e] ? arguments[e] : {}; e % 2 ? n(Object(r), !0).forEach(function (e) { o(t, e, r[e]) }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(r)) : n(Object(r)).forEach(function (e) { Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(r, e)) }) } return t }({}, t, { depth: 0, customInspect: !1 })) } }]) && a(t.prototype, r), i && a(t, i), e }() }, { buffer: 64, util: 19 }], 56: [function (e, t, r) { (function (o) { "use strict"; function a(e, t) { l(e, t), s(e) } function s(e) { e._writableState && !e._writableState.emitClose || e._readableState && !e._readableState.emitClose || e.emit("close") } function l(e, t) { e.emit("error", t) } t.exports = { destroy: function (e, t) { var r = this, i = this._readableState && this._readableState.destroyed, n = this._writableState && this._writableState.destroyed; return i || n ? t ? t(e) : e && (this._writableState ? this._writableState.errorEmitted || (this._writableState.errorEmitted = !0, o.nextTick(l, this, e)) : o.nextTick(l, this, e)) : (this._readableState && (this._readableState.destroyed = !0), this._writableState && (this._writableState.destroyed = !0), this._destroy(e || null, function (e) { !t && e ? r._writableState ? r._writableState.errorEmitted ? o.nextTick(s, r) : (r._writableState.errorEmitted = !0, o.nextTick(a, r, e)) : o.nextTick(a, r, e) : t ? (o.nextTick(s, r), t(e)) : o.nextTick(s, r) })), this }, undestroy: function () { this._readableState && (this._readableState.destroyed = !1, this._readableState.reading = !1, this._readableState.ended = !1, this._readableState.endEmitted = !1), this._writableState && (this._writableState.destroyed = !1, this._writableState.ended = !1, this._writableState.ending = !1, this._writableState.finalCalled = !1, this._writableState.prefinished = !1, this._writableState.finished = !1, this._writableState.errorEmitted = !1) }, errorOrDestroy: function (e, t) { var r = e._readableState, i = e._writableState; r && r.autoDestroy || i && i.autoDestroy ? e.destroy(t) : e.emit("error", t) } } }).call(this, e("_process")) }, { _process: 161 }], 57: [function (e, t, r) { "use strict"; var g = e("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE; function b() { } t.exports = function e(t, r, i) { if ("function" == typeof r) return e(t, null, r); var n, o; n = i || b, o = !1, i = function () { if (!o) { o = !0; for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++)t[r] = arguments[r]; n.apply(this, t) } }; function a() { t.writable || y() } function s() { m = !(d = !1), f || i.call(t) } function l(e) { i.call(t, e) } function u() { var e; return d && !m ? (t._readableState && t._readableState.ended || (e = new g), i.call(t, e)) : f && !p ? (t._writableState && t._writableState.ended || (e = new g), i.call(t, e)) : void 0 } function c() { t.req.on("finish", y) } var h, d = (r = r || {}).readable || !1 !== r.readable && t.readable, f = r.writable || !1 !== r.writable && t.writable, p = t._writableState && t._writableState.finished, y = function () { p = !(f = !1), d || i.call(t) }, m = t._readableState && t._readableState.endEmitted; return (h = t).setHeader && "function" == typeof h.abort ? (t.on("complete", y), t.on("abort", u), t.req ? c() : t.on("request", c)) : f && !t._writableState && (t.on("end", a), t.on("close", a)), t.on("end", s), t.on("finish", y), !1 !== r.error && t.on("error", l), t.on("close", u), function () { t.removeListener("complete", y), t.removeListener("abort", u), t.removeListener("request", c), t.req && t.req.removeListener("finish", y), t.removeListener("end", a), t.removeListener("close", a), t.removeListener("finish", y), t.removeListener("end", s), t.removeListener("error", l), t.removeListener("close", u) } } }, { "../../../errors": 48 }], 58: [function (e, t, r) { t.exports = function () { throw new Error("Readable.from is not available in the browser") } }, {}], 59: [function (l, e, t) { "use strict"; var u; var r = l("../../../errors").codes, s = r.ERR_MISSING_ARGS, c = r.ERR_STREAM_DESTROYED; function h(e) { if (e) throw e } function d(r, e, t, i) { var n, o; n = i, o = !1; var a = !(i = function () { o || (o = !0, n.apply(void 0, arguments)) }); r.on("close", function () { a = !0 }), void 0 === u && (u = l("./end-of-stream")), u(r, { readable: e, writable: t }, function (e) { if (e) return i(e); a = !0, i() }); var s = !1; return function (e) { var t; if (!a && !s) return s = !0, (t = r).setHeader && "function" == typeof t.abort ? r.abort() : "function" == typeof r.destroy ? r.destroy() : void i(e || new c("pipe")) } } function f(e) { e() } function p(e, t) { return e.pipe(t) } e.exports = function () { for (var e = arguments.length, i = new Array(e), t = 0; t < e; t++)i[t] = arguments[t]; var r, n, o = (r = i).length && "function" == typeof r[r.length - 1] ? r.pop() : h; if (Array.isArray(i[0]) && (i = i[0]), i.length < 2) throw new s("streams"); var a = i.map(function (e, t) { var r = t < i.length - 1; return d(e, r, 0 < t, function (e) { n = n || e, e && a.forEach(f), r || (a.forEach(f), o(n)) }) }); return i.reduce(p) } }, { "../../../errors": 48, "./end-of-stream": 57 }], 60: [function (e, t, r) { "use strict"; var l = e("../../../errors").codes.ERR_INVALID_OPT_VALUE; t.exports = { getHighWaterMark: function (e, t, r, i) { var n, o, a, s = (o = i, a = r, null != (n = t).highWaterMark ? n.highWaterMark : o ? n[a] : null); if (null == s) return e.objectMode ? 16 : 16384; if (!isFinite(s) || Math.floor(s) !== s || s < 0) throw new l(i ? r : "highWaterMark", s); return Math.floor(s) } } }, { "../../../errors": 48 }], 61: [function (e, t, r) { t.exports = e("events").EventEmitter }, { events: 108 }], 62: [function (e, t, r) { (((r = t.exports = e("./lib/_stream_readable.js")).Stream = r).Readable = r).Writable = e("./lib/_stream_writable.js"), r.Duplex = e("./lib/_stream_duplex.js"), r.Transform = e("./lib/_stream_transform.js"), r.PassThrough = e("./lib/_stream_passthrough.js"), r.finished = e("./lib/internal/streams/end-of-stream.js"), r.pipeline = e("./lib/internal/streams/pipeline.js") }, { "./lib/_stream_duplex.js": 49, "./lib/_stream_passthrough.js": 50, "./lib/_stream_readable.js": 51, "./lib/_stream_transform.js": 52, "./lib/_stream_writable.js": 53, "./lib/internal/streams/end-of-stream.js": 57, "./lib/internal/streams/pipeline.js": 59 }], 63: [function (e, t, r) { (function (o) { t.exports = function (e, t) { for (var r = Math.min(e.length, t.length), i = new o(r), n = 0; n < r; ++n)i[n] = e[n] ^ t[n]; return i } }).call(this, e("buffer").Buffer) }, { buffer: 64 }], 64: [function (e, t, r) { "use strict"; var i = e("base64-js"), o = e("ieee754"); r.Buffer = h, r.SlowBuffer = function (e) { +e != e && (e = 0); return h.alloc(+e) }, r.INSPECT_MAX_BYTES = 50; var n = 2147483647; function a(e) { if (n < e) throw new RangeError('The value "' + e + '" is invalid for option "size"'); var t = new Uint8Array(e); return t.__proto__ = h.prototype, t } function h(e, t, r) { if ("number" != typeof e) return s(e, t, r); if ("string" == typeof t) throw new TypeError('The "string" argument must be of type string. Received type number'); return u(e) } function s(e, t, r) { if ("string" == typeof e) return function (e, t) { "string" == typeof t && "" !== t || (t = "utf8"); if (!h.isEncoding(t)) throw new TypeError("Unknown encoding: " + t); var r = 0 | f(e, t), i = a(r), n = i.write(e, t); n !== r && (i = i.slice(0, n)); return i }(e, t); if (ArrayBuffer.isView(e)) return c(e); if (null == e) throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof e); if (U(e, ArrayBuffer) || e && U(e.buffer, ArrayBuffer)) return function (e, t, r) { if (t < 0 || e.byteLength < t) throw new RangeError('"offset" is outside of buffer bounds'); if (e.byteLength < t + (r || 0)) throw new RangeError('"length" is outside of buffer bounds'); var i; i = void 0 === t && void 0 === r ? new Uint8Array(e) : void 0 === r ? new Uint8Array(e, t) : new Uint8Array(e, t, r); return i.__proto__ = h.prototype, i }(e, t, r); if ("number" == typeof e) throw new TypeError('The "value" argument must not be of type number. Received type number'); var i = e.valueOf && e.valueOf(); if (null != i && i !== e) return h.from(i, t, r); var n = function (e) { if (h.isBuffer(e)) { var t = 0 | d(e.length), r = a(t); return 0 === r.length ? r : (e.copy(r, 0, 0, t), r) } if (void 0 !== e.length) return "number" != typeof e.length || N(e.length) ? a(0) : c(e); if ("Buffer" === e.type && Array.isArray(e.data)) return c(e.data) }(e); if (n) return n; if ("undefined" != typeof Symbol && null != Symbol.toPrimitive && "function" == typeof e[Symbol.toPrimitive]) return h.from(e[Symbol.toPrimitive]("string"), t, r); throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof e) } function l(e) { if ("number" != typeof e) throw new TypeError('"size" argument must be of type number'); if (e < 0) throw new RangeError('The value "' + e + '" is invalid for option "size"') } function u(e) { return l(e), a(e < 0 ? 0 : 0 | d(e)) } function c(e) { for (var t = e.length < 0 ? 0 : 0 | d(e.length), r = a(t), i = 0; i < t; i += 1)r[i] = 255 & e[i]; return r } function d(e) { if (n <= e) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + n.toString(16) + " bytes"); return 0 | e } function f(e, t) { if (h.isBuffer(e)) return e.length; if (ArrayBuffer.isView(e) || U(e, ArrayBuffer)) return e.byteLength; if ("string" != typeof e) throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof e); var r = e.length, i = 2 < arguments.length && !0 === arguments[2]; if (!i && 0 === r) return 0; for (var n = !1; ;)switch (t) { case "ascii": case "latin1": case "binary": return r; case "utf8": case "utf-8": return D(e).length; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return 2 * r; case "hex": return r >>> 1; case "base64": return B(e).length; default: if (n) return i ? -1 : D(e).length; t = ("" + t).toLowerCase(), n = !0 } } function p(e, t, r) { var i = e[t]; e[t] = e[r], e[r] = i } function y(e, t, r, i, n) { if (0 === e.length) return -1; if ("string" == typeof r ? (i = r, r = 0) : 2147483647 < r ? r = 2147483647 : r < -2147483648 && (r = -2147483648), N(r = +r) && (r = n ? 0 : e.length - 1), r < 0 && (r = e.length + r), r >= e.length) { if (n) return -1; r = e.length - 1 } else if (r < 0) { if (!n) return -1; r = 0 } if ("string" == typeof t && (t = h.from(t, i)), h.isBuffer(t)) return 0 === t.length ? -1 : m(e, t, r, i, n); if ("number" == typeof t) return t &= 255, "function" == typeof Uint8Array.prototype.indexOf ? n ? Uint8Array.prototype.indexOf.call(e, t, r) : Uint8Array.prototype.lastIndexOf.call(e, t, r) : m(e, [t], r, i, n); throw new TypeError("val must be string, number or Buffer") } function m(e, t, r, i, n) { var o = 1, a = e.length, s = t.length; if (void 0 !== i && ("ucs2" === (i = String(i).toLowerCase()) || "ucs-2" === i || "utf16le" === i || "utf-16le" === i)) { if (e.length < 2 || t.length < 2) return -1; a /= o = 2, s /= 2, r /= 2 } function l(e, t) { return 1 === o ? e[t] : e.readUInt16BE(t * o) } if (n) for (var u = -1, c = r; c < a; c++)if (l(e, c) === l(t, -1 === u ? 0 : c - u)) { if (-1 === u && (u = c), c - u + 1 === s) return u * o } else -1 !== u && (c -= c - u), u = -1; else for (a < r + s && (r = a - s), c = r; 0 <= c; c--) { for (var h = !0, d = 0; d < s; d++)if (l(e, c + d) !== l(t, d)) { h = !1; break } if (h) return c } return -1 } function g(e, t, r, i) { r = Number(r) || 0; var n = e.length - r; (!i || n < (i = Number(i))) && (i = n); var o = t.length; o / 2 < i && (i = o / 2); for (var a = 0; a < i; ++a) { var s = parseInt(t.substr(2 * a, 2), 16); if (N(s)) return a; e[r + a] = s } return a } function b(e, t, r, i) { return O(function (e) { for (var t = [], r = 0; r < e.length; ++r)t.push(255 & e.charCodeAt(r)); return t }(t), e, r, i) } function v(e, t, r, i) { return O(function (e, t) { for (var r, i, n, o = [], a = 0; a < e.length && !((t -= 2) < 0); ++a)r = e.charCodeAt(a), i = r >> 8, n = r % 256, o.push(n), o.push(i); return o }(t, e.length - r), e, r, i) } function _(e, t, r) { return 0 === t && r === e.length ? i.fromByteArray(e) : i.fromByteArray(e.slice(t, r)) } function w(e, t, r) { r = Math.min(e.length, r); for (var i = [], n = t; n < r;) { var o, a, s, l, u = e[n], c = null, h = 239 < u ? 4 : 223 < u ? 3 : 191 < u ? 2 : 1; if (n + h <= r) switch (h) { case 1: u < 128 && (c = u); break; case 2: 128 == (192 & (o = e[n + 1])) && 127 < (l = (31 & u) << 6 | 63 & o) && (c = l); break; case 3: o = e[n + 1], a = e[n + 2], 128 == (192 & o) && 128 == (192 & a) && 2047 < (l = (15 & u) << 12 | (63 & o) << 6 | 63 & a) && (l < 55296 || 57343 < l) && (c = l); break; case 4: o = e[n + 1], a = e[n + 2], s = e[n + 3], 128 == (192 & o) && 128 == (192 & a) && 128 == (192 & s) && 65535 < (l = (15 & u) << 18 | (63 & o) << 12 | (63 & a) << 6 | 63 & s) && l < 1114112 && (c = l) }null === c ? (c = 65533, h = 1) : 65535 < c && (c -= 65536, i.push(c >>> 10 & 1023 | 55296), c = 56320 | 1023 & c), i.push(c), n += h } return function (e) { var t = e.length; if (t <= S) return String.fromCharCode.apply(String, e); var r = "", i = 0; for (; i < t;)r += String.fromCharCode.apply(String, e.slice(i, i += S)); return r }(i) } r.kMaxLength = n, (h.TYPED_ARRAY_SUPPORT = function () { try { var e = new Uint8Array(1); return e.__proto__ = { __proto__: Uint8Array.prototype, foo: function () { return 42 } }, 42 === e.foo() } catch (e) { return !1 } }()) || "undefined" == typeof console || "function" != typeof console.error || console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."), Object.defineProperty(h.prototype, "parent", { enumerable: !0, get: function () { if (h.isBuffer(this)) return this.buffer } }), Object.defineProperty(h.prototype, "offset", { enumerable: !0, get: function () { if (h.isBuffer(this)) return this.byteOffset } }), "undefined" != typeof Symbol && null != Symbol.species && h[Symbol.species] === h && Object.defineProperty(h, Symbol.species, { value: null, configurable: !0, enumerable: !1, writable: !1 }), h.poolSize = 8192, h.from = s, h.prototype.__proto__ = Uint8Array.prototype, h.__proto__ = Uint8Array, h.alloc = function (e, t, r) { return n = t, o = r, l(i = e), i <= 0 || void 0 === n ? a(i) : "string" == typeof o ? a(i).fill(n, o) : a(i).fill(n); var i, n, o }, h.allocUnsafe = u, h.allocUnsafeSlow = u, h.isBuffer = function (e) { return null != e && !0 === e._isBuffer && e !== h.prototype }, h.compare = function (e, t) { if (U(e, Uint8Array) && (e = h.from(e, e.offset, e.byteLength)), U(t, Uint8Array) && (t = h.from(t, t.offset, t.byteLength)), !h.isBuffer(e) || !h.isBuffer(t)) throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); if (e === t) return 0; for (var r = e.length, i = t.length, n = 0, o = Math.min(r, i); n < o; ++n)if (e[n] !== t[n]) { r = e[n], i = t[n]; break } return r < i ? -1 : i < r ? 1 : 0 }, h.isEncoding = function (e) { switch (String(e).toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "latin1": case "binary": case "base64": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return !0; default: return !1 } }, h.concat = function (e, t) { if (!Array.isArray(e)) throw new TypeError('"list" argument must be an Array of Buffers'); if (0 === e.length) return h.alloc(0); if (void 0 === t) for (n = t = 0; n < e.length; ++n)t += e[n].length; for (var r = h.allocUnsafe(t), i = 0, n = 0; n < e.length; ++n) { var o = e[n]; if (U(o, Uint8Array) && (o = h.from(o)), !h.isBuffer(o)) throw new TypeError('"list" argument must be an Array of Buffers'); o.copy(r, i), i += o.length } return r }, h.byteLength = f, h.prototype._isBuffer = !0, h.prototype.swap16 = function () { var e = this.length; if (e % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); for (var t = 0; t < e; t += 2)p(this, t, t + 1); return this }, h.prototype.swap32 = function () { var e = this.length; if (e % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); for (var t = 0; t < e; t += 4)p(this, t, t + 3), p(this, t + 1, t + 2); return this }, h.prototype.swap64 = function () { var e = this.length; if (e % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); for (var t = 0; t < e; t += 8)p(this, t, t + 7), p(this, t + 1, t + 6), p(this, t + 2, t + 5), p(this, t + 3, t + 4); return this }, h.prototype.toLocaleString = h.prototype.toString = function () { var e = this.length; return 0 === e ? "" : 0 === arguments.length ? w(this, 0, e) : function (e, t, r) { var i = !1; if ((void 0 === t || t < 0) && (t = 0), t > this.length) return ""; if ((void 0 === r || r > this.length) && (r = this.length), r <= 0) return ""; if ((r >>>= 0) <= (t >>>= 0)) return ""; for (e = e || "utf8"; ;)switch (e) { case "hex": return T(this, t, r); case "utf8": case "utf-8": return w(this, t, r); case "ascii": return E(this, t, r); case "latin1": case "binary": return x(this, t, r); case "base64": return _(this, t, r); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return M(this, t, r); default: if (i) throw new TypeError("Unknown encoding: " + e); e = (e + "").toLowerCase(), i = !0 } }.apply(this, arguments) }, h.prototype.equals = function (e) { if (!h.isBuffer(e)) throw new TypeError("Argument must be a Buffer"); return this === e || 0 === h.compare(this, e) }, h.prototype.inspect = function () { var e = "", t = r.INSPECT_MAX_BYTES, e = this.toString("hex", 0, t).replace(/(.{2})/g, "$1 ").trim(); return this.length > t && (e += " ... "), "<Buffer " + e + ">" }, h.prototype.compare = function (e, t, r, i, n) { if (U(e, Uint8Array) && (e = h.from(e, e.offset, e.byteLength)), !h.isBuffer(e)) throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof e); if (void 0 === t && (t = 0), void 0 === r && (r = e ? e.length : 0), void 0 === i && (i = 0), void 0 === n && (n = this.length), t < 0 || r > e.length || i < 0 || n > this.length) throw new RangeError("out of range index"); if (n <= i && r <= t) return 0; if (n <= i) return -1; if (r <= t) return 1; if (this === e) return 0; for (var o = (n >>>= 0) - (i >>>= 0), a = (r >>>= 0) - (t >>>= 0), s = Math.min(o, a), l = this.slice(i, n), u = e.slice(t, r), c = 0; c < s; ++c)if (l[c] !== u[c]) { o = l[c], a = u[c]; break } return o < a ? -1 : a < o ? 1 : 0 }, h.prototype.includes = function (e, t, r) { return -1 !== this.indexOf(e, t, r) }, h.prototype.indexOf = function (e, t, r) { return y(this, e, t, r, !0) }, h.prototype.lastIndexOf = function (e, t, r) { return y(this, e, t, r, !1) }, h.prototype.write = function (e, t, r, i) { if (void 0 === t) i = "utf8", r = this.length, t = 0; else if (void 0 === r && "string" == typeof t) i = t, r = this.length, t = 0; else { if (!isFinite(t)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); t >>>= 0, isFinite(r) ? (r >>>= 0, void 0 === i && (i = "utf8")) : (i = r, r = void 0) } var n = this.length - t; if ((void 0 === r || n < r) && (r = n), 0 < e.length && (r < 0 || t < 0) || t > this.length) throw new RangeError("Attempt to write outside buffer bounds"); i = i || "utf8"; for (var o, a, s, l, u, c, h = !1; ;)switch (i) { case "hex": return g(this, e, t, r); case "utf8": case "utf-8": return u = t, c = r, O(D(e, (l = this).length - u), l, u, c); case "ascii": return b(this, e, t, r); case "latin1": case "binary": return b(this, e, t, r); case "base64": return o = this, a = t, s = r, O(B(e), o, a, s); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return v(this, e, t, r); default: if (h) throw new TypeError("Unknown encoding: " + i); i = ("" + i).toLowerCase(), h = !0 } }, h.prototype.toJSON = function () { return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) } }; var S = 4096; function E(e, t, r) { var i = ""; r = Math.min(e.length, r); for (var n = t; n < r; ++n)i += String.fromCharCode(127 & e[n]); return i } function x(e, t, r) { var i = ""; r = Math.min(e.length, r); for (var n = t; n < r; ++n)i += String.fromCharCode(e[n]); return i } function T(e, t, r) { var i = e.length; (!t || t < 0) && (t = 0), (!r || r < 0 || i < r) && (r = i); for (var n = "", o = t; o < r; ++o)n += L(e[o]); return n } function M(e, t, r) { for (var i = e.slice(t, r), n = "", o = 0; o < i.length; o += 2)n += String.fromCharCode(i[o] + 256 * i[o + 1]); return n } function k(e, t, r) { if (e % 1 != 0 || e < 0) throw new RangeError("offset is not uint"); if (r < e + t) throw new RangeError("Trying to access beyond buffer length") } function P(e, t, r, i, n, o) { if (!h.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance'); if (n < t || t < o) throw new RangeError('"value" argument is out of bounds'); if (r + i > e.length) throw new RangeError("Index out of range") } function C(e, t, r, i) { if (r + i > e.length) throw new RangeError("Index out of range"); if (r < 0) throw new RangeError("Index out of range") } function A(e, t, r, i, n) { return t = +t, r >>>= 0, n || C(e, 0, r, 4), o.write(e, t, r, i, 23, 4), r + 4 } function I(e, t, r, i, n) { return t = +t, r >>>= 0, n || C(e, 0, r, 8), o.write(e, t, r, i, 52, 8), r + 8 } h.prototype.slice = function (e, t) { var r = this.length; (e = ~~e) < 0 ? (e += r) < 0 && (e = 0) : r < e && (e = r), (t = void 0 === t ? r : ~~t) < 0 ? (t += r) < 0 && (t = 0) : r < t && (t = r), t < e && (t = e); var i = this.subarray(e, t); return i.__proto__ = h.prototype, i }, h.prototype.readUIntLE = function (e, t, r) { e >>>= 0, t >>>= 0, r || k(e, t, this.length); for (var i = this[e], n = 1, o = 0; ++o < t && (n *= 256);)i += this[e + o] * n; return i }, h.prototype.readUIntBE = function (e, t, r) { e >>>= 0, t >>>= 0, r || k(e, t, this.length); for (var i = this[e + --t], n = 1; 0 < t && (n *= 256);)i += this[e + --t] * n; return i }, h.prototype.readUInt8 = function (e, t) { return e >>>= 0, t || k(e, 1, this.length), this[e] }, h.prototype.readUInt16LE = function (e, t) { return e >>>= 0, t || k(e, 2, this.length), this[e] | this[e + 1] << 8 }, h.prototype.readUInt16BE = function (e, t) { return e >>>= 0, t || k(e, 2, this.length), this[e] << 8 | this[e + 1] }, h.prototype.readUInt32LE = function (e, t) { return e >>>= 0, t || k(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3] }, h.prototype.readUInt32BE = function (e, t) { return e >>>= 0, t || k(e, 4, this.length), 16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]) }, h.prototype.readIntLE = function (e, t, r) { e >>>= 0, t >>>= 0, r || k(e, t, this.length); for (var i = this[e], n = 1, o = 0; ++o < t && (n *= 256);)i += this[e + o] * n; return (n *= 128) <= i && (i -= Math.pow(2, 8 * t)), i }, h.prototype.readIntBE = function (e, t, r) { e >>>= 0, t >>>= 0, r || k(e, t, this.length); for (var i = t, n = 1, o = this[e + --i]; 0 < i && (n *= 256);)o += this[e + --i] * n; return (n *= 128) <= o && (o -= Math.pow(2, 8 * t)), o }, h.prototype.readInt8 = function (e, t) { return e >>>= 0, t || k(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e] }, h.prototype.readInt16LE = function (e, t) { e >>>= 0, t || k(e, 2, this.length); var r = this[e] | this[e + 1] << 8; return 32768 & r ? 4294901760 | r : r }, h.prototype.readInt16BE = function (e, t) { e >>>= 0, t || k(e, 2, this.length); var r = this[e + 1] | this[e] << 8; return 32768 & r ? 4294901760 | r : r }, h.prototype.readInt32LE = function (e, t) { return e >>>= 0, t || k(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24 }, h.prototype.readInt32BE = function (e, t) { return e >>>= 0, t || k(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3] }, h.prototype.readFloatLE = function (e, t) { return e >>>= 0, t || k(e, 4, this.length), o.read(this, e, !0, 23, 4) }, h.prototype.readFloatBE = function (e, t) { return e >>>= 0, t || k(e, 4, this.length), o.read(this, e, !1, 23, 4) }, h.prototype.readDoubleLE = function (e, t) { return e >>>= 0, t || k(e, 8, this.length), o.read(this, e, !0, 52, 8) }, h.prototype.readDoubleBE = function (e, t) { return e >>>= 0, t || k(e, 8, this.length), o.read(this, e, !1, 52, 8) }, h.prototype.writeUIntLE = function (e, t, r, i) { e = +e, t >>>= 0, r >>>= 0, i || P(this, e, t, r, Math.pow(2, 8 * r) - 1, 0); var n = 1, o = 0; for (this[t] = 255 & e; ++o < r && (n *= 256);)this[t + o] = e / n & 255; return t + r }, h.prototype.writeUIntBE = function (e, t, r, i) { e = +e, t >>>= 0, r >>>= 0, i || P(this, e, t, r, Math.pow(2, 8 * r) - 1, 0); var n = r - 1, o = 1; for (this[t + n] = 255 & e; 0 <= --n && (o *= 256);)this[t + n] = e / o & 255; return t + r }, h.prototype.writeUInt8 = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 1, 255, 0), this[t] = 255 & e, t + 1 }, h.prototype.writeUInt16LE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 2, 65535, 0), this[t] = 255 & e, this[t + 1] = e >>> 8, t + 2 }, h.prototype.writeUInt16BE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 2, 65535, 0), this[t] = e >>> 8, this[t + 1] = 255 & e, t + 2 }, h.prototype.writeUInt32LE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 4, 4294967295, 0), this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e, t + 4 }, h.prototype.writeUInt32BE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 4, 4294967295, 0), this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e, t + 4 }, h.prototype.writeIntLE = function (e, t, r, i) { var n; e = +e, t >>>= 0, i || P(this, e, t, r, (n = Math.pow(2, 8 * r - 1)) - 1, -n); var o = 0, a = 1, s = 0; for (this[t] = 255 & e; ++o < r && (a *= 256);)e < 0 && 0 === s && 0 !== this[t + o - 1] && (s = 1), this[t + o] = (e / a >> 0) - s & 255; return t + r }, h.prototype.writeIntBE = function (e, t, r, i) { var n; e = +e, t >>>= 0, i || P(this, e, t, r, (n = Math.pow(2, 8 * r - 1)) - 1, -n); var o = r - 1, a = 1, s = 0; for (this[t + o] = 255 & e; 0 <= --o && (a *= 256);)e < 0 && 0 === s && 0 !== this[t + o + 1] && (s = 1), this[t + o] = (e / a >> 0) - s & 255; return t + r }, h.prototype.writeInt8 = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 1, 127, -128), e < 0 && (e = 255 + e + 1), this[t] = 255 & e, t + 1 }, h.prototype.writeInt16LE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 2, 32767, -32768), this[t] = 255 & e, this[t + 1] = e >>> 8, t + 2 }, h.prototype.writeInt16BE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 2, 32767, -32768), this[t] = e >>> 8, this[t + 1] = 255 & e, t + 2 }, h.prototype.writeInt32LE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 4, 2147483647, -2147483648), this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24, t + 4 }, h.prototype.writeInt32BE = function (e, t, r) { return e = +e, t >>>= 0, r || P(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e, t + 4 }, h.prototype.writeFloatLE = function (e, t, r) { return A(this, e, t, !0, r) }, h.prototype.writeFloatBE = function (e, t, r) { return A(this, e, t, !1, r) }, h.prototype.writeDoubleLE = function (e, t, r) { return I(this, e, t, !0, r) }, h.prototype.writeDoubleBE = function (e, t, r) { return I(this, e, t, !1, r) }, h.prototype.copy = function (e, t, r, i) { if (!h.isBuffer(e)) throw new TypeError("argument should be a Buffer"); if (r = r || 0, i || 0 === i || (i = this.length), t >= e.length && (t = e.length), t = t || 0, 0 < i && i < r && (i = r), i === r) return 0; if (0 === e.length || 0 === this.length) return 0; if (t < 0) throw new RangeError("targetStart out of bounds"); if (r < 0 || r >= this.length) throw new RangeError("Index out of range"); if (i < 0) throw new RangeError("sourceEnd out of bounds"); i > this.length && (i = this.length), e.length - t < i - r && (i = e.length - t + r); var n = i - r; if (this === e && "function" == typeof Uint8Array.prototype.copyWithin) this.copyWithin(t, r, i); else if (this === e && r < t && t < i) for (var o = n - 1; 0 <= o; --o)e[o + t] = this[o + r]; else Uint8Array.prototype.set.call(e, this.subarray(r, i), t); return n }, h.prototype.fill = function (e, t, r, i) { if ("string" == typeof e) { if ("string" == typeof t ? (i = t, t = 0, r = this.length) : "string" == typeof r && (i = r, r = this.length), void 0 !== i && "string" != typeof i) throw new TypeError("encoding must be a string"); if ("string" == typeof i && !h.isEncoding(i)) throw new TypeError("Unknown encoding: " + i); var n; 1 === e.length && (n = e.charCodeAt(0), ("utf8" === i && n < 128 || "latin1" === i) && (e = n)) } else "number" == typeof e && (e &= 255); if (t < 0 || this.length < t || this.length < r) throw new RangeError("Out of range index"); if (r <= t) return this; var o; if (t >>>= 0, r = void 0 === r ? this.length : r >>> 0, "number" == typeof (e = e || 0)) for (o = t; o < r; ++o)this[o] = e; else { var a = h.isBuffer(e) ? e : h.from(e, i), s = a.length; if (0 === s) throw new TypeError('The value "' + e + '" is invalid for argument "value"'); for (o = 0; o < r - t; ++o)this[o + t] = a[o % s] } return this }; var R = /[^+/0-9A-Za-z-_]/g; function L(e) { return e < 16 ? "0" + e.toString(16) : e.toString(16) } function D(e, t) { var r; t = t || 1 / 0; for (var i = e.length, n = null, o = [], a = 0; a < i; ++a) { if (55295 < (r = e.charCodeAt(a)) && r < 57344) { if (!n) { if (56319 < r) { -1 < (t -= 3) && o.push(239, 191, 189); continue } if (a + 1 === i) { -1 < (t -= 3) && o.push(239, 191, 189); continue } n = r; continue } if (r < 56320) { -1 < (t -= 3) && o.push(239, 191, 189), n = r; continue } r = 65536 + (n - 55296 << 10 | r - 56320) } else n && -1 < (t -= 3) && o.push(239, 191, 189); if (n = null, r < 128) { if (--t < 0) break; o.push(r) } else if (r < 2048) { if ((t -= 2) < 0) break; o.push(r >> 6 | 192, 63 & r | 128) } else if (r < 65536) { if ((t -= 3) < 0) break; o.push(r >> 12 | 224, r >> 6 & 63 | 128, 63 & r | 128) } else { if (!(r < 1114112)) throw new Error("Invalid code point"); if ((t -= 4) < 0) break; o.push(r >> 18 | 240, r >> 12 & 63 | 128, r >> 6 & 63 | 128, 63 & r | 128) } } return o } function B(e) { return i.toByteArray(function (e) { if ((e = (e = e.split("=")[0]).trim().replace(R, "")).length < 2) return ""; for (; e.length % 4 != 0;)e += "="; return e }(e)) } function O(e, t, r, i) { for (var n = 0; n < i && !(n + r >= t.length || n >= e.length); ++n)t[n + r] = e[n]; return n } function U(e, t) { return e instanceof t || null != e && null != e.constructor && null != e.constructor.name && e.constructor.name === t.name } function N(e) { return e != e } }, { "base64-js": 16, ieee754: 141 }], 65: [function (e, t, r) { var n = e("safe-buffer").Buffer, i = e("stream").Transform, o = e("string_decoder").StringDecoder; function a(e) { i.call(this), this.hashMode = "string" == typeof e, this.hashMode ? this[e] = this._finalOrDigest : this["final"] = this._finalOrDigest, this._final && (this.__final = this._final, this._final = null), this._decoder = null, this._encoding = null } e("inherits")(a, i), a.prototype.update = function (e, t, r) { "string" == typeof e && (e = n.from(e, t)); var i = this._update(e); return this.hashMode ? this : (r && (i = this._toString(i, r)), i) }, a.prototype.setAutoPadding = function () { }, a.prototype.getAuthTag = function () { throw new Error("trying to get auth tag in unsupported state") }, a.prototype.setAuthTag = function () { throw new Error("trying to set auth tag in unsupported state") }, a.prototype.setAAD = function () { throw new Error("trying to set aad in unsupported state") }, a.prototype._transform = function (e, t, r) { var i; try { this.hashMode ? this._update(e) : this.push(this._update(e)) } catch (e) { i = e } finally { r(i) } }, a.prototype._flush = function (e) { var t; try { this.push(this.__final()) } catch (e) { t = e } e(t) }, a.prototype._finalOrDigest = function (e) { var t = this.__final() || n.alloc(0); return e && (t = this._toString(t, e, !0)), t }, a.prototype._toString = function (e, t, r) { if (this._decoder || (this._decoder = new o(t), this._encoding = t), this._encoding !== t) throw new Error("can't switch encodings"); var i = this._decoder.write(e); return r && (i += this._decoder.end()), i }, t.exports = a }, { inherits: 142, "safe-buffer": 186, stream: 195, string_decoder: 196 }], 66: [function (e, t, r) { (function (e) { function t(e) { return Object.prototype.toString.call(e) } r.isArray = function (e) { return Array.isArray ? Array.isArray(e) : "[object Array]" === t(e) }, r.isBoolean = function (e) { return "boolean" == typeof e }, r.isNull = function (e) { return null === e }, r.isNullOrUndefined = function (e) { return null == e }, r.isNumber = function (e) { return "number" == typeof e }, r.isString = function (e) { return "string" == typeof e }, r.isSymbol = function (e) { return "symbol" == typeof e }, r.isUndefined = function (e) { return void 0 === e }, r.isRegExp = function (e) { return "[object RegExp]" === t(e) }, r.isObject = function (e) { return "object" == typeof e && null !== e }, r.isDate = function (e) { return "[object Date]" === t(e) }, r.isError = function (e) { return "[object Error]" === t(e) || e instanceof Error }, r.isFunction = function (e) { return "function" == typeof e }, r.isPrimitive = function (e) { return null === e || "boolean" == typeof e || "number" == typeof e || "string" == typeof e || "symbol" == typeof e || void 0 === e }, r.isBuffer = e.isBuffer }).call(this, { isBuffer: e("../../is-buffer/index.js") }) }, { "../../is-buffer/index.js": 143 }], 67: [function (e, s, t) { (function (o) { var t = e("elliptic"), i = e("bn.js"); s.exports = function (e) { return new n(e) }; var r = { secp256k1: { name: "secp256k1", byteLength: 32 }, secp224r1: { name: "p224", byteLength: 28 }, prime256v1: { name: "p256", byteLength: 32 }, prime192v1: { name: "p192", byteLength: 24 }, ed25519: { name: "ed25519", byteLength: 32 }, secp384r1: { name: "p384", byteLength: 48 }, secp521r1: { name: "p521", byteLength: 66 } }; function n(e) { this.curveType = r[e], this.curveType || (this.curveType = { name: e }), this.curve = new t.ec(this.curveType.name), this.keys = void 0 } function a(e, t, r) { Array.isArray(e) || (e = e.toArray()); var i, n = new o(e); return r && n.length < r && ((i = new o(r - n.length)).fill(0), n = o.concat([i, n])), t ? n.toString(t) : n } r.p224 = r.secp224r1, r.p256 = r.secp256r1 = r.prime256v1, r.p192 = r.secp192r1 = r.prime192v1, r.p384 = r.secp384r1, r.p521 = r.secp521r1, n.prototype.generateKeys = function (e, t) { return this.keys = this.curve.genKeyPair(), this.getPublicKey(e, t) }, n.prototype.computeSecret = function (e, t, r) { return t = t || "utf8", o.isBuffer(e) || (e = new o(e, t)), a(this.curve.keyFromPublic(e).getPublic().mul(this.keys.getPrivate()).getX(), r, this.curveType.byteLength) }, n.prototype.getPublicKey = function (e, t) { var r = this.keys.getPublic("compressed" === t, !0); return "hybrid" === t && (r[r.length - 1] % 2 ? r[0] = 7 : r[0] = 6), a(r, e) }, n.prototype.getPrivateKey = function (e) { return a(this.keys.getPrivate(), e) }, n.prototype.setPublicKey = function (e, t) { return t = t || "utf8", o.isBuffer(e) || (e = new o(e, t)), this.keys._importPublic(e), this }, n.prototype.setPrivateKey = function (e, t) { t = t || "utf8", o.isBuffer(e) || (e = new o(e, t)); var r = (r = new i(e)).toString(16); return this.keys = this.curve.genKeyPair(), this.keys._importPrivate(r), this } }).call(this, e("buffer").Buffer) }, { "bn.js": 68, buffer: 64, elliptic: 91 }], 68: [function (e, t, r) { arguments[4][15][0].apply(r, arguments) }, { buffer: 19, dup: 15 }], 69: [function (e, t, r) { "use strict"; var i = e("inherits"), n = e("md5.js"), o = e("ripemd160"), a = e("sha.js"), s = e("cipher-base"); function l(e) { s.call(this, "digest"), this._hash = e } i(l, s), l.prototype._update = function (e) { this._hash.update(e) }, l.prototype._final = function () { return this._hash.digest() }, t.exports = function (e) { return "md5" === (e = e.toLowerCase()) ? new n : "rmd160" === e || "ripemd160" === e ? new o : new l(a(e)) } }, { "cipher-base": 65, inherits: 142, "md5.js": 145, ripemd160: 185, "sha.js": 188 }], 70: [function (e, t, r) { var i = e("md5.js"); t.exports = function (e) { return (new i).update(e).digest() } }, { "md5.js": 145 }], 71: [function (e, t, r) { "use strict"; var i = e("inherits"), n = e("./legacy"), a = e("cipher-base"), s = e("safe-buffer").Buffer, o = e("create-hash/md5"), l = e("ripemd160"), u = e("sha.js"), c = s.alloc(128); function h(e, t) { a.call(this, "digest"), "string" == typeof t && (t = s.from(t)); var r = "sha512" === e || "sha384" === e ? 128 : 64; this._alg = e, (this._key = t).length > r ? t = ("rmd160" === e ? new l : u(e)).update(t).digest() : t.length < r && (t = s.concat([t, c], r)); for (var i = this._ipad = s.allocUnsafe(r), n = this._opad = s.allocUnsafe(r), o = 0; o < r; o++)i[o] = 54 ^ t[o], n[o] = 92 ^ t[o]; this._hash = "rmd160" === e ? new l : u(e), this._hash.update(i) } i(h, a), h.prototype._update = function (e) { this._hash.update(e) }, h.prototype._final = function () { var e = this._hash.digest(); return ("rmd160" === this._alg ? new l : u(this._alg)).update(this._opad).update(e).digest() }, t.exports = function (e, t) { return "rmd160" === (e = e.toLowerCase()) || "ripemd160" === e ? new h("rmd160", t) : "md5" === e ? new n(o, t) : new h(e, t) } }, { "./legacy": 72, "cipher-base": 65, "create-hash/md5": 70, inherits: 142, ripemd160: 185, "safe-buffer": 186, "sha.js": 188 }], 72: [function (e, t, r) { "use strict"; var i = e("inherits"), o = e("safe-buffer").Buffer, a = e("cipher-base"), s = o.alloc(128); function n(e, t) { a.call(this, "digest"), "string" == typeof t && (t = o.from(t)), this._alg = e, 64 < (this._key = t).length ? t = e(t) : t.length < 64 && (t = o.concat([t, s], 64)); for (var r = this._ipad = o.allocUnsafe(64), i = this._opad = o.allocUnsafe(64), n = 0; n < 64; n++)r[n] = 54 ^ t[n], i[n] = 92 ^ t[n]; this._hash = [r] } i(n, a), n.prototype._update = function (e) { this._hash.push(e) }, n.prototype._final = function () { var e = this._alg(o.concat(this._hash)); return this._alg(o.concat([this._opad, e])) }, t.exports = n }, { "cipher-base": 65, inherits: 142, "safe-buffer": 186 }], 73: [function (e, t, r) { "use strict"; r.randomBytes = r.rng = r.pseudoRandomBytes = r.prng = e("randombytes"), r.createHash = r.Hash = e("create-hash"), r.createHmac = r.Hmac = e("create-hmac"); var i = e("browserify-sign/algos"), n = Object.keys(i), o = ["sha1", "sha224", "sha256", "sha384", "sha512", "md5", "rmd160"].concat(n); r.getHashes = function () { return o }; var a = e("pbkdf2"); r.pbkdf2 = a.pbkdf2, r.pbkdf2Sync = a.pbkdf2Sync; var s = e("browserify-cipher"); r.Cipher = s.Cipher, r.createCipher = s.createCipher, r.Cipheriv = s.Cipheriv, r.createCipheriv = s.createCipheriv, r.Decipher = s.Decipher, r.createDecipher = s.createDecipher, r.Decipheriv = s.Decipheriv, r.createDecipheriv = s.createDecipheriv, r.getCiphers = s.getCiphers, r.listCiphers = s.listCiphers; var l = e("diffie-hellman"); r.DiffieHellmanGroup = l.DiffieHellmanGroup, r.createDiffieHellmanGroup = l.createDiffieHellmanGroup, r.getDiffieHellman = l.getDiffieHellman, r.createDiffieHellman = l.createDiffieHellman, r.DiffieHellman = l.DiffieHellman; var u = e("browserify-sign"); r.createSign = u.createSign, r.Sign = u.Sign, r.createVerify = u.createVerify, r.Verify = u.Verify, r.createECDH = e("create-ecdh"); var c = e("public-encrypt"); r.publicEncrypt = c.publicEncrypt, r.privateEncrypt = c.privateEncrypt, r.publicDecrypt = c.publicDecrypt, r.privateDecrypt = c.privateDecrypt; var h = e("randomfill"); r.randomFill = h.randomFill, r.randomFillSync = h.randomFillSync, r.createCredentials = function () { throw new Error(["sorry, createCredentials is not implemented yet", "we accept pull requests", "https://github.com/crypto-browserify/crypto-browserify"].join("\n")) }, r.constants = { DH_CHECK_P_NOT_SAFE_PRIME: 2, DH_CHECK_P_NOT_PRIME: 1, DH_UNABLE_TO_CHECK_GENERATOR: 4, DH_NOT_SUITABLE_GENERATOR: 8, NPN_ENABLED: 1, ALPN_ENABLED: 1, RSA_PKCS1_PADDING: 1, RSA_SSLV23_PADDING: 2, RSA_NO_PADDING: 3, RSA_PKCS1_OAEP_PADDING: 4, RSA_X931_PADDING: 5, RSA_PKCS1_PSS_PADDING: 6, POINT_CONVERSION_COMPRESSED: 2, POINT_CONVERSION_UNCOMPRESSED: 4, POINT_CONVERSION_HYBRID: 6 } }, { "browserify-cipher": 37, "browserify-sign": 45, "browserify-sign/algos": 42, "create-ecdh": 67, "create-hash": 69, "create-hmac": 71, "diffie-hellman": 86, pbkdf2: 155, "public-encrypt": 162, randombytes: 169, randomfill: 170 }], 74: [function (m, r, i) { (function (y) { var e, t; e = this, t = function () { var e = e || function (c) { var e; if ("undefined" != typeof window && window.crypto && (e = window.crypto), !e && "undefined" != typeof window && window.msCrypto && (e = window.msCrypto), !e && void 0 !== y && y.crypto && (e = y.crypto), !e && "function" == typeof m) try { e = m("crypto") } catch (e) { } function i() { if (e) { if ("function" == typeof e.getRandomValues) try { return e.getRandomValues(new Uint32Array(1))[0] } catch (e) { } if ("function" == typeof e.randomBytes) try { return e.randomBytes(4).readInt32LE() } catch (e) { } } throw new Error("Native crypto module could not be used to get secure random number.") } var r = Object.create || function (e) { var t; return n.prototype = e, t = new n, n.prototype = null, t }; function n() { } var t = {}, o = t.lib = {}, a = o.Base = { extend: function (e) { var t = r(this); return e && t.mixIn(e), t.hasOwnProperty("init") && this.init !== t.init || (t.init = function () { t.$super.init.apply(this, arguments) }), (t.init.prototype = t).$super = this, t }, create: function () { var e = this.extend(); return e.init.apply(e, arguments), e }, init: function () { }, mixIn: function (e) { for (var t in e) e.hasOwnProperty(t) && (this[t] = e[t]); e.hasOwnProperty("toString") && (this.toString = e.toString) }, clone: function () { return this.init.prototype.extend(this) } }, h = o.WordArray = a.extend({ init: function (e, t) { e = this.words = e || [], this.sigBytes = null != t ? t : 4 * e.length }, toString: function (e) { return (e || l).stringify(this) }, concat: function (e) { var t = this.words, r = e.words, i = this.sigBytes, n = e.sigBytes; if (this.clamp(), i % 4) for (var o = 0; o < n; o++) { var a = r[o >>> 2] >>> 24 - o % 4 * 8 & 255; t[i + o >>> 2] |= a << 24 - (i + o) % 4 * 8 } else for (o = 0; o < n; o += 4)t[i + o >>> 2] = r[o >>> 2]; return this.sigBytes += n, this }, clamp: function () { var e = this.words, t = this.sigBytes; e[t >>> 2] &= 4294967295 << 32 - t % 4 * 8, e.length = c.ceil(t / 4) }, clone: function () { var e = a.clone.call(this); return e.words = this.words.slice(0), e }, random: function (e) { for (var t = [], r = 0; r < e; r += 4)t.push(i()); return new h.init(t, e) } }), s = t.enc = {}, l = s.Hex = { stringify: function (e) { for (var t = e.words, r = e.sigBytes, i = [], n = 0; n < r; n++) { var o = t[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push((o >>> 4).toString(16)), i.push((15 & o).toString(16)) } return i.join("") }, parse: function (e) { for (var t = e.length, r = [], i = 0; i < t; i += 2)r[i >>> 3] |= parseInt(e.substr(i, 2), 16) << 24 - i % 8 * 4; return new h.init(r, t / 2) } }, u = s.Latin1 = { stringify: function (e) { for (var t = e.words, r = e.sigBytes, i = [], n = 0; n < r; n++) { var o = t[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (e) { for (var t = e.length, r = [], i = 0; i < t; i++)r[i >>> 2] |= (255 & e.charCodeAt(i)) << 24 - i % 4 * 8; return new h.init(r, t) } }, d = s.Utf8 = { stringify: function (e) { try { return decodeURIComponent(escape(u.stringify(e))) } catch (e) { throw new Error("Malformed UTF-8 data") } }, parse: function (e) { return u.parse(unescape(encodeURIComponent(e))) } }, f = o.BufferedBlockAlgorithm = a.extend({ reset: function () { this._data = new h.init, this._nDataBytes = 0 }, _append: function (e) { "string" == typeof e && (e = d.parse(e)), this._data.concat(e), this._nDataBytes += e.sigBytes }, _process: function (e) { var t, r = this._data, i = r.words, n = r.sigBytes, o = this.blockSize, a = n / (4 * o), s = (a = e ? c.ceil(a) : c.max((0 | a) - this._minBufferSize, 0)) * o, l = c.min(4 * s, n); if (s) { for (var u = 0; u < s; u += o)this._doProcessBlock(i, u); t = i.splice(0, s), r.sigBytes -= l } return new h.init(t, l) }, clone: function () { var e = a.clone.call(this); return e._data = this._data.clone(), e }, _minBufferSize: 0 }), p = (o.Hasher = f.extend({ cfg: a.extend(), init: function (e) { this.cfg = this.cfg.extend(e), this.reset() }, reset: function () { f.reset.call(this), this._doReset() }, update: function (e) { return this._append(e), this._process(), this }, finalize: function (e) { return e && this._append(e), this._doFinalize() }, blockSize: 16, _createHelper: function (r) { return function (e, t) { return new r.init(t).finalize(e) } }, _createHmacHelper: function (r) { return function (e, t) { return new p.HMAC.init(r, t).finalize(e) } } }), t.algo = {}); return t }(Math); return e }, "object" == typeof i ? r.exports = i = t() : "function" == typeof define && define.amd ? define([], t) : e.CryptoJS = t() }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { crypto: 73 }], 75: [function (e, t, r) { var i, n; i = this, n = function (e) { var u; return u = e.lib.WordArray, e.enc.Base64 = { stringify: function (e) { var t = e.words, r = e.sigBytes, i = this._map; e.clamp(); for (var n = [], o = 0; o < r; o += 3)for (var a = (t[o >>> 2] >>> 24 - o % 4 * 8 & 255) << 16 | (t[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255) << 8 | t[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, s = 0; s < 4 && o + .75 * s < r; s++)n.push(i.charAt(a >>> 6 * (3 - s) & 63)); var l = i.charAt(64); if (l) for (; n.length % 4;)n.push(l); return n.join("") }, parse: function (e) { var t = e.length, r = this._map, i = this._reverseMap; if (!i) { i = this._reverseMap = []; for (var n = 0; n < r.length; n++)i[r.charCodeAt(n)] = n } var o, a = r.charAt(64); return !a || -1 !== (o = e.indexOf(a)) && (t = o), function (e, t, r) { for (var i = [], n = 0, o = 0; o < t; o++) { var a, s, l; o % 4 && (a = r[e.charCodeAt(o - 1)] << o % 4 * 2, s = r[e.charCodeAt(o)] >>> 6 - o % 4 * 2, l = a | s, i[n >>> 2] |= l << 24 - n % 4 * 8, n++) } return u.create(i, n) }(e, t, i) }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" }, e.enc.Base64 }, "object" == typeof r ? t.exports = r = n(e("crypto-js/core")) : "function" == typeof define && define.amd ? define(["crypto-js/core"], n) : n(i.CryptoJS) }, { "crypto-js/core": 74 }], 76: [function (e, t, r) { var i, n; i = this, n = function (e) { return e.enc.Utf8 }, "object" == typeof r ? t.exports = r = n(e("crypto-js/core")) : "function" == typeof define && define.amd ? define(["crypto-js/core"], n) : n(i.CryptoJS) }, { "crypto-js/core": 74 }], 77: [function (e, t, r) { var i, n; i = this, n = function (e) { return e.HmacSHA1 }, "object" == typeof r ? t.exports = r = n(e("crypto-js/core"), e("crypto-js/sha1"), e("crypto-js/hmac")) : "function" == typeof define && define.amd ? define(["crypto-js/core", "crypto-js/sha1", "crypto-js/hmac"], n) : n(i.CryptoJS) }, { "crypto-js/core": 74, "crypto-js/hmac": 78, "crypto-js/sha1": 79 }], 78: [function (e, t, r) { var i, n; i = this, n = function (e) { var t, u; t = e.lib.Base, u = e.enc.Utf8, e.algo.HMAC = t.extend({ init: function (e, t) { e = this._hasher = new e.init, "string" == typeof t && (t = u.parse(t)); var r = e.blockSize, i = 4 * r; t.sigBytes > i && (t = e.finalize(t)), t.clamp(); for (var n = this._oKey = t.clone(), o = this._iKey = t.clone(), a = n.words, s = o.words, l = 0; l < r; l++)a[l] ^= 1549556828, s[l] ^= 909522486; n.sigBytes = o.sigBytes = i, this.reset() }, reset: function () { var e = this._hasher; e.reset(), e.update(this._iKey) }, update: function (e) { return this._hasher.update(e), this }, finalize: function (e) { var t = this._hasher, r = t.finalize(e); return t.reset(), t.finalize(this._oKey.clone().concat(r)) } }) }, "object" == typeof r ? t.exports = r = n(e("crypto-js/core")) : "function" == typeof define && define.amd ? define(["crypto-js/core"], n) : n(i.CryptoJS) }, { "crypto-js/core": 74 }], 79: [function (e, t, r) { var i, n; i = this, n = function (e) { var t, r, i, n, o, h, a; return r = (t = e).lib, i = r.WordArray, n = r.Hasher, o = t.algo, h = [], a = o.SHA1 = n.extend({ _doReset: function () { this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (e, t) { for (var r, i = this._hash.words, n = i[0], o = i[1], a = i[2], s = i[3], l = i[4], u = 0; u < 80; u++) { u < 16 ? h[u] = 0 | e[t + u] : (r = h[u - 3] ^ h[u - 8] ^ h[u - 14] ^ h[u - 16], h[u] = r << 1 | r >>> 31); var c = (n << 5 | n >>> 27) + l + h[u]; c += u < 20 ? 1518500249 + (o & a | ~o & s) : u < 40 ? 1859775393 + (o ^ a ^ s) : u < 60 ? (o & a | o & s | a & s) - 1894007588 : (o ^ a ^ s) - 899497514, l = s, s = a, a = o << 30 | o >>> 2, o = n, n = c } i[0] = i[0] + n | 0, i[1] = i[1] + o | 0, i[2] = i[2] + a | 0, i[3] = i[3] + s | 0, i[4] = i[4] + l | 0 }, _doFinalize: function () { var e = this._data, t = e.words, r = 8 * this._nDataBytes, i = 8 * e.sigBytes; return t[i >>> 5] |= 128 << 24 - i % 32, t[14 + (64 + i >>> 9 << 4)] = Math.floor(r / 4294967296), t[15 + (64 + i >>> 9 << 4)] = r, e.sigBytes = 4 * t.length, this._process(), this._hash }, clone: function () { var e = n.clone.call(this); return e._hash = this._hash.clone(), e } }), t.SHA1 = n._createHelper(a), t.HmacSHA1 = n._createHmacHelper(a), e.SHA1 }, "object" == typeof r ? t.exports = r = n(e("crypto-js/core")) : "function" == typeof define && define.amd ? define(["crypto-js/core"], n) : n(i.CryptoJS) }, { "crypto-js/core": 74 }], 80: [function (e, t, r) { "use strict"; r.utils = e("./des/utils"), r.Cipher = e("./des/cipher"), r.DES = e("./des/des"), r.CBC = e("./des/cbc"), r.EDE = e("./des/ede") }, { "./des/cbc": 81, "./des/cipher": 82, "./des/des": 83, "./des/ede": 84, "./des/utils": 85 }], 81: [function (e, t, r) { "use strict"; var i = e("minimalistic-assert"), o = e("inherits"), a = {}; function n(e) { i.equal(e.length, 8, "Invalid IV length"), this.iv = new Array(8); for (var t = 0; t < this.iv.length; t++)this.iv[t] = e[t] } r.instantiate = function (t) { function r(e) { t.call(this, e), this._cbcInit() } o(r, t); for (var e = Object.keys(a), i = 0; i < e.length; i++) { var n = e[i]; r.prototype[n] = a[n] } return r.create = function (e) { return new r(e) }, r }, a._cbcInit = function () { var e = new n(this.options.iv); this._cbcState = e }, a._update = function (e, t, r, i) { var n = this._cbcState, o = this.constructor.super_.prototype, a = n.iv; if ("encrypt" === this.type) { for (var s = 0; s < this.blockSize; s++)a[s] ^= e[t + s]; o._update.call(this, a, 0, r, i); for (s = 0; s < this.blockSize; s++)a[s] = r[i + s] } else { o._update.call(this, e, t, r, i); for (s = 0; s < this.blockSize; s++)r[i + s] ^= a[s]; for (s = 0; s < this.blockSize; s++)a[s] = e[t + s] } } }, { inherits: 142, "minimalistic-assert": 148 }], 82: [function (e, t, r) { "use strict"; var i = e("minimalistic-assert"); function n(e) { this.options = e, this.type = this.options.type, this.blockSize = 8, this._init(), this.buffer = new Array(this.blockSize), this.bufferOff = 0 } (t.exports = n).prototype._init = function () { }, n.prototype.update = function (e) { return 0 === e.length ? [] : "decrypt" === this.type ? this._updateDecrypt(e) : this._updateEncrypt(e) }, n.prototype._buffer = function (e, t) { for (var r = Math.min(this.buffer.length - this.bufferOff, e.length - t), i = 0; i < r; i++)this.buffer[this.bufferOff + i] = e[t + i]; return this.bufferOff += r, r }, n.prototype._flushBuffer = function (e, t) { return this._update(this.buffer, 0, e, t), this.bufferOff = 0, this.blockSize }, n.prototype._updateEncrypt = function (e) { var t = 0, r = 0, i = (this.bufferOff + e.length) / this.blockSize | 0, n = new Array(i * this.blockSize); 0 !== this.bufferOff && (t += this._buffer(e, t), this.bufferOff === this.buffer.length && (r += this._flushBuffer(n, r))); for (var o = e.length - (e.length - t) % this.blockSize; t < o; t += this.blockSize)this._update(e, t, n, r), r += this.blockSize; for (; t < e.length; t++, this.bufferOff++)this.buffer[this.bufferOff] = e[t]; return n }, n.prototype._updateDecrypt = function (e) { for (var t = 0, r = 0, i = Math.ceil((this.bufferOff + e.length) / this.blockSize) - 1, n = new Array(i * this.blockSize); 0 < i; i--)t += this._buffer(e, t), r += this._flushBuffer(n, r); return t += this._buffer(e, t), n }, n.prototype["final"] = function (e) { var t, r; return e && (t = this.update(e)), r = "encrypt" === this.type ? this._finalEncrypt() : this._finalDecrypt(), t ? t.concat(r) : r }, n.prototype._pad = function (e, t) { if (0 === t) return !1; for (; t < e.length;)e[t++] = 0; return !0 }, n.prototype._finalEncrypt = function () { if (!this._pad(this.buffer, this.bufferOff)) return []; var e = new Array(this.blockSize); return this._update(this.buffer, 0, e, 0), e }, n.prototype._unpad = function (e) { return e }, n.prototype._finalDecrypt = function () { i.equal(this.bufferOff, this.blockSize, "Not enough data to decrypt"); var e = new Array(this.blockSize); return this._flushBuffer(e, 0), this._unpad(e) } }, { "minimalistic-assert": 148 }], 83: [function (e, t, r) { "use strict"; var a = e("minimalistic-assert"), i = e("inherits"), d = e("./utils"), n = e("./cipher"); function o() { this.tmp = new Array(2), this.keys = null } function s(e) { n.call(this, e); var t = new o; this._desState = t, this.deriveKeys(t, e.key) } i(s, n), (t.exports = s).create = function (e) { return new s(e) }; var l = [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; s.prototype.deriveKeys = function (e, t) { e.keys = new Array(32), a.equal(t.length, this.blockSize, "Invalid key length"); var r = d.readUInt32BE(t, 0), i = d.readUInt32BE(t, 4); d.pc1(r, i, e.tmp, 0), r = e.tmp[0], i = e.tmp[1]; for (var n = 0; n < e.keys.length; n += 2) { var o = l[n >>> 1], r = d.r28shl(r, o), i = d.r28shl(i, o); d.pc2(r, i, e.keys, n) } }, s.prototype._update = function (e, t, r, i) { var n = this._desState, o = d.readUInt32BE(e, t), a = d.readUInt32BE(e, t + 4); d.ip(o, a, n.tmp, 0), o = n.tmp[0], a = n.tmp[1], "encrypt" === this.type ? this._encrypt(n, o, a, n.tmp, 0) : this._decrypt(n, o, a, n.tmp, 0), o = n.tmp[0], a = n.tmp[1], d.writeUInt32BE(r, o, i), d.writeUInt32BE(r, a, i + 4) }, s.prototype._pad = function (e, t) { for (var r = e.length - t, i = t; i < e.length; i++)e[i] = r; return !0 }, s.prototype._unpad = function (e) { for (var t = e[e.length - 1], r = e.length - t; r < e.length; r++)a.equal(e[r], t); return e.slice(0, e.length - t) }, s.prototype._encrypt = function (e, t, r, i, n) { for (var o = t, a = r, s = 0; s < e.keys.length; s += 2) { var l = e.keys[s], u = e.keys[s + 1]; d.expand(a, e.tmp, 0), l ^= e.tmp[0], u ^= e.tmp[1]; var c = d.substitute(l, u), h = a, a = (o ^ d.permute(c)) >>> 0, o = h } d.rip(a, o, i, n) }, s.prototype._decrypt = function (e, t, r, i, n) { for (var o = r, a = t, s = e.keys.length - 2; 0 <= s; s -= 2) { var l = e.keys[s], u = e.keys[s + 1]; d.expand(o, e.tmp, 0), l ^= e.tmp[0], u ^= e.tmp[1]; var c = d.substitute(l, u), h = o, o = (a ^ d.permute(c)) >>> 0, a = h } d.rip(o, a, i, n) } }, { "./cipher": 82, "./utils": 85, inherits: 142, "minimalistic-assert": 148 }], 84: [function (e, t, r) { "use strict"; var o = e("minimalistic-assert"), i = e("inherits"), n = e("./cipher"), a = e("./des"); function s(e, t) { o.equal(t.length, 24, "Invalid key length"); var r = t.slice(0, 8), i = t.slice(8, 16), n = t.slice(16, 24); this.ciphers = "encrypt" === e ? [a.create({ type: "encrypt", key: r }), a.create({ type: "decrypt", key: i }), a.create({ type: "encrypt", key: n })] : [a.create({ type: "decrypt", key: n }), a.create({ type: "encrypt", key: i }), a.create({ type: "decrypt", key: r })] } function l(e) { n.call(this, e); var t = new s(this.type, this.options.key); this._edeState = t } i(l, n), (t.exports = l).create = function (e) { return new l(e) }, l.prototype._update = function (e, t, r, i) { var n = this._edeState; n.ciphers[0]._update(e, t, r, i), n.ciphers[1]._update(r, i, r, i), n.ciphers[2]._update(r, i, r, i) }, l.prototype._pad = a.prototype._pad, l.prototype._unpad = a.prototype._unpad }, { "./cipher": 82, "./des": 83, inherits: 142, "minimalistic-assert": 148 }], 85: [function (e, t, r) { "use strict"; r.readUInt32BE = function (e, t) { return (e[0 + t] << 24 | e[1 + t] << 16 | e[2 + t] << 8 | e[3 + t]) >>> 0 }, r.writeUInt32BE = function (e, t, r) { e[0 + r] = t >>> 24, e[1 + r] = t >>> 16 & 255, e[2 + r] = t >>> 8 & 255, e[3 + r] = 255 & t }, r.ip = function (e, t, r, i) { for (var n = 0, o = 0, a = 6; 0 <= a; a -= 2) { for (var s = 0; s <= 24; s += 8)n <<= 1, n |= t >>> s + a & 1; for (s = 0; s <= 24; s += 8)n <<= 1, n |= e >>> s + a & 1 } for (a = 6; 0 <= a; a -= 2) { for (s = 1; s <= 25; s += 8)o <<= 1, o |= t >>> s + a & 1; for (s = 1; s <= 25; s += 8)o <<= 1, o |= e >>> s + a & 1 } r[i + 0] = n >>> 0, r[i + 1] = o >>> 0 }, r.rip = function (e, t, r, i) { for (var n = 0, o = 0, a = 0; a < 4; a++)for (var s = 24; 0 <= s; s -= 8)n <<= 1, n |= t >>> s + a & 1, n <<= 1, n |= e >>> s + a & 1; for (a = 4; a < 8; a++)for (s = 24; 0 <= s; s -= 8)o <<= 1, o |= t >>> s + a & 1, o <<= 1, o |= e >>> s + a & 1; r[i + 0] = n >>> 0, r[i + 1] = o >>> 0 }, r.pc1 = function (e, t, r, i) { for (var n = 0, o = 0, a = 7; 5 <= a; a--) { for (var s = 0; s <= 24; s += 8)n <<= 1, n |= t >> s + a & 1; for (s = 0; s <= 24; s += 8)n <<= 1, n |= e >> s + a & 1 } for (s = 0; s <= 24; s += 8)n <<= 1, n |= t >> s + a & 1; for (a = 1; a <= 3; a++) { for (s = 0; s <= 24; s += 8)o <<= 1, o |= t >> s + a & 1; for (s = 0; s <= 24; s += 8)o <<= 1, o |= e >> s + a & 1 } for (s = 0; s <= 24; s += 8)o <<= 1, o |= e >> s + a & 1; r[i + 0] = n >>> 0, r[i + 1] = o >>> 0 }, r.r28shl = function (e, t) { return e << t & 268435455 | e >>> 28 - t }; var l = [14, 11, 17, 4, 27, 23, 25, 0, 13, 22, 7, 18, 5, 9, 16, 24, 2, 20, 12, 21, 1, 8, 15, 26, 15, 4, 25, 19, 9, 1, 26, 16, 5, 11, 23, 8, 12, 7, 17, 0, 22, 3, 10, 14, 6, 20, 27, 24]; r.pc2 = function (e, t, r, i) { for (var n = 0, o = 0, a = l.length >>> 1, s = 0; s < a; s++)n <<= 1, n |= e >>> l[s] & 1; for (s = a; s < l.length; s++)o <<= 1, o |= t >>> l[s] & 1; r[i + 0] = n >>> 0, r[i + 1] = o >>> 0 }, r.expand = function (e, t, r) { for (var i = 0, n = 0, i = (1 & e) << 5 | e >>> 27, o = 23; 15 <= o; o -= 4)i <<= 6, i |= e >>> o & 63; for (o = 11; 3 <= o; o -= 4)n |= e >>> o & 63, n <<= 6; n |= (31 & e) << 1 | e >>> 31, t[r + 0] = i >>> 0, t[r + 1] = n >>> 0 }; var n = [14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1, 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8, 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7, 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13, 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14, 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5, 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2, 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9, 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10, 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1, 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7, 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12, 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3, 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9, 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8, 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14, 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1, 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6, 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13, 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3, 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5, 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8, 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10, 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13, 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10, 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6, 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7, 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12, 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4, 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2, 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13, 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11]; r.substitute = function (e, t) { for (var r = 0, i = 0; i < 4; i++) { r <<= 4, r |= n[64 * i + (e >>> 18 - 6 * i & 63)] } for (i = 0; i < 4; i++) { r <<= 4, r |= n[256 + 64 * i + (t >>> 18 - 6 * i & 63)] } return r >>> 0 }; var i = [16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22, 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7]; r.permute = function (e) { for (var t = 0, r = 0; r < i.length; r++)t <<= 1, t |= e >>> i[r] & 1; return t >>> 0 }, r.padSplit = function (e, t, r) { for (var i = e.toString(2); i.length < t;)i = "0" + i; for (var n = [], o = 0; o < t; o += r)n.push(i.slice(o, o + r)); return n.join(" ") } }, {}], 86: [function (e, t, r) { (function (o) { var a = e("./lib/generatePrime"), i = e("./lib/primes.json"), s = e("./lib/dh"); var l = { binary: !0, hex: !0, base64: !0 }; r.DiffieHellmanGroup = r.createDiffieHellmanGroup = r.getDiffieHellman = function (e) { var t = new o(i[e].prime, "hex"), r = new o(i[e].gen, "hex"); return new s(t, r) }, r.createDiffieHellman = r.DiffieHellman = function e(t, r, i, n) { return o.isBuffer(r) || void 0 === l[r] ? e(t, "binary", r, i) : (r = r || "binary", n = n || "binary", i = i || new o([2]), o.isBuffer(i) || (i = new o(i, n)), "number" == typeof t ? new s(a(t, i), i, !0) : (o.isBuffer(t) || (t = new o(t, r)), new s(t, i, !0))) } }).call(this, e("buffer").Buffer) }, { "./lib/dh": 87, "./lib/generatePrime": 88, "./lib/primes.json": 89, buffer: 64 }], 87: [function (y, m, e) { (function (o) { var a = y("bn.js"), s = new (y("miller-rabin")), l = new a(24), u = new a(11), c = new a(10), h = new a(3), d = new a(7), f = y("./generatePrime"), e = y("randombytes"); function i(e, t) { return t = t || "utf8", o.isBuffer(e) || (e = new o(e, t)), this._pub = new a(e), this } function n(e, t) { return t = t || "utf8", o.isBuffer(e) || (e = new o(e, t)), this._priv = new a(e), this } m.exports = t; var p = {}; function t(e, t, r) { this.setGenerator(t), this.__prime = new a(e), this._prime = a.mont(this.__prime), this._primeLen = e.length, this._pub = void 0, this._priv = void 0, this._primeCode = void 0, r ? (this.setPublicKey = i, this.setPrivateKey = n) : this._primeCode = 8 } function r(e, t) { var r = new o(e.toArray()); return t ? r.toString(t) : r } Object.defineProperty(t.prototype, "verifyError", { enumerable: !0, get: function () { return "number" != typeof this._primeCode && (this._primeCode = function (e, t) { var r = t.toString("hex"), i = [r, e.toString(16)].join("_"); if (i in p) return p[i]; var n, o = 0; if (e.isEven() || !f.simpleSieve || !f.fermatTest(e) || !s.test(e)) return o += 1, o += "02" === r || "05" === r ? 8 : 4, p[i] = o; switch (s.test(e.shrn(1)) || (o += 2), r) { case "02": e.mod(l).cmp(u) && (o += 8); break; case "05": (n = e.mod(c)).cmp(h) && n.cmp(d) && (o += 8); break; default: o += 4 }return p[i] = o }(this.__prime, this.__gen)), this._primeCode } }), t.prototype.generateKeys = function () { return this._priv || (this._priv = new a(e(this._primeLen))), this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed(), this.getPublicKey() }, t.prototype.computeSecret = function (e) { var t, r = (e = (e = new a(e)).toRed(this._prime)).redPow(this._priv).fromRed(), i = new o(r.toArray()), n = this.getPrime(); return i.length < n.length && ((t = new o(n.length - i.length)).fill(0), i = o.concat([t, i])), i }, t.prototype.getPublicKey = function (e) { return r(this._pub, e) }, t.prototype.getPrivateKey = function (e) { return r(this._priv, e) }, t.prototype.getPrime = function (e) { return r(this.__prime, e) }, t.prototype.getGenerator = function (e) { return r(this._gen, e) }, t.prototype.setGenerator = function (e, t) { return t = t || "utf8", o.isBuffer(e) || (e = new o(e, t)), this.__gen = e, this._gen = new a(e), this } }).call(this, y("buffer").Buffer) }, { "./generatePrime": 88, "bn.js": 90, buffer: 64, "miller-rabin": 146, randombytes: 169 }], 88: [function (e, t, r) { var n = e("randombytes"); (t.exports = i).simpleSieve = m, i.fermatTest = g; var o = e("bn.js"), a = new o(24), s = new (e("miller-rabin")), l = new o(1), u = new o(2), c = new o(5), h = (new o(16), new o(8), new o(10)), d = new o(3), f = (new o(7), new o(11)), p = new o(4), y = (new o(12), null); function m(e) { for (var t = function () { if (null !== y) return y; var e = []; e[0] = 2; for (var t = 1, r = 3; r < 1048576; r += 2) { for (var i = Math.ceil(Math.sqrt(r)), n = 0; n < t && e[n] <= i && r % e[n] != 0; n++); t !== n && e[n] <= i || (e[t++] = r) } return y = e }(), r = 0; r < t.length; r++)if (0 === e.modn(t[r])) return 0 === e.cmpn(t[r]); return !0 } function g(e) { var t = o.mont(e); return 0 === u.toRed(t).redPow(e.subn(1)).fromRed().cmpn(1) } function i(e, t) { if (e < 16) return new o(2 === t || 5 === t ? [140, 123] : [140, 39]); var r, i; for (t = new o(t); ;) { for (r = new o(n(Math.ceil(e / 8))); r.bitLength() > e;)r.ishrn(1); if (r.isEven() && r.iadd(l), r.testn(1) || r.iadd(u), t.cmp(u)) { if (!t.cmp(c)) for (; r.mod(h).cmp(d);)r.iadd(p) } else for (; r.mod(a).cmp(f);)r.iadd(p); if (m(i = r.shrn(1)) && m(r) && g(i) && g(r) && s.test(i) && s.test(r)) return r } } }, { "bn.js": 90, "miller-rabin": 146, randombytes: 169 }], 89: [function (e, t, r) { t.exports = { modp1: { gen: "02", prime: "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff" }, modp2: { gen: "02", prime: "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff" }, modp5: { gen: "02", prime: "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff" }, modp14: { gen: "02", prime: "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff" }, modp15: { gen: "02", prime: "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff" }, modp16: { gen: "02", prime: "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff" }, modp17: { gen: "02", prime: "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff" }, modp18: { gen: "02", prime: "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff" } } }, {}], 90: [function (e, t, r) { arguments[4][15][0].apply(r, arguments) }, { buffer: 19, dup: 15 }], 91: [function (e, t, r) { "use strict"; var i = r; i.version = e("../package.json").version, i.utils = e("./elliptic/utils"), i.rand = e("brorand"), i.curve = e("./elliptic/curve"), i.curves = e("./elliptic/curves"), i.ec = e("./elliptic/ec"), i.eddsa = e("./elliptic/eddsa") }, { "../package.json": 107, "./elliptic/curve": 94, "./elliptic/curves": 97, "./elliptic/ec": 98, "./elliptic/eddsa": 101, "./elliptic/utils": 105, brorand: 18 }], 92: [function (e, t, r) { "use strict"; var i = e("bn.js"), n = e("../utils"), T = n.getNAF, M = n.getJSF, h = n.assert; function o(e, t) { this.type = e, this.p = new i(t.p, 16), this.red = t.prime ? i.red(t.prime) : i.mont(this.p), this.zero = new i(0).toRed(this.red), this.one = new i(1).toRed(this.red), this.two = new i(2).toRed(this.red), this.n = t.n && new i(t.n, 16), this.g = t.g && this.pointFromJSON(t.g, t.gRed), this._wnafT1 = new Array(4), this._wnafT2 = new Array(4), this._wnafT3 = new Array(4), this._wnafT4 = new Array(4), this._bitLength = this.n ? this.n.bitLength() : 0; var r = this.n && this.p.div(this.n); !r || 0 < r.cmpn(100) ? this.redN = null : (this._maxwellTrick = !0, this.redN = this.n.toRed(this.red)) } function a(e, t) { this.curve = e, this.type = t, this.precomputed = null } (t.exports = o).prototype.point = function () { throw new Error("Not implemented") }, o.prototype.validate = function () { throw new Error("Not implemented") }, o.prototype._fixedNafMul = function (e, t) { h(e.precomputed); var r = e._getDoubles(), i = T(t, 1, this._bitLength), n = (1 << r.step + 1) - (r.step % 2 == 0 ? 2 : 1); n /= 3; for (var o = [], a = 0; a < i.length; a += r.step) { for (var s = 0, t = a + r.step - 1; a <= t; t--)s = (s << 1) + i[t]; o.push(s) } for (var l = this.jpoint(null, null, null), u = this.jpoint(null, null, null), c = n; 0 < c; c--) { for (a = 0; a < o.length; a++) { (s = o[a]) === c ? u = u.mixedAdd(r.points[a]) : s === -c && (u = u.mixedAdd(r.points[a].neg())) } l = l.add(u) } return l.toP() }, o.prototype._wnafMul = function (e, t) { for (var r = 4, i = e._getNAFPoints(r), r = i.wnd, n = i.points, o = T(t, r, this._bitLength), a = this.jpoint(null, null, null), s = o.length - 1; 0 <= s; s--) { for (t = 0; 0 <= s && 0 === o[s]; s--)t++; if (0 <= s && t++, a = a.dblp(t), s < 0) break; var l = o[s]; h(0 !== l), a = "affine" === e.type ? 0 < l ? a.mixedAdd(n[l - 1 >> 1]) : a.mixedAdd(n[-l - 1 >> 1].neg()) : 0 < l ? a.add(n[l - 1 >> 1]) : a.add(n[-l - 1 >> 1].neg()) } return "affine" === e.type ? a.toP() : a }, o.prototype._wnafMulAdd = function (e, t, r, i, n) { for (var o = this._wnafT1, a = this._wnafT2, s = this._wnafT3, l = 0, u = 0; u < i; u++) { var c = (E = t[u])._getNAFPoints(e); o[u] = c.wnd, a[u] = c.points } for (u = i - 1; 1 <= u; u -= 2) { var h = u - 1, d = u; if (1 === o[h] && 1 === o[d]) { var f = [t[h], null, null, t[d]]; 0 === t[h].y.cmp(t[d].y) ? (f[1] = t[h].add(t[d]), f[2] = t[h].toJ().mixedAdd(t[d].neg())) : 0 === t[h].y.cmp(t[d].y.redNeg()) ? (f[1] = t[h].toJ().mixedAdd(t[d]), f[2] = t[h].add(t[d].neg())) : (f[1] = t[h].toJ().mixedAdd(t[d]), f[2] = t[h].toJ().mixedAdd(t[d].neg())); var p = [-3, -1, -5, -7, 0, 7, 5, 1, 3], y = M(r[h], r[d]), l = Math.max(y[0].length, l); s[h] = new Array(l), s[d] = new Array(l); for (var m = 0; m < l; m++) { var g = 0 | y[0][m], b = 0 | y[1][m]; s[h][m] = p[3 * (1 + g) + (1 + b)], s[d][m] = 0, a[h] = f } } else s[h] = T(r[h], o[h], this._bitLength), s[d] = T(r[d], o[d], this._bitLength), l = Math.max(s[h].length, l), l = Math.max(s[d].length, l) } for (var v = this.jpoint(null, null, null), _ = this._wnafT4, u = l; 0 <= u; u--) { for (var w = 0; 0 <= u;) { for (var S = !0, m = 0; m < i; m++)_[m] = 0 | s[m][u], 0 !== _[m] && (S = !1); if (!S) break; w++, u-- } if (0 <= u && w++, v = v.dblp(w), u < 0) break; for (m = 0; m < i; m++) { var E, x = _[m]; 0 !== x && (0 < x ? E = a[m][x - 1 >> 1] : x < 0 && (E = a[m][-x - 1 >> 1].neg()), v = "affine" === E.type ? v.mixedAdd(E) : v.add(E)) } } for (u = 0; u < i; u++)a[u] = null; return n ? v : v.toP() }, (o.BasePoint = a).prototype.eq = function () { throw new Error("Not implemented") }, a.prototype.validate = function () { return this.curve.validate(this) }, o.prototype.decodePoint = function (e, t) { e = n.toArray(e, t); var r = this.p.byteLength(); if ((4 === e[0] || 6 === e[0] || 7 === e[0]) && e.length - 1 == 2 * r) return 6 === e[0] ? h(e[e.length - 1] % 2 == 0) : 7 === e[0] && h(e[e.length - 1] % 2 == 1), this.point(e.slice(1, 1 + r), e.slice(1 + r, 1 + 2 * r)); if ((2 === e[0] || 3 === e[0]) && e.length - 1 === r) return this.pointFromX(e.slice(1, 1 + r), 3 === e[0]); throw new Error("Unknown point format") }, a.prototype.encodeCompressed = function (e) { return this.encode(e, !0) }, a.prototype._encode = function (e) { var t = this.curve.p.byteLength(), r = this.getX().toArray("be", t); return e ? [this.getY().isEven() ? 2 : 3].concat(r) : [4].concat(r, this.getY().toArray("be", t)) }, a.prototype.encode = function (e, t) { return n.encode(this._encode(t), e) }, a.prototype.precompute = function (e) { if (this.precomputed) return this; var t = { doubles: null, naf: null, beta: null }; return t.naf = this._getNAFPoints(8), t.doubles = this._getDoubles(4, e), t.beta = this._getBeta(), this.precomputed = t, this }, a.prototype._hasDoubles = function (e) { if (!this.precomputed) return !1; var t = this.precomputed.doubles; return !!t && t.points.length >= Math.ceil((e.bitLength() + 1) / t.step) }, a.prototype._getDoubles = function (e, t) { if (this.precomputed && this.precomputed.doubles) return this.precomputed.doubles; for (var r = [this], i = this, n = 0; n < t; n += e) { for (var o = 0; o < e; o++)i = i.dbl(); r.push(i) } return { step: e, points: r } }, a.prototype._getNAFPoints = function (e) { if (this.precomputed && this.precomputed.naf) return this.precomputed.naf; for (var t = [this], r = (1 << e) - 1, i = 1 == r ? null : this.dbl(), n = 1; n < r; n++)t[n] = t[n - 1].add(i); return { wnd: e, points: t } }, a.prototype._getBeta = function () { return null }, a.prototype.dblp = function (e) { for (var t = this, r = 0; r < e; r++)t = t.dbl(); return t } }, { "../utils": 105, "bn.js": 106 }], 93: [function (e, t, r) { "use strict"; var i = e("../utils"), l = e("bn.js"), n = e("inherits"), o = e("./base"), a = i.assert; function s(e) { this.twisted = 1 != (0 | e.a), this.mOneA = this.twisted && -1 == (0 | e.a), this.extended = this.mOneA, o.call(this, "edwards", e), this.a = new l(e.a, 16).umod(this.red.m), this.a = this.a.toRed(this.red), this.c = new l(e.c, 16).toRed(this.red), this.c2 = this.c.redSqr(), this.d = new l(e.d, 16).toRed(this.red), this.dd = this.d.redAdd(this.d), a(!this.twisted || 0 === this.c.fromRed().cmpn(1)), this.oneC = 1 == (0 | e.c) } function u(e, t, r, i, n) { o.BasePoint.call(this, e, "projective"), null === t && null === r && null === i ? (this.x = this.curve.zero, this.y = this.curve.one, this.z = this.curve.one, this.t = this.curve.zero, this.zOne = !0) : (this.x = new l(t, 16), this.y = new l(r, 16), this.z = i ? new l(i, 16) : this.curve.one, this.t = n && new l(n, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.t && !this.t.red && (this.t = this.t.toRed(this.curve.red)), this.zOne = this.z === this.curve.one, this.curve.extended && !this.t && (this.t = this.x.redMul(this.y), this.zOne || (this.t = this.t.redMul(this.z.redInvm())))) } n(s, o), (t.exports = s).prototype._mulA = function (e) { return this.mOneA ? e.redNeg() : this.a.redMul(e) }, s.prototype._mulC = function (e) { return this.oneC ? e : this.c.redMul(e) }, s.prototype.jpoint = function (e, t, r, i) { return this.point(e, t, r, i) }, s.prototype.pointFromX = function (e, t) { (e = new l(e, 16)).red || (e = e.toRed(this.red)); var r = e.redSqr(), i = this.c2.redSub(this.a.redMul(r)), n = this.one.redSub(this.c2.redMul(this.d).redMul(r)), o = i.redMul(n.redInvm()), a = o.redSqrt(); if (0 !== a.redSqr().redSub(o).cmp(this.zero)) throw new Error("invalid point"); var s = a.fromRed().isOdd(); return (t && !s || !t && s) && (a = a.redNeg()), this.point(e, a) }, s.prototype.pointFromY = function (e, t) { (e = new l(e, 16)).red || (e = e.toRed(this.red)); var r = e.redSqr(), i = r.redSub(this.c2), n = r.redMul(this.d).redMul(this.c2).redSub(this.a), o = i.redMul(n.redInvm()); if (0 === o.cmp(this.zero)) { if (t) throw new Error("invalid point"); return this.point(this.zero, e) } var a = o.redSqrt(); if (0 !== a.redSqr().redSub(o).cmp(this.zero)) throw new Error("invalid point"); return a.fromRed().isOdd() !== t && (a = a.redNeg()), this.point(a, e) }, s.prototype.validate = function (e) { if (e.isInfinity()) return !0; e.normalize(); var t = e.x.redSqr(), r = e.y.redSqr(), i = t.redMul(this.a).redAdd(r), n = this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r))); return 0 === i.cmp(n) }, n(u, o.BasePoint), s.prototype.pointFromJSON = function (e) { return u.fromJSON(this, e) }, s.prototype.point = function (e, t, r, i) { return new u(this, e, t, r, i) }, u.fromJSON = function (e, t) { return new u(e, t[0], t[1], t[2]) }, u.prototype.inspect = function () { return this.isInfinity() ? "<EC Point Infinity>" : "<EC Point x: " + this.x.fromRed().toString(16, 2) + " y: " + this.y.fromRed().toString(16, 2) + " z: " + this.z.fromRed().toString(16, 2) + ">" }, u.prototype.isInfinity = function () { return 0 === this.x.cmpn(0) && (0 === this.y.cmp(this.z) || this.zOne && 0 === this.y.cmp(this.curve.c)) }, u.prototype._extDbl = function () { var e = this.x.redSqr(), t = this.y.redSqr(), r = (r = this.z.redSqr()).redIAdd(r), i = this.curve._mulA(e), n = this.x.redAdd(this.y).redSqr().redISub(e).redISub(t), o = i.redAdd(t), a = o.redSub(r), s = i.redSub(t), l = n.redMul(a), u = o.redMul(s), c = n.redMul(s), h = a.redMul(o); return this.curve.point(l, u, h, c) }, u.prototype._projDbl = function () { var e, t, r, i, n, o, a, s = this.x.redAdd(this.y).redSqr(), l = this.x.redSqr(), u = this.y.redSqr(); return i = this.curve.twisted ? (e = (n = this.curve._mulA(l)).redAdd(u), this.zOne ? (t = s.redSub(l).redSub(u).redMul(e.redSub(this.curve.two)), r = e.redMul(n.redSub(u)), e.redSqr().redSub(e).redSub(e)) : (o = this.z.redSqr(), a = e.redSub(o).redISub(o), t = s.redSub(l).redISub(u).redMul(a), r = e.redMul(n.redSub(u)), e.redMul(a))) : (n = l.redAdd(u), o = this.curve._mulC(this.z).redSqr(), a = n.redSub(o).redSub(o), t = this.curve._mulC(s.redISub(n)).redMul(a), r = this.curve._mulC(n).redMul(l.redISub(u)), n.redMul(a)), this.curve.point(t, r, i) }, u.prototype.dbl = function () { return this.isInfinity() ? this : this.curve.extended ? this._extDbl() : this._projDbl() }, u.prototype._extAdd = function (e) { var t = this.y.redSub(this.x).redMul(e.y.redSub(e.x)), r = this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)), i = this.t.redMul(this.curve.dd).redMul(e.t), n = this.z.redMul(e.z.redAdd(e.z)), o = r.redSub(t), a = n.redSub(i), s = n.redAdd(i), l = r.redAdd(t), u = o.redMul(a), c = s.redMul(l), h = o.redMul(l), d = a.redMul(s); return this.curve.point(u, c, d, h) }, u.prototype._projAdd = function (e) { var t, r = this.z.redMul(e.z), i = r.redSqr(), n = this.x.redMul(e.x), o = this.y.redMul(e.y), a = this.curve.d.redMul(n).redMul(o), s = i.redSub(a), l = i.redAdd(a), u = this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(n).redISub(o), c = r.redMul(s).redMul(u), h = this.curve.twisted ? (t = r.redMul(l).redMul(o.redSub(this.curve._mulA(n))), s.redMul(l)) : (t = r.redMul(l).redMul(o.redSub(n)), this.curve._mulC(s).redMul(l)); return this.curve.point(c, t, h) }, u.prototype.add = function (e) { return this.isInfinity() ? e : e.isInfinity() ? this : this.curve.extended ? this._extAdd(e) : this._projAdd(e) }, u.prototype.mul = function (e) { return this._hasDoubles(e) ? this.curve._fixedNafMul(this, e) : this.curve._wnafMul(this, e) }, u.prototype.mulAdd = function (e, t, r) { return this.curve._wnafMulAdd(1, [this, t], [e, r], 2, !1) }, u.prototype.jmulAdd = function (e, t, r) { return this.curve._wnafMulAdd(1, [this, t], [e, r], 2, !0) }, u.prototype.normalize = function () { if (this.zOne) return this; var e = this.z.redInvm(); return this.x = this.x.redMul(e), this.y = this.y.redMul(e), this.t && (this.t = this.t.redMul(e)), this.z = this.curve.one, this.zOne = !0, this }, u.prototype.neg = function () { return this.curve.point(this.x.redNeg(), this.y, this.z, this.t && this.t.redNeg()) }, u.prototype.getX = function () { return this.normalize(), this.x.fromRed() }, u.prototype.getY = function () { return this.normalize(), this.y.fromRed() }, u.prototype.eq = function (e) { return this === e || 0 === this.getX().cmp(e.getX()) && 0 === this.getY().cmp(e.getY()) }, u.prototype.eqXToP = function (e) { var t = e.toRed(this.curve.red).redMul(this.z); if (0 === this.x.cmp(t)) return !0; for (var r = e.clone(), i = this.curve.redN.redMul(this.z); ;) { if (r.iadd(this.curve.n), 0 <= r.cmp(this.curve.p)) return !1; if (t.redIAdd(i), 0 === this.x.cmp(t)) return !0 } }, u.prototype.toP = u.prototype.normalize, u.prototype.mixedAdd = u.prototype.add }, { "../utils": 105, "./base": 92, "bn.js": 106, inherits: 142 }], 94: [function (e, t, r) { "use strict"; var i = r; i.base = e("./base"), i["short"] = e("./short"), i.mont = e("./mont"), i.edwards = e("./edwards") }, { "./base": 92, "./edwards": 93, "./mont": 95, "./short": 96 }], 95: [function (e, t, r) { "use strict"; var i = e("bn.js"), n = e("inherits"), o = e("./base"), a = e("../utils"); function s(e) { o.call(this, "mont", e), this.a = new i(e.a, 16).toRed(this.red), this.b = new i(e.b, 16).toRed(this.red), this.i4 = new i(4).toRed(this.red).redInvm(), this.two = new i(2).toRed(this.red), this.a24 = this.i4.redMul(this.a.redAdd(this.two)) } function l(e, t, r) { o.BasePoint.call(this, e, "projective"), null === t && null === r ? (this.x = this.curve.one, this.z = this.curve.zero) : (this.x = new i(t, 16), this.z = new i(r, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red))) } n(s, o), (t.exports = s).prototype.validate = function (e) { var t = e.normalize().x, r = t.redSqr(), i = r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t); return 0 === i.redSqrt().redSqr().cmp(i) }, n(l, o.BasePoint), s.prototype.decodePoint = function (e, t) { return this.point(a.toArray(e, t), 1) }, s.prototype.point = function (e, t) { return new l(this, e, t) }, s.prototype.pointFromJSON = function (e) { return l.fromJSON(this, e) }, l.prototype.precompute = function () { }, l.prototype._encode = function () { return this.getX().toArray("be", this.curve.p.byteLength()) }, l.fromJSON = function (e, t) { return new l(e, t[0], t[1] || e.one) }, l.prototype.inspect = function () { return this.isInfinity() ? "<EC Point Infinity>" : "<EC Point x: " + this.x.fromRed().toString(16, 2) + " z: " + this.z.fromRed().toString(16, 2) + ">" }, l.prototype.isInfinity = function () { return 0 === this.z.cmpn(0) }, l.prototype.dbl = function () { var e = this.x.redAdd(this.z).redSqr(), t = this.x.redSub(this.z).redSqr(), r = e.redSub(t), i = e.redMul(t), n = r.redMul(t.redAdd(this.curve.a24.redMul(r))); return this.curve.point(i, n) }, l.prototype.add = function () { throw new Error("Not supported on Montgomery curve") }, l.prototype.diffAdd = function (e, t) { var r = this.x.redAdd(this.z), i = this.x.redSub(this.z), n = e.x.redAdd(e.z), o = e.x.redSub(e.z).redMul(r), a = n.redMul(i), s = t.z.redMul(o.redAdd(a).redSqr()), l = t.x.redMul(o.redISub(a).redSqr()); return this.curve.point(s, l) }, l.prototype.mul = function (e) { for (var t = e.clone(), r = this, i = this.curve.point(null, null), n = []; 0 !== t.cmpn(0); t.iushrn(1))n.push(t.andln(1)); for (var o = n.length - 1; 0 <= o; o--)0 === n[o] ? (r = r.diffAdd(i, this), i = i.dbl()) : (i = r.diffAdd(i, this), r = r.dbl()); return i }, l.prototype.mulAdd = function () { throw new Error("Not supported on Montgomery curve") }, l.prototype.jumlAdd = function () { throw new Error("Not supported on Montgomery curve") }, l.prototype.eq = function (e) { return 0 === this.getX().cmp(e.getX()) }, l.prototype.normalize = function () { return this.x = this.x.redMul(this.z.redInvm()), this.z = this.curve.one, this }, l.prototype.getX = function () { return this.normalize(), this.x.fromRed() } }, { "../utils": 105, "./base": 92, "bn.js": 106, inherits: 142 }], 96: [function (e, t, r) { "use strict"; var i = e("../utils"), w = e("bn.js"), n = e("inherits"), o = e("./base"), a = i.assert; function s(e) { o.call(this, "short", e), this.a = new w(e.a, 16).toRed(this.red), this.b = new w(e.b, 16).toRed(this.red), this.tinv = this.two.redInvm(), this.zeroA = 0 === this.a.fromRed().cmpn(0), this.threeA = 0 === this.a.fromRed().sub(this.p).cmpn(-3), this.endo = this._getEndomorphism(e), this._endoWnafT1 = new Array(4), this._endoWnafT2 = new Array(4) } function l(e, t, r, i) { o.BasePoint.call(this, e, "affine"), null === t && null === r ? (this.x = null, this.y = null, this.inf = !0) : (this.x = new w(t, 16), this.y = new w(r, 16), i && (this.x.forceRed(this.curve.red), this.y.forceRed(this.curve.red)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.inf = !1) } function u(e, t, r, i) { o.BasePoint.call(this, e, "jacobian"), null === t && null === r && null === i ? (this.x = this.curve.one, this.y = this.curve.one, this.z = new w(0)) : (this.x = new w(t, 16), this.y = new w(r, 16), this.z = new w(i, 16)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.zOne = this.z === this.curve.one } n(s, o), (t.exports = s).prototype._getEndomorphism = function (e) { var t, r, i, n; if (this.zeroA && this.g && this.n && 1 === this.p.modn(3)) return i = e.beta ? new w(e.beta, 16).toRed(this.red) : (i = (r = this._getEndoRoots(this.p))[0].cmp(r[1]) < 0 ? r[0] : r[1]).toRed(this.red), e.lambda ? t = new w(e.lambda, 16) : (n = this._getEndoRoots(this.n), 0 === this.g.mul(n[0]).x.cmp(this.g.x.redMul(i)) ? t = n[0] : (t = n[1], a(0 === this.g.mul(t).x.cmp(this.g.x.redMul(i))))), { beta: i, lambda: t, basis: e.basis ? e.basis.map(function (e) { return { a: new w(e.a, 16), b: new w(e.b, 16) } }) : this._getEndoBasis(t) } }, s.prototype._getEndoRoots = function (e) { var t = e === this.p ? this.red : w.mont(e), r = new w(2).toRed(t).redInvm(), i = r.redNeg(), n = new w(3).toRed(t).redNeg().redSqrt().redMul(r); return [i.redAdd(n).fromRed(), i.redSub(n).fromRed()] }, s.prototype._getEndoBasis = function (e) { for (var t, r, i, n, o, a, s, l = this.n.ushrn(Math.floor(this.n.bitLength() / 2)), u = e, c = this.n.clone(), h = new w(1), d = new w(0), f = new w(0), p = new w(1), y = 0; 0 !== u.cmpn(0);) { var m = c.div(u), g = c.sub(m.mul(u)), b = f.sub(m.mul(h)), v = p.sub(m.mul(d)); if (!i && g.cmp(l) < 0) t = s.neg(), r = h, i = g.neg(), n = b; else if (i && 2 == ++y) break; c = u, u = s = g, f = h, h = b, p = d, d = v } o = g.neg(), a = b; var _ = i.sqr().add(n.sqr()); return 0 <= o.sqr().add(a.sqr()).cmp(_) && (o = t, a = r), i.negative && (i = i.neg(), n = n.neg()), o.negative && (o = o.neg(), a = a.neg()), [{ a: i, b: n }, { a: o, b: a }] }, s.prototype._endoSplit = function (e) { var t = this.endo.basis, r = t[0], i = t[1], n = i.b.mul(e).divRound(this.n), o = r.b.neg().mul(e).divRound(this.n), a = n.mul(r.a), s = o.mul(i.a), l = n.mul(r.b), u = o.mul(i.b); return { k1: e.sub(a).sub(s), k2: l.add(u).neg() } }, s.prototype.pointFromX = function (e, t) { (e = new w(e, 16)).red || (e = e.toRed(this.red)); var r = e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b), i = r.redSqrt(); if (0 !== i.redSqr().redSub(r).cmp(this.zero)) throw new Error("invalid point"); var n = i.fromRed().isOdd(); return (t && !n || !t && n) && (i = i.redNeg()), this.point(e, i) }, s.prototype.validate = function (e) { if (e.inf) return !0; var t = e.x, r = e.y, i = this.a.redMul(t), n = t.redSqr().redMul(t).redIAdd(i).redIAdd(this.b); return 0 === r.redSqr().redISub(n).cmpn(0) }, s.prototype._endoWnafMulAdd = function (e, t, r) { for (var i = this._endoWnafT1, n = this._endoWnafT2, o = 0; o < e.length; o++) { var a = this._endoSplit(t[o]), s = e[o], l = s._getBeta(); a.k1.negative && (a.k1.ineg(), s = s.neg(!0)), a.k2.negative && (a.k2.ineg(), l = l.neg(!0)), i[2 * o] = s, i[2 * o + 1] = l, n[2 * o] = a.k1, n[2 * o + 1] = a.k2 } for (var u = this._wnafMulAdd(1, i, n, 2 * o, r), c = 0; c < 2 * o; c++)i[c] = null, n[c] = null; return u }, n(l, o.BasePoint), s.prototype.point = function (e, t, r) { return new l(this, e, t, r) }, s.prototype.pointFromJSON = function (e, t) { return l.fromJSON(this, e, t) }, l.prototype._getBeta = function () { if (this.curve.endo) { var e = this.precomputed; if (e && e.beta) return e.beta; var t, r, i = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y); return e && (t = this.curve, r = function (e) { return t.point(e.x.redMul(t.endo.beta), e.y) }, (e.beta = i).precomputed = { beta: null, naf: e.naf && { wnd: e.naf.wnd, points: e.naf.points.map(r) }, doubles: e.doubles && { step: e.doubles.step, points: e.doubles.points.map(r) } }), i } }, l.prototype.toJSON = function () { return this.precomputed ? [this.x, this.y, this.precomputed && { doubles: this.precomputed.doubles && { step: this.precomputed.doubles.step, points: this.precomputed.doubles.points.slice(1) }, naf: this.precomputed.naf && { wnd: this.precomputed.naf.wnd, points: this.precomputed.naf.points.slice(1) } }] : [this.x, this.y] }, l.fromJSON = function (t, e, r) { "string" == typeof e && (e = JSON.parse(e)); var i = t.point(e[0], e[1], r); if (!e[2]) return i; function n(e) { return t.point(e[0], e[1], r) } var o = e[2]; return i.precomputed = { beta: null, doubles: o.doubles && { step: o.doubles.step, points: [i].concat(o.doubles.points.map(n)) }, naf: o.naf && { wnd: o.naf.wnd, points: [i].concat(o.naf.points.map(n)) } }, i }, l.prototype.inspect = function () { return this.isInfinity() ? "<EC Point Infinity>" : "<EC Point x: " + this.x.fromRed().toString(16, 2) + " y: " + this.y.fromRed().toString(16, 2) + ">" }, l.prototype.isInfinity = function () { return this.inf }, l.prototype.add = function (e) { if (this.inf) return e; if (e.inf) return this; if (this.eq(e)) return this.dbl(); if (this.neg().eq(e)) return this.curve.point(null, null); if (0 === this.x.cmp(e.x)) return this.curve.point(null, null); var t = this.y.redSub(e.y); 0 !== t.cmpn(0) && (t = t.redMul(this.x.redSub(e.x).redInvm())); var r = t.redSqr().redISub(this.x).redISub(e.x), i = t.redMul(this.x.redSub(r)).redISub(this.y); return this.curve.point(r, i) }, l.prototype.dbl = function () { if (this.inf) return this; var e = this.y.redAdd(this.y); if (0 === e.cmpn(0)) return this.curve.point(null, null); var t = this.curve.a, r = this.x.redSqr(), i = e.redInvm(), n = r.redAdd(r).redIAdd(r).redIAdd(t).redMul(i), o = n.redSqr().redISub(this.x.redAdd(this.x)), a = n.redMul(this.x.redSub(o)).redISub(this.y); return this.curve.point(o, a) }, l.prototype.getX = function () { return this.x.fromRed() }, l.prototype.getY = function () { return this.y.fromRed() }, l.prototype.mul = function (e) { return e = new w(e, 16), this.isInfinity() ? this : this._hasDoubles(e) ? this.curve._fixedNafMul(this, e) : this.curve.endo ? this.curve._endoWnafMulAdd([this], [e]) : this.curve._wnafMul(this, e) }, l.prototype.mulAdd = function (e, t, r) { var i = [this, t], n = [e, r]; return this.curve.endo ? this.curve._endoWnafMulAdd(i, n) : this.curve._wnafMulAdd(1, i, n, 2) }, l.prototype.jmulAdd = function (e, t, r) { var i = [this, t], n = [e, r]; return this.curve.endo ? this.curve._endoWnafMulAdd(i, n, !0) : this.curve._wnafMulAdd(1, i, n, 2, !0) }, l.prototype.eq = function (e) { return this === e || this.inf === e.inf && (this.inf || 0 === this.x.cmp(e.x) && 0 === this.y.cmp(e.y)) }, l.prototype.neg = function (e) { if (this.inf) return this; var t, r, i = this.curve.point(this.x, this.y.redNeg()); return e && this.precomputed && (t = this.precomputed, r = function (e) { return e.neg() }, i.precomputed = { naf: t.naf && { wnd: t.naf.wnd, points: t.naf.points.map(r) }, doubles: t.doubles && { step: t.doubles.step, points: t.doubles.points.map(r) } }), i }, l.prototype.toJ = function () { return this.inf ? this.curve.jpoint(null, null, null) : this.curve.jpoint(this.x, this.y, this.curve.one) }, n(u, o.BasePoint), s.prototype.jpoint = function (e, t, r) { return new u(this, e, t, r) }, u.prototype.toP = function () { if (this.isInfinity()) return this.curve.point(null, null); var e = this.z.redInvm(), t = e.redSqr(), r = this.x.redMul(t), i = this.y.redMul(t).redMul(e); return this.curve.point(r, i) }, u.prototype.neg = function () { return this.curve.jpoint(this.x, this.y.redNeg(), this.z) }, u.prototype.add = function (e) { if (this.isInfinity()) return e; if (e.isInfinity()) return this; var t = e.z.redSqr(), r = this.z.redSqr(), i = this.x.redMul(t), n = e.x.redMul(r), o = this.y.redMul(t.redMul(e.z)), a = e.y.redMul(r.redMul(this.z)), s = i.redSub(n), l = o.redSub(a); if (0 === s.cmpn(0)) return 0 !== l.cmpn(0) ? this.curve.jpoint(null, null, null) : this.dbl(); var u = s.redSqr(), c = u.redMul(s), h = i.redMul(u), d = l.redSqr().redIAdd(c).redISub(h).redISub(h), f = l.redMul(h.redISub(d)).redISub(o.redMul(c)), p = this.z.redMul(e.z).redMul(s); return this.curve.jpoint(d, f, p) }, u.prototype.mixedAdd = function (e) { if (this.isInfinity()) return e.toJ(); if (e.isInfinity()) return this; var t = this.z.redSqr(), r = this.x, i = e.x.redMul(t), n = this.y, o = e.y.redMul(t).redMul(this.z), a = r.redSub(i), s = n.redSub(o); if (0 === a.cmpn(0)) return 0 !== s.cmpn(0) ? this.curve.jpoint(null, null, null) : this.dbl(); var l = a.redSqr(), u = l.redMul(a), c = r.redMul(l), h = s.redSqr().redIAdd(u).redISub(c).redISub(c), d = s.redMul(c.redISub(h)).redISub(n.redMul(u)), f = this.z.redMul(a); return this.curve.jpoint(h, d, f) }, u.prototype.dblp = function (e) { if (0 === e) return this; if (this.isInfinity()) return this; if (!e) return this.dbl(); if (this.curve.zeroA || this.curve.threeA) { for (var t = this, r = 0; r < e; r++)t = t.dbl(); return t } for (var i = this.curve.a, n = this.curve.tinv, o = this.x, a = this.y, s = this.z, l = s.redSqr().redSqr(), u = a.redAdd(a), r = 0; r < e; r++) { var c = o.redSqr(), h = u.redSqr(), d = h.redSqr(), f = c.redAdd(c).redIAdd(c).redIAdd(i.redMul(l)), p = o.redMul(h), y = f.redSqr().redISub(p.redAdd(p)), m = p.redISub(y), g = (g = f.redMul(m)).redIAdd(g).redISub(d), b = u.redMul(s); r + 1 < e && (l = l.redMul(d)), o = y, s = b, u = g } return this.curve.jpoint(o, u.redMul(n), s) }, u.prototype.dbl = function () { return this.isInfinity() ? this : this.curve.zeroA ? this._zeroDbl() : this.curve.threeA ? this._threeDbl() : this._dbl() }, u.prototype._zeroDbl = function () { var e, t, r, i, n, o, a, s, l, u, c, h, d, f, p, y, m = this.zOne ? (r = this.x.redSqr(), n = (i = this.y.redSqr()).redSqr(), o = (o = this.x.redAdd(i).redSqr().redISub(r).redISub(n)).redIAdd(o), s = (a = r.redAdd(r).redIAdd(r)).redSqr().redISub(o).redISub(o), l = (l = (l = n.redIAdd(n)).redIAdd(l)).redIAdd(l), e = s, t = a.redMul(o.redISub(s)).redISub(l), this.y.redAdd(this.y)) : (u = this.x.redSqr(), h = (c = this.y.redSqr()).redSqr(), d = (d = this.x.redAdd(c).redSqr().redISub(u).redISub(h)).redIAdd(d), p = (f = u.redAdd(u).redIAdd(u)).redSqr(), y = (y = (y = h.redIAdd(h)).redIAdd(y)).redIAdd(y), e = p.redISub(d).redISub(d), t = f.redMul(d.redISub(e)).redISub(y), (m = this.y.redMul(this.z)).redIAdd(m)); return this.curve.jpoint(e, t, m) }, u.prototype._threeDbl = function () { var e, t, r, i, n, o, a, s, l, u, c, h, d, f, p, y, m; return this.zOne ? (r = this.x.redSqr(), n = (i = this.y.redSqr()).redSqr(), o = (o = this.x.redAdd(i).redSqr().redISub(r).redISub(n)).redIAdd(o), l = s = (a = r.redAdd(r).redIAdd(r).redIAdd(this.curve.a)).redSqr().redISub(o).redISub(o), u = (u = (u = n.redIAdd(n)).redIAdd(u)).redIAdd(u), e = a.redMul(o.redISub(s)).redISub(u), t = this.y.redAdd(this.y)) : (c = this.z.redSqr(), h = this.y.redSqr(), d = this.x.redMul(h), f = (f = this.x.redSub(c).redMul(this.x.redAdd(c))).redAdd(f).redIAdd(f), y = (p = (p = d.redIAdd(d)).redIAdd(p)).redAdd(p), l = f.redSqr().redISub(y), t = this.y.redAdd(this.z).redSqr().redISub(h).redISub(c), m = (m = (m = (m = h.redSqr()).redIAdd(m)).redIAdd(m)).redIAdd(m), e = f.redMul(p.redISub(l)).redISub(m)), this.curve.jpoint(l, e, t) }, u.prototype._dbl = function () { var e = this.curve.a, t = this.x, r = this.y, i = this.z, n = i.redSqr().redSqr(), o = t.redSqr(), a = r.redSqr(), s = o.redAdd(o).redIAdd(o).redIAdd(e.redMul(n)), l = t.redAdd(t), u = (l = l.redIAdd(l)).redMul(a), c = s.redSqr().redISub(u.redAdd(u)), h = u.redISub(c), d = a.redSqr(); d = (d = (d = d.redIAdd(d)).redIAdd(d)).redIAdd(d); var f = s.redMul(h).redISub(d), p = r.redAdd(r).redMul(i); return this.curve.jpoint(c, f, p) }, u.prototype.trpl = function () { if (!this.curve.zeroA) return this.dbl().add(this); var e = this.x.redSqr(), t = this.y.redSqr(), r = this.z.redSqr(), i = t.redSqr(), n = e.redAdd(e).redIAdd(e), o = n.redSqr(), a = this.x.redAdd(t).redSqr().redISub(e).redISub(i), s = (a = (a = (a = a.redIAdd(a)).redAdd(a).redIAdd(a)).redISub(o)).redSqr(), l = i.redIAdd(i); l = (l = (l = l.redIAdd(l)).redIAdd(l)).redIAdd(l); var u = n.redIAdd(a).redSqr().redISub(o).redISub(s).redISub(l), c = t.redMul(u); c = (c = c.redIAdd(c)).redIAdd(c); var h = this.x.redMul(s).redISub(c); h = (h = h.redIAdd(h)).redIAdd(h); var d = this.y.redMul(u.redMul(l.redISub(u)).redISub(a.redMul(s))); d = (d = (d = d.redIAdd(d)).redIAdd(d)).redIAdd(d); var f = this.z.redAdd(a).redSqr().redISub(r).redISub(s); return this.curve.jpoint(h, d, f) }, u.prototype.mul = function (e, t) { return e = new w(e, t), this.curve._wnafMul(this, e) }, u.prototype.eq = function (e) { if ("affine" === e.type) return this.eq(e.toJ()); if (this === e) return !0; var t = this.z.redSqr(), r = e.z.redSqr(); if (0 !== this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0)) return !1; var i = t.redMul(this.z), n = r.redMul(e.z); return 0 === this.y.redMul(n).redISub(e.y.redMul(i)).cmpn(0) }, u.prototype.eqXToP = function (e) { var t = this.z.redSqr(), r = e.toRed(this.curve.red).redMul(t); if (0 === this.x.cmp(r)) return !0; for (var i = e.clone(), n = this.curve.redN.redMul(t); ;) { if (i.iadd(this.curve.n), 0 <= i.cmp(this.curve.p)) return !1; if (r.redIAdd(n), 0 === this.x.cmp(r)) return !0 } }, u.prototype.inspect = function () { return this.isInfinity() ? "<EC JPoint Infinity>" : "<EC JPoint x: " + this.x.toString(16, 2) + " y: " + this.y.toString(16, 2) + " z: " + this.z.toString(16, 2) + ">" }, u.prototype.isInfinity = function () { return 0 === this.z.cmpn(0) } }, { "../utils": 105, "./base": 92, "bn.js": 106, inherits: 142 }], 97: [function (e, t, r) { "use strict"; var i, n = r, o = e("hash.js"), a = e("./curve"), s = e("./utils").assert; function l(e) { "short" === e.type ? this.curve = new a["short"](e) : "edwards" === e.type ? this.curve = new a.edwards(e) : this.curve = new a.mont(e), this.g = this.curve.g, this.n = this.curve.n, this.hash = e.hash, s(this.g.validate(), "Invalid curve"), s(this.g.mul(this.n).isInfinity(), "Invalid curve, G*N != O") } function u(t, r) { Object.defineProperty(n, t, { configurable: !0, enumerable: !0, get: function () { var e = new l(r); return Object.defineProperty(n, t, { configurable: !0, enumerable: !0, value: e }), e } }) } n.PresetCurve = l, u("p192", { type: "short", prime: "p192", p: "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff", a: "ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc", b: "64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1", n: "ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831", hash: o.sha256, gRed: !1, g: ["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012", "07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"] }), u("p224", { type: "short", prime: "p224", p: "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001", a: "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe", b: "b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4", n: "ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d", hash: o.sha256, gRed: !1, g: ["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21", "bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"] }), u("p256", { type: "short", prime: null, p: "ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff", a: "ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc", b: "5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b", n: "ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551", hash: o.sha256, gRed: !1, g: ["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296", "4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"] }), u("p384", { type: "short", prime: null, p: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff", a: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc", b: "b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef", n: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973", hash: o.sha384, gRed: !1, g: ["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7", "3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"] }), u("p521", { type: "short", prime: null, p: "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff", a: "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc", b: "00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00", n: "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409", hash: o.sha512, gRed: !1, g: ["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66", "00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"] }), u("curve25519", { type: "mont", prime: "p25519", p: "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed", a: "76d06", b: "1", n: "1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed", hash: o.sha256, gRed: !1, g: ["9"] }), u("ed25519", { type: "edwards", prime: "p25519", p: "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed", a: "-1", c: "1", d: "52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3", n: "1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed", hash: o.sha256, gRed: !1, g: ["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a", "6666666666666666666666666666666666666666666666666666666666666658"] }); try { i = e("./precomputed/secp256k1") } catch (e) { i = void 0 } u("secp256k1", { type: "short", prime: "k256", p: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f", a: "0", b: "7", n: "ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141", h: "1", hash: o.sha256, beta: "7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee", lambda: "5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72", basis: [{ a: "3086d221a7d46bcde86c90e49284eb15", b: "-e4437ed6010e88286f547fa90abfe4c3" }, { a: "114ca50f7a8e2f3f657c1108d9d44cfd8", b: "3086d221a7d46bcde86c90e49284eb15" }], gRed: !1, g: ["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8", i] }) }, { "./curve": 94, "./precomputed/secp256k1": 104, "./utils": 105, "hash.js": 128 }], 98: [function (e, t, r) { "use strict"; var m = e("bn.js"), g = e("hmac-drbg"), i = e("../utils"), n = e("../curves"), o = e("brorand"), f = i.assert, a = e("./key"), b = e("./signature"); function s(e) { if (!(this instanceof s)) return new s(e); "string" == typeof e && (f(n.hasOwnProperty(e), "Unknown curve " + e), e = n[e]), e instanceof n.PresetCurve && (e = { curve: e }), this.curve = e.curve.curve, this.n = this.curve.n, this.nh = this.n.ushrn(1), this.g = this.curve.g, this.g = e.curve.g, this.g.precompute(e.curve.n.bitLength() + 1), this.hash = e.hash || e.curve.hash } (t.exports = s).prototype.keyPair = function (e) { return new a(this, e) }, s.prototype.keyFromPrivate = function (e, t) { return a.fromPrivate(this, e, t) }, s.prototype.keyFromPublic = function (e, t) { return a.fromPublic(this, e, t) }, s.prototype.genKeyPair = function (e) { e = e || {}; for (var t = new g({ hash: this.hash, pers: e.pers, persEnc: e.persEnc || "utf8", entropy: e.entropy || o(this.hash.hmacStrength), entropyEnc: e.entropy && e.entropyEnc || "utf8", nonce: this.n.toArray() }), r = this.n.byteLength(), i = this.n.sub(new m(2)); ;) { var n = new m(t.generate(r)); if (!(0 < n.cmp(i))) return n.iaddn(1), this.keyFromPrivate(n) } }, s.prototype._truncateToN = function (e, t) { var r = 8 * e.byteLength() - this.n.bitLength(); return 0 < r && (e = e.ushrn(r)), !t && 0 <= e.cmp(this.n) ? e.sub(this.n) : e }, s.prototype.sign = function (e, t, r, i) { "object" == typeof r && (i = r, r = null), i = i || {}, t = this.keyFromPrivate(t, r), e = this._truncateToN(new m(e, 16)); for (var n = this.n.byteLength(), o = t.getPrivate().toArray("be", n), a = e.toArray("be", n), s = new g({ hash: this.hash, entropy: o, nonce: a, pers: i.pers, persEnc: i.persEnc || "utf8" }), l = this.n.sub(new m(1)), u = 0; ; u++) { var c = i.k ? i.k(u) : new m(s.generate(this.n.byteLength())); if (!((c = this._truncateToN(c, !0)).cmpn(1) <= 0 || 0 <= c.cmp(l))) { var h = this.g.mul(c); if (!h.isInfinity()) { var d = h.getX(), f = d.umod(this.n); if (0 !== f.cmpn(0)) { var p = c.invm(this.n).mul(f.mul(t.getPrivate()).iadd(e)); if (0 !== (p = p.umod(this.n)).cmpn(0)) { var y = (h.getY().isOdd() ? 1 : 0) | (0 !== d.cmp(f) ? 2 : 0); return i.canonical && 0 < p.cmp(this.nh) && (p = this.n.sub(p), y ^= 1), new b({ r: f, s: p, recoveryParam: y }) } } } } } }, s.prototype.verify = function (e, t, r, i) { e = this._truncateToN(new m(e, 16)), r = this.keyFromPublic(r, i); var n = (t = new b(t, "hex")).r, o = t.s; if (n.cmpn(1) < 0 || 0 <= n.cmp(this.n)) return !1; if (o.cmpn(1) < 0 || 0 <= o.cmp(this.n)) return !1; var a, s = o.invm(this.n), l = s.mul(e).umod(this.n), u = s.mul(n).umod(this.n); return this.curve._maxwellTrick ? !(a = this.g.jmulAdd(l, r.getPublic(), u)).isInfinity() && a.eqXToP(n) : !(a = this.g.mulAdd(l, r.getPublic(), u)).isInfinity() && 0 === a.getX().umod(this.n).cmp(n) }, s.prototype.recoverPubKey = function (e, t, r, i) { f((3 & r) === r, "The recovery param is more than two bits"), t = new b(t, i); var n = this.n, o = new m(e), a = t.r, s = t.s, l = 1 & r, u = r >> 1; if (0 <= a.cmp(this.curve.p.umod(this.curve.n)) && u) throw new Error("Unable to find sencond key candinate"); a = u ? this.curve.pointFromX(a.add(this.curve.n), l) : this.curve.pointFromX(a, l); var c = t.r.invm(n), h = n.sub(o).mul(c).umod(n), d = s.mul(c).umod(n); return this.g.mulAdd(h, a, d) }, s.prototype.getKeyRecoveryParam = function (e, t, r, i) { if (null !== (t = new b(t, i)).recoveryParam) return t.recoveryParam; for (var n, o = 0; o < 4; o++) { try { n = this.recoverPubKey(e, t, o) } catch (e) { continue } if (n.eq(r)) return o } throw new Error("Unable to find valid recovery factor") } }, { "../curves": 97, "../utils": 105, "./key": 99, "./signature": 100, "bn.js": 106, brorand: 18, "hmac-drbg": 140 }], 99: [function (e, t, r) { "use strict"; var i = e("bn.js"), n = e("../utils").assert; function o(e, t) { this.ec = e, this.priv = null, this.pub = null, t.priv && this._importPrivate(t.priv, t.privEnc), t.pub && this._importPublic(t.pub, t.pubEnc) } (t.exports = o).fromPublic = function (e, t, r) { return t instanceof o ? t : new o(e, { pub: t, pubEnc: r }) }, o.fromPrivate = function (e, t, r) { return t instanceof o ? t : new o(e, { priv: t, privEnc: r }) }, o.prototype.validate = function () { var e = this.getPublic(); return e.isInfinity() ? { result: !1, reason: "Invalid public key" } : e.validate() ? e.mul(this.ec.curve.n).isInfinity() ? { result: !0, reason: null } : { result: !1, reason: "Public key * N != O" } : { result: !1, reason: "Public key is not a point" } }, o.prototype.getPublic = function (e, t) { return "string" == typeof e && (t = e, e = null), this.pub || (this.pub = this.ec.g.mul(this.priv)), t ? this.pub.encode(t, e) : this.pub }, o.prototype.getPrivate = function (e) { return "hex" === e ? this.priv.toString(16, 2) : this.priv }, o.prototype._importPrivate = function (e, t) { this.priv = new i(e, t || 16), this.priv = this.priv.umod(this.ec.curve.n) }, o.prototype._importPublic = function (e, t) { if (e.x || e.y) return "mont" === this.ec.curve.type ? n(e.x, "Need x coordinate") : "short" !== this.ec.curve.type && "edwards" !== this.ec.curve.type || n(e.x && e.y, "Need both x and y coordinate"), void (this.pub = this.ec.curve.point(e.x, e.y)); this.pub = this.ec.curve.decodePoint(e, t) }, o.prototype.derive = function (e) { return e.mul(this.priv).getX() }, o.prototype.sign = function (e, t, r) { return this.ec.sign(e, this, t, r) }, o.prototype.verify = function (e, t) { return this.ec.verify(e, t, this) }, o.prototype.inspect = function () { return "<Key priv: " + (this.priv && this.priv.toString(16, 2)) + " pub: " + (this.pub && this.pub.inspect()) + " >" } }, { "../utils": 105, "bn.js": 106 }], 100: [function (e, t, r) { "use strict"; var s = e("bn.js"), l = e("../utils"), i = l.assert; function n(e, t) { if (e instanceof n) return e; this._importDER(e, t) || (i(e.r && e.s, "Signature without r or s"), this.r = new s(e.r, 16), this.s = new s(e.s, 16), void 0 === e.recoveryParam ? this.recoveryParam = null : this.recoveryParam = e.recoveryParam) } function u() { this.place = 0 } function c(e, t) { var r = e[t.place++]; if (!(128 & r)) return r; for (var i = 15 & r, n = 0, o = 0, a = t.place; o < i; o++, a++)n <<= 8, n |= e[a]; return t.place = a, n } function a(e) { for (var t = 0, r = e.length - 1; !e[t] && !(128 & e[t + 1]) && t < r;)t++; return 0 === t ? e : e.slice(t) } function h(e, t) { if (t < 128) e.push(t); else { var r = 1 + (Math.log(t) / Math.LN2 >>> 3); for (e.push(128 | r); --r;)e.push(t >>> (r << 3) & 255); e.push(t) } } (t.exports = n).prototype._importDER = function (e, t) { e = l.toArray(e, t); var r = new u; if (48 !== e[r.place++]) return !1; if (c(e, r) + r.place !== e.length) return !1; if (2 !== e[r.place++]) return !1; var i = c(e, r), n = e.slice(r.place, i + r.place); if (r.place += i, 2 !== e[r.place++]) return !1; var o = c(e, r); if (e.length !== o + r.place) return !1; var a = e.slice(r.place, o + r.place); return 0 === n[0] && 128 & n[1] && (n = n.slice(1)), 0 === a[0] && 128 & a[1] && (a = a.slice(1)), this.r = new s(n), this.s = new s(a), !(this.recoveryParam = null) }, n.prototype.toDER = function (e) { var t = this.r.toArray(), r = this.s.toArray(); for (128 & t[0] && (t = [0].concat(t)), 128 & r[0] && (r = [0].concat(r)), t = a(t), r = a(r); !(r[0] || 128 & r[1]);)r = r.slice(1); var i = [2]; h(i, t.length), (i = i.concat(t)).push(2), h(i, r.length); var n = i.concat(r), o = [48]; return h(o, n.length), o = o.concat(n), l.encode(o, e) } }, { "../utils": 105, "bn.js": 106 }], 101: [function (e, t, r) { "use strict"; var i = e("hash.js"), n = e("../curves"), o = e("../utils"), a = o.assert, l = o.parseBytes, s = e("./key"), u = e("./signature"); function c(e) { if (a("ed25519" === e, "only tested with ed25519 so far"), !(this instanceof c)) return new c(e); e = n[e].curve; this.curve = e, this.g = e.g, this.g.precompute(e.n.bitLength() + 1), this.pointClass = e.point().constructor, this.encodingLength = Math.ceil(e.n.bitLength() / 8), this.hash = i.sha512 } (t.exports = c).prototype.sign = function (e, t) { e = l(e); var r = this.keyFromSecret(t), i = this.hashInt(r.messagePrefix(), e), n = this.g.mul(i), o = this.encodePoint(n), a = this.hashInt(o, r.pubBytes(), e).mul(r.priv()), s = i.add(a).umod(this.curve.n); return this.makeSignature({ R: n, S: s, Rencoded: o }) }, c.prototype.verify = function (e, t, r) { e = l(e), t = this.makeSignature(t); var i = this.keyFromPublic(r), n = this.hashInt(t.Rencoded(), i.pubBytes(), e), o = this.g.mul(t.S()); return t.R().add(i.pub().mul(n)).eq(o) }, c.prototype.hashInt = function () { for (var e = this.hash(), t = 0; t < arguments.length; t++)e.update(arguments[t]); return o.intFromLE(e.digest()).umod(this.curve.n) }, c.prototype.keyFromPublic = function (e) { return s.fromPublic(this, e) }, c.prototype.keyFromSecret = function (e) { return s.fromSecret(this, e) }, c.prototype.makeSignature = function (e) { return e instanceof u ? e : new u(this, e) }, c.prototype.encodePoint = function (e) { var t = e.getY().toArray("le", this.encodingLength); return t[this.encodingLength - 1] |= e.getX().isOdd() ? 128 : 0, t }, c.prototype.decodePoint = function (e) { var t = (e = o.parseBytes(e)).length - 1, r = e.slice(0, t).concat(-129 & e[t]), i = 0 != (128 & e[t]), n = o.intFromLE(r); return this.curve.pointFromY(n, i) }, c.prototype.encodeInt = function (e) { return e.toArray("le", this.encodingLength) }, c.prototype.decodeInt = function (e) { return o.intFromLE(e) }, c.prototype.isPoint = function (e) { return e instanceof this.pointClass } }, { "../curves": 97, "../utils": 105, "./key": 102, "./signature": 103, "hash.js": 128 }], 102: [function (e, t, r) { "use strict"; var i = e("../utils"), n = i.assert, o = i.parseBytes, a = i.cachedProperty; function s(e, t) { this.eddsa = e, this._secret = o(t.secret), e.isPoint(t.pub) ? this._pub = t.pub : this._pubBytes = o(t.pub) } s.fromPublic = function (e, t) { return t instanceof s ? t : new s(e, { pub: t }) }, s.fromSecret = function (e, t) { return t instanceof s ? t : new s(e, { secret: t }) }, s.prototype.secret = function () { return this._secret }, a(s, "pubBytes", function () { return this.eddsa.encodePoint(this.pub()) }), a(s, "pub", function () { return this._pubBytes ? this.eddsa.decodePoint(this._pubBytes) : this.eddsa.g.mul(this.priv()) }), a(s, "privBytes", function () { var e = this.eddsa, t = this.hash(), r = e.encodingLength - 1, i = t.slice(0, e.encodingLength); return i[0] &= 248, i[r] &= 127, i[r] |= 64, i }), a(s, "priv", function () { return this.eddsa.decodeInt(this.privBytes()) }), a(s, "hash", function () { return this.eddsa.hash().update(this.secret()).digest() }), a(s, "messagePrefix", function () { return this.hash().slice(this.eddsa.encodingLength) }), s.prototype.sign = function (e) { return n(this._secret, "KeyPair can only verify"), this.eddsa.sign(e, this) }, s.prototype.verify = function (e, t) { return this.eddsa.verify(e, t, this) }, s.prototype.getSecret = function (e) { return n(this._secret, "KeyPair is public only"), i.encode(this.secret(), e) }, s.prototype.getPublic = function (e) { return i.encode(this.pubBytes(), e) }, t.exports = s }, { "../utils": 105 }], 103: [function (e, t, r) { "use strict"; var i = e("bn.js"), n = e("../utils"), o = n.assert, a = n.cachedProperty, s = n.parseBytes; function l(e, t) { this.eddsa = e, "object" != typeof t && (t = s(t)), Array.isArray(t) && (t = { R: t.slice(0, e.encodingLength), S: t.slice(e.encodingLength) }), o(t.R && t.S, "Signature without R or S"), e.isPoint(t.R) && (this._R = t.R), t.S instanceof i && (this._S = t.S), this._Rencoded = Array.isArray(t.R) ? t.R : t.Rencoded, this._Sencoded = Array.isArray(t.S) ? t.S : t.Sencoded } a(l, "S", function () { return this.eddsa.decodeInt(this.Sencoded()) }), a(l, "R", function () { return this.eddsa.decodePoint(this.Rencoded()) }), a(l, "Rencoded", function () { return this.eddsa.encodePoint(this.R()) }), a(l, "Sencoded", function () { return this.eddsa.encodeInt(this.S()) }), l.prototype.toBytes = function () { return this.Rencoded().concat(this.Sencoded()) }, l.prototype.toHex = function () { return n.encode(this.toBytes(), "hex").toUpperCase() }, t.exports = l }, { "../utils": 105, "bn.js": 106 }], 104: [function (e, t, r) { t.exports = { doubles: { step: 4, points: [["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a", "f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"], ["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508", "11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"], ["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739", "d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"], ["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640", "4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"], ["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c", "4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"], ["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda", "96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"], ["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa", "5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"], ["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0", "cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"], ["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d", "9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"], ["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d", "e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"], ["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1", "9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"], ["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0", "5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"], ["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047", "10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"], ["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862", "283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"], ["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7", "7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"], ["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd", "56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"], ["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83", "7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"], ["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a", "53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"], ["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8", "bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"], ["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d", "4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"], ["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725", "7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"], ["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754", "4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"], ["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c", "17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"], ["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6", "6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"], ["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39", "c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"], ["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891", "893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"], ["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b", "febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"], ["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03", "2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"], ["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d", "eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"], ["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070", "7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"], ["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4", "e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"], ["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da", "662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"], ["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11", "1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"], ["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e", "efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"], ["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41", "2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"], ["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef", "67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"], ["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8", "db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"], ["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d", "648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"], ["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96", "35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"], ["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd", "ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"], ["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5", "9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"], ["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266", "40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"], ["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71", "34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"], ["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac", "c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"], ["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751", "1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"], ["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e", "493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"], ["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241", "c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"], ["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3", "be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"], ["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f", "4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"], ["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19", "aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"], ["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be", "b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"], ["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9", "6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"], ["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2", "8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"], ["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13", "7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"], ["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c", "ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"], ["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba", "2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"], ["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151", "e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"], ["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073", "d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"], ["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458", "38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"], ["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b", "69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"], ["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366", "d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"], ["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa", "40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"], ["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0", "620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"], ["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787", "7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"], ["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e", "ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]] }, naf: { wnd: 7, points: [["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9", "388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"], ["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4", "d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"], ["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc", "6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"], ["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe", "cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"], ["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb", "d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"], ["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8", "ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"], ["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e", "581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"], ["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34", "4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"], ["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c", "85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"], ["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5", "321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"], ["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f", "2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"], ["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714", "73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"], ["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729", "a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"], ["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db", "2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"], ["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4", "e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"], ["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5", "b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"], ["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479", "2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"], ["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d", "80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"], ["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f", "1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"], ["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb", "d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"], ["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9", "eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"], ["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963", "758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"], ["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74", "958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"], ["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530", "e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"], ["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b", "5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"], ["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247", "cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"], ["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1", "cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"], ["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120", "4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"], ["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435", "91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"], ["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18", "673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"], ["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8", "59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"], ["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb", "3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"], ["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f", "55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"], ["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143", "efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"], ["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba", "e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"], ["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45", "f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"], ["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a", "744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"], ["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e", "c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"], ["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8", "e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"], ["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c", "30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"], ["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519", "e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"], ["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab", "100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"], ["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca", "ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"], ["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf", "8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"], ["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610", "68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"], ["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4", "f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"], ["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c", "d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"], ["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940", "edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"], ["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980", "a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"], ["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3", "66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"], ["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf", "9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"], ["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63", "4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"], ["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448", "fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"], ["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf", "5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"], ["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5", "8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"], ["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6", "8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"], ["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5", "5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"], ["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99", "f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"], ["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51", "f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"], ["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5", "42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"], ["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5", "204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"], ["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997", "4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"], ["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881", "73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"], ["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5", "39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"], ["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66", "d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"], ["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726", "ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"], ["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede", "6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"], ["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94", "60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"], ["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31", "3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"], ["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51", "b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"], ["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252", "ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"], ["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5", "cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"], ["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b", "6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"], ["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4", "322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"], ["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f", "6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"], ["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889", "2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"], ["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246", "b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"], ["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984", "998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"], ["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a", "b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"], ["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030", "bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"], ["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197", "6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"], ["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593", "c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"], ["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef", "21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"], ["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38", "60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"], ["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a", "49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"], ["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111", "5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"], ["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502", "7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"], ["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea", "be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"], ["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26", "8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"], ["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986", "39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"], ["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e", "62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"], ["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4", "25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"], ["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda", "ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"], ["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859", "cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"], ["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f", "f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"], ["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c", "6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"], ["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942", "fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"], ["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a", "1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"], ["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80", "5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"], ["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d", "438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"], ["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1", "cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"], ["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63", "c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"], ["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352", "6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"], ["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193", "ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"], ["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00", "9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"], ["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58", "ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"], ["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7", "d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"], ["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8", "c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"], ["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e", "67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"], ["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d", "cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"], ["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b", "299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"], ["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f", "f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"], ["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6", "462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"], ["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297", "62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"], ["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a", "7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"], ["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c", "ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"], ["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52", "4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"], ["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb", "bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"], ["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065", "bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"], ["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917", "603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"], ["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9", "cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"], ["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3", "553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"], ["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57", "712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"], ["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66", "ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"], ["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8", "9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"], ["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721", "9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"], ["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180", "4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]] } } }, {}], 105: [function (e, t, r) { "use strict"; var i = r, n = e("bn.js"), o = e("minimalistic-assert"), a = e("minimalistic-crypto-utils"); i.assert = o, i.toArray = a.toArray, i.zero2 = a.zero2, i.toHex = a.toHex, i.encode = a.encode, i.getNAF = function (e, t, r) { var i = new Array(Math.max(e.bitLength(), r) + 1); i.fill(0); for (var n = 1 << t + 1, o = e.clone(), a = 0; a < i.length; a++) { var s, l = o.andln(n - 1); o.isOdd() ? (s = (n >> 1) - 1 < l ? (n >> 1) - l : l, o.isubn(s)) : s = 0, i[a] = s, o.iushrn(1) } return i }, i.getJSF = function (e, t) { var r = [[], []]; e = e.clone(), t = t.clone(); for (var i = 0, n = 0; 0 < e.cmpn(-i) || 0 < t.cmpn(-n);) { var o, a, s, l = e.andln(3) + i & 3, u = t.andln(3) + n & 3; 3 === l && (l = -1), 3 === u && (u = -1), o = 0 == (1 & l) ? 0 : 3 !== (a = e.andln(7) + i & 7) && 5 !== a || 2 !== u ? l : -l, r[0].push(o), s = 0 == (1 & u) ? 0 : 3 !== (a = t.andln(7) + n & 7) && 5 !== a || 2 !== l ? u : -u, r[1].push(s), 2 * i === o + 1 && (i = 1 - i), 2 * n === s + 1 && (n = 1 - n), e.iushrn(1), t.iushrn(1) } return r }, i.cachedProperty = function (e, t, r) { var i = "_" + t; e.prototype[t] = function () { return void 0 !== this[i] ? this[i] : this[i] = r.call(this) } }, i.parseBytes = function (e) { return "string" == typeof e ? i.toArray(e, "hex") : e }, i.intFromLE = function (e) { return new n(e, "hex", "le") } }, { "bn.js": 106, "minimalistic-assert": 148, "minimalistic-crypto-utils": 149 }], 106: [function (e, t, r) { arguments[4][15][0].apply(r, arguments) }, { buffer: 19, dup: 15 }], 107: [function (e, t, r) { t.exports = { _from: "elliptic@^6.0.0", _id: "elliptic@6.5.2", _inBundle: !1, _integrity: "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", _location: "/elliptic", _phantomChildren: {}, _requested: { type: "range", registry: !0, raw: "elliptic@^6.0.0", name: "elliptic", escapedName: "elliptic", rawSpec: "^6.0.0", saveSpec: null, fetchSpec: "^6.0.0" }, _requiredBy: ["/browserify-sign", "/create-ecdh"], _resolved: "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", _shasum: "05c5678d7173c049d8ca433552224a495d0e3762", _spec: "elliptic@^6.0.0", _where: "/Users/fjq/work/prismplayer/node_modules/browserify-sign", author: { name: "Fedor Indutny", email: "fedor@indutny.com" }, bugs: { url: "https://github.com/indutny/elliptic/issues" }, bundleDependencies: !1, dependencies: { "bn.js": "^4.4.0", brorand: "^1.0.1", "hash.js": "^1.0.0", "hmac-drbg": "^1.0.0", inherits: "^2.0.1", "minimalistic-assert": "^1.0.0", "minimalistic-crypto-utils": "^1.0.0" }, deprecated: !1, description: "EC cryptography", devDependencies: { brfs: "^1.4.3", coveralls: "^3.0.8", grunt: "^1.0.4", "grunt-browserify": "^5.0.0", "grunt-cli": "^1.2.0", "grunt-contrib-connect": "^1.0.0", "grunt-contrib-copy": "^1.0.0", "grunt-contrib-uglify": "^1.0.1", "grunt-mocha-istanbul": "^3.0.1", "grunt-saucelabs": "^9.0.1", istanbul: "^0.4.2", jscs: "^3.0.7", jshint: "^2.10.3", mocha: "^6.2.2" }, files: ["lib"], homepage: "https://github.com/indutny/elliptic", keywords: ["EC", "Elliptic", "curve", "Cryptography"], license: "MIT", main: "lib/elliptic.js", name: "elliptic", repository: { type: "git", url: "git+ssh://git@github.com/indutny/elliptic.git" }, scripts: { jscs: "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js", jshint: "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js", lint: "npm run jscs && npm run jshint", test: "npm run lint && npm run unit", unit: "istanbul test _mocha --reporter=spec test/index.js", version: "grunt dist && git add dist/" }, version: "6.5.2" } }, {}], 108: [function (e, t, r) { var l = Object.create || function (e) { function t() { } return t.prototype = e, new t }, a = Object.keys || function (e) { var t = []; for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.push(r); return r }, o = Function.prototype.bind || function (e) { var t = this; return function () { return t.apply(e, arguments) } }; function i() { this._events && Object.prototype.hasOwnProperty.call(this, "_events") || (this._events = l(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0 } ((t.exports = i).EventEmitter = i).prototype._events = void 0, i.prototype._maxListeners = void 0; var n, s = 10; try { var u = {}; Object.defineProperty && Object.defineProperty(u, "x", { value: 0 }), n = 0 === u.x } catch (e) { n = !1 } function c(e) { return void 0 === e._maxListeners ? i.defaultMaxListeners : e._maxListeners } function h(e, t, r, i) { var n, o, a, s; if ("function" != typeof r) throw new TypeError('"listener" argument must be a function'); return (n = e._events) ? (n.newListener && (e.emit("newListener", t, r.listener ? r.listener : r), n = e._events), o = n[t]) : (n = e._events = l(null), e._eventsCount = 0), o ? ("function" == typeof o ? o = n[t] = i ? [r, o] : [o, r] : i ? o.unshift(r) : o.push(r), o.warned || (s = c(e)) && 0 < s && o.length > s && (o.warned = !0, (a = new Error("Possible EventEmitter memory leak detected. " + o.length + ' "' + String(t) + '" listeners added. Use emitter.setMaxListeners() to increase limit.')).name = "MaxListenersExceededWarning", a.emitter = e, a.type = t, a.count = o.length, "object" == typeof console && console.warn && console.warn("%s: %s", a.name, a.message))) : (o = n[t] = r, ++e._eventsCount), e } function d() { if (!this.fired) switch (this.target.removeListener(this.type, this.wrapFn), this.fired = !0, arguments.length) { case 0: return this.listener.call(this.target); case 1: return this.listener.call(this.target, arguments[0]); case 2: return this.listener.call(this.target, arguments[0], arguments[1]); case 3: return this.listener.call(this.target, arguments[0], arguments[1], arguments[2]); default: for (var e = new Array(arguments.length), t = 0; t < e.length; ++t)e[t] = arguments[t]; this.listener.apply(this.target, e) } } function f(e, t, r) { var i = { fired: !1, wrapFn: void 0, target: e, type: t, listener: r }, n = o.call(d, i); return n.listener = r, i.wrapFn = n } function p(e, t, r) { var i = e._events; if (!i) return []; var n = i[t]; return n ? "function" == typeof n ? r ? [n.listener || n] : [n] : r ? function (e) { for (var t = new Array(e.length), r = 0; r < t.length; ++r)t[r] = e[r].listener || e[r]; return t }(n) : m(n, n.length) : [] } function y(e) { var t = this._events; if (t) { var r = t[e]; if ("function" == typeof r) return 1; if (r) return r.length } return 0 } function m(e, t) { for (var r = new Array(t), i = 0; i < t; ++i)r[i] = e[i]; return r } n ? Object.defineProperty(i, "defaultMaxListeners", { enumerable: !0, get: function () { return s }, set: function (e) { if ("number" != typeof e || e < 0 || e != e) throw new TypeError('"defaultMaxListeners" must be a positive number'); s = e } }) : i.defaultMaxListeners = s, i.prototype.setMaxListeners = function (e) { if ("number" != typeof e || e < 0 || isNaN(e)) throw new TypeError('"n" argument must be a positive number'); return this._maxListeners = e, this }, i.prototype.getMaxListeners = function () { return c(this) }, i.prototype.emit = function (e, t, r, i) { var n, o, a, s, l = "error" === e, u = this._events; if (u) l = l && null == u.error; else if (!l) return !1; if (l) { if (1 < arguments.length && (n = t), n instanceof Error) throw n; var c = new Error('Unhandled "error" event. (' + n + ")"); throw c.context = n, c } if (!(o = u[e])) return !1; var h, d = "function" == typeof o; switch (h = arguments.length) { case 1: !function (e, t, r) { if (t) e.call(r); else for (var i = e.length, n = m(e, i), o = 0; o < i; ++o)n[o].call(r) }(o, d, this); break; case 2: !function (e, t, r, i) { if (t) e.call(r, i); else for (var n = e.length, o = m(e, n), a = 0; a < n; ++a)o[a].call(r, i) }(o, d, this, t); break; case 3: !function (e, t, r, i, n) { if (t) e.call(r, i, n); else for (var o = e.length, a = m(e, o), s = 0; s < o; ++s)a[s].call(r, i, n) }(o, d, this, t, r); break; case 4: !function (e, t, r, i, n, o) { if (t) e.call(r, i, n, o); else for (var a = e.length, s = m(e, a), l = 0; l < a; ++l)s[l].call(r, i, n, o) }(o, d, this, t, r, i); break; default: for (a = new Array(h - 1), s = 1; s < h; s++)a[s - 1] = arguments[s]; !function (e, t, r, i) { if (t) e.apply(r, i); else for (var n = e.length, o = m(e, n), a = 0; a < n; ++a)o[a].apply(r, i) }(o, d, this, a) }return !0 }, i.prototype.on = i.prototype.addListener = function (e, t) { return h(this, e, t, !1) }, i.prototype.prependListener = function (e, t) { return h(this, e, t, !0) }, i.prototype.once = function (e, t) { if ("function" != typeof t) throw new TypeError('"listener" argument must be a function'); return this.on(e, f(this, e, t)), this }, i.prototype.prependOnceListener = function (e, t) { if ("function" != typeof t) throw new TypeError('"listener" argument must be a function'); return this.prependListener(e, f(this, e, t)), this }, i.prototype.removeListener = function (e, t) { var r, i, n, o, a; if ("function" != typeof t) throw new TypeError('"listener" argument must be a function'); if (!(i = this._events)) return this; if (!(r = i[e])) return this; if (r === t || r.listener === t) 0 == --this._eventsCount ? this._events = l(null) : (delete i[e], i.removeListener && this.emit("removeListener", e, r.listener || t)); else if ("function" != typeof r) { for (n = -1, o = r.length - 1; 0 <= o; o--)if (r[o] === t || r[o].listener === t) { a = r[o].listener, n = o; break } if (n < 0) return this; 0 === n ? r.shift() : function (e, t) { for (var r = t, i = r + 1, n = e.length; i < n; r += 1, i += 1)e[r] = e[i]; e.pop() }(r, n), 1 === r.length && (i[e] = r[0]), i.removeListener && this.emit("removeListener", e, a || t) } return this }, i.prototype.removeAllListeners = function (e) { var t, r = this._events; if (!r) return this; if (!r.removeListener) return 0 === arguments.length ? (this._events = l(null), this._eventsCount = 0) : r[e] && (0 == --this._eventsCount ? this._events = l(null) : delete r[e]), this; if (0 === arguments.length) { for (var i, n = a(r), o = 0; o < n.length; ++o)"removeListener" !== (i = n[o]) && this.removeAllListeners(i); return this.removeAllListeners("removeListener"), this._events = l(null), this._eventsCount = 0, this } if ("function" == typeof (t = r[e])) this.removeListener(e, t); else if (t) for (o = t.length - 1; 0 <= o; o--)this.removeListener(e, t[o]); return this }, i.prototype.listeners = function (e) { return p(this, e, !0) }, i.prototype.rawListeners = function (e) { return p(this, e, !1) }, i.listenerCount = function (e, t) { return "function" == typeof e.listenerCount ? e.listenerCount(t) : y.call(e, t) }, i.prototype.listenerCount = y, i.prototype.eventNames = function () { return 0 < this._eventsCount ? Reflect.ownKeys(this._events) : [] } }, {}], 109: [function (e, t, r) { var f = e("safe-buffer").Buffer, p = e("md5.js"); t.exports = function (e, t, r, i) { if (f.isBuffer(e) || (e = f.from(e, "binary")), t && (f.isBuffer(t) || (t = f.from(t, "binary")), 8 !== t.length)) throw new RangeError("salt should be Buffer with 8 byte length"); for (var n = r / 8, o = f.alloc(n), a = f.alloc(i || 0), s = f.alloc(0); 0 < n || 0 < i;) { var l = new p; l.update(s), l.update(e), t && l.update(t), s = l.digest(); var u, c, h, d = 0; 0 < n && (u = o.length - n, d = Math.min(n, s.length), s.copy(o, u, 0, d), n -= d), d < s.length && 0 < i && (c = a.length - i, h = Math.min(i, s.length - d), s.copy(a, c, d, d + h), i -= h) } return s.fill(0), { key: o, iv: a } } }, { "md5.js": 145, "safe-buffer": 186 }], 110: [function (e, t, r) { !function () { "use strict"; function s(n, e) { var t; if (e = e || {}, this.trackingClick = !1, this.trackingClickStart = 0, this.targetElement = null, this.touchStartX = 0, this.touchStartY = 0, this.lastTouchIdentifier = 0, this.touchBoundary = e.touchBoundary || 10, this.layer = n, this.tapDelay = e.tapDelay || 200, this.tapTimeout = e.tapTimeout || 700, !s.notNeeded(n)) { for (var r = ["onMouse", "onClick", "onTouchStart", "onTouchMove", "onTouchEnd", "onTouchCancel"], i = 0, o = r.length; i < o; i++)this[r[i]] = a(this[r[i]], this); l && (n.addEventListener("mouseover", this.onMouse, !0), n.addEventListener("mousedown", this.onMouse, !0), n.addEventListener("mouseup", this.onMouse, !0)), n.addEventListener("click", this.onClick, !0), n.addEventListener("touchstart", this.onTouchStart, !1), n.addEventListener("touchmove", this.onTouchMove, !1), n.addEventListener("touchend", this.onTouchEnd, !1), n.addEventListener("touchcancel", this.onTouchCancel, !1), Event.prototype.stopImmediatePropagation || (n.removeEventListener = function (e, t, r) { var i = Node.prototype.removeEventListener; "click" === e ? i.call(n, e, t.hijacked || t, r) : i.call(n, e, t, r) }, n.addEventListener = function (e, t, r) { var i = Node.prototype.addEventListener; "click" === e ? i.call(n, e, t.hijacked || (t.hijacked = function (e) { e.propagationStopped || t(e) }), r) : i.call(n, e, t, r) }), "function" == typeof n.onclick && (t = n.onclick, n.addEventListener("click", function (e) { t(e) }, !1), n.onclick = null) } function a(e, t) { return function () { return e.apply(t, arguments) } } } var e = 0 <= navigator.userAgent.indexOf("Windows Phone"), l = 0 < navigator.userAgent.indexOf("Android") && !e, u = /iP(ad|hone|od)/.test(navigator.userAgent) && !e, c = u && /OS 4_\d(_\d)?/.test(navigator.userAgent), h = u && /OS [6-7]_\d/.test(navigator.userAgent), n = 0 < navigator.userAgent.indexOf("BB10"); s.prototype.needsClick = function (e) { switch (e.nodeName.toLowerCase()) { case "button": case "select": case "textarea": if (e.disabled) return !0; break; case "input": if (u && "file" === e.type || e.disabled) return !0; break; case "label": case "iframe": case "video": return !0 }return /\bneedsclick\b/.test(e.className) }, s.prototype.needsFocus = function (e) { switch (e.nodeName.toLowerCase()) { case "textarea": return !0; case "select": return !l; case "input": switch (e.type) { case "button": case "checkbox": case "file": case "image": case "radio": case "submit": return !1 }return !e.disabled && !e.readOnly; default: return /\bneedsfocus\b/.test(e.className) } }, s.prototype.sendClick = function (e, t) { var r, i; document.activeElement && document.activeElement !== e && document.activeElement.blur(), i = t.changedTouches[0], (r = document.createEvent("MouseEvents")).initMouseEvent(this.determineEventType(e), !0, !0, window, 1, i.screenX, i.screenY, i.clientX, i.clientY, !1, !1, !1, !1, 0, null), r.forwardedTouchEvent = !0, e.dispatchEvent(r) }, s.prototype.determineEventType = function (e) { return l && "select" === e.tagName.toLowerCase() ? "mousedown" : "click" }, s.prototype.focus = function (e) { var t; u && e.setSelectionRange && 0 !== e.type.indexOf("date") && "time" !== e.type && "month" !== e.type ? (t = e.value.length, e.setSelectionRange(t, t)) : e.focus() }, s.prototype.updateScrollParent = function (e) { var t, r = e.fastClickScrollParent; if (!r || !r.contains(e)) { t = e; do { if (t.scrollHeight > t.offsetHeight) { r = t, e.fastClickScrollParent = t; break } t = t.parentElement } while (t) } r && (r.fastClickLastScrollTop = r.scrollTop) }, s.prototype.getTargetElementFromEventTarget = function (e) { return e.nodeType === Node.TEXT_NODE ? e.parentNode : e }, s.prototype.onTouchStart = function (e) { var t, r, i; if (1 < e.targetTouches.length) return !0; if (t = this.getTargetElementFromEventTarget(e.target), r = e.targetTouches[0], u) { if ((i = window.getSelection()).rangeCount && !i.isCollapsed) return !0; if (!c) { if (r.identifier && r.identifier === this.lastTouchIdentifier) return e.preventDefault(), !1; this.lastTouchIdentifier = r.identifier, this.updateScrollParent(t) } } return this.trackingClick = !0, this.trackingClickStart = e.timeStamp, this.targetElement = t, this.touchStartX = r.pageX, this.touchStartY = r.pageY, e.timeStamp - this.lastClickTime < this.tapDelay && e.preventDefault(), !0 }, s.prototype.touchHasMoved = function (e) { var t = e.changedTouches[0], r = this.touchBoundary; return Math.abs(t.pageX - this.touchStartX) > r || Math.abs(t.pageY - this.touchStartY) > r }, s.prototype.onTouchMove = function (e) { return this.trackingClick && (this.targetElement === this.getTargetElementFromEventTarget(e.target) && !this.touchHasMoved(e) || (this.trackingClick = !1, this.targetElement = null)), !0 }, s.prototype.findControl = function (e) { return void 0 !== e.control ? e.control : e.htmlFor ? document.getElementById(e.htmlFor) : e.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea") }, s.prototype.onTouchEnd = function (e) { var t, r, i, n, o, a = this.targetElement; if (!this.trackingClick) return !0; if (e.timeStamp - this.lastClickTime < this.tapDelay) return this.cancelNextClick = !0; if (e.timeStamp - this.trackingClickStart > this.tapTimeout) return !0; if (this.cancelNextClick = !1, this.lastClickTime = e.timeStamp, r = this.trackingClickStart, this.trackingClick = !1, this.trackingClickStart = 0, h && (o = e.changedTouches[0], (a = document.elementFromPoint(o.pageX - window.pageXOffset, o.pageY - window.pageYOffset) || a).fastClickScrollParent = this.targetElement.fastClickScrollParent), "label" === (i = a.tagName.toLowerCase())) { if (t = this.findControl(a)) { if (this.focus(a), l) return !1; a = t } } else if (this.needsFocus(a)) return 100 < e.timeStamp - r || u && window.top !== window && "input" === i ? this.targetElement = null : (this.focus(a), this.sendClick(a, e), u && "select" === i || (this.targetElement = null, e.preventDefault())), !1; return !(!u || c || !(n = a.fastClickScrollParent) || n.fastClickLastScrollTop === n.scrollTop) || (this.needsClick(a) || (e.preventDefault(), this.sendClick(a, e)), !1) }, s.prototype.onTouchCancel = function () { this.trackingClick = !1, this.targetElement = null }, s.prototype.onMouse = function (e) { return !this.targetElement || (!!e.forwardedTouchEvent || (!e.cancelable || (!(!this.needsClick(this.targetElement) || this.cancelNextClick) || (e.stopImmediatePropagation ? e.stopImmediatePropagation() : e.propagationStopped = !0, e.stopPropagation(), e.preventDefault(), !1)))) }, s.prototype.onClick = function (e) { var t; return this.trackingClick ? (this.targetElement = null, !(this.trackingClick = !1)) : "submit" === e.target.type && 0 === e.detail || ((t = this.onMouse(e)) || (this.targetElement = null), t) }, s.prototype.destroy = function () { var e = this.layer; l && (e.removeEventListener("mouseover", this.onMouse, !0), e.removeEventListener("mousedown", this.onMouse, !0), e.removeEventListener("mouseup", this.onMouse, !0)), e.removeEventListener("click", this.onClick, !0), e.removeEventListener("touchstart", this.onTouchStart, !1), e.removeEventListener("touchmove", this.onTouchMove, !1), e.removeEventListener("touchend", this.onTouchEnd, !1), e.removeEventListener("touchcancel", this.onTouchCancel, !1) }, s.notNeeded = function (e) { var t, r, i; if (void 0 === window.ontouchstart) return !0; if (r = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [, 0])[1]) { if (!l) return !0; if (t = document.querySelector("meta[name=viewport]")) { if (-1 !== t.content.indexOf("user-scalable=no")) return !0; if (31 < r && document.documentElement.scrollWidth <= window.outerWidth) return !0 } } if (n && 10 <= (i = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/))[1] && 3 <= i[2] && (t = document.querySelector("meta[name=viewport]"))) { if (-1 !== t.content.indexOf("user-scalable=no")) return !0; if (document.documentElement.scrollWidth <= window.outerWidth) return !0 } return "none" === e.style.msTouchAction || "manipulation" === e.style.touchAction || (!!(27 <= +(/Firefox\/([0-9]+)/.exec(navigator.userAgent) || [, 0])[1] && (t = document.querySelector("meta[name=viewport]")) && (-1 !== t.content.indexOf("user-scalable=no") || document.documentElement.scrollWidth <= window.outerWidth)) || ("none" === e.style.touchAction || "manipulation" === e.style.touchAction)) }, s.attach = function (e, t) { return new s(e, t) }, "function" == typeof define && "object" == typeof define.amd && define.amd ? define(function () { return s }) : void 0 !== t && t.exports ? (t.exports = s.attach, t.exports.FastClick = s) : window.FastClick = s }() }, {}], 111: [function (e, t, r) { "use strict"; var s = e("safe-buffer").Buffer, i = e("readable-stream").Transform; function n(e) { i.call(this), this._block = s.allocUnsafe(e), this._blockSize = e, this._blockOffset = 0, this._length = [0, 0, 0, 0], this._finalized = !1 } e("inherits")(n, i), n.prototype._transform = function (e, t, r) { var i = null; try { this.update(e, t) } catch (e) { i = e } r(i) }, n.prototype._flush = function (e) { var t = null; try { this.push(this.digest()) } catch (e) { t = e } e(t) }, n.prototype.update = function (e, t) { if (!function (e, t) { if (!s.isBuffer(e) && "string" != typeof e) throw new TypeError(t + " must be a string or a buffer") }(e, "Data"), this._finalized) throw new Error("Digest already called"); s.isBuffer(e) || (e = s.from(e, t)); for (var r = this._block, i = 0; this._blockOffset + e.length - i >= this._blockSize;) { for (var n = this._blockOffset; n < this._blockSize;)r[n++] = e[i++]; this._update(), this._blockOffset = 0 } for (; i < e.length;)r[this._blockOffset++] = e[i++]; for (var o = 0, a = 8 * e.length; 0 < a; ++o)this._length[o] += a, 0 < (a = this._length[o] / 4294967296 | 0) && (this._length[o] -= 4294967296 * a); return this }, n.prototype._update = function () { throw new Error("_update is not implemented") }, n.prototype.digest = function (e) { if (this._finalized) throw new Error("Digest already called"); this._finalized = !0; var t = this._digest(); void 0 !== e && (t = t.toString(e)), this._block.fill(0); for (var r = this._blockOffset = 0; r < 4; ++r)this._length[r] = 0; return t }, n.prototype._digest = function () { throw new Error("_digest is not implemented") }, t.exports = n }, { inherits: 142, "readable-stream": 126, "safe-buffer": 127 }], 112: [function (e, t, r) { arguments[4][48][0].apply(r, arguments) }, { dup: 48 }], 113: [function (e, t, r) { arguments[4][49][0].apply(r, arguments) }, { "./_stream_readable": 115, "./_stream_writable": 117, _process: 161, dup: 49, inherits: 142 }], 114: [function (e, t, r) { arguments[4][50][0].apply(r, arguments) }, { "./_stream_transform": 116, dup: 50, inherits: 142 }], 115: [function (e, t, r) { arguments[4][51][0].apply(r, arguments) }, { "../errors": 112, "./_stream_duplex": 113, "./internal/streams/async_iterator": 118, "./internal/streams/buffer_list": 119, "./internal/streams/destroy": 120, "./internal/streams/from": 122, "./internal/streams/state": 124, "./internal/streams/stream": 125, _process: 161, buffer: 64, dup: 51, events: 108, inherits: 142, "string_decoder/": 196, util: 19 }], 116: [function (e, t, r) { arguments[4][52][0].apply(r, arguments) }, { "../errors": 112, "./_stream_duplex": 113, dup: 52, inherits: 142 }], 117: [function (e, t, r) { arguments[4][53][0].apply(r, arguments) }, { "../errors": 112, "./_stream_duplex": 113, "./internal/streams/destroy": 120, "./internal/streams/state": 124, "./internal/streams/stream": 125, _process: 161, buffer: 64, dup: 53, inherits: 142, "util-deprecate": 199 }], 118: [function (e, t, r) { arguments[4][54][0].apply(r, arguments) }, { "./end-of-stream": 121, _process: 161, dup: 54 }], 119: [function (e, t, r) { arguments[4][55][0].apply(r, arguments) }, { buffer: 64, dup: 55, util: 19 }], 120: [function (e, t, r) { arguments[4][56][0].apply(r, arguments) }, { _process: 161, dup: 56 }], 121: [function (e, t, r) { arguments[4][57][0].apply(r, arguments) }, { "../../../errors": 112, dup: 57 }], 122: [function (e, t, r) { arguments[4][58][0].apply(r, arguments) }, { dup: 58 }], 123: [function (e, t, r) { arguments[4][59][0].apply(r, arguments) }, { "../../../errors": 112, "./end-of-stream": 121, dup: 59 }], 124: [function (e, t, r) { arguments[4][60][0].apply(r, arguments) }, { "../../../errors": 112, dup: 60 }], 125: [function (e, t, r) { arguments[4][61][0].apply(r, arguments) }, { dup: 61, events: 108 }], 126: [function (e, t, r) { arguments[4][62][0].apply(r, arguments) }, { "./lib/_stream_duplex.js": 113, "./lib/_stream_passthrough.js": 114, "./lib/_stream_readable.js": 115, "./lib/_stream_transform.js": 116, "./lib/_stream_writable.js": 117, "./lib/internal/streams/end-of-stream.js": 121, "./lib/internal/streams/pipeline.js": 123, dup: 62 }], 127: [function (e, t, r) { var i = e("buffer"), n = i.Buffer; function o(e, t) { for (var r in e) t[r] = e[r] } function a(e, t, r) { return n(e, t, r) } n.from && n.alloc && n.allocUnsafe && n.allocUnsafeSlow ? t.exports = i : (o(i, r), r.Buffer = a), a.prototype = Object.create(n.prototype), o(n, a), a.from = function (e, t, r) { if ("number" == typeof e) throw new TypeError("Argument must not be a number"); return n(e, t, r) }, a.alloc = function (e, t, r) { if ("number" != typeof e) throw new TypeError("Argument must be a number"); var i = n(e); return void 0 !== t ? "string" == typeof r ? i.fill(t, r) : i.fill(t) : i.fill(0), i }, a.allocUnsafe = function (e) { if ("number" != typeof e) throw new TypeError("Argument must be a number"); return n(e) }, a.allocUnsafeSlow = function (e) { if ("number" != typeof e) throw new TypeError("Argument must be a number"); return i.SlowBuffer(e) } }, { buffer: 64 }], 128: [function (e, t, r) { var i = r; i.utils = e("./hash/utils"), i.common = e("./hash/common"), i.sha = e("./hash/sha"), i.ripemd = e("./hash/ripemd"), i.hmac = e("./hash/hmac"), i.sha1 = i.sha.sha1, i.sha256 = i.sha.sha256, i.sha224 = i.sha.sha224, i.sha384 = i.sha.sha384, i.sha512 = i.sha.sha512, i.ripemd160 = i.ripemd.ripemd160 }, { "./hash/common": 129, "./hash/hmac": 130, "./hash/ripemd": 131, "./hash/sha": 132, "./hash/utils": 139 }], 129: [function (e, t, r) { "use strict"; var n = e("./utils"), i = e("minimalistic-assert"); function o() { this.pending = null, this.pendingTotal = 0, this.blockSize = this.constructor.blockSize, this.outSize = this.constructor.outSize, this.hmacStrength = this.constructor.hmacStrength, this.padLength = this.constructor.padLength / 8, this.endian = "big", this._delta8 = this.blockSize / 8, this._delta32 = this.blockSize / 32 } (r.BlockHash = o).prototype.update = function (e, t) { if (e = n.toArray(e, t), this.pending ? this.pending = this.pending.concat(e) : this.pending = e, this.pendingTotal += e.length, this.pending.length >= this._delta8) { var r = (e = this.pending).length % this._delta8; this.pending = e.slice(e.length - r, e.length), 0 === this.pending.length && (this.pending = null), e = n.join32(e, 0, e.length - r, this.endian); for (var i = 0; i < e.length; i += this._delta32)this._update(e, i, i + this._delta32) } return this }, o.prototype.digest = function (e) { return this.update(this._pad()), i(null === this.pending), this._digest(e) }, o.prototype._pad = function () { var e = this.pendingTotal, t = this._delta8, r = t - (e + this.padLength) % t, i = new Array(r + this.padLength); i[0] = 128; for (var n = 1; n < r; n++)i[n] = 0; if (e <<= 3, "big" === this.endian) { for (var o = 8; o < this.padLength; o++)i[n++] = 0; i[n++] = 0, i[n++] = 0, i[n++] = 0, i[n++] = 0, i[n++] = e >>> 24 & 255, i[n++] = e >>> 16 & 255, i[n++] = e >>> 8 & 255, i[n++] = 255 & e } else for (i[n++] = 255 & e, i[n++] = e >>> 8 & 255, i[n++] = e >>> 16 & 255, i[n++] = e >>> 24 & 255, i[n++] = 0, i[n++] = 0, i[n++] = 0, i[n++] = 0, o = 8; o < this.padLength; o++)i[n++] = 0; return i } }, { "./utils": 139, "minimalistic-assert": 148 }], 130: [function (e, t, r) { "use strict"; var i = e("./utils"), n = e("minimalistic-assert"); function o(e, t, r) { if (!(this instanceof o)) return new o(e, t, r); this.Hash = e, this.blockSize = e.blockSize / 8, this.outSize = e.outSize / 8, this.inner = null, this.outer = null, this._init(i.toArray(t, r)) } (t.exports = o).prototype._init = function (e) { e.length > this.blockSize && (e = (new this.Hash).update(e).digest()), n(e.length <= this.blockSize); for (var t = e.length; t < this.blockSize; t++)e.push(0); for (t = 0; t < e.length; t++)e[t] ^= 54; for (this.inner = (new this.Hash).update(e), t = 0; t < e.length; t++)e[t] ^= 106; this.outer = (new this.Hash).update(e) }, o.prototype.update = function (e, t) { return this.inner.update(e, t), this }, o.prototype.digest = function (e) { return this.outer.update(this.inner.digest()), this.outer.digest(e) } }, { "./utils": 139, "minimalistic-assert": 148 }], 131: [function (e, t, r) { "use strict"; var i = e("./utils"), n = e("./common"), p = i.rotl32, y = i.sum32, m = i.sum32_3, g = i.sum32_4, o = n.BlockHash; function a() { if (!(this instanceof a)) return new a; o.call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.endian = "little" } function b(e, t, r, i) { return e <= 15 ? t ^ r ^ i : e <= 31 ? t & r | ~t & i : e <= 47 ? (t | ~r) ^ i : e <= 63 ? t & i | r & ~i : t ^ (r | ~i) } function v(e) { return e <= 15 ? 0 : e <= 31 ? 1518500249 : e <= 47 ? 1859775393 : e <= 63 ? 2400959708 : 2840853838 } function _(e) { return e <= 15 ? 1352829926 : e <= 31 ? 1548603684 : e <= 47 ? 1836072691 : e <= 63 ? 2053994217 : 0 } i.inherits(a, o), (r.ripemd160 = a).blockSize = 512, a.outSize = 160, a.hmacStrength = 192, a.padLength = 64, a.prototype._update = function (e, t) { for (var r = u = this.h[0], i = f = this.h[1], n = d = this.h[2], o = h = this.h[3], a = c = this.h[4], s = 0; s < 80; s++)var l = y(p(g(u, b(s, f, d, h), e[w[s] + t], v(s)), E[s]), c), u = c, c = h, h = p(d, 10), d = f, f = l, l = y(p(g(r, b(79 - s, i, n, o), e[S[s] + t], _(s)), x[s]), a), r = a, a = o, o = p(n, 10), n = i, i = l; l = m(this.h[1], d, o), this.h[1] = m(this.h[2], h, a), this.h[2] = m(this.h[3], c, r), this.h[3] = m(this.h[4], u, i), this.h[4] = m(this.h[0], f, n), this.h[0] = l }, a.prototype._digest = function (e) { return "hex" === e ? i.toHex32(this.h, "little") : i.split32(this.h, "little") }; var w = [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], S = [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], E = [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], x = [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] }, { "./common": 129, "./utils": 139 }], 132: [function (e, t, r) { "use strict"; r.sha1 = e("./sha/1"), r.sha224 = e("./sha/224"), r.sha256 = e("./sha/256"), r.sha384 = e("./sha/384"), r.sha512 = e("./sha/512") }, { "./sha/1": 133, "./sha/224": 134, "./sha/256": 135, "./sha/384": 136, "./sha/512": 137 }], 133: [function (e, t, r) { "use strict"; var i = e("../utils"), n = e("../common"), o = e("./common"), h = i.rotl32, d = i.sum32, f = i.sum32_5, p = o.ft_1, a = n.BlockHash, y = [1518500249, 1859775393, 2400959708, 3395469782]; function s() { if (!(this instanceof s)) return new s; a.call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.W = new Array(80) } i.inherits(s, a), (t.exports = s).blockSize = 512, s.outSize = 160, s.hmacStrength = 80, s.padLength = 64, s.prototype._update = function (e, t) { for (var r = this.W, i = 0; i < 16; i++)r[i] = e[t + i]; for (; i < r.length; i++)r[i] = h(r[i - 3] ^ r[i - 8] ^ r[i - 14] ^ r[i - 16], 1); for (var n = this.h[0], o = this.h[1], a = this.h[2], s = this.h[3], l = this.h[4], i = 0; i < r.length; i++)var u = ~~(i / 20), c = f(h(n, 5), p(u, o, a, s), l, r[i], y[u]), l = s, s = a, a = h(o, 30), o = n, n = c; this.h[0] = d(this.h[0], n), this.h[1] = d(this.h[1], o), this.h[2] = d(this.h[2], a), this.h[3] = d(this.h[3], s), this.h[4] = d(this.h[4], l) }, s.prototype._digest = function (e) { return "hex" === e ? i.toHex32(this.h, "big") : i.split32(this.h, "big") } }, { "../common": 129, "../utils": 139, "./common": 138 }], 134: [function (e, t, r) { "use strict"; var i = e("../utils"), n = e("./256"); function o() { if (!(this instanceof o)) return new o; n.call(this), this.h = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428] } i.inherits(o, n), (t.exports = o).blockSize = 512, o.outSize = 224, o.hmacStrength = 192, o.padLength = 64, o.prototype._digest = function (e) { return "hex" === e ? i.toHex32(this.h.slice(0, 7), "big") : i.split32(this.h.slice(0, 7), "big") } }, { "../utils": 139, "./256": 135 }], 135: [function (e, t, r) { "use strict"; var i = e("../utils"), n = e("../common"), o = e("./common"), p = e("minimalistic-assert"), y = i.sum32, m = i.sum32_4, g = i.sum32_5, b = o.ch32, v = o.maj32, _ = o.s0_256, w = o.s1_256, S = o.g0_256, E = o.g1_256, a = n.BlockHash, s = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298]; function l() { if (!(this instanceof l)) return new l; a.call(this), this.h = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], this.k = s, this.W = new Array(64) } i.inherits(l, a), (t.exports = l).blockSize = 512, l.outSize = 256, l.hmacStrength = 192, l.padLength = 64, l.prototype._update = function (e, t) { for (var r = this.W, i = 0; i < 16; i++)r[i] = e[t + i]; for (; i < r.length; i++)r[i] = m(E(r[i - 2]), r[i - 7], S(r[i - 15]), r[i - 16]); var n = this.h[0], o = this.h[1], a = this.h[2], s = this.h[3], l = this.h[4], u = this.h[5], c = this.h[6], h = this.h[7]; for (p(this.k.length === r.length), i = 0; i < r.length; i++)var d = g(h, w(l), b(l, u, c), this.k[i], r[i]), f = y(_(n), v(n, o, a)), h = c, c = u, u = l, l = y(s, d), s = a, a = o, o = n, n = y(d, f); this.h[0] = y(this.h[0], n), this.h[1] = y(this.h[1], o), this.h[2] = y(this.h[2], a), this.h[3] = y(this.h[3], s), this.h[4] = y(this.h[4], l), this.h[5] = y(this.h[5], u), this.h[6] = y(this.h[6], c), this.h[7] = y(this.h[7], h) }, l.prototype._digest = function (e) { return "hex" === e ? i.toHex32(this.h, "big") : i.split32(this.h, "big") } }, { "../common": 129, "../utils": 139, "./common": 138, "minimalistic-assert": 148 }], 136: [function (e, t, r) { "use strict"; var i = e("../utils"), n = e("./512"); function o() { if (!(this instanceof o)) return new o; n.call(this), this.h = [3418070365, 3238371032, 1654270250, 914150663, 2438529370, 812702999, 355462360, 4144912697, 1731405415, 4290775857, 2394180231, 1750603025, 3675008525, 1694076839, 1203062813, 3204075428] } i.inherits(o, n), (t.exports = o).blockSize = 1024, o.outSize = 384, o.hmacStrength = 192, o.padLength = 128, o.prototype._digest = function (e) { return "hex" === e ? i.toHex32(this.h.slice(0, 12), "big") : i.split32(this.h.slice(0, 12), "big") } }, { "../utils": 139, "./512": 137 }], 137: [function (e, t, r) { "use strict"; var i = e("../utils"), n = e("../common"), D = e("minimalistic-assert"), o = i.rotr64_hi, a = i.rotr64_lo, s = i.shr64_hi, l = i.shr64_lo, B = i.sum64, O = i.sum64_hi, U = i.sum64_lo, d = i.sum64_4_hi, f = i.sum64_4_lo, N = i.sum64_5_hi, H = i.sum64_5_lo, u = n.BlockHash, c = [1116352408, 3609767458, 1899447441, 602891725, 3049323471, 3964484399, 3921009573, 2173295548, 961987163, 4081628472, 1508970993, 3053834265, 2453635748, 2937671579, 2870763221, 3664609560, 3624381080, 2734883394, 310598401, 1164996542, 607225278, 1323610764, 1426881987, 3590304994, 1925078388, 4068182383, 2162078206, 991336113, 2614888103, 633803317, 3248222580, 3479774868, 3835390401, 2666613458, 4022224774, 944711139, 264347078, 2341262773, 604807628, 2007800933, 770255983, 1495990901, 1249150122, 1856431235, 1555081692, 3175218132, 1996064986, 2198950837, 2554220882, 3999719339, 2821834349, 766784016, 2952996808, 2566594879, 3210313671, 3203337956, 3336571891, 1034457026, 3584528711, 2466948901, 113926993, 3758326383, 338241895, 168717936, 666307205, 1188179964, 773529912, 1546045734, 1294757372, 1522805485, 1396182291, 2643833823, 1695183700, 2343527390, 1986661051, 1014477480, 2177026350, 1206759142, 2456956037, 344077627, 2730485921, 1290863460, 2820302411, 3158454273, 3259730800, 3505952657, 3345764771, 106217008, 3516065817, 3606008344, 3600352804, 1432725776, 4094571909, 1467031594, 275423344, 851169720, 430227734, 3100823752, 506948616, 1363258195, 659060556, 3750685593, 883997877, 3785050280, 958139571, 3318307427, 1322822218, 3812723403, 1537002063, 2003034995, 1747873779, 3602036899, 1955562222, 1575990012, 2024104815, 1125592928, 2227730452, 2716904306, 2361852424, 442776044, 2428436474, 593698344, 2756734187, 3733110249, 3204031479, 2999351573, 3329325298, 3815920427, 3391569614, 3928383900, 3515267271, 566280711, 3940187606, 3454069534, 4118630271, 4000239992, 116418474, 1914138554, 174292421, 2731055270, 289380356, 3203993006, 460393269, 320620315, 685471733, 587496836, 852142971, 1086792851, 1017036298, 365543100, 1126000580, 2618297676, 1288033470, 3409855158, 1501505948, 4234509866, 1607167915, 987167468, 1816402316, 1246189591]; function h() { if (!(this instanceof h)) return new h; u.call(this), this.h = [1779033703, 4089235720, 3144134277, 2227873595, 1013904242, 4271175723, 2773480762, 1595750129, 1359893119, 2917565137, 2600822924, 725511199, 528734635, 4215389547, 1541459225, 327033209], this.k = c, this.W = new Array(160) } function j(e, t, r, i, n) { var o = e & r ^ ~e & n; return o < 0 && (o += 4294967296), o } function F(e, t, r, i, n, o) { var a = t & i ^ ~t & o; return a < 0 && (a += 4294967296), a } function q(e, t, r, i, n) { var o = e & r ^ e & n ^ r & n; return o < 0 && (o += 4294967296), o } function V(e, t, r, i, n, o) { var a = t & i ^ t & o ^ i & o; return a < 0 && (a += 4294967296), a } function z(e, t) { var r = o(e, t, 28) ^ o(t, e, 2) ^ o(t, e, 7); return r < 0 && (r += 4294967296), r } function K(e, t) { var r = a(e, t, 28) ^ a(t, e, 2) ^ a(t, e, 7); return r < 0 && (r += 4294967296), r } function W(e, t) { var r = o(e, t, 14) ^ o(e, t, 18) ^ o(t, e, 9); return r < 0 && (r += 4294967296), r } function X(e, t) { var r = a(e, t, 14) ^ a(e, t, 18) ^ a(t, e, 9); return r < 0 && (r += 4294967296), r } function p(e, t) { var r = o(e, t, 1) ^ o(e, t, 8) ^ s(e, t, 7); return r < 0 && (r += 4294967296), r } function y(e, t) { var r = a(e, t, 1) ^ a(e, t, 8) ^ l(e, t, 7); return r < 0 && (r += 4294967296), r } function m(e, t) { var r = o(e, t, 19) ^ o(t, e, 29) ^ s(e, t, 6); return r < 0 && (r += 4294967296), r } function g(e, t) { var r = a(e, t, 19) ^ a(t, e, 29) ^ l(e, t, 6); return r < 0 && (r += 4294967296), r } i.inherits(h, u), (t.exports = h).blockSize = 1024, h.outSize = 512, h.hmacStrength = 192, h.padLength = 128, h.prototype._prepareBlock = function (e, t) { for (var r = this.W, i = 0; i < 32; i++)r[i] = e[t + i]; for (; i < r.length; i += 2) { var n = m(r[i - 4], r[i - 3]), o = g(r[i - 4], r[i - 3]), a = r[i - 14], s = r[i - 13], l = p(r[i - 30], r[i - 29]), u = y(r[i - 30], r[i - 29]), c = r[i - 32], h = r[i - 31]; r[i] = d(n, o, a, s, l, u, c, h), r[i + 1] = f(n, o, a, s, l, u, c, h) } }, h.prototype._update = function (e, t) { this._prepareBlock(e, t); var r = this.W, i = this.h[0], n = this.h[1], o = this.h[2], a = this.h[3], s = this.h[4], l = this.h[5], u = this.h[6], c = this.h[7], h = this.h[8], d = this.h[9], f = this.h[10], p = this.h[11], y = this.h[12], m = this.h[13], g = this.h[14], b = this.h[15]; D(this.k.length === r.length); for (var v = 0; v < r.length; v += 2)var _ = g, w = b, S = W(h, d), E = X(h, d), x = j(h, 0, f, 0, y), T = F(0, d, 0, p, 0, m), M = this.k[v], k = this.k[v + 1], P = r[v], C = r[v + 1], A = N(_, w, S, E, x, T, M, k, P, C), I = H(_, w, S, E, x, T, M, k, P, C), _ = z(i, n), w = K(i, n), S = q(i, 0, o, 0, s), E = V(0, n, 0, a, 0, l), R = O(_, w, S, E), L = U(_, w, S, E), g = y, b = m, y = f, m = p, f = h, p = d, h = O(u, c, A, I), d = U(c, c, A, I), u = s, c = l, s = o, l = a, o = i, a = n, i = O(A, I, R, L), n = U(A, I, R, L); B(this.h, 0, i, n), B(this.h, 2, o, a), B(this.h, 4, s, l), B(this.h, 6, u, c), B(this.h, 8, h, d), B(this.h, 10, f, p), B(this.h, 12, y, m), B(this.h, 14, g, b) }, h.prototype._digest = function (e) { return "hex" === e ? i.toHex32(this.h, "big") : i.split32(this.h, "big") } }, { "../common": 129, "../utils": 139, "minimalistic-assert": 148 }], 138: [function (e, t, r) { "use strict"; var i = e("../utils").rotr32; function n(e, t, r) { return e & t ^ ~e & r } function o(e, t, r) { return e & t ^ e & r ^ t & r } function a(e, t, r) { return e ^ t ^ r } r.ft_1 = function (e, t, r, i) { return 0 === e ? n(t, r, i) : 1 === e || 3 === e ? t ^ r ^ i : 2 === e ? o(t, r, i) : void 0 }, r.ch32 = n, r.maj32 = o, r.p32 = a, r.s0_256 = function (e) { return i(e, 2) ^ i(e, 13) ^ i(e, 22) }, r.s1_256 = function (e) { return i(e, 6) ^ i(e, 11) ^ i(e, 25) }, r.g0_256 = function (e) { return i(e, 7) ^ i(e, 18) ^ e >>> 3 }, r.g1_256 = function (e) { return i(e, 17) ^ i(e, 19) ^ e >>> 10 } }, { "../utils": 139 }], 139: [function (e, t, r) { "use strict"; var u = e("minimalistic-assert"), i = e("inherits"); function o(e) { return (e >>> 24 | e >>> 8 & 65280 | e << 8 & 16711680 | (255 & e) << 24) >>> 0 } function n(e) { return 1 === e.length ? "0" + e : e } function a(e) { return 7 === e.length ? "0" + e : 6 === e.length ? "00" + e : 5 === e.length ? "000" + e : 4 === e.length ? "0000" + e : 3 === e.length ? "00000" + e : 2 === e.length ? "000000" + e : 1 === e.length ? "0000000" + e : e } r.inherits = i, r.toArray = function (e, t) { if (Array.isArray(e)) return e.slice(); if (!e) return []; var r, i, n = []; if ("string" == typeof e) if (t) { if ("hex" === t) for ((e = e.replace(/[^a-z0-9]+/gi, "")).length % 2 != 0 && (e = "0" + e), a = 0; a < e.length; a += 2)n.push(parseInt(e[a] + e[a + 1], 16)) } else for (var o = 0, a = 0; a < e.length; a++) { var s = e.charCodeAt(a); s < 128 ? n[o++] = s : s < 2048 ? (n[o++] = s >> 6 | 192, n[o++] = 63 & s | 128) : (i = a, 55296 != (64512 & (r = e).charCodeAt(i)) || i < 0 || i + 1 >= r.length || 56320 != (64512 & r.charCodeAt(i + 1)) ? n[o++] = s >> 12 | 224 : (s = 65536 + ((1023 & s) << 10) + (1023 & e.charCodeAt(++a)), n[o++] = s >> 18 | 240, n[o++] = s >> 12 & 63 | 128), n[o++] = s >> 6 & 63 | 128, n[o++] = 63 & s | 128) } else for (a = 0; a < e.length; a++)n[a] = 0 | e[a]; return n }, r.toHex = function (e) { for (var t = "", r = 0; r < e.length; r++)t += n(e[r].toString(16)); return t }, r.htonl = o, r.toHex32 = function (e, t) { for (var r = "", i = 0; i < e.length; i++) { var n = e[i]; "little" === t && (n = o(n)), r += a(n.toString(16)) } return r }, r.zero2 = n, r.zero8 = a, r.join32 = function (e, t, r, i) { var n = r - t; u(n % 4 == 0); for (var o = new Array(n / 4), a = 0, s = t; a < o.length; a++, s += 4) { var l = "big" === i ? e[s] << 24 | e[s + 1] << 16 | e[s + 2] << 8 | e[s + 3] : e[s + 3] << 24 | e[s + 2] << 16 | e[s + 1] << 8 | e[s]; o[a] = l >>> 0 } return o }, r.split32 = function (e, t) { for (var r = new Array(4 * e.length), i = 0, n = 0; i < e.length; i++, n += 4) { var o = e[i]; "big" === t ? (r[n] = o >>> 24, r[n + 1] = o >>> 16 & 255, r[n + 2] = o >>> 8 & 255, r[n + 3] = 255 & o) : (r[n + 3] = o >>> 24, r[n + 2] = o >>> 16 & 255, r[n + 1] = o >>> 8 & 255, r[n] = 255 & o) } return r }, r.rotr32 = function (e, t) { return e >>> t | e << 32 - t }, r.rotl32 = function (e, t) { return e << t | e >>> 32 - t }, r.sum32 = function (e, t) { return e + t >>> 0 }, r.sum32_3 = function (e, t, r) { return e + t + r >>> 0 }, r.sum32_4 = function (e, t, r, i) { return e + t + r + i >>> 0 }, r.sum32_5 = function (e, t, r, i, n) { return e + t + r + i + n >>> 0 }, r.sum64 = function (e, t, r, i) { var n = e[t], o = i + e[t + 1] >>> 0, a = (o < i ? 1 : 0) + r + n; e[t] = a >>> 0, e[t + 1] = o }, r.sum64_hi = function (e, t, r, i) { return (t + i >>> 0 < t ? 1 : 0) + e + r >>> 0 }, r.sum64_lo = function (e, t, r, i) { return t + i >>> 0 }, r.sum64_4_hi = function (e, t, r, i, n, o, a, s) { var l = 0, u = t; return l += (u = u + i >>> 0) < t ? 1 : 0, l += (u = u + o >>> 0) < o ? 1 : 0, e + r + n + a + (l += (u = u + s >>> 0) < s ? 1 : 0) >>> 0 }, r.sum64_4_lo = function (e, t, r, i, n, o, a, s) { return t + i + o + s >>> 0 }, r.sum64_5_hi = function (e, t, r, i, n, o, a, s, l, u) { var c = 0, h = t; return c += (h = h + i >>> 0) < t ? 1 : 0, c += (h = h + o >>> 0) < o ? 1 : 0, c += (h = h + s >>> 0) < s ? 1 : 0, e + r + n + a + l + (c += (h = h + u >>> 0) < u ? 1 : 0) >>> 0 }, r.sum64_5_lo = function (e, t, r, i, n, o, a, s, l, u) { return t + i + o + s + u >>> 0 }, r.rotr64_hi = function (e, t, r) { return (t << 32 - r | e >>> r) >>> 0 }, r.rotr64_lo = function (e, t, r) { return (e << 32 - r | t >>> r) >>> 0 }, r.shr64_hi = function (e, t, r) { return e >>> r }, r.shr64_lo = function (e, t, r) { return (e << 32 - r | t >>> r) >>> 0 } }, { inherits: 142, "minimalistic-assert": 148 }], 140: [function (e, t, r) { "use strict"; var i = e("hash.js"), a = e("minimalistic-crypto-utils"), n = e("minimalistic-assert"); function o(e) { if (!(this instanceof o)) return new o(e); this.hash = e.hash, this.predResist = !!e.predResist, this.outLen = this.hash.outSize, this.minEntropy = e.minEntropy || this.hash.hmacStrength, this._reseed = null, this.reseedInterval = null, this.K = null, this.V = null; var t = a.toArray(e.entropy, e.entropyEnc || "hex"), r = a.toArray(e.nonce, e.nonceEnc || "hex"), i = a.toArray(e.pers, e.persEnc || "hex"); n(t.length >= this.minEntropy / 8, "Not enough entropy. Minimum is: " + this.minEntropy + " bits"), this._init(t, r, i) } (t.exports = o).prototype._init = function (e, t, r) { var i = e.concat(t).concat(r); this.K = new Array(this.outLen / 8), this.V = new Array(this.outLen / 8); for (var n = 0; n < this.V.length; n++)this.K[n] = 0, this.V[n] = 1; this._update(i), this._reseed = 1, this.reseedInterval = 281474976710656 }, o.prototype._hmac = function () { return new i.hmac(this.hash, this.K) }, o.prototype._update = function (e) { var t = this._hmac().update(this.V).update([0]); e && (t = t.update(e)), this.K = t.digest(), this.V = this._hmac().update(this.V).digest(), e && (this.K = this._hmac().update(this.V).update([1]).update(e).digest(), this.V = this._hmac().update(this.V).digest()) }, o.prototype.reseed = function (e, t, r, i) { "string" != typeof t && (i = r, r = t, t = null), e = a.toArray(e, t), r = a.toArray(r, i), n(e.length >= this.minEntropy / 8, "Not enough entropy. Minimum is: " + this.minEntropy + " bits"), this._update(e.concat(r || [])), this._reseed = 1 }, o.prototype.generate = function (e, t, r, i) { if (this._reseed > this.reseedInterval) throw new Error("Reseed is required"); "string" != typeof t && (i = r, r = t, t = null), r && (r = a.toArray(r, i || "hex"), this._update(r)); for (var n = []; n.length < e;)this.V = this._hmac().update(this.V).digest(), n = n.concat(this.V); var o = n.slice(0, e); return this._update(r), this._reseed++, a.encode(o, t) } }, { "hash.js": 128, "minimalistic-assert": 148, "minimalistic-crypto-utils": 149 }], 141: [function (e, t, r) { r.read = function (e, t, r, i, n) { var o, a, s = 8 * n - i - 1, l = (1 << s) - 1, u = l >> 1, c = -7, h = r ? n - 1 : 0, d = r ? -1 : 1, f = e[t + h]; for (h += d, o = f & (1 << -c) - 1, f >>= -c, c += s; 0 < c; o = 256 * o + e[t + h], h += d, c -= 8); for (a = o & (1 << -c) - 1, o >>= -c, c += i; 0 < c; a = 256 * a + e[t + h], h += d, c -= 8); if (0 === o) o = 1 - u; else { if (o === l) return a ? NaN : 1 / 0 * (f ? -1 : 1); a += Math.pow(2, i), o -= u } return (f ? -1 : 1) * a * Math.pow(2, o - i) }, r.write = function (e, t, r, i, n, o) { var a, s, l, u = 8 * o - n - 1, c = (1 << u) - 1, h = c >> 1, d = 23 === n ? Math.pow(2, -24) - Math.pow(2, -77) : 0, f = i ? 0 : o - 1, p = i ? 1 : -1, y = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0; for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (s = isNaN(t) ? 1 : 0, a = c) : (a = Math.floor(Math.log(t) / Math.LN2), t * (l = Math.pow(2, -a)) < 1 && (a--, l *= 2), 2 <= (t += 1 <= a + h ? d / l : d * Math.pow(2, 1 - h)) * l && (a++, l /= 2), c <= a + h ? (s = 0, a = c) : 1 <= a + h ? (s = (t * l - 1) * Math.pow(2, n), a += h) : (s = t * Math.pow(2, h - 1) * Math.pow(2, n), a = 0)); 8 <= n; e[r + f] = 255 & s, f += p, s /= 256, n -= 8); for (a = a << n | s, u += n; 0 < u; e[r + f] = 255 & a, f += p, a /= 256, u -= 8); e[r + f - p] |= 128 * y } }, {}], 142: [function (e, t, r) { "function" == typeof Object.create ? t.exports = function (e, t) { t && (e.super_ = t, e.prototype = Object.create(t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } })) } : t.exports = function (e, t) { var r; t && (e.super_ = t, (r = function () { }).prototype = t.prototype, e.prototype = new r, e.prototype.constructor = e) } }, {}], 143: [function (e, t, r) { function i(e) { return !!e.constructor && "function" == typeof e.constructor.isBuffer && e.constructor.isBuffer(e) } t.exports = function (e) { return null != e && (i(e) || "function" == typeof (t = e).readFloatLE && "function" == typeof t.slice && i(t.slice(0, 0)) || !!e._isBuffer); var t } }, {}], 144: [function (e, t, r) { var i = {}.toString; t.exports = Array.isArray || function (e) { return "[object Array]" == i.call(e) } }, {}], 145: [function (e, t, r) { "use strict"; var i = e("inherits"), n = e("hash-base"), o = e("safe-buffer").Buffer, a = new Array(16); function s() { n.call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878 } function l(e, t) { return e << t | e >>> 32 - t } function u(e, t, r, i, n, o, a) { return l(e + (t & r | ~t & i) + n + o | 0, a) + t | 0 } function c(e, t, r, i, n, o, a) { return l(e + (t & i | r & ~i) + n + o | 0, a) + t | 0 } function h(e, t, r, i, n, o, a) { return l(e + (t ^ r ^ i) + n + o | 0, a) + t | 0 } function d(e, t, r, i, n, o, a) { return l(e + (r ^ (t | ~i)) + n + o | 0, a) + t | 0 } i(s, n), s.prototype._update = function () { for (var e = a, t = 0; t < 16; ++t)e[t] = this._block.readInt32LE(4 * t); var r = u(r = this._a, o = this._b, n = this._c, i = this._d, e[0], 3614090360, 7), i = u(i, r, o, n, e[1], 3905402710, 12), n = u(n, i, r, o, e[2], 606105819, 17), o = u(o, n, i, r, e[3], 3250441966, 22); r = u(r, o, n, i, e[4], 4118548399, 7), i = u(i, r, o, n, e[5], 1200080426, 12), n = u(n, i, r, o, e[6], 2821735955, 17), o = u(o, n, i, r, e[7], 4249261313, 22), r = u(r, o, n, i, e[8], 1770035416, 7), i = u(i, r, o, n, e[9], 2336552879, 12), n = u(n, i, r, o, e[10], 4294925233, 17), o = u(o, n, i, r, e[11], 2304563134, 22), r = u(r, o, n, i, e[12], 1804603682, 7), i = u(i, r, o, n, e[13], 4254626195, 12), n = u(n, i, r, o, e[14], 2792965006, 17), r = c(r, o = u(o, n, i, r, e[15], 1236535329, 22), n, i, e[1], 4129170786, 5), i = c(i, r, o, n, e[6], 3225465664, 9), n = c(n, i, r, o, e[11], 643717713, 14), o = c(o, n, i, r, e[0], 3921069994, 20), r = c(r, o, n, i, e[5], 3593408605, 5), i = c(i, r, o, n, e[10], 38016083, 9), n = c(n, i, r, o, e[15], 3634488961, 14), o = c(o, n, i, r, e[4], 3889429448, 20), r = c(r, o, n, i, e[9], 568446438, 5), i = c(i, r, o, n, e[14], 3275163606, 9), n = c(n, i, r, o, e[3], 4107603335, 14), o = c(o, n, i, r, e[8], 1163531501, 20), r = c(r, o, n, i, e[13], 2850285829, 5), i = c(i, r, o, n, e[2], 4243563512, 9), n = c(n, i, r, o, e[7], 1735328473, 14), r = h(r, o = c(o, n, i, r, e[12], 2368359562, 20), n, i, e[5], 4294588738, 4), i = h(i, r, o, n, e[8], 2272392833, 11), n = h(n, i, r, o, e[11], 1839030562, 16), o = h(o, n, i, r, e[14], 4259657740, 23), r = h(r, o, n, i, e[1], 2763975236, 4), i = h(i, r, o, n, e[4], 1272893353, 11), n = h(n, i, r, o, e[7], 4139469664, 16), o = h(o, n, i, r, e[10], 3200236656, 23), r = h(r, o, n, i, e[13], 681279174, 4), i = h(i, r, o, n, e[0], 3936430074, 11), n = h(n, i, r, o, e[3], 3572445317, 16), o = h(o, n, i, r, e[6], 76029189, 23), r = h(r, o, n, i, e[9], 3654602809, 4), i = h(i, r, o, n, e[12], 3873151461, 11), n = h(n, i, r, o, e[15], 530742520, 16), r = d(r, o = h(o, n, i, r, e[2], 3299628645, 23), n, i, e[0], 4096336452, 6), i = d(i, r, o, n, e[7], 1126891415, 10), n = d(n, i, r, o, e[14], 2878612391, 15), o = d(o, n, i, r, e[5], 4237533241, 21), r = d(r, o, n, i, e[12], 1700485571, 6), i = d(i, r, o, n, e[3], 2399980690, 10), n = d(n, i, r, o, e[10], 4293915773, 15), o = d(o, n, i, r, e[1], 2240044497, 21), r = d(r, o, n, i, e[8], 1873313359, 6), i = d(i, r, o, n, e[15], 4264355552, 10), n = d(n, i, r, o, e[6], 2734768916, 15), o = d(o, n, i, r, e[13], 1309151649, 21), r = d(r, o, n, i, e[4], 4149444226, 6), i = d(i, r, o, n, e[11], 3174756917, 10), n = d(n, i, r, o, e[2], 718787259, 15), o = d(o, n, i, r, e[9], 3951481745, 21), this._a = this._a + r | 0, this._b = this._b + o | 0, this._c = this._c + n | 0, this._d = this._d + i | 0 }, s.prototype._digest = function () { this._block[this._blockOffset++] = 128, 56 < this._blockOffset && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update(); var e = o.allocUnsafe(16); return e.writeInt32LE(this._a, 0), e.writeInt32LE(this._b, 4), e.writeInt32LE(this._c, 8), e.writeInt32LE(this._d, 12), e }, t.exports = s }, { "hash-base": 111, inherits: 142, "safe-buffer": 186 }], 146: [function (e, t, r) { var f = e("bn.js"), i = e("brorand"); function n(e) { this.rand = e || new i.Rand } (t.exports = n).create = function (e) { return new n(e) }, n.prototype._randbelow = function (e) { var t = e.bitLength(), r = Math.ceil(t / 8); do { var i = new f(this.rand.generate(r)) } while (0 <= i.cmp(e)); return i }, n.prototype._randrange = function (e, t) { var r = t.sub(e); return e.add(this._randbelow(r)) }, n.prototype.test = function (e, t, r) { var i = e.bitLength(), n = f.mont(e), o = new f(1).toRed(n); t = t || Math.max(1, i / 48 | 0); for (var a = e.subn(1), s = 0; !a.testn(s); s++); for (var l = e.shrn(s), u = a.toRed(n); 0 < t; t--) { var c = this._randrange(new f(2), a); r && r(c); var h = c.toRed(n).redPow(l); if (0 !== h.cmp(o) && 0 !== h.cmp(u)) { for (var d = 1; d < s; d++) { if (0 === (h = h.redSqr()).cmp(o)) return !1; if (0 === h.cmp(u)) break } if (d === s) return !1 } } return !0 }, n.prototype.getDivisor = function (e, t) { var r = e.bitLength(), i = f.mont(e), n = new f(1).toRed(i); t = t || Math.max(1, r / 48 | 0); for (var o = e.subn(1), a = 0; !o.testn(a); a++); for (var s = e.shrn(a), l = o.toRed(i); 0 < t; t--) { var u = this._randrange(new f(2), o), c = e.gcd(u); if (0 !== c.cmpn(1)) return c; var h = u.toRed(i).redPow(s); if (0 !== h.cmp(n) && 0 !== h.cmp(l)) { for (var d = 1; d < a; d++) { if (0 === (h = h.redSqr()).cmp(n)) return h.fromRed().subn(1).gcd(e); if (0 === h.cmp(l)) break } if (d === a) return (h = h.redSqr()).fromRed().subn(1).gcd(e) } } return !1 } }, { "bn.js": 147, brorand: 18 }], 147: [function (e, t, r) { arguments[4][15][0].apply(r, arguments) }, { buffer: 19, dup: 15 }], 148: [function (e, t, r) { function i(e, t) { if (!e) throw new Error(t || "Assertion failed") } (t.exports = i).equal = function (e, t, r) { if (e != t) throw new Error(r || "Assertion failed: " + e + " != " + t) } }, {}], 149: [function (e, t, r) { "use strict"; var i = r; function n(e) { return 1 === e.length ? "0" + e : e } function o(e) { for (var t = "", r = 0; r < e.length; r++)t += n(e[r].toString(16)); return t } i.toArray = function (e, t) { if (Array.isArray(e)) return e.slice(); if (!e) return []; var r = []; if ("string" != typeof e) { for (var i = 0; i < e.length; i++)r[i] = 0 | e[i]; return r } if ("hex" === t) { (e = e.replace(/[^a-z0-9]+/gi, "")).length % 2 != 0 && (e = "0" + e); for (i = 0; i < e.length; i += 2)r.push(parseInt(e[i] + e[i + 1], 16)) } else for (i = 0; i < e.length; i++) { var n = e.charCodeAt(i), o = n >> 8, a = 255 & n; o ? r.push(o, a) : r.push(a) } return r }, i.zero2 = n, i.toHex = o, i.encode = function (e, t) { return "hex" === t ? o(e) : e } }, {}], 150: [function (e, t, r) { t.exports = { "2.16.840.1.101.3.4.1.1": "aes-128-ecb", "2.16.840.1.101.3.4.1.2": "aes-128-cbc", "2.16.840.1.101.3.4.1.3": "aes-128-ofb", "2.16.840.1.101.3.4.1.4": "aes-128-cfb", "2.16.840.1.101.3.4.1.21": "aes-192-ecb", "2.16.840.1.101.3.4.1.22": "aes-192-cbc", "2.16.840.1.101.3.4.1.23": "aes-192-ofb", "2.16.840.1.101.3.4.1.24": "aes-192-cfb", "2.16.840.1.101.3.4.1.41": "aes-256-ecb", "2.16.840.1.101.3.4.1.42": "aes-256-cbc", "2.16.840.1.101.3.4.1.43": "aes-256-ofb", "2.16.840.1.101.3.4.1.44": "aes-256-cfb" } }, {}], 151: [function (e, t, r) { "use strict"; var i = e("asn1.js"); r.certificate = e("./certificate"); var n = i.define("RSAPrivateKey", function () { this.seq().obj(this.key("version")["int"](), this.key("modulus")["int"](), this.key("publicExponent")["int"](), this.key("privateExponent")["int"](), this.key("prime1")["int"](), this.key("prime2")["int"](), this.key("exponent1")["int"](), this.key("exponent2")["int"](), this.key("coefficient")["int"]()) }); r.RSAPrivateKey = n; var o = i.define("RSAPublicKey", function () { this.seq().obj(this.key("modulus")["int"](), this.key("publicExponent")["int"]()) }); r.RSAPublicKey = o; var a = i.define("SubjectPublicKeyInfo", function () { this.seq().obj(this.key("algorithm").use(s), this.key("subjectPublicKey").bitstr()) }); r.PublicKey = a; var s = i.define("AlgorithmIdentifier", function () { this.seq().obj(this.key("algorithm").objid(), this.key("none").null_().optional(), this.key("curve").objid().optional(), this.key("params").seq().obj(this.key("p")["int"](), this.key("q")["int"](), this.key("g")["int"]()).optional()) }), l = i.define("PrivateKeyInfo", function () { this.seq().obj(this.key("version")["int"](), this.key("algorithm").use(s), this.key("subjectPrivateKey").octstr()) }); r.PrivateKey = l; var u = i.define("EncryptedPrivateKeyInfo", function () { this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(), this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(), this.key("kdeparams").seq().obj(this.key("salt").octstr(), this.key("iters")["int"]())), this.key("cipher").seq().obj(this.key("algo").objid(), this.key("iv").octstr()))), this.key("subjectPrivateKey").octstr()) }); r.EncryptedPrivateKey = u; var c = i.define("DSAPrivateKey", function () { this.seq().obj(this.key("version")["int"](), this.key("p")["int"](), this.key("q")["int"](), this.key("g")["int"](), this.key("pub_key")["int"](), this.key("priv_key")["int"]()) }); r.DSAPrivateKey = c, r.DSAparam = i.define("DSAparam", function () { this["int"]() }); var h = i.define("ECPrivateKey", function () { this.seq().obj(this.key("version")["int"](), this.key("privateKey").octstr(), this.key("parameters").optional().explicit(0).use(d), this.key("publicKey").optional().explicit(1).bitstr()) }); r.ECPrivateKey = h; var d = i.define("ECParameters", function () { this.choice({ namedCurve: this.objid() }) }); r.signature = i.define("signature", function () { this.seq().obj(this.key("r")["int"](), this.key("s")["int"]()) }) }, { "./certificate": 152, "asn1.js": 1 }], 152: [function (e, t, r) { "use strict"; var i = e("asn1.js"), n = i.define("Time", function () { this.choice({ utcTime: this.utctime(), generalTime: this.gentime() }) }), o = i.define("AttributeTypeValue", function () { this.seq().obj(this.key("type").objid(), this.key("value").any()) }), a = i.define("AlgorithmIdentifier", function () { this.seq().obj(this.key("algorithm").objid(), this.key("parameters").optional(), this.key("curve").objid().optional()) }), s = i.define("SubjectPublicKeyInfo", function () { this.seq().obj(this.key("algorithm").use(a), this.key("subjectPublicKey").bitstr()) }), l = i.define("RelativeDistinguishedName", function () { this.setof(o) }), u = i.define("RDNSequence", function () { this.seqof(l) }), c = i.define("Name", function () { this.choice({ rdnSequence: this.use(u) }) }), h = i.define("Validity", function () { this.seq().obj(this.key("notBefore").use(n), this.key("notAfter").use(n)) }), d = i.define("Extension", function () { this.seq().obj(this.key("extnID").objid(), this.key("critical").bool().def(!1), this.key("extnValue").octstr()) }), f = i.define("TBSCertificate", function () { this.seq().obj(this.key("version").explicit(0)["int"]().optional(), this.key("serialNumber")["int"](), this.key("signature").use(a), this.key("issuer").use(c), this.key("validity").use(h), this.key("subject").use(c), this.key("subjectPublicKeyInfo").use(s), this.key("issuerUniqueID").implicit(1).bitstr().optional(), this.key("subjectUniqueID").implicit(2).bitstr().optional(), this.key("extensions").explicit(3).seqof(d).optional()) }), p = i.define("X509Certificate", function () { this.seq().obj(this.key("tbsCertificate").use(f), this.key("signatureAlgorithm").use(a), this.key("signatureValue").bitstr()) }); t.exports = p }, { "asn1.js": 1 }], 153: [function (e, t, r) { var d = /Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m, f = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m, p = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m, y = e("evp_bytestokey"), m = e("browserify-aes"), g = e("safe-buffer").Buffer; t.exports = function (e, t) { var r, i, n, o, a, s, l, u, c = e.toString(), h = c.match(d); return u = h ? (r = "aes" + h[1], i = g.from(h[2], "hex"), n = g.from(h[3].replace(/[\r\n]/g, ""), "base64"), o = y(t, i.slice(0, 8), parseInt(h[1], 10)).key, a = [], s = m.createDecipheriv(r, o, i), a.push(s.update(n)), a.push(s["final"]()), g.concat(a)) : (l = c.match(p), new g(l[2].replace(/[\r\n]/g, ""), "base64")), { tag: c.match(f)[1], data: u } } }, { "browserify-aes": 22, evp_bytestokey: 109, "safe-buffer": 186 }], 154: [function (e, t, r) { var b = e("./asn1"), v = e("./aesid.json"), _ = e("./fixProc"), w = e("browserify-aes"), S = e("pbkdf2"), E = e("safe-buffer").Buffer; function i(e) { var t; "object" != typeof e || E.isBuffer(e) || (t = e.passphrase, e = e.key), "string" == typeof e && (e = E.from(e)); var r, i, n, o, a, s, l, u, c, h, d, f, p, y = _(e, t), m = y.tag, g = y.data; switch (m) { case "CERTIFICATE": i = b.certificate.decode(g, "der").tbsCertificate.subjectPublicKeyInfo; case "PUBLIC KEY": switch (r = (i = i || b.PublicKey.decode(g, "der")).algorithm.algorithm.join(".")) { case "1.2.840.113549.1.1.1": return b.RSAPublicKey.decode(i.subjectPublicKey.data, "der"); case "1.2.840.10045.2.1": return i.subjectPrivateKey = i.subjectPublicKey, { type: "ec", data: i }; case "1.2.840.10040.4.1": return i.algorithm.params.pub_key = b.DSAparam.decode(i.subjectPublicKey.data, "der"), { type: "dsa", data: i.algorithm.params }; default: throw new Error("unknown key id " + r) }throw new Error("unknown key type " + m); case "ENCRYPTED PRIVATE KEY": g = b.EncryptedPrivateKey.decode(g, "der"), o = t, a = (n = g).algorithm.decrypt.kde.kdeparams.salt, s = parseInt(n.algorithm.decrypt.kde.kdeparams.iters.toString(), 10), l = v[n.algorithm.decrypt.cipher.algo.join(".")], u = n.algorithm.decrypt.cipher.iv, c = n.subjectPrivateKey, h = parseInt(l.split("-")[1], 10) / 8, d = S.pbkdf2Sync(o, a, s, h, "sha1"), f = w.createDecipheriv(l, d, u), (p = []).push(f.update(c)), p.push(f["final"]()), g = E.concat(p); case "PRIVATE KEY": switch (r = (i = b.PrivateKey.decode(g, "der")).algorithm.algorithm.join(".")) { case "1.2.840.113549.1.1.1": return b.RSAPrivateKey.decode(i.subjectPrivateKey, "der"); case "1.2.840.10045.2.1": return { curve: i.algorithm.curve, privateKey: b.ECPrivateKey.decode(i.subjectPrivateKey, "der").privateKey }; case "1.2.840.10040.4.1": return i.algorithm.params.priv_key = b.DSAparam.decode(i.subjectPrivateKey, "der"), { type: "dsa", params: i.algorithm.params }; default: throw new Error("unknown key id " + r) }throw new Error("unknown key type " + m); case "RSA PUBLIC KEY": return b.RSAPublicKey.decode(g, "der"); case "RSA PRIVATE KEY": return b.RSAPrivateKey.decode(g, "der"); case "DSA PRIVATE KEY": return { type: "dsa", params: b.DSAPrivateKey.decode(g, "der") }; case "EC PRIVATE KEY": return { curve: (g = b.ECPrivateKey.decode(g, "der")).parameters.value, privateKey: g.privateKey }; default: throw new Error("unknown key type " + m) } } (t.exports = i).signature = b.signature }, { "./aesid.json": 150, "./asn1": 151, "./fixProc": 153, "browserify-aes": 22, pbkdf2: 155, "safe-buffer": 186 }], 155: [function (e, t, r) { r.pbkdf2 = e("./lib/async"), r.pbkdf2Sync = e("./lib/sync") }, { "./lib/async": 156, "./lib/sync": 159 }], 156: [function (e, t, r) { (function (u, c) { var h, d = e("./precondition"), f = e("./default-encoding"), p = e("./sync"), y = e("safe-buffer").Buffer, m = c.crypto && c.crypto.subtle, g = { sha: "SHA-1", "sha-1": "SHA-1", sha1: "SHA-1", sha256: "SHA-256", "sha-256": "SHA-256", sha384: "SHA-384", "sha-384": "SHA-384", "sha-512": "SHA-512", sha512: "SHA-512" }, b = []; function v(e, t, r, i, n) { return m.importKey("raw", e, { name: "PBKDF2" }, !1, ["deriveBits"]).then(function (e) { return m.deriveBits({ name: "PBKDF2", salt: t, iterations: r, hash: { name: n } }, e, i << 3) }).then(function (e) { return y.from(e) }) } t.exports = function (t, r, i, n, o, a) { "function" == typeof o && (a = o, o = void 0); var e, s, l = g[(o = o || "sha1").toLowerCase()]; if (!l || "function" != typeof c.Promise) return u.nextTick(function () { var e; try { e = p(t, r, i, n, o) } catch (e) { return a(e) } a(null, e) }); if (d(t, r, i, n), "function" != typeof a) throw new Error("No callback provided to pbkdf2"); y.isBuffer(t) || (t = y.from(t, f)), y.isBuffer(r) || (r = y.from(r, f)), e = function (e) { if (c.process && !c.process.browser) return Promise.resolve(!1); if (!m || !m.importKey || !m.deriveBits) return Promise.resolve(!1); if (void 0 !== b[e]) return b[e]; var t = v(h = h || y.alloc(8), h, 10, 128, e).then(function () { return !0 })["catch"](function () { return !1 }); return b[e] = t }(l).then(function (e) { return e ? v(t, r, i, n, l) : p(t, r, i, n, o) }), s = a, e.then(function (e) { u.nextTick(function () { s(null, e) }) }, function (e) { u.nextTick(function () { s(e) }) }) } }).call(this, e("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "./default-encoding": 157, "./precondition": 158, "./sync": 159, _process: 161, "safe-buffer": 186 }], 157: [function (e, r, t) { (function (e) { var t; t = e.browser || 6 <= parseInt(e.version.split(".")[0].slice(1), 10) ? "utf-8" : "binary", r.exports = t }).call(this, e("_process")) }, { _process: 161 }], 158: [function (e, t, r) { (function (r) { var n = Math.pow(2, 30) - 1; function o(e, t) { if ("string" != typeof e && !r.isBuffer(e)) throw new TypeError(t + " must be a buffer or string") } t.exports = function (e, t, r, i) { if (o(e, "Password"), o(t, "Salt"), "number" != typeof r) throw new TypeError("Iterations not a number"); if (r < 0) throw new TypeError("Bad iterations"); if ("number" != typeof i) throw new TypeError("Key length not a number"); if (i < 0 || n < i || i != i) throw new TypeError("Bad key length") } }).call(this, { isBuffer: e("../../is-buffer/index.js") }) }, { "../../is-buffer/index.js": 143 }], 159: [function (e, t, r) { var c = e("create-hash/md5"), h = e("ripemd160"), d = e("sha.js"), m = e("./precondition"), g = e("./default-encoding"), b = e("safe-buffer").Buffer, f = b.alloc(128), v = { md5: 16, sha1: 20, sha224: 28, sha256: 32, sha384: 48, sha512: 64, rmd160: 20, ripemd160: 20 }; function _(e, t, r) { var i, n = "rmd160" === (i = e) || "ripemd160" === i ? function (e) { return (new h).update(e).digest() } : "md5" === i ? c : function (e) { return d(i).update(e).digest() }, o = "sha512" === e || "sha384" === e ? 128 : 64; t.length > o ? t = n(t) : t.length < o && (t = b.concat([t, f], o)); for (var a = b.allocUnsafe(o + v[e]), s = b.allocUnsafe(o + v[e]), l = 0; l < o; l++)a[l] = 54 ^ t[l], s[l] = 92 ^ t[l]; var u = b.allocUnsafe(o + r + 4); a.copy(u, 0, 0, o), this.ipad1 = u, this.ipad2 = a, this.opad = s, this.alg = e, this.blocksize = o, this.hash = n, this.size = v[e] } _.prototype.run = function (e, t) { return e.copy(t, this.blocksize), this.hash(t).copy(this.opad, this.blocksize), this.hash(this.opad) }, t.exports = function (e, t, r, i, n) { m(e, t, r, i), b.isBuffer(e) || (e = b.from(e, g)), b.isBuffer(t) || (t = b.from(t, g)); var o = new _(n = n || "sha1", e, t.length), a = b.allocUnsafe(i), s = b.allocUnsafe(t.length + 4); t.copy(s, 0, 0, t.length); for (var l = 0, u = v[n], c = Math.ceil(i / u), h = 1; h <= c; h++) { s.writeUInt32BE(h, t.length); for (var d = o.run(s, o.ipad1), f = d, p = 1; p < r; p++) { f = o.run(f, o.ipad2); for (var y = 0; y < u; y++)d[y] ^= f[y] } d.copy(a, l), l += u } return a } }, { "./default-encoding": 157, "./precondition": 158, "create-hash/md5": 70, ripemd160: 185, "safe-buffer": 186, "sha.js": 188 }], 160: [function (e, t, r) { (function (s) { "use strict"; void 0 === s || !s.version || 0 === s.version.indexOf("v0.") || 0 === s.version.indexOf("v1.") && 0 !== s.version.indexOf("v1.8.") ? t.exports = { nextTick: function (e, t, r, i) { if ("function" != typeof e) throw new TypeError('"callback" argument must be a function'); var n, o, a = arguments.length; switch (a) { case 0: case 1: return s.nextTick(e); case 2: return s.nextTick(function () { e.call(null, t) }); case 3: return s.nextTick(function () { e.call(null, t, r) }); case 4: return s.nextTick(function () { e.call(null, t, r, i) }); default: for (n = new Array(a - 1), o = 0; o < n.length;)n[o++] = arguments[o]; return s.nextTick(function () { e.apply(null, n) }) } } } : t.exports = s }).call(this, e("_process")) }, { _process: 161 }], 161: [function (e, t, r) { var i, n, o = t.exports = {}; function a() { throw new Error("setTimeout has not been defined") } function s() { throw new Error("clearTimeout has not been defined") } function l(t) { if (i === setTimeout) return setTimeout(t, 0); if ((i === a || !i) && setTimeout) return i = setTimeout, setTimeout(t, 0); try { return i(t, 0) } catch (e) { try { return i.call(null, t, 0) } catch (e) { return i.call(this, t, 0) } } } !function () { try { i = "function" == typeof setTimeout ? setTimeout : a } catch (e) { i = a } try { n = "function" == typeof clearTimeout ? clearTimeout : s } catch (e) { n = s } }(); var u, c = [], h = !1, d = -1; function f() { h && u && (h = !1, u.length ? c = u.concat(c) : d = -1, c.length && p()) } function p() { if (!h) { var e = l(f); h = !0; for (var t = c.length; t;) { for (u = c, c = []; ++d < t;)u && u[d].run(); d = -1, t = c.length } u = null, h = !1, function (t) { if (n === clearTimeout) return clearTimeout(t); if ((n === s || !n) && clearTimeout) return n = clearTimeout, clearTimeout(t); try { n(t) } catch (e) { try { return n.call(null, t) } catch (e) { return n.call(this, t) } } }(e) } } function y(e, t) { this.fun = e, this.array = t } function m() { } o.nextTick = function (e) { var t = new Array(arguments.length - 1); if (1 < arguments.length) for (var r = 1; r < arguments.length; r++)t[r - 1] = arguments[r]; c.push(new y(e, t)), 1 !== c.length || h || l(p) }, y.prototype.run = function () { this.fun.apply(null, this.array) }, o.title = "browser", o.browser = !0, o.env = {}, o.argv = [], o.version = "", o.versions = {}, o.on = m, o.addListener = m, o.once = m, o.off = m, o.removeListener = m, o.removeAllListeners = m, o.emit = m, o.prependListener = m, o.prependOnceListener = m, o.listeners = function (e) { return [] }, o.binding = function (e) { throw new Error("process.binding is not supported") }, o.cwd = function () { return "/" }, o.chdir = function (e) { throw new Error("process.chdir is not supported") }, o.umask = function () { return 0 } }, {}], 162: [function (e, t, r) { r.publicEncrypt = e("./publicEncrypt"), r.privateDecrypt = e("./privateDecrypt"), r.privateEncrypt = function (e, t) { return r.publicEncrypt(e, t, !0) }, r.publicDecrypt = function (e, t) { return r.privateDecrypt(e, t, !0) } }, { "./privateDecrypt": 165, "./publicEncrypt": 166 }], 163: [function (e, t, r) { var o = e("create-hash"), a = e("safe-buffer").Buffer; function s(e) { var t = a.allocUnsafe(4); return t.writeUInt32BE(e, 0), t } t.exports = function (e, t) { for (var r, i = a.alloc(0), n = 0; i.length < t;)r = s(n++), i = a.concat([i, o("sha1").update(e).update(r).digest()]); return i.slice(0, t) } }, { "create-hash": 69, "safe-buffer": 186 }], 164: [function (e, t, r) { arguments[4][15][0].apply(r, arguments) }, { buffer: 19, dup: 15 }], 165: [function (e, t, r) { var l = e("parse-asn1"), c = e("./mgf"), h = e("./xor"), u = e("bn.js"), d = e("browserify-rsa"), f = e("create-hash"), p = e("./withPublic"), y = e("safe-buffer").Buffer; t.exports = function (e, t, r) { var i = e.padding ? e.padding : r ? 1 : 4, n = l(e), o = n.modulus.byteLength(); if (t.length > o || 0 <= new u(t).cmp(n.modulus)) throw new Error("decryption error"); s = r ? p(new u(t), n) : d(t, n); var a = y.alloc(o - s.length), s = y.concat([a, s], o); if (4 === i) return function (e, t) { var r = e.modulus.byteLength(), i = f("sha1").update(y.alloc(0)).digest(), n = i.length; if (0 !== t[0]) throw new Error("decryption error"); var o = t.slice(1, n + 1), a = t.slice(n + 1), s = h(o, c(a, n)), l = h(a, c(s, r - n - 1)); if (function (e, t) { e = y.from(e), t = y.from(t); var r = 0, i = e.length; e.length !== t.length && (r++, i = Math.min(e.length, t.length)); var n = -1; for (; ++n < i;)r += e[n] ^ t[n]; return r }(i, l.slice(0, n))) throw new Error("decryption error"); var u = n; for (; 0 === l[u];)u++; if (1 === l[u++]) return l.slice(u); throw new Error("decryption error") }(n, s); if (1 === i) return function (e, t) { var r = e.slice(0, 2), i = 2, n = 0; for (; 0 !== e[i++];)if (i >= e.length) { n++; break } var o = e.slice(2, i - 1); ("0002" !== r.toString("hex") && !t || "0001" !== r.toString("hex") && t) && n++; o.length < 8 && n++; if (n) throw new Error("decryption error"); return e.slice(i) }(s, r); if (3 === i) return s; throw new Error("unknown padding") } }, { "./mgf": 163, "./withPublic": 167, "./xor": 168, "bn.js": 164, "browserify-rsa": 40, "create-hash": 69, "parse-asn1": 154, "safe-buffer": 186 }], 166: [function (e, t, r) { var a = e("parse-asn1"), d = e("randombytes"), f = e("create-hash"), p = e("./mgf"), y = e("./xor"), m = e("bn.js"), s = e("./withPublic"), l = e("browserify-rsa"), g = e("safe-buffer").Buffer; t.exports = function (e, t, r) { var i, n = e.padding ? e.padding : r ? 1 : 4, o = a(e); if (4 === n) i = function (e, t) { var r = e.modulus.byteLength(), i = t.length, n = f("sha1").update(g.alloc(0)).digest(), o = n.length, a = 2 * o; if (r - a - 2 < i) throw new Error("message too long"); var s = g.alloc(r - i - a - 2), l = r - o - 1, u = d(o), c = y(g.concat([n, s, g.alloc(1, 1), t], l), p(u, l)), h = y(u, p(c, o)); return new m(g.concat([g.alloc(1), h, c], r)) }(o, t); else if (1 === n) i = function (e, t, r) { var i, n = t.length, o = e.modulus.byteLength(); if (o - 11 < n) throw new Error("message too long"); i = r ? g.alloc(o - n - 3, 255) : function (e) { var t, r = g.allocUnsafe(e), i = 0, n = d(2 * e), o = 0; for (; i < e;)o === n.length && (n = d(2 * e), o = 0), (t = n[o++]) && (r[i++] = t); return r }(o - n - 3); return new m(g.concat([g.from([0, r ? 1 : 2]), i, g.alloc(1), t], o)) }(o, t, r); else { if (3 !== n) throw new Error("unknown padding"); if (0 <= (i = new m(t)).cmp(o.modulus)) throw new Error("data too long for modulus") } return (r ? l : s)(i, o) } }, { "./mgf": 163, "./withPublic": 167, "./xor": 168, "bn.js": 164, "browserify-rsa": 40, "create-hash": 69, "parse-asn1": 154, randombytes: 169, "safe-buffer": 186 }], 167: [function (e, t, r) { var i = e("bn.js"), n = e("safe-buffer").Buffer; t.exports = function (e, t) { return n.from(e.toRed(i.mont(t.modulus)).redPow(new i(t.publicExponent)).fromRed().toArray()) } }, { "bn.js": 164, "safe-buffer": 186 }], 168: [function (e, t, r) { t.exports = function (e, t) { for (var r = e.length, i = -1; ++i < r;)e[i] ^= t[i]; return e } }, {}], 169: [function (t, r, e) { (function (n, e) { "use strict"; var o = t("safe-buffer").Buffer, a = e.crypto || e.msCrypto; a && a.getRandomValues ? r.exports = function (e, t) { if (4294967295 < e) throw new RangeError("requested too many random bytes"); var r = o.allocUnsafe(e); if (0 < e) if (65536 < e) for (var i = 0; i < e; i += 65536)a.getRandomValues(r.slice(i, i + 65536)); else a.getRandomValues(r); return "function" != typeof t ? r : n.nextTick(function () { t(null, r) }) } : r.exports = function () { throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11") } }).call(this, t("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { _process: 161, "safe-buffer": 186 }], 170: [function (r, e, f) { (function (a, n) { "use strict"; function e() { throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11") } var t = r("safe-buffer"), s = r("randombytes"), o = t.Buffer, i = t.kMaxLength, l = n.crypto || n.msCrypto, u = Math.pow(2, 32) - 1; function c(e, t) { if ("number" != typeof e || e != e) throw new TypeError("offset must be a number"); if (u < e || e < 0) throw new TypeError("offset must be a uint32"); if (i < e || t < e) throw new RangeError("offset out of range") } function h(e, t, r) { if ("number" != typeof e || e != e) throw new TypeError("size must be a number"); if (u < e || e < 0) throw new TypeError("size must be a uint32"); if (r < e + t || i < e) throw new RangeError("buffer too small") } function d(r, i, e, n) { if (a.browser) { var t = r.buffer, o = new Uint8Array(t, i, e); return l.getRandomValues(o), n ? void a.nextTick(function () { n(null, r) }) : r } if (!n) return s(e).copy(r, i), r; s(e, function (e, t) { if (e) return n(e); t.copy(r, i), n(null, r) }) } l && l.getRandomValues || !a.browser ? (f.randomFill = function (e, t, r, i) { if (!(o.isBuffer(e) || e instanceof n.Uint8Array)) throw new TypeError('"buf" argument must be a Buffer or Uint8Array'); if ("function" == typeof t) i = t, t = 0, r = e.length; else if ("function" == typeof r) i = r, r = e.length - t; else if ("function" != typeof i) throw new TypeError('"cb" argument must be a function'); return c(t, e.length), h(r, t, e.length), d(e, t, r, i) }, f.randomFillSync = function (e, t, r) { void 0 === t && (t = 0); if (!(o.isBuffer(e) || e instanceof n.Uint8Array)) throw new TypeError('"buf" argument must be a Buffer or Uint8Array'); c(t, e.length), void 0 === r && (r = e.length - t); return h(r, t, e.length), d(e, t, r) }) : (f.randomFill = e, f.randomFillSync = e) }).call(this, r("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { _process: 161, randombytes: 169, "safe-buffer": 186 }], 171: [function (e, t, r) { t.exports = e("./lib/_stream_duplex.js") }, { "./lib/_stream_duplex.js": 172 }], 172: [function (e, t, r) { "use strict"; var i = e("process-nextick-args"), n = Object.keys || function (e) { var t = []; for (var r in e) t.push(r); return t }; t.exports = h; var o = Object.create(e("core-util-is")); o.inherits = e("inherits"); var a = e("./_stream_readable"), s = e("./_stream_writable"); o.inherits(h, a); for (var l = n(s.prototype), u = 0; u < l.length; u++) { var c = l[u]; h.prototype[c] || (h.prototype[c] = s.prototype[c]) } function h(e) { if (!(this instanceof h)) return new h(e); a.call(this, e), s.call(this, e), e && !1 === e.readable && (this.readable = !1), e && !1 === e.writable && (this.writable = !1), this.allowHalfOpen = !0, e && !1 === e.allowHalfOpen && (this.allowHalfOpen = !1), this.once("end", d) } function d() { this.allowHalfOpen || this._writableState.ended || i.nextTick(f, this) } function f(e) { e.end() } Object.defineProperty(h.prototype, "writableHighWaterMark", { enumerable: !1, get: function () { return this._writableState.highWaterMark } }), Object.defineProperty(h.prototype, "destroyed", { get: function () { return void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed && this._writableState.destroyed) }, set: function (e) { void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed = e, this._writableState.destroyed = e) } }), h.prototype._destroy = function (e, t) { this.push(null), this.end(), i.nextTick(t, e) } }, { "./_stream_readable": 174, "./_stream_writable": 176, "core-util-is": 66, inherits: 142, "process-nextick-args": 160 }], 173: [function (e, t, r) { "use strict"; t.exports = o; var i = e("./_stream_transform"), n = Object.create(e("core-util-is")); function o(e) { if (!(this instanceof o)) return new o(e); i.call(this, e) } n.inherits = e("inherits"), n.inherits(o, i), o.prototype._transform = function (e, t, r) { r(null, e) } }, { "./_stream_transform": 175, "core-util-is": 66, inherits: 142 }], 174: [function (L, D, e) { (function (m, e) { "use strict"; var g = L("process-nextick-args"); D.exports = d; var a, b = L("isarray"); d.ReadableState = o; function v(e, t) { return e.listeners(t).length } L("events").EventEmitter; var n = L("./internal/streams/stream"), u = L("safe-buffer").Buffer, c = e.Uint8Array || function () { }; var t = Object.create(L("core-util-is")); t.inherits = L("inherits"); var s, r = L("util"), _ = void 0, _ = r && r.debuglog ? r.debuglog("stream") : function () { }, l = L("./internal/streams/BufferList"), i = L("./internal/streams/destroy"); t.inherits(d, n); var h = ["error", "close", "destroy", "pause", "resume"]; function o(e, t) { e = e || {}; var r = t instanceof (a = a || L("./_stream_duplex")); this.objectMode = !!e.objectMode, r && (this.objectMode = this.objectMode || !!e.readableObjectMode); var i = e.highWaterMark, n = e.readableHighWaterMark, o = this.objectMode ? 16 : 16384; this.highWaterMark = i || 0 === i ? i : r && (n || 0 === n) ? n : o, this.highWaterMark = Math.floor(this.highWaterMark), this.buffer = new l, this.length = 0, this.pipes = null, this.pipesCount = 0, this.flowing = null, this.ended = !1, this.endEmitted = !1, this.reading = !1, this.sync = !0, this.needReadable = !1, this.emittedReadable = !1, this.readableListening = !1, this.resumeScheduled = !1, this.destroyed = !1, this.defaultEncoding = e.defaultEncoding || "utf8", this.awaitDrain = 0, this.readingMore = !1, this.decoder = null, this.encoding = null, e.encoding && (s = s || L("string_decoder/").StringDecoder, this.decoder = new s(e.encoding), this.encoding = e.encoding) } function d(e) { if (a = a || L("./_stream_duplex"), !(this instanceof d)) return new d(e); this._readableState = new o(e, this), this.readable = !0, e && ("function" == typeof e.read && (this._read = e.read), "function" == typeof e.destroy && (this._destroy = e.destroy)), n.call(this) } function f(e, t, r, i, n) { var o, a, s, l = e._readableState; return null === t ? (l.reading = !1, function (e, t) { if (t.ended) return; { var r; !t.decoder || (r = t.decoder.end()) && r.length && (t.buffer.push(r), t.length += t.objectMode ? 1 : r.length) } t.ended = !0, S(e) }(e, l)) : (n || (o = function (e, t) { var r; (function (e) { return u.isBuffer(e) || e instanceof c })(t) || "string" == typeof t || void 0 === t || e.objectMode || (r = new TypeError("Invalid non-string/buffer chunk")); return r }(l, t)), o ? e.emit("error", o) : l.objectMode || t && 0 < t.length ? ("string" == typeof t || l.objectMode || Object.getPrototypeOf(t) === u.prototype || (a = t, t = u.from(a)), i ? l.endEmitted ? e.emit("error", new Error("stream.unshift() after end event")) : p(e, l, t, !0) : l.ended ? e.emit("error", new Error("stream.push() after EOF")) : (l.reading = !1, l.decoder && !r ? (t = l.decoder.write(t), l.objectMode || 0 !== t.length ? p(e, l, t, !1) : x(e, l)) : p(e, l, t, !1))) : i || (l.reading = !1)), !(s = l).ended && (s.needReadable || s.length < s.highWaterMark || 0 === s.length) } function p(e, t, r, i) { t.flowing && 0 === t.length && !t.sync ? (e.emit("data", r), e.read(0)) : (t.length += t.objectMode ? 1 : r.length, i ? t.buffer.unshift(r) : t.buffer.push(r), t.needReadable && S(e)), x(e, t) } Object.defineProperty(d.prototype, "destroyed", { get: function () { return void 0 !== this._readableState && this._readableState.destroyed }, set: function (e) { this._readableState && (this._readableState.destroyed = e) } }), d.prototype.destroy = i.destroy, d.prototype._undestroy = i.undestroy, d.prototype._destroy = function (e, t) { this.push(null), t(e) }, d.prototype.push = function (e, t) { var r, i = this._readableState; return i.objectMode ? r = !0 : "string" == typeof e && ((t = t || i.defaultEncoding) !== i.encoding && (e = u.from(e, t), t = ""), r = !0), f(this, e, t, !1, r) }, d.prototype.unshift = function (e) { return f(this, e, null, !0, !1) }, d.prototype.isPaused = function () { return !1 === this._readableState.flowing }, d.prototype.setEncoding = function (e) { return s = s || L("string_decoder/").StringDecoder, this._readableState.decoder = new s(e), this._readableState.encoding = e, this }; var y = 8388608; function w(e, t) { return e <= 0 || 0 === t.length && t.ended ? 0 : t.objectMode ? 1 : e != e ? t.flowing && t.length ? t.buffer.head.data.length : t.length : (e > t.highWaterMark && (t.highWaterMark = (y <= (r = e) ? r = y : (r--, r |= r >>> 1, r |= r >>> 2, r |= r >>> 4, r |= r >>> 8, r |= r >>> 16, r++), r)), e <= t.length ? e : t.ended ? t.length : (t.needReadable = !0, 0)); var r } function S(e) { var t = e._readableState; t.needReadable = !1, t.emittedReadable || (_("emitReadable", t.flowing), t.emittedReadable = !0, t.sync ? g.nextTick(E, e) : E(e)) } function E(e) { _("emit readable"), e.emit("readable"), P(e) } function x(e, t) { t.readingMore || (t.readingMore = !0, g.nextTick(T, e, t)) } function T(e, t) { for (var r = t.length; !t.reading && !t.flowing && !t.ended && t.length < t.highWaterMark && (_("maybeReadMore read 0"), e.read(0), r !== t.length);)r = t.length; t.readingMore = !1 } function M(e) { _("readable nexttick read 0"), e.read(0) } function k(e, t) { t.reading || (_("resume read 0"), e.read(0)), t.resumeScheduled = !1, t.awaitDrain = 0, e.emit("resume"), P(e), t.flowing && !t.reading && e.read(0) } function P(e) { var t = e._readableState; for (_("flow", t.flowing); t.flowing && null !== e.read();); } function C(e, t) { return 0 === t.length ? null : (t.objectMode ? r = t.buffer.shift() : !e || e >= t.length ? (r = t.decoder ? t.buffer.join("") : 1 === t.buffer.length ? t.buffer.head.data : t.buffer.concat(t.length), t.buffer.clear()) : r = function (e, t, r) { var i; e < t.head.data.length ? (i = t.head.data.slice(0, e), t.head.data = t.head.data.slice(e)) : i = e === t.head.data.length ? t.shift() : (r ? function (e, t) { var r = t.head, i = 1, n = r.data; e -= n.length; for (; r = r.next;) { var o = r.data, a = e > o.length ? o.length : e; if (a === o.length ? n += o : n += o.slice(0, e), 0 === (e -= a)) { a === o.length ? (++i, r.next ? t.head = r.next : t.head = t.tail = null) : (t.head = r).data = o.slice(a); break } ++i } return t.length -= i, n } : function (e, t) { var r = u.allocUnsafe(e), i = t.head, n = 1; i.data.copy(r), e -= i.data.length; for (; i = i.next;) { var o = i.data, a = e > o.length ? o.length : e; if (o.copy(r, r.length - e, 0, a), 0 === (e -= a)) { a === o.length ? (++n, i.next ? t.head = i.next : t.head = t.tail = null) : (t.head = i).data = o.slice(a); break } ++n } return t.length -= n, r })(e, t); return i }(e, t.buffer, t.decoder), r); var r } function A(e) { var t = e._readableState; if (0 < t.length) throw new Error('"endReadable()" called on non-empty stream'); t.endEmitted || (t.ended = !0, g.nextTick(I, t, e)) } function I(e, t) { e.endEmitted || 0 !== e.length || (e.endEmitted = !0, t.readable = !1, t.emit("end")) } function R(e, t) { for (var r = 0, i = e.length; r < i; r++)if (e[r] === t) return r; return -1 } d.prototype.read = function (e) { _("read", e), e = parseInt(e, 10); var t = this._readableState, r = e; if (0 !== e && (t.emittedReadable = !1), 0 === e && t.needReadable && (t.length >= t.highWaterMark || t.ended)) return _("read: emitReadable", t.length, t.ended), (0 === t.length && t.ended ? A : S)(this), null; if (0 === (e = w(e, t)) && t.ended) return 0 === t.length && A(this), null; var i, n = t.needReadable; return _("need readable", n), (0 === t.length || t.length - e < t.highWaterMark) && _("length less than watermark", n = !0), t.ended || t.reading ? _("reading or ended", n = !1) : n && (_("do read"), t.reading = !0, t.sync = !0, 0 === t.length && (t.needReadable = !0), this._read(t.highWaterMark), t.sync = !1, t.reading || (e = w(r, t))), null === (i = 0 < e ? C(e, t) : null) ? (t.needReadable = !0, e = 0) : t.length -= e, 0 === t.length && (t.ended || (t.needReadable = !0), r !== e && t.ended && A(this)), null !== i && this.emit("data", i), i }, d.prototype._read = function (e) { this.emit("error", new Error("_read() is not implemented")) }, d.prototype.pipe = function (r, e) { var i = this, n = this._readableState; switch (n.pipesCount) { case 0: n.pipes = r; break; case 1: n.pipes = [n.pipes, r]; break; default: n.pipes.push(r) }n.pipesCount += 1, _("pipe count=%d opts=%j", n.pipesCount, e); var t = (!e || !1 !== e.end) && r !== m.stdout && r !== m.stderr ? a : y; function o(e, t) { _("onunpipe"), e === i && t && !1 === t.hasUnpiped && (t.hasUnpiped = !0, _("cleanup"), r.removeListener("close", f), r.removeListener("finish", p), r.removeListener("drain", l), r.removeListener("error", d), r.removeListener("unpipe", o), i.removeListener("end", a), i.removeListener("end", y), i.removeListener("data", h), u = !0, !n.awaitDrain || r._writableState && !r._writableState.needDrain || l()) } function a() { _("onend"), r.end() } n.endEmitted ? g.nextTick(t) : i.once("end", t), r.on("unpipe", o); var s, l = (s = i, function () { var e = s._readableState; _("pipeOnDrain", e.awaitDrain), e.awaitDrain && e.awaitDrain--, 0 === e.awaitDrain && v(s, "data") && (e.flowing = !0, P(s)) }); r.on("drain", l); var u = !1; var c = !1; function h(e) { _("ondata"), (c = !1) !== r.write(e) || c || ((1 === n.pipesCount && n.pipes === r || 1 < n.pipesCount && -1 !== R(n.pipes, r)) && !u && (_("false write response, pause", i._readableState.awaitDrain), i._readableState.awaitDrain++, c = !0), i.pause()) } function d(e) { _("onerror", e), y(), r.removeListener("error", d), 0 === v(r, "error") && r.emit("error", e) } function f() { r.removeListener("finish", p), y() } function p() { _("onfinish"), r.removeListener("close", f), y() } function y() { _("unpipe"), i.unpipe(r) } return i.on("data", h), function (e, t, r) { if ("function" == typeof e.prependListener) return e.prependListener(t, r); e._events && e._events[t] ? b(e._events[t]) ? e._events[t].unshift(r) : e._events[t] = [r, e._events[t]] : e.on(t, r) }(r, "error", d), r.once("close", f), r.once("finish", p), r.emit("pipe", i), n.flowing || (_("pipe resume"), i.resume()), r }, d.prototype.unpipe = function (e) { var t = this._readableState, r = { hasUnpiped: !1 }; if (0 === t.pipesCount) return this; if (1 === t.pipesCount) return e && e !== t.pipes || (e = e || t.pipes, t.pipes = null, t.pipesCount = 0, t.flowing = !1, e && e.emit("unpipe", this, r)), this; if (!e) { var i = t.pipes, n = t.pipesCount; t.pipes = null, t.pipesCount = 0, t.flowing = !1; for (var o = 0; o < n; o++)i[o].emit("unpipe", this, r); return this } var a = R(t.pipes, e); return -1 === a || (t.pipes.splice(a, 1), --t.pipesCount, 1 === t.pipesCount && (t.pipes = t.pipes[0]), e.emit("unpipe", this, r)), this }, d.prototype.addListener = d.prototype.on = function (e, t) { var r, i = n.prototype.on.call(this, e, t); return "data" === e ? !1 !== this._readableState.flowing && this.resume() : "readable" === e && ((r = this._readableState).endEmitted || r.readableListening || (r.readableListening = r.needReadable = !0, r.emittedReadable = !1, r.reading ? r.length && S(this) : g.nextTick(M, this))), i }, d.prototype.resume = function () { var e, t, r = this._readableState; return r.flowing || (_("resume"), r.flowing = !0, e = this, (t = r).resumeScheduled || (t.resumeScheduled = !0, g.nextTick(k, e, t))), this }, d.prototype.pause = function () { return _("call pause flowing=%j", this._readableState.flowing), !1 !== this._readableState.flowing && (_("pause"), this._readableState.flowing = !1, this.emit("pause")), this }, d.prototype.wrap = function (t) { var r = this, i = this._readableState, n = !1; for (var e in t.on("end", function () { var e; _("wrapped end"), !i.decoder || i.ended || (e = i.decoder.end()) && e.length && r.push(e), r.push(null) }), t.on("data", function (e) { _("wrapped data"), i.decoder && (e = i.decoder.write(e)), i.objectMode && null == e || (i.objectMode || e && e.length) && (r.push(e) || (n = !0, t.pause())) }), t) void 0 === this[e] && "function" == typeof t[e] && (this[e] = function (e) { return function () { return t[e].apply(t, arguments) } }(e)); for (var o = 0; o < h.length; o++)t.on(h[o], this.emit.bind(this, h[o])); return this._read = function (e) { _("wrapped _read", e), n && (n = !1, t.resume()) }, this }, Object.defineProperty(d.prototype, "readableHighWaterMark", { enumerable: !1, get: function () { return this._readableState.highWaterMark } }), d._fromList = C }).call(this, L("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "./_stream_duplex": 172, "./internal/streams/BufferList": 177, "./internal/streams/destroy": 178, "./internal/streams/stream": 179, _process: 161, "core-util-is": 66, events: 108, inherits: 142, isarray: 144, "process-nextick-args": 160, "safe-buffer": 186, "string_decoder/": 180, util: 19 }], 175: [function (e, t, r) { "use strict"; t.exports = o; var i = e("./_stream_duplex"), n = Object.create(e("core-util-is")); function o(e) { if (!(this instanceof o)) return new o(e); i.call(this, e), this._transformState = { afterTransform: function (e, t) { var r = this._transformState; r.transforming = !1; var i = r.writecb; if (!i) return this.emit("error", new Error("write callback called multiple times")); r.writechunk = null, (r.writecb = null) != t && this.push(t), i(e); var n = this._readableState; n.reading = !1, (n.needReadable || n.length < n.highWaterMark) && this._read(n.highWaterMark) }.bind(this), needTransform: !1, transforming: !1, writecb: null, writechunk: null, writeencoding: null }, this._readableState.needReadable = !0, this._readableState.sync = !1, e && ("function" == typeof e.transform && (this._transform = e.transform), "function" == typeof e.flush && (this._flush = e.flush)), this.on("prefinish", a) } function a() { var r = this; "function" == typeof this._flush ? this._flush(function (e, t) { s(r, e, t) }) : s(this, null, null) } function s(e, t, r) { if (t) return e.emit("error", t); if (null != r && e.push(r), e._writableState.length) throw new Error("Calling transform done when ws.length != 0"); if (e._transformState.transforming) throw new Error("Calling transform done when still transforming"); return e.push(null) } n.inherits = e("inherits"), n.inherits(o, i), o.prototype.push = function (e, t) { return this._transformState.needTransform = !1, i.prototype.push.call(this, e, t) }, o.prototype._transform = function (e, t, r) { throw new Error("_transform() is not implemented") }, o.prototype._write = function (e, t, r) { var i, n = this._transformState; n.writecb = r, n.writechunk = e, n.writeencoding = t, n.transforming || (i = this._readableState, (n.needTransform || i.needReadable || i.length < i.highWaterMark) && this._read(i.highWaterMark)) }, o.prototype._read = function (e) { var t = this._transformState; null !== t.writechunk && t.writecb && !t.transforming ? (t.transforming = !0, this._transform(t.writechunk, t.writeencoding, t.afterTransform)) : t.needTransform = !0 }, o.prototype._destroy = function (e, t) { var r = this; i.prototype._destroy.call(this, e, function (e) { t(e), r.emit("close") }) } }, { "./_stream_duplex": 172, "core-util-is": 66, inherits: 142 }], 176: [function (E, x, e) { (function (e, t, r) { "use strict"; var g = E("process-nextick-args"); function h(e) { var t = this; this.next = null, this.entry = null, this.finish = function () { !function (e, t, r) { var i = e.entry; e.entry = null; for (; i;) { var n = i.callback; t.pendingcb--, n(r), i = i.next } t.corkedRequestsFree ? t.corkedRequestsFree.next = e : t.corkedRequestsFree = e }(t, e) } } x.exports = d; var s, l = !e.browser && -1 < ["v0.10", "v0.9."].indexOf(e.version.slice(0, 5)) ? r : g.nextTick; d.WritableState = c; var i = Object.create(E("core-util-is")); i.inherits = E("inherits"); var n = { deprecate: E("util-deprecate") }, o = E("./internal/streams/stream"), b = E("safe-buffer").Buffer, v = t.Uint8Array || function () { }; var a, u = E("./internal/streams/destroy"); function _() { } function c(e, t) { s = s || E("./_stream_duplex"), e = e || {}; var r = t instanceof s; this.objectMode = !!e.objectMode, r && (this.objectMode = this.objectMode || !!e.writableObjectMode); var i = e.highWaterMark, n = e.writableHighWaterMark, o = this.objectMode ? 16 : 16384; this.highWaterMark = i || 0 === i ? i : r && (n || 0 === n) ? n : o, this.highWaterMark = Math.floor(this.highWaterMark), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1; var a = (this.destroyed = !1) === e.decodeStrings; this.decodeStrings = !a, this.defaultEncoding = e.defaultEncoding || "utf8", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = function (e) { !function (e, t) { var r = e._writableState, i = r.sync, n = r.writecb; { var o; (function (e) { e.writing = !1, e.writecb = null, e.length -= e.writelen, e.writelen = 0 })(r), t ? function (e, t, r, i, n) { --t.pendingcb, r ? (g.nextTick(n, i), g.nextTick(S, e, t), e._writableState.errorEmitted = !0, e.emit("error", i)) : (n(i), e._writableState.errorEmitted = !0, e.emit("error", i), S(e, t)) }(e, r, i, t, n) : ((o = y(r)) || r.corked || r.bufferProcessing || !r.bufferedRequest || p(e, r), i ? l(f, e, r, o, n) : f(e, r, o, n)) } }(t, e) }, this.writecb = null, this.writelen = 0, this.bufferedRequest = null, this.lastBufferedRequest = null, this.pendingcb = 0, this.prefinished = !1, this.errorEmitted = !1, this.bufferedRequestCount = 0, this.corkedRequestsFree = new h(this) } function d(e) { if (s = s || E("./_stream_duplex"), !(a.call(d, this) || this instanceof s)) return new d(e); this._writableState = new c(e, this), this.writable = !0, e && ("function" == typeof e.write && (this._write = e.write), "function" == typeof e.writev && (this._writev = e.writev), "function" == typeof e.destroy && (this._destroy = e.destroy), "function" == typeof e["final"] && (this._final = e["final"])), o.call(this) } function w(e, t, r, i, n, o, a) { t.writelen = i, t.writecb = a, t.writing = !0, t.sync = !0, r ? e._writev(n, t.onwrite) : e._write(n, o, t.onwrite), t.sync = !1 } function f(e, t, r, i) { var n, o; r || (n = e, 0 === (o = t).length && o.needDrain && (o.needDrain = !1, n.emit("drain"))), t.pendingcb--, i(), S(e, t) } function p(e, t) { t.bufferProcessing = !0; var r = t.bufferedRequest; if (e._writev && r && r.next) { var i = t.bufferedRequestCount, n = new Array(i), o = t.corkedRequestsFree; o.entry = r; for (var a = 0, s = !0; r;)(n[a] = r).isBuf || (s = !1), r = r.next, a += 1; n.allBuffers = s, w(e, t, !0, t.length, n, "", o.finish), t.pendingcb++, t.lastBufferedRequest = null, o.next ? (t.corkedRequestsFree = o.next, o.next = null) : t.corkedRequestsFree = new h(t), t.bufferedRequestCount = 0 } else { for (; r;) { var l = r.chunk, u = r.encoding, c = r.callback; if (w(e, t, !1, t.objectMode ? 1 : l.length, l, u, c), r = r.next, t.bufferedRequestCount--, t.writing) break } null === r && (t.lastBufferedRequest = null) } t.bufferedRequest = r, t.bufferProcessing = !1 } function y(e) { return e.ending && 0 === e.length && null === e.bufferedRequest && !e.finished && !e.writing } function m(t, r) { t._final(function (e) { r.pendingcb--, e && t.emit("error", e), r.prefinished = !0, t.emit("prefinish"), S(t, r) }) } function S(e, t) { var r, i, n = y(t); return n && (r = e, (i = t).prefinished || i.finalCalled || ("function" == typeof r._final ? (i.pendingcb++, i.finalCalled = !0, g.nextTick(m, r, i)) : (i.prefinished = !0, r.emit("prefinish"))), 0 === t.pendingcb && (t.finished = !0, e.emit("finish"))), n } i.inherits(d, o), c.prototype.getBuffer = function () { for (var e = this.bufferedRequest, t = []; e;)t.push(e), e = e.next; return t }, function () { try { Object.defineProperty(c.prototype, "buffer", { get: n.deprecate(function () { return this.getBuffer() }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003") }) } catch (e) { } }(), "function" == typeof Symbol && Symbol.hasInstance && "function" == typeof Function.prototype[Symbol.hasInstance] ? (a = Function.prototype[Symbol.hasInstance], Object.defineProperty(d, Symbol.hasInstance, { value: function (e) { return !!a.call(this, e) || this === d && (e && e._writableState instanceof c) } })) : a = function (e) { return e instanceof this }, d.prototype.pipe = function () { this.emit("error", new Error("Cannot pipe, not readable")) }, d.prototype.write = function (e, t, r) { var i, n, o, a, s, l, u, c, h, d, f, p = this._writableState, y = !1, m = !p.objectMode && (i = e, b.isBuffer(i) || i instanceof v); return m && !b.isBuffer(e) && (n = e, e = b.from(n)), "function" == typeof t && (r = t, t = null), t = m ? "buffer" : t || p.defaultEncoding, "function" != typeof r && (r = _), p.ended ? (h = this, d = r, f = new Error("write after end"), h.emit("error", f), g.nextTick(d, f)) : (m || (o = this, a = p, l = r, c = !(u = !0), null === (s = e) ? c = new TypeError("May not write null values to stream") : "string" == typeof s || void 0 === s || a.objectMode || (c = new TypeError("Invalid non-string/buffer chunk")), c && (o.emit("error", c), g.nextTick(l, c), u = !1), u)) && (p.pendingcb++, y = function (e, t, r, i, n, o) { { var a; r || (a = function (e, t, r) { e.objectMode || !1 === e.decodeStrings || "string" != typeof t || (t = b.from(t, r)); return t }(t, i, n), i !== a && (r = !0, n = "buffer", i = a)) } var s = t.objectMode ? 1 : i.length; t.length += s; var l = t.length < t.highWaterMark; l || (t.needDrain = !0); { var u; t.writing || t.corked ? (u = t.lastBufferedRequest, t.lastBufferedRequest = { chunk: i, encoding: n, isBuf: r, callback: o, next: null }, u ? u.next = t.lastBufferedRequest : t.bufferedRequest = t.lastBufferedRequest, t.bufferedRequestCount += 1) : w(e, t, !1, s, i, n, o) } return l }(this, p, m, e, t, r)), y }, d.prototype.cork = function () { this._writableState.corked++ }, d.prototype.uncork = function () { var e = this._writableState; e.corked && (e.corked--, e.writing || e.corked || e.finished || e.bufferProcessing || !e.bufferedRequest || p(this, e)) }, d.prototype.setDefaultEncoding = function (e) { if ("string" == typeof e && (e = e.toLowerCase()), !(-1 < ["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((e + "").toLowerCase()))) throw new TypeError("Unknown encoding: " + e); return this._writableState.defaultEncoding = e, this }, Object.defineProperty(d.prototype, "writableHighWaterMark", { enumerable: !1, get: function () { return this._writableState.highWaterMark } }), d.prototype._write = function (e, t, r) { r(new Error("_write() is not implemented")) }, d.prototype._writev = null, d.prototype.end = function (e, t, r) { var i = this._writableState; "function" == typeof e ? (r = e, t = e = null) : "function" == typeof t && (r = t, t = null), null != e && this.write(e, t), i.corked && (i.corked = 1, this.uncork()), i.ending || i.finished || function (e, t, r) { t.ending = !0, S(e, t), r && (t.finished ? g.nextTick(r) : e.once("finish", r)); t.ended = !0, e.writable = !1 }(this, i, r) }, Object.defineProperty(d.prototype, "destroyed", { get: function () { return void 0 !== this._writableState && this._writableState.destroyed }, set: function (e) { this._writableState && (this._writableState.destroyed = e) } }), d.prototype.destroy = u.destroy, d.prototype._undestroy = u.undestroy, d.prototype._destroy = function (e, t) { this.end(), t(e) } }).call(this, E("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, E("timers").setImmediate) }, { "./_stream_duplex": 172, "./internal/streams/destroy": 178, "./internal/streams/stream": 179, _process: 161, "core-util-is": 66, inherits: 142, "process-nextick-args": 160, "safe-buffer": 186, timers: 198, "util-deprecate": 199 }], 177: [function (e, t, r) { "use strict"; var s = e("safe-buffer").Buffer, i = e("util"); function n() { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, n), this.head = null, this.tail = null, this.length = 0 } t.exports = (n.prototype.push = function (e) { var t = { data: e, next: null }; 0 < this.length ? this.tail.next = t : this.head = t, this.tail = t, ++this.length }, n.prototype.unshift = function (e) { var t = { data: e, next: this.head }; 0 === this.length && (this.tail = t), this.head = t, ++this.length }, n.prototype.shift = function () { if (0 !== this.length) { var e = this.head.data; return 1 === this.length ? this.head = this.tail = null : this.head = this.head.next, --this.length, e } }, n.prototype.clear = function () { this.head = this.tail = null, this.length = 0 }, n.prototype.join = function (e) { if (0 === this.length) return ""; for (var t = this.head, r = "" + t.data; t = t.next;)r += e + t.data; return r }, n.prototype.concat = function (e) { if (0 === this.length) return s.alloc(0); if (1 === this.length) return this.head.data; for (var t, r, i, n = s.allocUnsafe(e >>> 0), o = this.head, a = 0; o;)t = o.data, r = n, i = a, t.copy(r, i), a += o.data.length, o = o.next; return n }, n), i && i.inspect && i.inspect.custom && (t.exports.prototype[i.inspect.custom] = function () { var e = i.inspect({ length: this.length }); return this.constructor.name + " " + e }) }, { "safe-buffer": 186, util: 19 }], 178: [function (e, t, r) { "use strict"; var o = e("process-nextick-args"); function a(e, t) { e.emit("error", t) } t.exports = { destroy: function (e, t) { var r = this, i = this._readableState && this._readableState.destroyed, n = this._writableState && this._writableState.destroyed; return i || n ? t ? t(e) : !e || this._writableState && this._writableState.errorEmitted || o.nextTick(a, this, e) : (this._readableState && (this._readableState.destroyed = !0), this._writableState && (this._writableState.destroyed = !0), this._destroy(e || null, function (e) { !t && e ? (o.nextTick(a, r, e), r._writableState && (r._writableState.errorEmitted = !0)) : t && t(e) })), this }, undestroy: function () { this._readableState && (this._readableState.destroyed = !1, this._readableState.reading = !1, this._readableState.ended = !1, this._readableState.endEmitted = !1), this._writableState && (this._writableState.destroyed = !1, this._writableState.ended = !1, this._writableState.ending = !1, this._writableState.finished = !1, this._writableState.errorEmitted = !1) } } }, { "process-nextick-args": 160 }], 179: [function (e, t, r) { arguments[4][61][0].apply(r, arguments) }, { dup: 61, events: 108 }], 180: [function (e, t, r) { "use strict"; var i = e("safe-buffer").Buffer, n = i.isEncoding || function (e) { switch ((e = "" + e) && e.toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "binary": case "base64": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": case "raw": return !0; default: return !1 } }; function o(e) { var t = function (e) { if (!e) return "utf8"; for (var t; ;)switch (e) { case "utf8": case "utf-8": return "utf8"; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return "utf16le"; case "latin1": case "binary": return "latin1"; case "base64": case "ascii": case "hex": return e; default: if (t) return; e = ("" + e).toLowerCase(), t = !0 } }(e); if ("string" != typeof t && (i.isEncoding === n || !n(e))) throw new Error("Unknown encoding: " + e); return t || e } function a(e) { var t; switch (this.encoding = o(e), this.encoding) { case "utf16le": this.text = u, this.end = c, t = 4; break; case "utf8": this.fillLast = l, t = 4; break; case "base64": this.text = h, this.end = d, t = 3; break; default: return this.write = f, void (this.end = p) }this.lastNeed = 0, this.lastTotal = 0, this.lastChar = i.allocUnsafe(t) } function s(e) { return e <= 127 ? 0 : e >> 5 == 6 ? 2 : e >> 4 == 14 ? 3 : e >> 3 == 30 ? 4 : e >> 6 == 2 ? -1 : -2 } function l(e) { var t = this.lastTotal - this.lastNeed, r = function (e, t) { if (128 != (192 & t[0])) return e.lastNeed = 0, "\ufffd"; if (1 < e.lastNeed && 1 < t.length) { if (128 != (192 & t[1])) return e.lastNeed = 1, "\ufffd"; if (2 < e.lastNeed && 2 < t.length && 128 != (192 & t[2])) return e.lastNeed = 2, "\ufffd" } }(this, e); return void 0 !== r ? r : this.lastNeed <= e.length ? (e.copy(this.lastChar, t, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal)) : (e.copy(this.lastChar, t, 0, e.length), void (this.lastNeed -= e.length)) } function u(e, t) { if ((e.length - t) % 2 != 0) return this.lastNeed = 1, this.lastTotal = 2, this.lastChar[0] = e[e.length - 1], e.toString("utf16le", t, e.length - 1); var r = e.toString("utf16le", t); if (r) { var i = r.charCodeAt(r.length - 1); if (55296 <= i && i <= 56319) return this.lastNeed = 2, this.lastTotal = 4, this.lastChar[0] = e[e.length - 2], this.lastChar[1] = e[e.length - 1], r.slice(0, -1) } return r } function c(e) { var t = e && e.length ? this.write(e) : ""; if (this.lastNeed) { var r = this.lastTotal - this.lastNeed; return t + this.lastChar.toString("utf16le", 0, r) } return t } function h(e, t) { var r = (e.length - t) % 3; return 0 == r ? e.toString("base64", t) : (this.lastNeed = 3 - r, this.lastTotal = 3, 1 == r ? this.lastChar[0] = e[e.length - 1] : (this.lastChar[0] = e[e.length - 2], this.lastChar[1] = e[e.length - 1]), e.toString("base64", t, e.length - r)) } function d(e) { var t = e && e.length ? this.write(e) : ""; return this.lastNeed ? t + this.lastChar.toString("base64", 0, 3 - this.lastNeed) : t } function f(e) { return e.toString(this.encoding) } function p(e) { return e && e.length ? this.write(e) : "" } (r.StringDecoder = a).prototype.write = function (e) { if (0 === e.length) return ""; var t, r; if (this.lastNeed) { if (void 0 === (t = this.fillLast(e))) return ""; r = this.lastNeed, this.lastNeed = 0 } else r = 0; return r < e.length ? t ? t + this.text(e, r) : this.text(e, r) : t || "" }, a.prototype.end = function (e) { var t = e && e.length ? this.write(e) : ""; return this.lastNeed ? t + "\ufffd" : t }, a.prototype.text = function (e, t) { var r = function (e, t, r) { var i = t.length - 1; if (i < r) return 0; var n = s(t[i]); if (0 <= n) return 0 < n && (e.lastNeed = n - 1), n; if (--i < r || -2 === n) return 0; if (0 <= (n = s(t[i]))) return 0 < n && (e.lastNeed = n - 2), n; if (--i < r || -2 === n) return 0; if (0 <= (n = s(t[i]))) return 0 < n && (2 === n ? n = 0 : e.lastNeed = n - 3), n; return 0 }(this, e, t); if (!this.lastNeed) return e.toString("utf8", t); this.lastTotal = r; var i = e.length - (r - this.lastNeed); return e.copy(this.lastChar, 0, i), e.toString("utf8", t, i) }, a.prototype.fillLast = function (e) { if (this.lastNeed <= e.length) return e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal); e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, e.length), this.lastNeed -= e.length } }, { "safe-buffer": 186 }], 181: [function (e, t, r) { t.exports = e("./readable").PassThrough }, { "./readable": 182 }], 182: [function (e, t, r) { (((r = t.exports = e("./lib/_stream_readable.js")).Stream = r).Readable = r).Writable = e("./lib/_stream_writable.js"), r.Duplex = e("./lib/_stream_duplex.js"), r.Transform = e("./lib/_stream_transform.js"), r.PassThrough = e("./lib/_stream_passthrough.js") }, { "./lib/_stream_duplex.js": 172, "./lib/_stream_passthrough.js": 173, "./lib/_stream_readable.js": 174, "./lib/_stream_transform.js": 175, "./lib/_stream_writable.js": 176 }], 183: [function (e, t, r) { t.exports = e("./readable").Transform }, { "./readable": 182 }], 184: [function (e, t, r) { t.exports = e("./lib/_stream_writable.js") }, { "./lib/_stream_writable.js": 176 }], 185: [function (e, t, r) { "use strict"; var i = e("buffer").Buffer, n = e("inherits"), o = e("hash-base"), m = new Array(16), g = [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], b = [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], v = [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], _ = [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], w = [0, 1518500249, 1859775393, 2400959708, 2840853838], S = [1352829926, 1548603684, 1836072691, 2053994217, 0]; function a() { o.call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520 } function E(e, t) { return e << t | e >>> 32 - t } function x(e, t, r, i, n, o, a, s) { return E(e + (t ^ r ^ i) + o + a | 0, s) + n | 0 } function T(e, t, r, i, n, o, a, s) { return E(e + (t & r | ~t & i) + o + a | 0, s) + n | 0 } function M(e, t, r, i, n, o, a, s) { return E(e + ((t | ~r) ^ i) + o + a | 0, s) + n | 0 } function k(e, t, r, i, n, o, a, s) { return E(e + (t & i | r & ~i) + o + a | 0, s) + n | 0 } function P(e, t, r, i, n, o, a, s) { return E(e + (t ^ (r | ~i)) + o + a | 0, s) + n | 0 } n(a, o), a.prototype._update = function () { for (var e = m, t = 0; t < 16; ++t)e[t] = this._block.readInt32LE(4 * t); for (var r = 0 | this._a, i = 0 | this._b, n = 0 | this._c, o = 0 | this._d, a = 0 | this._e, s = 0 | this._a, l = 0 | this._b, u = 0 | this._c, c = 0 | this._d, h = 0 | this._e, d = 0; d < 80; d += 1)var f, p = d < 16 ? (f = x(r, i, n, o, a, e[g[d]], w[0], v[d]), P(s, l, u, c, h, e[b[d]], S[0], _[d])) : d < 32 ? (f = T(r, i, n, o, a, e[g[d]], w[1], v[d]), k(s, l, u, c, h, e[b[d]], S[1], _[d])) : d < 48 ? (f = M(r, i, n, o, a, e[g[d]], w[2], v[d]), M(s, l, u, c, h, e[b[d]], S[2], _[d])) : d < 64 ? (f = k(r, i, n, o, a, e[g[d]], w[3], v[d]), T(s, l, u, c, h, e[b[d]], S[3], _[d])) : (f = P(r, i, n, o, a, e[g[d]], w[4], v[d]), x(s, l, u, c, h, e[b[d]], S[4], _[d])), r = a, a = o, o = E(n, 10), n = i, i = f, s = h, h = c, c = E(u, 10), u = l, l = p; var y = this._b + n + c | 0; this._b = this._c + o + h | 0, this._c = this._d + a + s | 0, this._d = this._e + r + l | 0, this._e = this._a + i + u | 0, this._a = y }, a.prototype._digest = function () { this._block[this._blockOffset++] = 128, 56 < this._blockOffset && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update(); var e = i.alloc ? i.alloc(20) : new i(20); return e.writeInt32LE(this._a, 0), e.writeInt32LE(this._b, 4), e.writeInt32LE(this._c, 8), e.writeInt32LE(this._d, 12), e.writeInt32LE(this._e, 16), e }, t.exports = a }, { buffer: 64, "hash-base": 111, inherits: 142 }], 186: [function (e, t, r) { var i = e("buffer"), n = i.Buffer; function o(e, t) { for (var r in e) t[r] = e[r] } function a(e, t, r) { return n(e, t, r) } n.from && n.alloc && n.allocUnsafe && n.allocUnsafeSlow ? t.exports = i : (o(i, r), r.Buffer = a), o(n, a), a.from = function (e, t, r) { if ("number" == typeof e) throw new TypeError("Argument must not be a number"); return n(e, t, r) }, a.alloc = function (e, t, r) { if ("number" != typeof e) throw new TypeError("Argument must be a number"); var i = n(e); return void 0 !== t ? "string" == typeof r ? i.fill(t, r) : i.fill(t) : i.fill(0), i }, a.allocUnsafe = function (e) { if ("number" != typeof e) throw new TypeError("Argument must be a number"); return n(e) }, a.allocUnsafeSlow = function (e) { if ("number" != typeof e) throw new TypeError("Argument must be a number"); return i.SlowBuffer(e) } }, { buffer: 64 }], 187: [function (e, t, r) { var c = e("safe-buffer").Buffer; function i(e, t) { this._block = c.alloc(e), this._finalSize = t, this._blockSize = e, this._len = 0 } i.prototype.update = function (e, t) { "string" == typeof e && (t = t || "utf8", e = c.from(e, t)); for (var r = this._block, i = this._blockSize, n = e.length, o = this._len, a = 0; a < n;) { for (var s = o % i, l = Math.min(n - a, i - s), u = 0; u < l; u++)r[s + u] = e[a + u]; a += l, (o += l) % i == 0 && this._update(r) } return this._len += n, this }, i.prototype.digest = function (e) { var t = this._len % this._blockSize; this._block[t] = 128, this._block.fill(0, 1 + t), t >= this._finalSize && (this._update(this._block), this._block.fill(0)); var r, i, n = 8 * this._len; n <= 4294967295 ? this._block.writeUInt32BE(n, this._blockSize - 4) : (i = (n - (r = (4294967295 & n) >>> 0)) / 4294967296, this._block.writeUInt32BE(i, this._blockSize - 8), this._block.writeUInt32BE(r, this._blockSize - 4)), this._update(this._block); var o = this._hash(); return e ? o.toString(e) : o }, i.prototype._update = function () { throw new Error("_update must be implemented by subclass") }, t.exports = i }, { "safe-buffer": 186 }], 188: [function (e, t, r) { (r = t.exports = function (e) { e = e.toLowerCase(); var t = r[e]; if (!t) throw new Error(e + " is not supported (we accept pull requests)"); return new t }).sha = e("./sha"), r.sha1 = e("crypto-js/sha1"), r.sha224 = e("./sha224"), r.sha256 = e("./sha256"), r.sha384 = e("./sha384"), r.sha512 = e("./sha512") }, { "./sha": 189, "crypto-js/sha1": 190, "./sha224": 191, "./sha256": 192, "./sha384": 193, "./sha512": 194 }], 189: [function (e, t, r) { var i = e("inherits"), n = e("./hash"), o = e("safe-buffer").Buffer, g = [1518500249, 1859775393, -1894007588, -899497514], a = new Array(80); function s() { this.init(), this._w = a, n.call(this, 64, 56) } i(s, n), s.prototype.init = function () { return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this }, s.prototype._update = function (e) { for (var t = this._w, r = 0 | this._a, i = 0 | this._b, n = 0 | this._c, o = 0 | this._d, a = 0 | this._e, s = 0; s < 16; ++s)t[s] = e.readInt32BE(4 * s); for (; s < 80; ++s)t[s] = t[s - 3] ^ t[s - 8] ^ t[s - 14] ^ t[s - 16]; for (var l, u, c, h, d, f, p = 0; p < 80; ++p)var y = ~~(p / 20), m = 0 | ((f = r) << 5 | f >>> 27) + (c = i, h = n, d = o, 0 === (u = y) ? c & h | ~c & d : 2 === u ? c & h | c & d | h & d : c ^ h ^ d) + a + t[p] + g[y], a = o, o = n, n = (l = i) << 30 | l >>> 2, i = r, r = m; this._a = r + this._a | 0, this._b = i + this._b | 0, this._c = n + this._c | 0, this._d = o + this._d | 0, this._e = a + this._e | 0 }, s.prototype._hash = function () { var e = o.allocUnsafe(20); return e.writeInt32BE(0 | this._a, 0), e.writeInt32BE(0 | this._b, 4), e.writeInt32BE(0 | this._c, 8), e.writeInt32BE(0 | this._d, 12), e.writeInt32BE(0 | this._e, 16), e }, t.exports = s }, { "./hash": 187, inherits: 142, "safe-buffer": 186 }], 190: [function (e, t, r) { var i = e("inherits"), n = e("./hash"), o = e("safe-buffer").Buffer, b = [1518500249, 1859775393, -1894007588, -899497514], a = new Array(80); function s() { this.init(), this._w = a, n.call(this, 64, 56) } i(s, n), s.prototype.init = function () { return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this }, s.prototype._update = function (e) { for (var t, r = this._w, i = 0 | this._a, n = 0 | this._b, o = 0 | this._c, a = 0 | this._d, s = 0 | this._e, l = 0; l < 16; ++l)r[l] = e.readInt32BE(4 * l); for (; l < 80; ++l)r[l] = (t = r[l - 3] ^ r[l - 8] ^ r[l - 14] ^ r[l - 16]) << 1 | t >>> 31; for (var u, c, h, d, f, p, y = 0; y < 80; ++y)var m = ~~(y / 20), g = 0 | ((p = i) << 5 | p >>> 27) + (h = n, d = o, f = a, 0 === (c = m) ? h & d | ~h & f : 2 === c ? h & d | h & f | d & f : h ^ d ^ f) + s + r[y] + b[m], s = a, a = o, o = (u = n) << 30 | u >>> 2, n = i, i = g; this._a = i + this._a | 0, this._b = n + this._b | 0, this._c = o + this._c | 0, this._d = a + this._d | 0, this._e = s + this._e | 0 }, s.prototype._hash = function () { var e = o.allocUnsafe(20); return e.writeInt32BE(0 | this._a, 0), e.writeInt32BE(0 | this._b, 4), e.writeInt32BE(0 | this._c, 8), e.writeInt32BE(0 | this._d, 12), e.writeInt32BE(0 | this._e, 16), e }, t.exports = s }, { "./hash": 187, inherits: 142, "safe-buffer": 186 }], 191: [function (e, t, r) { var i = e("inherits"), n = e("./sha256"), o = e("./hash"), a = e("safe-buffer").Buffer, s = new Array(64); function l() { this.init(), this._w = s, o.call(this, 64, 56) } i(l, n), l.prototype.init = function () { return this._a = 3238371032, this._b = 914150663, this._c = 812702999, this._d = 4144912697, this._e = 4290775857, this._f = 1750603025, this._g = 1694076839, this._h = 3204075428, this }, l.prototype._hash = function () { var e = a.allocUnsafe(28); return e.writeInt32BE(this._a, 0), e.writeInt32BE(this._b, 4), e.writeInt32BE(this._c, 8), e.writeInt32BE(this._d, 12), e.writeInt32BE(this._e, 16), e.writeInt32BE(this._f, 20), e.writeInt32BE(this._g, 24), e }, t.exports = l }, { "./hash": 187, "./sha256": 192, inherits: 142, "safe-buffer": 186 }], 192: [function (e, t, r) { var i = e("inherits"), n = e("./hash"), o = e("safe-buffer").Buffer, w = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298], a = new Array(64); function s() { this.init(), this._w = a, n.call(this, 64, 56) } i(s, n), s.prototype.init = function () { return this._a = 1779033703, this._b = 3144134277, this._c = 1013904242, this._d = 2773480762, this._e = 1359893119, this._f = 2600822924, this._g = 528734635, this._h = 1541459225, this }, s.prototype._update = function (e) { for (var t, r, i = this._w, n = 0 | this._a, o = 0 | this._b, a = 0 | this._c, s = 0 | this._d, l = 0 | this._e, u = 0 | this._f, c = 0 | this._g, h = 0 | this._h, d = 0; d < 16; ++d)i[d] = e.readInt32BE(4 * d); for (; d < 64; ++d)i[d] = 0 | (((r = i[d - 2]) >>> 17 | r << 15) ^ (r >>> 19 | r << 13) ^ r >>> 10) + i[d - 7] + (((t = i[d - 15]) >>> 7 | t << 25) ^ (t >>> 18 | t << 14) ^ t >>> 3) + i[d - 16]; for (var f, p, y, m, g, b = 0; b < 64; ++b)var v = h + (((g = l) >>> 6 | g << 26) ^ (g >>> 11 | g << 21) ^ (g >>> 25 | g << 7)) + ((m = c) ^ l & (u ^ m)) + w[b] + i[b] | 0, _ = 0 | (((y = n) >>> 2 | y << 30) ^ (y >>> 13 | y << 19) ^ (y >>> 22 | y << 10)) + ((f = n) & (p = o) | a & (f | p)), h = c, c = u, u = l, l = s + v | 0, s = a, a = o, o = n, n = v + _ | 0; this._a = n + this._a | 0, this._b = o + this._b | 0, this._c = a + this._c | 0, this._d = s + this._d | 0, this._e = l + this._e | 0, this._f = u + this._f | 0, this._g = c + this._g | 0, this._h = h + this._h | 0 }, s.prototype._hash = function () { var e = o.allocUnsafe(32); return e.writeInt32BE(this._a, 0), e.writeInt32BE(this._b, 4), e.writeInt32BE(this._c, 8), e.writeInt32BE(this._d, 12), e.writeInt32BE(this._e, 16), e.writeInt32BE(this._f, 20), e.writeInt32BE(this._g, 24), e.writeInt32BE(this._h, 28), e }, t.exports = s }, { "./hash": 187, inherits: 142, "safe-buffer": 186 }], 193: [function (e, t, r) { var i = e("inherits"), n = e("./sha512"), o = e("./hash"), a = e("safe-buffer").Buffer, s = new Array(160); function l() { this.init(), this._w = s, o.call(this, 128, 112) } i(l, n), l.prototype.init = function () { return this._ah = 3418070365, this._bh = 1654270250, this._ch = 2438529370, this._dh = 355462360, this._eh = 1731405415, this._fh = 2394180231, this._gh = 3675008525, this._hh = 1203062813, this._al = 3238371032, this._bl = 914150663, this._cl = 812702999, this._dl = 4144912697, this._el = 4290775857, this._fl = 1750603025, this._gl = 1694076839, this._hl = 3204075428, this }, l.prototype._hash = function () { var i = a.allocUnsafe(48); function e(e, t, r) { i.writeInt32BE(e, r), i.writeInt32BE(t, r + 4) } return e(this._ah, this._al, 0), e(this._bh, this._bl, 8), e(this._ch, this._cl, 16), e(this._dh, this._dl, 24), e(this._eh, this._el, 32), e(this._fh, this._fl, 40), i }, t.exports = l }, { "./hash": 187, "./sha512": 194, inherits: 142, "safe-buffer": 186 }], 194: [function (e, t, r) { var i = e("inherits"), n = e("./hash"), o = e("safe-buffer").Buffer, $ = [1116352408, 3609767458, 1899447441, 602891725, 3049323471, 3964484399, 3921009573, 2173295548, 961987163, 4081628472, 1508970993, 3053834265, 2453635748, 2937671579, 2870763221, 3664609560, 3624381080, 2734883394, 310598401, 1164996542, 607225278, 1323610764, 1426881987, 3590304994, 1925078388, 4068182383, 2162078206, 991336113, 2614888103, 633803317, 3248222580, 3479774868, 3835390401, 2666613458, 4022224774, 944711139, 264347078, 2341262773, 604807628, 2007800933, 770255983, 1495990901, 1249150122, 1856431235, 1555081692, 3175218132, 1996064986, 2198950837, 2554220882, 3999719339, 2821834349, 766784016, 2952996808, 2566594879, 3210313671, 3203337956, 3336571891, 1034457026, 3584528711, 2466948901, 113926993, 3758326383, 338241895, 168717936, 666307205, 1188179964, 773529912, 1546045734, 1294757372, 1522805485, 1396182291, 2643833823, 1695183700, 2343527390, 1986661051, 1014477480, 2177026350, 1206759142, 2456956037, 344077627, 2730485921, 1290863460, 2820302411, 3158454273, 3259730800, 3505952657, 3345764771, 106217008, 3516065817, 3606008344, 3600352804, 1432725776, 4094571909, 1467031594, 275423344, 851169720, 430227734, 3100823752, 506948616, 1363258195, 659060556, 3750685593, 883997877, 3785050280, 958139571, 3318307427, 1322822218, 3812723403, 1537002063, 2003034995, 1747873779, 3602036899, 1955562222, 1575990012, 2024104815, 1125592928, 2227730452, 2716904306, 2361852424, 442776044, 2428436474, 593698344, 2756734187, 3733110249, 3204031479, 2999351573, 3329325298, 3815920427, 3391569614, 3928383900, 3515267271, 566280711, 3940187606, 3454069534, 4118630271, 4000239992, 116418474, 1914138554, 174292421, 2731055270, 289380356, 3203993006, 460393269, 320620315, 685471733, 587496836, 852142971, 1086792851, 1017036298, 365543100, 1126000580, 2618297676, 1288033470, 3409855158, 1501505948, 4234509866, 1607167915, 987167468, 1816402316, 1246189591], a = new Array(160); function s() { this.init(), this._w = a, n.call(this, 128, 112) } function ee(e, t, r) { return r ^ e & (t ^ r) } function te(e, t, r) { return e & t | r & (e | t) } function re(e, t) { return (e >>> 28 | t << 4) ^ (t >>> 2 | e << 30) ^ (t >>> 7 | e << 25) } function ie(e, t) { return (e >>> 14 | t << 18) ^ (e >>> 18 | t << 14) ^ (t >>> 9 | e << 23) } function ne(e, t) { return e >>> 0 < t >>> 0 ? 1 : 0 } i(s, n), s.prototype.init = function () { return this._ah = 1779033703, this._bh = 3144134277, this._ch = 1013904242, this._dh = 2773480762, this._eh = 1359893119, this._fh = 2600822924, this._gh = 528734635, this._hh = 1541459225, this._al = 4089235720, this._bl = 2227873595, this._cl = 4271175723, this._dl = 1595750129, this._el = 2917565137, this._fl = 725511199, this._gl = 4215389547, this._hl = 327033209, this }, s.prototype._update = function (e) { for (var t, r, i, n, o, a, s, l, u = this._w, c = 0 | this._ah, h = 0 | this._bh, d = 0 | this._ch, f = 0 | this._dh, p = 0 | this._eh, y = 0 | this._fh, m = 0 | this._gh, g = 0 | this._hh, b = 0 | this._al, v = 0 | this._bl, _ = 0 | this._cl, w = 0 | this._dl, S = 0 | this._el, E = 0 | this._fl, x = 0 | this._gl, T = 0 | this._hl, M = 0; M < 32; M += 2)u[M] = e.readInt32BE(4 * M), u[M + 1] = e.readInt32BE(4 * M + 4); for (; M < 160; M += 2) { var k = u[M - 30], P = u[M - 30 + 1], C = ((s = k) >>> 1 | (l = P) << 31) ^ (s >>> 8 | l << 24) ^ s >>> 7, A = ((o = P) >>> 1 | (a = k) << 31) ^ (o >>> 8 | a << 24) ^ (o >>> 7 | a << 25), k = u[M - 4], P = u[M - 4 + 1], I = ((i = k) >>> 19 | (n = P) << 13) ^ (n >>> 29 | i << 3) ^ i >>> 6, R = ((t = P) >>> 19 | (r = k) << 13) ^ (r >>> 29 | t << 3) ^ (t >>> 6 | r << 26), L = u[M - 14], D = u[M - 14 + 1], B = u[M - 32], O = u[M - 32 + 1], U = A + D | 0, N = C + L + ne(U, A) | 0; N = (N = N + I + ne(U = U + R | 0, R) | 0) + B + ne(U = U + O | 0, O) | 0, u[M] = N, u[M + 1] = U } for (var H = 0; H < 160; H += 2) { N = u[H], U = u[H + 1]; var j = te(c, h, d), F = te(b, v, _), q = re(c, b), V = re(b, c), z = ie(p, S), K = ie(S, p), W = $[H + 1], X = ee(p, y, m), G = ee(S, E, x), Y = T + K | 0, Q = g + z + ne(Y, T) | 0; Q = (Q = (Q = Q + X + ne(Y = Y + G | 0, G) | 0) + $[H] + ne(Y = Y + W | 0, W) | 0) + N + ne(Y = Y + U | 0, U) | 0; var J = V + F | 0, Z = q + j + ne(J, V) | 0, g = m, T = x, m = y, x = E, y = p, E = S, p = f + Q + ne(S = w + Y | 0, w) | 0, f = d, w = _, d = h, _ = v, h = c, v = b, c = Q + Z + ne(b = Y + J | 0, Y) | 0 } this._al = this._al + b | 0, this._bl = this._bl + v | 0, this._cl = this._cl + _ | 0, this._dl = this._dl + w | 0, this._el = this._el + S | 0, this._fl = this._fl + E | 0, this._gl = this._gl + x | 0, this._hl = this._hl + T | 0, this._ah = this._ah + c + ne(this._al, b) | 0, this._bh = this._bh + h + ne(this._bl, v) | 0, this._ch = this._ch + d + ne(this._cl, _) | 0, this._dh = this._dh + f + ne(this._dl, w) | 0, this._eh = this._eh + p + ne(this._el, S) | 0, this._fh = this._fh + y + ne(this._fl, E) | 0, this._gh = this._gh + m + ne(this._gl, x) | 0, this._hh = this._hh + g + ne(this._hl, T) | 0 }, s.prototype._hash = function () { var i = o.allocUnsafe(64); function e(e, t, r) { i.writeInt32BE(e, r), i.writeInt32BE(t, r + 4) } return e(this._ah, this._al, 0), e(this._bh, this._bl, 8), e(this._ch, this._cl, 16), e(this._dh, this._dl, 24), e(this._eh, this._el, 32), e(this._fh, this._fl, 40), e(this._gh, this._gl, 48), e(this._hh, this._hl, 56), i }, t.exports = s }, { "./hash": 187, inherits: 142, "safe-buffer": 186 }], 195: [function (e, t, r) { t.exports = i; var c = e("events").EventEmitter; function i() { c.call(this) } e("inherits")(i, c), i.Readable = e("readable-stream/readable.js"), i.Writable = e("readable-stream/writable.js"), i.Duplex = e("readable-stream/duplex.js"), i.Transform = e("readable-stream/transform.js"), i.PassThrough = e("readable-stream/passthrough.js"), (i.Stream = i).prototype.pipe = function (t, e) { var r = this; function i(e) { t.writable && !1 === t.write(e) && r.pause && r.pause() } function n() { r.readable && r.resume && r.resume() } r.on("data", i), t.on("drain", n), t._isStdio || e && !1 === e.end || (r.on("end", a), r.on("close", s)); var o = !1; function a() { o || (o = !0, t.end()) } function s() { o || (o = !0, "function" == typeof t.destroy && t.destroy()) } function l(e) { if (u(), 0 === c.listenerCount(this, "error")) throw e } function u() { r.removeListener("data", i), t.removeListener("drain", n), r.removeListener("end", a), r.removeListener("close", s), r.removeListener("error", l), t.removeListener("error", l), r.removeListener("end", u), r.removeListener("close", u), t.removeListener("close", u) } return r.on("error", l), t.on("error", l), r.on("end", u), r.on("close", u), t.on("close", u), t.emit("pipe", r), t } }, { events: 108, inherits: 142, "readable-stream/duplex.js": 171, "readable-stream/passthrough.js": 181, "readable-stream/readable.js": 182, "readable-stream/transform.js": 183, "readable-stream/writable.js": 184 }], 196: [function (e, t, r) { arguments[4][180][0].apply(r, arguments) }, { dup: 180, "safe-buffer": 197 }], 197: [function (e, t, r) { arguments[4][127][0].apply(r, arguments) }, { buffer: 64, dup: 127 }], 198: [function (l, e, u) { (function (e, t) { var i = l("process/browser.js").nextTick, r = Function.prototype.apply, n = Array.prototype.slice, o = {}, a = 0; function s(e, t) { this._id = e, this._clearFn = t } u.setTimeout = function () { return new s(r.call(setTimeout, window, arguments), clearTimeout) }, u.setInterval = function () { return new s(r.call(setInterval, window, arguments), clearInterval) }, u.clearTimeout = u.clearInterval = function (e) { e.close() }, s.prototype.unref = s.prototype.ref = function () { }, s.prototype.close = function () { this._clearFn.call(window, this._id) }, u.enroll = function (e, t) { clearTimeout(e._idleTimeoutId), e._idleTimeout = t }, u.unenroll = function (e) { clearTimeout(e._idleTimeoutId), e._idleTimeout = -1 }, u._unrefActive = u.active = function (e) { clearTimeout(e._idleTimeoutId); var t = e._idleTimeout; 0 <= t && (e._idleTimeoutId = setTimeout(function () { e._onTimeout && e._onTimeout() }, t)) }, u.setImmediate = "function" == typeof e ? e : function (e) { var t = a++, r = !(arguments.length < 2) && n.call(arguments, 1); return o[t] = !0, i(function () { o[t] && (r ? e.apply(null, r) : e.call(null), u.clearImmediate(t)) }), t }, u.clearImmediate = "function" == typeof t ? t : function (e) { delete o[e] } }).call(this, l("timers").setImmediate, l("timers").clearImmediate) }, { "process/browser.js": 161, timers: 198 }], 199: [function (e, t, r) { (function (r) { function i(e) { try { if (!r.localStorage) return } catch (e) { return } var t = r.localStorage[e]; return null != t && "true" === String(t).toLowerCase() } t.exports = function (e, t) { if (i("noDeprecation")) return e; var r = !1; return function () { if (!r) { if (i("throwDeprecation")) throw new Error(t); i("traceDeprecation") ? console.trace(t) : console.warn(t), r = !0 } return e.apply(this, arguments) } } }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, {}], 200: [function (require, module, exports) { var indexOf = function (e, t) { if (e.indexOf) return e.indexOf(t); for (var r = 0; r < e.length; r++)if (e[r] === t) return r; return -1 }, Object_keys = function (e) { if (Object.keys) return Object.keys(e); var t = []; for (var r in e) t.push(r); return t }, forEach = function (e, t) { if (e.forEach) return e.forEach(t); for (var r = 0; r < e.length; r++)t(e[r], r, e) }, defineProp = function () { try { return Object.defineProperty({}, "_", {}), function (e, t, r) { Object.defineProperty(e, t, { writable: !0, enumerable: !1, configurable: !0, value: r }) } } catch (e) { return function (e, t, r) { e[t] = r } } }(), globals = ["Array", "Boolean", "Date", "Error", "EvalError", "Function", "Infinity", "JSON", "Math", "NaN", "Number", "Object", "RangeError", "ReferenceError", "RegExp", "String", "SyntaxError", "TypeError", "URIError", "decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent", "escape", "eval", "isFinite", "isNaN", "parseFloat", "parseInt", "undefined", "unescape"]; function Context() { } Context.prototype = {}; var Script = exports.Script = function (e) { if (!(this instanceof Script)) return new Script(e); this.code = e }; Script.prototype.runInContext = function (t) { if (!(t instanceof Context)) throw new TypeError("needs a 'context' argument."); var e = document.createElement("iframe"); e.style || (e.style = {}), e.style.display = "none", document.body.appendChild(e); var r = e.contentWindow, i = r.eval, n = r.execScript; !i && n && (n.call(r, "null"), i = r.eval), forEach(Object_keys(t), function (e) { r[e] = t[e] }), forEach(globals, function (e) { t[e] && (r[e] = t[e]) }); var o = Object_keys(r), a = i.call(r, this.code); return forEach(Object_keys(r), function (e) { (e in t || -1 === indexOf(o, e)) && (t[e] = r[e]) }), forEach(globals, function (e) { e in t || defineProp(t, e, r[e]) }), document.body.removeChild(e), a }, Script.prototype.runInThisContext = function () { return eval(this.code) }, Script.prototype.runInNewContext = function (t) { var r = Script.createContext(t), e = this.runInContext(r); return t && forEach(Object_keys(r), function (e) { t[e] = r[e] }), e }, forEach(Object_keys(Script.prototype), function (r) { exports[r] = Script[r] = function (e) { var t = Script(e); return t[r].apply(t, [].slice.call(arguments, 1)) } }), exports.isContext = function (e) { return e instanceof Context }, exports.createScript = function (e) { return exports.Script(e) }, exports.createContext = Script.createContext = function (t) { var r = new Context; return "object" == typeof t && forEach(Object_keys(t), function (e) { r[e] = t[e] }), r } }, {}], 201: [function (e, t, r) { var i = e("../ui/component"), n = (e("../lib/util"), e("../lib/dom")), o = e("../lib/event"), a = (e("../lib/ua"), e("../lang/index")), s = e("../player/base/event/eventtype"), l = i.extend({ init: function (e, t) { i.call(this, e, t), this.className = t.className ? t.className : "prism-auto-stream-selector", this.addClass(this.className) }, createEl: function () { var e = i.prototype.createEl.call(this, "div"); return e.innerHTML = "<div><p class='tip-text'></p></div><div class='operators'><a class='prism-button prism-button-ok' type='button'>" + a.get("OK_Text") + "</a><a class='prism-button prism-button-cancel' target='_blank'>" + a.get("Cancel_Text") + "</a></div>", e }, bindEvent: function () { var i = this; i._player.on(s.Private.AutoStreamShow, function (e) { var t, r = document.querySelector("#" + i.getId() + " .tip-text"); !i._player._getLowerQualityLevel || (t = i._player._getLowerQualityLevel()) && (i._switchUrl = t, r.innerText = a.get("Auto_Stream_Tip_Text").replace("$$", t.item.desc), n.css(i.el(), "display", "block")) }), i._player.on(s.Private.AutoStreamHide, function (e) { document.querySelector("#" + i.getId() + " .tip-text"); n.css(i.el(), "display", "none") }); var e = document.querySelector("#" + i.getId() + " .prism-button-ok"); o.on(e, "click", function () { i._player._changeStream && i._switchUrl && i._player._changeStream(i._switchUrl.index, a.get("Quality_Change_Text")), n.css(i.el(), "display", "none") }); var t = document.querySelector("#" + i.getId() + " .prism-button-cancel"); o.on(t, "click", function () { n.css(i.el(), "display", "none") }) } }); t.exports = l }, { "../lang/index": 210, "../lib/dom": 217, "../lib/event": 218, "../lib/ua": 230, "../lib/util": 232, "../player/base/event/eventtype": 242, "../ui/component": 294 }], 202: [function (e, t, r) { var i = e("../ui/component"), s = e("../lib/dom"), n = e("../lib/event"), o = e("../lib/ua"), a = e("../lib/function"), l = (e("../lang/index"), e("../lib/util")), u = e("../config"), c = e("../lib/playerutil"), h = e("../player/base/event/eventtype"), d = i.extend({ init: function (e, t) { i.call(this, e, t), this.className = t.className ? t.className : "prism-liveshift-progress", this.addClass(this.className), this._liveshiftService = e._liveshiftService }, createEl: function () { var e = i.prototype.createEl.call(this); return e.innerHTML = '<div class="prism-enable-liveshift"><div class="prism-progress-loaded"></div><div class="prism-progress-played"></div><div class="prism-progress-cursor"><img></img></div><p class="prism-progress-time"></p><div class="prism-liveshift-seperator">00:00:00</div></div><div class="prism-disable-liveshift"></div>', e }, bindEvent: function () { var r = this; this.loadedNode = document.querySelector("#" + this.id() + " .prism-progress-loaded"), this.playedNode = document.querySelector("#" + this.id() + " .prism-progress-played"), this.cursorNode = document.querySelector("#" + this.id() + " .prism-progress-cursor"), this.timeNode = document.querySelector("#" + this.id() + " .prism-progress-time"), this.controlNode = document.querySelector("#" + this._player._options.id + " .prism-controlbar"), this.seperatorNode = document.querySelector("#" + this.id() + " .prism-liveshift-seperator"), this.progressNode = document.querySelector("#" + this.id() + " .prism-enable-liveshift"); var e = document.querySelector("#" + this.id() + " .prism-progress-cursor img"), t = "//" + u.domain + "/de/prismplayer/" + u.h5Version + "/skins/default/img/dragcursor.png"; u.domain ? -1 < u.domain.indexOf("localhost") && (t = "//" + u.domain + "/build/skins/default/img/dragcursor.png") : t = this._player && this._player._options && this._player._options.sdkDomain ? this._player._options.sdkDomain + "/de/prismplayer/" + u.h5Version + "/skins/default/img/dragcursor.png" : "de/prismplayer/" + u.h5Version + "/skins/default/img/dragcursor.png", e.src = t, n.on(this.cursorNode, "mousedown", function (e) { r._onMouseDown(e) }), n.on(this.cursorNode, "touchstart", function (e) { r._onMouseDown(e) }), n.on(this.progressNode, "mousemove", function (e) { r._progressMove(e) }), n.on(this.progressNode, "touchmove", function (e) { r._progressMove(e) }), n.on(this._el, "click", function (e) { r._onMouseClick(e) }), this._player.on(h.Private.HideProgress, function (e) { r._hideProgress(e) }), this._player.on(h.Private.CancelHideProgress, function (e) { r._cancelHideProgress(e) }), this._player.on(h.Private.ShowBar, function () { r._updateLayout() }), n.on(this.progressNode, h.Private.MouseOver, function (e) { r._onMouseOver(e) }), n.on(this.progressNode, h.Private.MouseOut, function (e) { r._onMouseOut(e) }), this.bindTimeupdate = a.bind(this, this._onTimeupdate), this._player.on(h.Player.TimeUpdate, this.bindTimeupdate), c.isLiveShift(this._player._options) && this._player.on(h.Player.Play, function () { r._liveshiftService.start(6e4, function (e) { var t = { mediaId: r._player._options.vid ? r._player._options.vid : "", error_code: e.Code, error_msg: e.Message }; r._player.logError(t), r._player.trigger(h.Player.Error, t) }) }), this._player.on(h.Private.LiveShiftQueryCompleted, function () { r._updateSeperator(), r._updateLayout() }), this._player.on(h.Player.Pause, function () { r._liveshiftService.stop() }), o.IS_IPAD ? this.interval = setInterval(function () { r._onProgress() }, 500) : this._player.on(h.Video.Progress, function () { r._onProgress() }) }, _updateSeperator: function () { this._liveshiftService.currentTimeDisplay && (this.seperatorNode.innerText = this._liveshiftService.currentTimeDisplay) }, _updateLayout: function () { var e = this.seperatorNode.offsetWidth, t = this.el().offsetWidth, r = t - e; 0 != e && 0 != r && (s.css(this.progressNode, "width", 100 * (r - 10) / t + "%"), s.css(this.seperatorNode, "right", -1 * (e + 10) + "px")) }, _progressMove: function (e) { var t = this._getSeconds(e), r = this._liveshiftService.availableLiveShiftTime; this.timeNode.innerText = "-" + l.formatTime(r - t); var i = r ? t / r : 0, n = 1 - this.timeNode.clientWidth / this.el().clientWidth; n < i && (i = n), this.timeNode && s.css(this.timeNode, "left", 100 * i + "%") }, _hideProgress: function (e) { n.off(this.cursorNode, "mousedown"), n.off(this.cursorNode, "touchstart") }, _cancelHideProgress: function (e) { var t = this; n.on(this.cursorNode, "mousedown", function (e) { t._onMouseDown(e) }), n.on(this.cursorNode, "touchstart", function (e) { t._onMouseDown(e) }) }, _canSeekable: function (e) { var t = !0; return "function" == typeof this._player.canSeekable && (t = this._player.canSeekable(e)), t }, _onMouseOver: function (e) { this._updateCursorPosition(this._getCurrentTime()), s.css(this.timeNode, "display", "block") }, _onMouseOut: function (e) { s.css(this.timeNode, "display", "none") }, _getSeconds: function (e) { for (var t = this.el().offsetLeft, r = this.el(); r = r.offsetParent;) { var i = s.getTranslateX(r); t += r.offsetLeft + i } var n = (e.touches ? e.touches[0].pageX : e.pageX) - t, o = this.progressNode.offsetWidth, a = this._liveshiftService.availableLiveShiftTime; return sec = a ? n / o * a : 0, sec < 0 && (sec = 0), sec > a && (sec = a), sec }, _onMouseClick: function (e) { var t = this, r = this._getSeconds(e), i = this._liveshiftService.availableLiveShiftTime - r; this._player.trigger(h.Private.SeekStart, { fromTime: this._getCurrentTime() }); var n = this._liveshiftService.getSourceUrl(i), o = t._player._options.source, a = c.isHls(t._player._options.source); a && n == o ? t._player.seek(r) : t._player._loadByUrlInner(n, r, !0), t._player.trigger(h.Private.Play_Btn_Hide), t._liveshiftService.seekTime = r, t._player.trigger(h.Private.EndStart, { toTime: r }), t._updateCursorPosition(r), a && setTimeout(function () { t._player.play() }) }, _onMouseDown: function (e) { var t = this; e.preventDefault(), this._player.trigger(h.Private.SeekStart, { fromTime: this._getCurrentTime() }), n.on(this.controlNode, "mousemove", function (e) { t._onMouseMove(e) }), n.on(this.controlNode, "touchmove", function (e) { t._onMouseMove(e) }), n.on(this.controlNode, "mouseup", function (e) { t._onMouseUp(e) }), n.on(this.controlNode, "touchend", function (e) { t._onMouseUp(e) }) }, _onMouseUp: function (e) { e.preventDefault(), n.off(this.controlNode, "mousemove"), n.off(this.controlNode, "touchmove"), n.off(this._player.tag, "mouseup"), n.off(this._player.tag, "touchend"), n.off(this.controlNode, "mouseup"), n.off(this.controlNode, "touchend"); var t = this._liveshiftService.availableLiveShiftTime, r = this.playedNode.offsetWidth / this.el().offsetWidth * t; this._player.seek(r), this._player.trigger(h.Private.Play_Btn_Hide), this._liveshiftService.seekTime = r, this._player.trigger(h.Private.EndStart, { toTime: r }) }, _onMouseMove: function (e) { e.preventDefault(); var t = this._getSeconds(e); this._updateProgressBar(this.playedNode, t), this._updateCursorPosition(t) }, _onTimeupdate: function (e) { this._updateProgressBar(this.playedNode, this._getCurrentTime()), this._updateCursorPosition(this._getCurrentTime()), this._player.trigger(h.Private.UpdateProgressBar, { time: this._getCurrentTime() }) }, _getCurrentTime: function () { var e = this._liveshiftService.seekTime; return -1 == e && (e = 0), this._player.getCurrentTime() + e }, _onProgress: function (e) { this._player.getDuration() && 1 <= this._player.getBuffered().length && this._updateProgressBar(this.loadedNode, this._player.getBuffered().end(this._player.getBuffered().length - 1)) }, _updateProgressBar: function (e, t) { var r, i; 1 != this._player._switchSourcing && (i = 0, -1 == this._liveshiftService.seekTime ? i = 1 : 1 < (i = (r = this._liveshiftService.availableLiveShiftTime) ? t / r : 0) && (i = 1, this._liveshiftService.seekTime = -1), this.liveShiftStartDisplay, e && s.css(e, "width", 100 * i + "%")) }, _updateCursorPosition: function (e) { var t, r, i, n, o; !this._player.el() || 1 == this._player._switchSourcing || 0 == e && 0 == this._player.tag.readyState || (i = 0, o = 1, t = this._player.el().clientWidth, -1 == this._liveshiftService.seekTime ? i = 1 : 1 < (i = (r = this._liveshiftService.availableLiveShiftTime) ? e / r : 0) && (this._liveshiftService.seekTime = -1), 0 != t && (o = 1 - (n = 18 / t), i -= n), this.cursorNode && (o < i ? (s.css(this.cursorNode, "right", "0px"), s.css(this.cursorNode, "left", "auto")) : (s.css(this.cursorNode, "right", "auto"), s.css(this.cursorNode, "left", 100 * i + "%")))) } }); t.exports = d }, { "../config": 204, "../lang/index": 210, "../lib/dom": 217, "../lib/event": 218, "../lib/function": 219, "../lib/playerutil": 228, "../lib/ua": 230, "../lib/util": 232, "../player/base/event/eventtype": 242, "../ui/component": 294 }], 203: [function (e, t, r) { var i = e("../ui/component"), o = e("../lib/util"), a = e("../player/base/event/eventtype"), n = i.extend({ init: function (e, t) { i.call(this, e, t), this.className = t.className ? t.className : "prism-live-time-display", this.addClass(this.className), this._liveshiftService = e._liveshiftService }, createEl: function () { var e = i.prototype.createEl.call(this, "div"); return e.innerHTML = '<span class="current-time">00:00</span> <span class="time-bound">/</span> <span class="end-time">00:00</span><span class="live-text">Live: </span><span class="live-time"></span>', e }, bindEvent: function () { var n = this; this._player.on(a.Video.TimeUpdate, function () { var e, t, r = n._liveshiftService, i = document.querySelector("#" + n.id() + " .current-time"); r.liveShiftStartDisplay && r.availableLiveShiftTime > r.seekTime && -1 != r.seekTime ? (e = n._liveshiftService.getBaseTime(), t = o.formatTime(e + n._player.getCurrentTime()), i.innerText = t) : r.currentTimeDisplay && (i.innerText = r.currentTimeDisplay) }), this._player.on(a.Private.LiveShiftQueryCompleted, function () { n.updateTime() }) }, updateTime: function () { document.querySelector("#" + this.id() + " .end-time").innerText = this._liveshiftService.liveTimeRange.endDisplay, document.querySelector("#" + this.id() + " .live-time").innerText = this._liveshiftService.currentTimeDisplay } }); t.exports = n }, { "../lib/util": 232, "../player/base/event/eventtype": 242, "../ui/component": 294 }], 204: [function (e, t, r) { t.exports = { domain: "g.alicdn.com", flashVersion: "2.8.2", h5Version: "2.9.3", rtsVersion: "1.2.4", cityBrain: !0, logDuration: 10, logCount: 100, logReportTo: "https://videocloud.cn-hangzhou.log.aliyuncs.com/logstores/newplayer/track" } }, {}], 205: [function (e, t, r) { e("./lang/index").load(); function i(e, t) { return n.create(e, t) } var n = e("./player/adaptivePlayer"), o = e("./lib/componentutil"), a = e("./config"); i.getVersion = function () { return a.h5Version }, o.register(i); var s = window.Aliplayer = i; i.players = {}, "function" == typeof define && define.amd ? define([], function () { return s }) : "object" == typeof r && "object" == typeof t && (t.exports = s), "undefined" != typeof Uint8Array && (Uint8Array.prototype.slice || Object.defineProperty(Uint8Array.prototype, "slice", { value: Array.prototype.slice })) }, { "./config": 204, "./lang/index": 210, "./lib/componentutil": 213, "./player/adaptivePlayer": 239 }], 206: [function (e, t, r) { var i = e("../lib/oo"), n = e("../lang/index"), o = i.extend({ init: function (e, t) { this._player = e, this._options = e.options() } }); o.prototype.handle = function (e) { var t, r; this._options.autoPlayDelay && (t = (t = this._options.autoPlayDelayDisplayText) || n.get("AutoPlayDelayDisplayText").replace("$$", this._options.autoPlayDelay), this._player.trigger("info_show", t), this._player.trigger("h5_loading_hide"), this._player.trigger("play_btn_hide"), (r = this)._timeHandler = setTimeout(function () { r._player.trigger("info_hide"), r._options.autoPlayDelay = 0, e && e() }, 1e3 * this._options.autoPlayDelay), this._player.on("play", function () { a(r) }), this._player.on("pause", function () { a(r) })) }, o.prototype.dispose = function () { a(this), this._player = null }; var a = function (e) { e._timeHandler && (clearTimeout(e._timeHandler), e._timeHandler = null) }; t.exports = o }, { "../lang/index": 210, "../lib/oo": 226 }], 207: [function (e, t, r) { t.exports = t.exports = { OD: "OD", FD: "360p", LD: "540p", SD: "720p", HD: "1080p", "2K": "2K", "4K": "4K", FHD: "FHD", XLD: "XLD", SQ: "SQ", HQ: "HQ", Speed: "Speed", Speed_05X_Text: "0.5X", Speed_1X_Text: "Normal", Speed_125X_Text: "1.25X", Speed_15X_Text: "1.5X", Speed_2X_Text: "2X", Refresh_Text: "Refresh", Cancel: "Cancel", Mute: "Mute", Snapshot: "Snapshot", Detection_Text: "Diagnosis", Play_DateTime: "Time", Quality_Change_Fail_Switch_Text: "Cannot play, switch to ", Quality_Change_Text: "Switch to ", Quality_The_Url: "The url", AutoPlayDelayDisplayText: "Play in $$ seconds", Error_Load_Abort_Text: "Data abort erro", Error_Network_Text: "Loading failed due to network error", Error_Decode_Text: "Decode error", Error_Server_Network_NotSupport_Text: "Network error or \xa0the format of video is unsupported", Error_Offline_Text: "The network is unreachable, please click Refresh", Error_Play_Text: "Error occured while playing", Error_Retry_Text: " Please close or refresh", Error_AuthKey_Text: "Authentication expired or the domain is not in white list", Error_H5_Not_Support_Text: "The format of video is not supported by\xa0h5 player\uff0cplease use flash player", Error_Not_Support_M3U8_Text: "The format of m3u8 is not supported by this explorer", Error_Not_Support_MP4_Text: "The format of mp4\xa0is not supported by this explorer", Error_Not_Support_encrypt_Text: "Play the encrypted video,please set encryptType to 1", Error_Vod_URL_Is_Empty_Text: "The url is empty", Error_Vod_Fetch_Urls_Text: "Error occured when fetch urls\uff0cplease close or refresh", Fetch_Playauth_Error: "Error occured when fetch playauth close or refresh", Error_Playauth_Decode_Text: "PlayAuth parse failed", Error_Vid_Not_Same_Text: "Cannot renew url due to vid changed", Error_Playauth_Expired_Text: "Playauth expired, please close or refresh", Error_MTS_Fetch_Urls_Text: "Error occurred while requesting mst server", Error_Load_M3U8_Failed_Text: "The\xa0m3u8 file loaded failed", Error_Load_M3U8_Timeout_Text: "Timeout error occored\xa0when the\xa0m3u8 file loaded", Error_M3U8_Decode_Text: "The m3u8 file decoded failed", Error_TX_Decode_Text: "Video decoded failed", Error_Waiting_Timeout_Text: "Buffering timeout,\xa0please close or refresh", Error_Invalidate_Source: "Video shoud be mp4\u3001mp3\u3001m3u8\u3001mpd or flv", Error_Empty_Source: "Video URL shouldn't be empty", Error_Vid_Empty_Source: "vid's video URL hasn't been fetched", Error_Fetch_NotStream: "The vid has no stream to play", Error_Not_Found: "Url is not found", Live_End: "Live has finished", Play_Before_Fullscreen: "Please play before fullscreen", Can_Not_Seekable: "Can not seek to this position", Cancel_Text: "Cancel", OK_Text: "OK", Auto_Stream_Tip_Text: "Internet is slow, does switch to $$", Request_Block_Text: "This request is blocked, the video Url should be over https", Open_Html_By_File: "Html page should be on the server", Maybe_Cors_Error: "please make sure enable cors,<a href='https://help.aliyun.com/document_detail/62950.html?spm=a2c4g.11186623.2.21.Y3n2oi' target='_blank'>refer to document</a>", Speed_Switch_To: "Speed switch to ", Curent_Volume: "Current volume:", Volume_Mute: "set to mute", Volume_UnMute: "set to unmute", ShiftLiveTime_Error: "Live start time should not be greater than over time", Error_Not_Support_Format_On_Mobile: "flv\u3001rmtp can't be supported on mobile\uff0cplease use m3u8", SessionId_Ticket_Invalid: "please assign value for sessionId and ticket properties", Http_Error: " An HTTP network request failed with an error, but not from the server.", Http_Timeout: "A network request timed out", DRM_License_Expired: "DRM license is expired, please refresh", Not_Support_DRM: "Browser doesn't support DRM", CC_Switch_To: "Subtitle switch to ", AudioTrack_Switch_To: "Audio tracks switch to ", Subtitle: "Subtitle/CC", AudioTrack: "Audio Track", Quality: "Quality", Auto: "Auto", Quality_Switch_To: "Quality switch to ", Fullscreen: "Full Screen", Setting: "Settings", Volume: "Volume", Play: "Play", Pause: "Pause", CloseSubtitle: "Close CC", OpenSubtitle: "Open CC", ExistFullScreen: "Exit Full Screen", Muted: "Muted", Retry: "Retry", SwitchToLive: "Return to live", iOSNotSupportVodEncription: "iOS desn't suport Vod's encription video", UseChromeForVodEncription: "This browser desn't suport Vod's encription video, please use latest Chrome", Http_Request_Error: "http request error", ERROR_PLAY_FAILED: "play faild error", Browser_Not_Support: "browser not support", Not_Support_Webrtc: "not support webrtc", Browser_Version_Too_Low: "browser version too low", Not_Support_H264: "not support h264", Create_Offer_Error: "create offer error", Play_Url_Error: "play url error", Subscribe_Nonthing: "subscribe nonthing", Html_Element_Error: "html element error", Html_Element_Not_Match: "html element not match" } }, {}], 208: [function (e, t, r) { t.exports = t.exports = { OD: "OD", LD: "360p", FD: "540p", SD: "720p", HD: "1080p", "2K": "2K", "4K": "4K", FHD: "FHD", XLD: "XLD", SQ: "SQ", HQ: "HQ", Forbidden_Text: "Internal information is strictly forbidden to outsider", Refresh: "Refresh", Diagnosis: "Diagnosis", Live_Finished: "Live has finished, thanks for watching", Play: "Play", Pause: "Pause", Snapshot: "Snapshot", Replay: "Replay", Live: "Live", Encrypt: "Encrypt", Sound: "Sound", Fullscreen: "Full Screen", Exist_Fullscreen: "Exit Full-screen", Resolution: "Resolution", Next: "Next Video", Brightness: "Brightness", Default: "Default", Contrast: "Contrast", Titles_Credits: "Titles\xa0and\xa0Credits", Skip_Titles: "Skip Titles", Skip_Credits: "Skip Credits", Not_Support_Out_Site: "The video is not supported for outside website, please watch it by TaoTV", Watch_Now: "Watch now", Network_Error: "Network is unreachable, please try to refresh", Video_Error: "Playing a video error,\xa0please try to refresh", Decode_Error: "Data decoding\xa0error", Live_Not_Start: "Live has not started, to be expected", Live_Loading: "Live information is loading,\xa0please try to refresh", Fetch_Playauth_Error: "Error occured when fetch playauth close or refresh", Live_End: "Live has finished", Live_Abrot: "Signal aborted,\xa0please try to refresh", Corss_Domain_Error: "Please ensure your domain has obtained IPC license and combined CNAME, \r\n or to set\xa0\xa0cross-domain accessing available", Url_Timeout_Error: "The video url is timeout,\xa0please try to refresh", Connetction_Error: "Sorry\uff0cthe video cannot play because of connection error, please try to watch other videos", Fetch_MTS_Error: "Fetching video list failed, please ensure", Token_Expired_Error: "Requesting open api failed, please ensure token expired or not", Video_Lists_Empty_Error: "The video list is empty, please check the format of video", Encrypted_Failed_Error: "Fetching encrypted file failed, please check the permission of player", Fetch_Failed_Permission_Error: "Fetching video list failed, please check the permission of player", Invalidate_Param_Error: "No video url, please check the parameters", AutoPlayDelayDisplayText: "Play in $$ seconds", Fetch_MTS_NOT_NotStream_Error: "The vid has no stream to play", Cancel_Text: "Cancel", OK_Text: "OK", Auto_Stream_Tip_Text: "Internet is slow, does switch to $$", Open_Html_By_File: "Html page should be on the server", Cant_Use_Flash_On_Mobile: "Mobile doesn't support flash player\uff0cplease use h5 player", Flash_Not_Ready: "Flash Player plugin hasn't been installed <a href='https://www.flash.cn/' target='_blank'>install plugin</a>, or check if disable Flash plugin" } }, {}], 209: [function (e, t, r) { t.exports = t.exports = { OD: "\u539f\u753b", FD: "\u6d41\u7545", LD: "\u6807\u6e05", SD: "\u9ad8\u6e05", HD: "\u8d85\u6e05", "2K": "2K", "4K": "4K", FHD: "\u5168\u9ad8\u6e05", XLD: "\u6781\u901f", SQ: "\u666e\u901a\u97f3\u8d28", HQ: "\u9ad8\u97f3\u8d28", Forbidden_Text: "\u5185\u90e8\u4fe1\u606f\uff0c\u4e25\u7981\u5916\u4f20", Refresh: "\u5237\u65b0", Diagnosis: "\u8bca\u65ad", Live_Finished: "\u76f4\u64ad\u5df2\u7ed3\u675f,\u8c22\u8c22\u89c2\u770b", Play: "\u64ad\u653e", Pause: "\u6682\u505c", Snapshot: "\u622a\u56fe", Replay: "\u91cd\u64ad", Live: "\u76f4\u64ad", Encrypt: "\u52a0\u5bc6", Sound: "\u58f0\u97f3", Fullscreen: "\u5168\u5c4f", Exist_Fullscreen: "\u9000\u51fa\u5168\u5c4f", Resolution: "\u6e05\u6670\u5ea6", Next: "\u4e0b\u4e00\u96c6", Brightness: "\u4eae\u5ea6", Default: "\u9ed8\u8ba4", Contrast: "\u5bf9\u6bd4\u5ea6", Titles_Credits: "\u7247\u5934\u7247\u5c3e", Skip_Titles: "\u8df3\u8fc7\u7247\u5934", Skip_Credits: "\u8df3\u8fc7\u7247\u5c3e", Not_Support_Out_Site: "\u8be5\u89c6\u9891\u6682\u4e0d\u652f\u6301\u7ad9\u5916\u64ad\u653e\uff0c\u8bf7\u5230\u6dd8TV\u89c2\u770b", Watch_Now: "\u7acb\u5373\u89c2\u770b", Network_Error: "\u7f51\u7edc\u65e0\u6cd5\u8fde\u63a5\uff0c\u8bf7\u5c1d\u8bd5\u68c0\u67e5\u7f51\u7edc\u540e\u5237\u65b0\u8bd5\u8bd5", Video_Error: "\u89c6\u9891\u64ad\u653e\u5f02\u5e38\uff0c\u8bf7\u5237\u65b0\u8bd5\u8bd5", Decode_Error: "\u64ad\u653e\u6570\u636e\u89e3\u7801\u9519\u8bef", Live_Not_Start: "\u4eb2\uff0c\u76f4\u64ad\u8fd8\u672a\u5f00\u59cb\u54e6\uff0c\u656c\u8bf7\u671f\u5f85", Live_Loading: "\u76f4\u64ad\u4fe1\u606f\u52a0\u8f7d\u4e2d\uff0c\u8bf7\u5237\u65b0\u8bd5\u8bd5", Live_End: "\u4eb2\uff0c\u76f4\u64ad\u5df2\u7ed3\u675f", Live_Abrot: "\u5f53\u524d\u76f4\u64ad\u4fe1\u53f7\u4e2d\u65ad\uff0c\u8bf7\u5237\u65b0\u540e\u91cd\u8bd5", Corss_Domain_Error: "\u8bf7\u786e\u8ba4\u60a8\u7684\u57df\u540d\u5df2\u5b8c\u6210\u5907\u6848\u548cCNAME\u7ed1\u5b9a\uff0c\r\n\u5e76\u5904\u4e8e\u542f\u7528\u72b6\u6001\uff0c\u6216\u8d44\u6e90\u5141\u8bb8\u8de8\u8d8a\u8bbf\u95ee", Url_Timeout_Error: "\u60a8\u6240\u89c2\u770b\u7684\u89c6\u9891\u5730\u5740\u8fde\u63a5\u8d85\u65f6\uff0c\u8bf7\u5237\u65b0\u540e\u91cd\u8bd5", Connetction_Error: "\u62b1\u6b49,\u8be5\u89c6\u9891\u7531\u4e8e\u8fde\u63a5\u9519\u8bef\u6682\u65f6\u4e0d\u80fd\u64ad\u653e,\u8bf7\u89c2\u770b\u5176\u5b83\u89c6\u9891", Fetch_MTS_Error: "\u83b7\u53d6\u89c6\u9891\u5217\u8868\u5931\u8d25\uff0c\u8bf7\u786e\u8ba4", Token_Expired_Error: "\u8bf7\u6c42\u63a5\u53e3\u5931\u8d25\uff0c\u8bf7\u786e\u8ba4Token\u662f\u5426\u8fc7\u671f", Video_Lists_Empty_Error: "\u83b7\u53d6\u89c6\u9891\u5217\u8868\u4e3a\u7a7a\uff0c\u8bf7\u786e\u8ba4\u64ad\u653e\u6570\u636e\u4e0e\u683c\u5f0f", Encrypted_Failed_Error: "\u83b7\u53d6\u89c6\u9891\u52a0\u5bc6\u79d8\u94a5\u9519\u8bef\uff0c\u8bf7\u786e\u8ba4\u64ad\u653e\u6743\u9650", Fetch_Failed_Permission_Error: "\u83b7\u53d6\u89c6\u9891\u5217\u8868\u5931\u8d25\uff0c\u8bf7\u786e\u8ba4\u64ad\u653e\u6743\u9650", Invalidate_Param_Error: "\u65e0\u8f93\u5165\u89c6\u9891\uff0c\u8bf7\u786e\u8ba4\u8f93\u5165\u53c2\u6570", AutoPlayDelayDisplayText: "$$\u79d2\u4ee5\u540e\u5f00\u59cb\u64ad\u653e", Fetch_MTS_NOT_NotStream_Error: "\u6b64vid\u6ca1\u6709\u53ef\u64ad\u653e\u89c6\u9891", Cancel_Text: "\u53d6\u6d88", OK_Text: "\u786e\u8ba4", Auto_Stream_Tip_Text: "\u7f51\u7edc\u4e0d\u7ed9\u529b\uff0c\u662f\u5426\u5207\u6362\u5230$$", Fetch_Playauth_Error: "\u83b7\u53d6\u64ad\u653e\u51ed\u8bc1\u51fa\u9519\u5566\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0", Open_Html_By_File: "\u4e0d\u80fd\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u6253\u5f00html\u6587\u4ef6\uff0c\u8bf7\u90e8\u7f72\u5230\u670d\u52a1\u7aef", Cant_Use_Flash_On_Mobile: "\u79fb\u52a8\u7aef\u4e0d\u652f\u6301Flash\u64ad\u653e\u5668\uff0c\u8bf7\u4f7f\u7528h5\u64ad\u653e\u5668", Flash_Not_Ready: "Flash Player\u63d2\u4ef6\u672a\u5b89\u88c5<a href='https://www.flash.cn/' target='_blank'>\u5b89\u88c5\u63d2\u4ef6</a>\uff0c\u5982\u679c\u5df2\u7ecf\u5b89\u88c5\u8bf7\u68c0\u67e5\u662f\u5426\u88ab\u7981\u7528" } }, {}], 210: [function (o, e, t) { function n() { var e; return void 0 !== window[s] && window[s] || (e = (e = (navigator.language || navigator.browserLanguage).toLowerCase()) && -1 < e.indexOf("zh") ? "zh-cn" : "en-us", window[s] = e), window[s] } var r = o("../config"), a = o("../lib/storage"), s = (o("../lib/io"), "aliplayer_lang"), l = function (e, t) { var r = h(e), i = "", n = c(), i = "flash" == e ? "en-us" == n ? o("./flash/en-us") : "zh-cn" == n ? o("./flash/zh-cn") : t[n] : "en-us" == n ? o("./en-us") : "zh-cn" == n ? o("./zh-cn") : t[n]; a.set(r, JSON.stringify(i)), u(e, i) }, u = function (e, t) { var r = h(e); window[r] = t }, c = function () { return n() }, h = function (e) { var t = c(); return "aliplayer_lang_data_" + (e = e || "h5") + "_" + r.h5Version.replace(/\./g, "_") + "_" + t }; e.exports.setCurrentLanguage = function (e, t, r) { var i = window[s]; if (void 0 !== e && e || (e = n()), "en-us" != e && "zh-cn" != e && (!r || r && !r[e])) throw new Error("There is not language resource for " + e + ", please specify the language resource by languageTexts property"); window[s] = e, l(t, r), e != i && o("../lib/constants").updateByLanguage() }, e.exports.getCurrentLanguage = n, e.exports.getLanguageData = function (e, t) { var r = h(e); return window[r] }, e.exports.load = l, e.exports.get = function (e, t) { var r = h(t = t || "h5"), i = window[r]; if (i) return i[e] } }, { "../config": 204, "../lib/constants": 214, "../lib/io": 223, "../lib/storage": 229, "./en-us": 207, "./flash/en-us": 208, "./flash/zh-cn": 209, "./zh-cn": 211 }], 211: [function (e, t, r) { t.exports = t.exports = { OD: "\u539f\u753b", FD: "\u6d41\u7545", LD: "\u6807\u6e05", SD: "\u9ad8\u6e05", HD: "\u8d85\u6e05", "2K": "2K", "4K": "4K", FHD: "\u5168\u9ad8\u6e05", XLD: "\u6781\u901f", SQ: "\u666e\u901a\u97f3\u8d28", HQ: "\u9ad8\u97f3\u8d28", Speed: "\u500d\u901f", Speed_05X_Text: "0.5X", Speed_1X_Text: "\u6b63\u5e38", Speed_125X_Text: "1.25X", Speed_15X_Text: "1.5X", Speed_2X_Text: "2X", Quality_Change_Fail_Switch_Text: "\u4e0d\u80fd\u64ad\u653e\uff0c\u5207\u6362\u4e3a", Quality_Change_Text: "\u6b63\u5728\u4e3a\u60a8\u5207\u6362\u5230 ", Quality_The_Url: "\u6b64\u5730\u5740", Refresh_Text: "\u5237\u65b0", Detection_Text: "\u8bca\u65ad", Cancel: "\u53d6\u6d88", Mute: "\u9759\u97f3", Snapshot: "\u622a\u56fe", Play_DateTime: "\u64ad\u653e\u65f6\u95f4", AutoPlayDelayDisplayText: "$$\u79d2\u4ee5\u540e\u5f00\u59cb\u64ad\u653e", Error_Load_Abort_Text: "\u83b7\u53d6\u6570\u636e\u8fc7\u7a0b\u88ab\u4e2d\u6b62", Error_Network_Text: "\u7f51\u7edc\u9519\u8bef\u52a0\u8f7d\u6570\u636e\u5931\u8d25", Error_Decode_Text: "\u89e3\u7801\u9519\u8bef", Error_Server_Network_NotSupport_Text: "\u670d\u52a1\u5668\u3001\u7f51\u7edc\u9519\u8bef\u6216\u683c\u5f0f\u4e0d\u652f\u6301", Error_Offline_Text: "\u7f51\u7edc\u4e0d\u53ef\u7528\uff0c\u8bf7\u786e\u5b9a", Error_Play_Text: "\u64ad\u653e\u51fa\u9519\u5566", Error_Retry_Text: "\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0", Error_AuthKey_Text: "\u53ef\u80fd\u9274\u6743\u8fc7\u671f\u3001\u57df\u540d\u4e0d\u5728\u767d\u540d\u5355\u6216\u8bf7\u6c42\u88ab\u62e6\u622a", Error_H5_Not_Support_Text: "h5\u4e0d\u652f\u6301\u6b64\u683c\u5f0f\uff0c\u8bf7\u4f7f\u7528flash\u64ad\u653e\u5668", Error_Not_Support_M3U8_Text: "\u6d4f\u89c8\u5668\u4e0d\u652f\u6301m3u8\u89c6\u9891\u64ad\u653e", Error_Not_Support_MP4_Text: "\u6d4f\u89c8\u5668\u4e0d\u652f\u6301mp4\u89c6\u9891\u64ad\u653e", Error_Not_Support_encrypt_Text: "\u64ad\u653e\u52a0\u5bc6\u89c6\u9891\uff0c\u8bf7\u8bbe\u7f6e\u5c5e\u6027encryptType to 1", Error_Vod_URL_Is_Empty_Text: "\u83b7\u53d6\u64ad\u653e\u5730\u5740\u4e3a\u7a7a", Error_Vod_Fetch_Urls_Text: "\u83b7\u53d6\u5730\u5740\u51fa\u9519\u5566\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0", Fetch_Playauth_Error: "\u83b7\u53d6\u64ad\u653e\u51ed\u8bc1\u51fa\u9519\u5566\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0", Error_Playauth_Decode_Text: "playauth\u89e3\u6790\u9519\u8bef", Error_Vid_Not_Same_Text: "\u4e0d\u80fd\u66f4\u65b0\u5730\u5740\uff0cvid\u548c\u64ad\u653e\u4e2d\u7684\u4e0d\u4e00\u81f4", Error_Playauth_Expired_Text: "\u51ed\u8bc1\u5df2\u8fc7\u671f\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0", Error_MTS_Fetch_Urls_Text: "MTS\u83b7\u53d6\u53d6\u6570\u5931\u8d25", Error_Load_M3U8_Failed_Text: "\u83b7\u53d6m3u8\u6587\u4ef6\u5931\u8d25", Error_Load_M3U8_Timeout_Text: "\u83b7\u53d6m3u8\u6587\u4ef6\u8d85\u65f6", Error_M3U8_Decode_Text: "\u83b7\u53d6m3u8\u6587\u4ef6\u89e3\u6790\u5931\u8d25", Error_TX_Decode_Text: "\u89e3\u6790\u6570\u636e\u51fa\u9519", Error_Waiting_Timeout_Text: "\u7f13\u51b2\u6570\u636e\u8d85\u65f6\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0", Error_Invalidate_Source: "\u64ad\u653e\u5730\u5740\u683c\u5f0f\u9700\u8981\u4e3amp4\u3001mp3\u3001m3u8\u3001mpd\u6216flv", Error_Empty_Source: "\u64ad\u653e\u5730\u5740\u4e0d\u80fd\u4e3a\u7a7a", Error_Vid_Empty_Source: "vid\u5bf9\u5e94\u7684\u89c6\u9891\u5730\u5740\u8fd8\u672a\u83b7\u53d6\u5230", Error_Fetch_NotStream: "\u6b64vid\u6ca1\u6709\u53ef\u64ad\u653e\u89c6\u9891", Error_Not_Found: "\u64ad\u653e\u5730\u5740\u4e0d\u5b58\u5728", Live_End: "\u4eb2\uff0c\u76f4\u64ad\u5df2\u7ed3\u675f", Play_Before_Fullscreen: "\u64ad\u653e\u540e\u518d\u5168\u5c4f", Can_Not_Seekable: "\u4e0d\u80fdseek\u5230\u8fd9\u91cc", Cancel_Text: "\u53d6\u6d88", OK_Text: "\u786e\u8ba4", Auto_Stream_Tip_Text: "\u7f51\u7edc\u4e0d\u7ed9\u529b\uff0c\u662f\u5426\u5207\u6362\u5230$$", Request_Block_Text: "\u6d4f\u89c8\u5668\u5b89\u5168\u7b56\u7565\u89c6\u9891\u5730\u5740\u4e0d\u80fd\u4e3ahttp\u534f\u8bae\uff0c\u4e0e\u7f51\u7ad9https\u534f\u8bae\u4e0d\u4e00\u81f4", Open_Html_By_File: "\u4e0d\u80fd\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u6253\u5f00html\u6587\u4ef6\uff0c\u8bf7\u90e8\u7f72\u5230\u670d\u52a1\u7aef", Maybe_Cors_Error: "\u8bf7\u786e\u8ba4\u662f\u5426\u5f00\u542f\u4e86\u5141\u8bb8\u8de8\u57df\u8bbf\u95ee<a href='https://help.aliyun.com/document_detail/62950.html' target='_blank'>\u53c2\u8003\u6587\u6863</a>", Speed_Switch_To: "\u500d\u901f\u5207\u6362\u5230 ", Curent_Volume: "\u5f53\u524d\u97f3\u91cf\uff1a", Volume_Mute: "\u8bbe\u7f6e\u4e3a\u9759\u97f3", Volume_UnMute: "\u8bbe\u7f6e\u4e3a\u975e\u9759\u97f3", ShiftLiveTime_Error: "\u76f4\u64ad\u5f00\u59cb\u65f6\u95f4\u4e0d\u80fd\u5927\u4e8e\u76f4\u64ad\u7ed3\u675f\u65f6\u95f4", Error_Not_Support_Format_On_Mobile: "\u79fb\u52a8\u7aef\u4e0d\u652f\u6301flv\u3001rmtp\u89c6\u9891\uff0c\u8bf7\u4f7f\u7528m3u8", SessionId_Ticket_Invalid: "DRM\u89c6\u9891\u64ad\u653e\uff0csessionId\u548cticket\u5c5e\u6027\u4e0d\u80fd\u4e3a\u7a7a", Http_Error: "Http\u7f51\u7edc\u8bf7\u6c42\u5931\u8d25", Http_Timeout: "http\u8bf7\u6c42\u8d85\u65f6", DRM_License_Expired: "DRM license\u8d85\u65f6\uff0c\u8bf7\u5237\u65b0", Not_Support_DRM: "\u6d4f\u89c8\u5668\u4e0d\u652f\u6301DRM\u89c6\u9891\u7684\u64ad\u653e", CC_Switch_To: "\u5b57\u5e55\u5207\u6362\u5230 ", AudioTrack_Switch_To: "\u97f3\u8f68\u5207\u6362\u5230 ", Subtitle: "\u5b57\u5e55", AudioTrack: "\u97f3\u8f68", Quality: "\u6e05\u6670\u5ea6", Auto: "\u81ea\u52a8", Quality_Switch_To: "\u6e05\u6670\u5ea6\u5207\u6362\u5230 ", Fullscreen: "\u5168\u5c4f", Setting: "\u8bbe\u7f6e", Volume: "\u97f3\u91cf", Play: "\u64ad\u653e", Pause: "\u6682\u505c", CloseSubtitle: "\u5173\u95ed\u5b57\u5e55", OpenSubtitle: "\u6253\u5f00\u5b57\u5e55", ExistFullScreen: "\u9000\u51fa\u5168\u5c4f", Muted: "\u9759\u97f3", Retry: "\u91cd\u8bd5", SwitchToLive: "\u8fd4\u56de\u76f4\u64ad", iOSNotSupportVodEncription: "iOS\u4e0d\u652f\u6301\u70b9\u64ad\u52a0\u5bc6\u64ad\u653e", UseChromeForVodEncription: "\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u70b9\u64ad\u52a0\u5bc6\u64ad\u653e\uff0c\u8bf7\u4f7f\u7528\u6700\u65b0Chrome\u6d4f\u89c8\u5668", Http_Request_Error: "\u4fe1\u4ee4\u8bf7\u6c42\u5931\u8d25", ERROR_PLAY_FAILED: "\u64ad\u653e\u5931\u8d25", Browser_Not_Support: "\u4e0d\u652f\u6301\u6b64\u6d4f\u89c8\u5668", Not_Support_Webrtc: "\u4e0d\u652f\u6301webrtc", Browser_Version_Too_Low: "\u6d4f\u89c8\u5668\u7248\u672c\u8fc7\u4f4e", Not_Support_H264: "\u4e0d\u652f\u6301H264", Create_Offer_Error: "create offer\u5931\u8d25", Play_Url_Error: "\u64ad\u653eurl\u534f\u8bae\u9519\u8bef", Subscribe_Nonthing: "\u53c2\u6570\u8bbe\u7f6e\u9519\u8bef", Html_Element_Error: "\u4f20\u5165\u7684HtmlElement\u9519\u8bef", Html_Element_Not_Match: "\u8ba2\u9605\u7684\u5185\u5bb9\u548c\u4f20\u5165\u7684\u53c2\u6570\u4e0d\u5339\u914d" } }, {}], 212: [function (e, t, r) { var o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; if (window.Uint8Array) for (var h = new Uint8Array(256), i = 0; i < o.length; i++)h[o.charCodeAt(i)] = i; var u = function (e) { for (var t = "", r = 0; r < e.length; r += 16e3) { var i = e.subarray(r, r + 16e3); t += String.fromCharCode.apply(null, i) } return t }; unpackPlayReady = function (e) { var t = function (e, t, r) { if (!e) return ""; var i, n; r || e.byteLength % 2 == 0 || console.log("Data has an incorrect length, must be even."), i = e instanceof ArrayBuffer ? e : ((n = new Uint8Array(e.byteLength)).set(new Uint8Array(e)), n.buffer); for (var o = Math.floor(e.byteLength / 2), a = new Uint16Array(o), s = new DataView(i), l = 0; l < o; l++)a[l] = s.getUint16(2 * l, t); return u(a) }(e, !0, !0); if (-1 != t.indexOf("PlayReadyKeyMessage")) { for (var r = (new DOMParser).parseFromString(t, "application/xml"), i = r.getElementsByTagName("HttpHeader"), n = {}, o = 0; o < i.length; ++o) { var a = i[o].querySelector("name"), s = i[o].querySelector("value"); n[a.textContent] = s.textContent } return { header: n, changange: r.querySelector("Challenge").textContent } } console.log("PlayReady request is already unwrapped.") }, t.exports = { decode: function (e) { var t, r, i, n, o = .75 * e.length, a = e.length, s = 0; "=" === e[e.length - 1] && (o--, "=" === e[e.length - 2] && o--); for (var l = new ArrayBuffer(o), u = new Uint8Array(l), c = 0; c < a; c += 4)t = h[e.charCodeAt(c)], r = h[e.charCodeAt(c + 1)], i = h[e.charCodeAt(c + 2)], n = h[e.charCodeAt(c + 3)], u[s++] = t << 2 | r >> 4, u[s++] = (15 & r) << 4 | i >> 2, u[s++] = (3 & i) << 6 | 63 & n; return l }, encode: function (e) { for (var t = new Uint8Array(e), r = t.length, i = "", n = 0; n < r; n += 3)i += o[t[n] >> 2], i += o[(3 & t[n]) << 4 | t[n + 1] >> 4], i += o[(15 & t[n + 1]) << 2 | t[n + 2] >> 6], i += o[63 & t[n + 2]]; return r % 3 == 2 ? i = i.substring(0, i.length - 1) + "=" : r % 3 == 1 && (i = i.substring(0, i.length - 2) + "=="), i }, unpackPlayReady: unpackPlayReady } }, {}], 213: [function (e, t, r) { var i = e("./oo"), n = e("../player/base/event/eventtype"); t.exports.stopPropagation = function (e) { window.event ? window.event.cancelBubble = !0 : e.stopPropagation() }, t.exports.register = function (e) { e.util = { stopPropagation: t.exports.stopPropagation }, e.Component = i.extend, e.EventType = n.Player } }, { "../player/base/event/eventtype": 242, "./oo": 226 }], 214: [function (e, t, r) { var i = e("../lang/index"); t.exports.LOAD_START = "loadstart", t.exports.LOADED_METADATA = "loadedmetadata", t.exports.LOADED_DATA = "loadeddata", t.exports.PROGRESS = "progress", t.exports.CAN_PLAY = "canplay", t.exports.CAN_PLYA_THROUGH = "canplaythrough", t.exports.PLAY = "play", t.exports.PAUSE = "pause", t.exports.ENDED = "ended", t.exports.PLAYING = "playing", t.exports.WAITING = "waiting", t.exports.ERROR = "error", t.exports.SUSPEND = "suspend", t.exports.STALLED = "stalled", t.exports.AuthKeyExpiredEvent = "authkeyexpired", t.exports.DRMKeySystem = { 4: "com.microsoft.playready", 5: "com.widevine.alpha" }, t.exports.EncryptionType = { Private: 1, Standard: 2, ChinaDRM: 3, PlayReady: 4, Widevine: 5 }, t.exports.VodEncryptionType = { AliyunVoDEncryption: 1, HLSEncryption: 2 }, t.exports.DRMType = { Widevine: "Widevine", PlayReady: "PlayReady" }, t.exports.ErrorCode = { InvalidParameter: 4001, AuthKeyExpired: 4002, InvalidSourceURL: 4003, NotFoundSourceURL: 4004, StartLoadData: 4005, LoadedMetadata: 4006, PlayingError: 4007, LoadingTimeout: 4008, RequestDataError: 4009, EncrptyVideoNotSupport: 4010, FormatNotSupport: 4011, PlayauthDecode: 4012, PlayDataDecode: 4013, NetworkUnavaiable: 4014, UserAbort: 4015, NetworkError: 4016, URLsIsEmpty: 4017, CrossDomain: 4027, OtherError: 4400, ServerAPIError: 4500, FlashNotInstalled: 4600, RequestHttpError: 4100, PlayFailedError: 4200, NotSupportWebRtc: 4110, BrowserNotSupport: 4111, BrowserVersionTooLow: 4112, NotSupportH264: 4113, CreateOfferError: 4114, AutoPLayFaild: 4115, PlayUrlError: 4116, SubscribeNonthing: 4117, HtmlElementError: 4118, HtmlElementNotMatch: 4119 }, t.exports.AuthKeyExpired = 7200, t.exports.AuthKeyRefreshExpired = 7e3, t.exports.AuthInfoExpired = 100, t.exports.VideoErrorCode = { 1: 4015, 2: 4016, 3: 4013, 4: 4400 }, t.exports.IconType = { FontClass: "fontclass", Symbol: "symbol", Sprite: "Sprite" }, t.exports.SelectedStreamLevel = "selectedStreamLevel", t.exports.SelectedCC = "selectedCC", t.exports.WidthMapToLevel = { 0: "OD", 640: "FD", 960: "LD", 1280: "SD", 1920: "HD", 2580: "2K", 3840: "4K" }; function n() { t.exports.VideoErrorCodeText = { 1: i.get("Error_Load_Abort_Text"), 2: i.get("Error_Network_Text"), 3: i.get("Error_Decode_Text"), 4: i.get("Error_Server_Network_NotSupport_Text") }, t.exports.VideoLevels = { 0: i.get("OD"), 640: i.get("FD"), 960: i.get("LD"), 1280: i.get("SD"), 1920: i.get("HD"), 2580: i.get("2K"), 3840: i.get("4K") }, t.exports.QualityLevels = { OD: i.get("OD"), LD: i.get("LD"), FD: i.get("FD"), SD: i.get("SD"), HD: i.get("HD"), "2K": i.get("2K"), "4K": i.get("4K"), XLD: i.get("XLD"), FHD: i.get("FHD"), SQ: i.get("SQ"), HQ: i.get("HQ") }, t.exports.SpeedLevels = [{ key: .5, text: i.get("Speed_05X_Text") }, { key: 1, text: i.get("Speed_1X_Text") }, { key: 1.25, text: i.get("Speed_125X_Text") }, { key: 1.5, text: i.get("Speed_15X_Text") }, { key: 2, text: i.get("Speed_2X_Text") }] } n(), t.exports.updateByLanguage = n }, { "../lang/index": 210 }], 215: [function (e, t, r) { t.exports.get = function (e) { for (var t = e + "", r = document.cookie.split(";"), i = 0; i < r.length; i++) { var n = r[i].trim(); if (0 == n.indexOf(t)) return unescape(n.substring(t.length + 1, n.length)) } return "" }, t.exports.set = function (e, t, r) { var i = new Date; i.setTime(i.getTime() + 24 * r * 60 * 60 * 1e3); var n = "expires=" + i.toGMTString(); document.cookie = e + "=" + escape(t) + "; " + n } }, {}], 216: [function (e, r, t) { var i = e("./object"); r.exports.cache = {}, r.exports.guid = function (e, t) { var r, i, n = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""), o = []; if (t = t || n.length, e) for (r = 0; r < e; r++)o[r] = n[0 | Math.random() * t]; else for (o[8] = o[13] = o[18] = o[23] = "-", o[14] = "4", r = 0; r < 36; r++)o[r] || (i = 0 | 16 * Math.random(), o[r] = n[19 == r ? 3 & i | 8 : i]); return o.join("") }, r.exports.expando = "vdata" + (new Date).getTime(), r.exports.getData = function (e) { var t = e[r.exports.expando]; return t || (t = e[r.exports.expando] = r.exports.guid(), r.exports.cache[t] = {}), r.exports.cache[t] }, r.exports.hasData = function (e) { var t = ""; return e && (t = e[r.exports.expando]), !(!t || i.isEmpty(r.exports.cache[t])) }, r.exports.removeData = function (t) { var e = ""; if (t && (e = t[r.exports.expando]), e) { delete r.exports.cache[e]; try { delete t[r.exports.expando] } catch (e) { t.removeAttribute ? t.removeAttribute(r.exports.expando) : t[r.exports.expando] = null } } } }, { "./object": 225 }], 217: [function (e, c, t) { var i = e("./object"); c.exports.el = function (e) { return document.getElementById(e) }, c.exports.createEl = function (e, t) { var r; return e = e || "div", t = t || {}, r = document.createElement(e), i.each(t, function (e, t) { -1 !== e.indexOf("aria-") || "role" == e ? r.setAttribute(e, t) : r[e] = t }), r }, c.exports.addClass = function (e, t) { -1 == (" " + e.className + " ").indexOf(" " + t + " ") && (e.className = "" === e.className ? t : e.className + " " + t) }, c.exports.removeClass = function (e, t) { var r, i; if (-1 != e.className.indexOf(t)) { for (i = (r = e.className.split(" ")).length - 1; 0 <= i; i--)r[i] === t && r.splice(i, 1); e.className = r.join(" ") } }, c.exports.hasClass = function (e, t) { return -1 != e.className.indexOf(t) }, c.exports.getClasses = function (e) { return e.className ? e.className.split(" ") : [] }, c.exports.getElementAttributes = function (e) { var t, r, i, n = {}, o = ",autoplay,controls,loop,muted,default,"; if (e && e.attributes && 0 < e.attributes.length) for (var a = (t = e.attributes).length - 1; 0 <= a; a--)r = t[a].name, i = t[a].value, "boolean" != typeof e[r] && -1 === o.indexOf("," + r + ",") || (i = null !== i), n[r] = i; return n }, c.exports.insertFirst = function (e, t) { t.firstChild ? t.insertBefore(e, t.firstChild) : t.appendChild(e) }, c.exports.blockTextSelection = function () { document.body.focus(), document.onselectstart = function () { return !1 } }, c.exports.unblockTextSelection = function () { document.onselectstart = function () { return !0 } }, c.exports.css = function (r, e, t) { return !(!r || !r.style) && (e && t ? (r.style[e] = t, !0) : t || "string" != typeof e ? !t && "object" == typeof e && (i.each(e, function (e, t) { r.style[e] = t }), !0) : r.style[e]) }, c.exports.getTransformName = function (e) { for (var t = ["transform", "WebkitTransform", "MozTransform", "msTransform", "OTransform"], r = t[0], i = 0, n = t.length; i < n; i++)if (void 0 !== e.style[t[i]]) { r = t[i]; break } return r }, c.exports.getTransformEventName = function (e, t) { for (var r = ["", "Webkit", "Moz", "ms", "O"], i = t.toLowerCase(), n = ["transform", "WebkitTransform", "MozTransform", "msTransform", "OTransform"], o = 0, a = n.length; o < a; o++)if (void 0 !== e.style[n[o]]) { 0 != o && (i = r[o] + t); break } return i }, c.exports.addCssByStyle = function (e) { var t, r = document, i = r.createElement("style"); i.setAttribute("type", "text/css"), i.styleSheet ? i.styleSheet.cssText = e : (t = r.createTextNode(e), i.appendChild(t)); var n = r.getElementsByTagName("head"); n.length ? n[0].appendChild(i) : r.documentElement.appendChild(i) }, c.exports.getTranslateX = function (e) { var t = 0; if (e) try { var r = window.getComputedStyle(e), i = c.exports.getTransformName(e), t = new WebKitCSSMatrix(r[i]).m41 } catch (e) { console.log(e) } return t }, c.exports.getPointerPosition = function (e, t) { var r = {}, i = c.exports.findPosition(e), n = e.offsetWidth, o = e.offsetHeight, a = i.top, s = i.left, l = t.pageY, u = t.pageX; return t.changedTouches && (u = t.changedTouches[0].pageX, l = t.changedTouches[0].pageY), r.y = Math.max(0, Math.min(1, (a - l + o) / o)), r.x = Math.max(0, Math.min(1, (u - s) / n)), r }, c.exports.findPosition = function (e) { var t; if (e.getBoundingClientRect && e.parentNode && (t = e.getBoundingClientRect()), !t) return { left: 0, top: 0 }; var r = document.documentElement, i = document.body, n = r.clientLeft || i.clientLeft || 0, o = window.pageXOffset || i.scrollLeft, a = t.left + o - n, s = r.clientTop || i.clientTop || 0, l = window.pageYOffset || i.scrollTop, u = t.top + l - s; return { left: Math.round(a), top: Math.round(u) } } }, { "./object": 225 }], 218: [function (e, l, t) { var u = e("./object"), c = e("./data"), r = e("./ua"), i = e("fastclick"); function h(t, r, e, i) { u.each(e, function (e) { t(r, e, i) }) } l.exports.on = function (o, e, t) { if (o) { if (u.isArray(e)) return h(l.exports.on, o, e, t); r.IS_MOBILE && "click" == e && i(o); var a = c.getData(o); a.handlers || (a.handlers = {}), a.handlers[e] || (a.handlers[e] = []), t.guid || (t.guid = c.guid()), a.handlers[e].push(t), a.dispatcher || (a.disabled = !1, a.dispatcher = function (e) { if (!a.disabled) { e = l.exports.fixEvent(e); var t = a.handlers[e.type]; if (t) for (var r = t.slice(0), i = 0, n = r.length; i < n && !e.isImmediatePropagationStopped(); i++)r[i].call(o, e) } }), 1 == a.handlers[e].length && (o.addEventListener ? o.addEventListener(e, a.dispatcher, !1) : o.attachEvent && o.attachEvent("on" + e, a.dispatcher)) } }, l.exports.off = function (t, e, r) { if (t && c.hasData(t)) { var i = c.getData(t); if (i.handlers) { if (u.isArray(e)) return h(l.exports.off, t, e, r); function n(e) { i.handlers[e] = [], l.exports.cleanUpEvents(t, e) } if (e) { var o = i.handlers[e]; if (o) if (r) { if (r.guid) for (var a = 0; a < o.length; a++)o[a].guid === r.guid && o.splice(a--, 1); l.exports.cleanUpEvents(t, e) } else n(e) } else for (var s in i.handlers) n(s) } } }, l.exports.cleanUpEvents = function (e, t) { var r = c.getData(e); 0 === r.handlers[t].length && (delete r.handlers[t], e.removeEventListener ? e.removeEventListener(t, r.dispatcher, !1) : e.detachEvent && e.detachEvent("on" + t, r.dispatcher)), u.isEmpty(r.handlers) && (delete r.handlers, delete r.dispatcher, delete r.disabled), u.isEmpty(r) && c.removeData(e) }, l.exports.fixEvent = function (e) { function t() { return !0 } function r() { return !1 } if (!e || !e.isPropagationStopped) { var i, n, o = e || window.event; for (var a in e = {}, o) "layerX" !== a && "layerY" !== a && "keyboardEvent.keyLocation" !== a && ("returnValue" == a && o.preventDefault || (e[a] = o[a])); e.target || (e.target = e.srcElement || document), e.relatedTarget = e.fromElement === e.target ? e.toElement : e.fromElement, e.preventDefault = function () { o.preventDefault && o.preventDefault(), e.returnValue = !1, e.isDefaultPrevented = t, e.defaultPrevented = !0 }, e.isDefaultPrevented = r, e.defaultPrevented = !1, e.stopPropagation = function () { o.stopPropagation && o.stopPropagation(), e.cancelBubble = !0, e.isPropagationStopped = t }, e.isPropagationStopped = r, e.stopImmediatePropagation = function () { o.stopImmediatePropagation && o.stopImmediatePropagation(), e.isImmediatePropagationStopped = t, e.stopPropagation() }, e.isImmediatePropagationStopped = r, null != e.clientX && (i = document.documentElement, n = document.body, e.pageX = e.clientX + (i && i.scrollLeft || n && n.scrollLeft || 0) - (i && i.clientLeft || n && n.clientLeft || 0), e.pageY = e.clientY + (i && i.scrollTop || n && n.scrollTop || 0) - (i && i.clientTop || n && n.clientTop || 0)), e.which = e.charCode || e.keyCode, null != e.button && (e.button = 1 & e.button ? 0 : 4 & e.button ? 1 : 2 & e.button ? 2 : 0) } return e }, l.exports.trigger = function (e, t) { if (e) { var r, i, n = c.hasData(e) ? c.getData(e) : {}, o = e.parentNode || e.ownerDocument; return "string" == typeof t && (r = null, !e.paramData && 0 != e.paramData || (r = e.paramData, e.paramData = null, e.removeAttribute(r)), t = { type: t, target: e, paramData: r }), t = l.exports.fixEvent(t), n.dispatcher && n.dispatcher.call(e, t), o && !t.isPropagationStopped() && !1 !== t.bubbles ? l.exports.trigger(o, t) : o || t.defaultPrevented || (i = c.getData(t.target), t.target[t.type] && (i.disabled = !0, "function" == typeof t.target[t.type] && t.target[t.type](), i.disabled = !1)), !t.defaultPrevented } }, l.exports.one = function (e, t, r) { if (e) { if (u.isArray(t)) return h(l.exports.one, e, t, r); var i = function () { l.exports.off(e, t, i), r.apply(this, arguments) }; i.guid = r.guid = r.guid || c.guid(), l.exports.on(e, t, i) } } }, { "./data": 216, "./object": 225, "./ua": 230, fastclick: 110 }], 219: [function (e, t, r) { var n = e("./data"); t.exports.bind = function (e, t, r) { t.guid || (t.guid = n.guid()); function i() { return t.apply(e, arguments) } return i.guid = r ? r + "_" + t.guid : t.guid, i } }, { "./data": 216 }], 220: [function (e, t, r) { var i = /^((?:[a-zA-Z0-9+\-.]+:)?)(\/\/[^\/\;?#]*)?(.*?)??(;.*?)?(\?.*?)?(#.*?)?$/, c = /^([^\/;?#]*)(.*)$/, n = /(?:\/|^)\.(?=\/)/g, o = /(?:\/|^)\.\.\/(?!\.\.\/).*?(?=\/)/g, h = { buildAbsoluteURL: function (e, t, r) { if (r = r || {}, e = e.trim(), !(t = t.trim())) { if (!r.alwaysNormalize) return e; var i = h.parseURL(e); if (!i) throw new Error("Error trying to parse base URL."); return i.path = h.normalizePath(i.path), h.buildURLFromParts(i) } var n = h.parseURL(t); if (!n) throw new Error("Error trying to parse relative URL."); if (n.scheme) return r.alwaysNormalize ? (n.path = h.normalizePath(n.path), h.buildURLFromParts(n)) : t; var o, a = h.parseURL(e); if (!a) throw new Error("Error trying to parse base URL."); !a.netLoc && a.path && "/" !== a.path[0] && (o = c.exec(a.path), a.netLoc = o[1], a.path = o[2]), a.netLoc && !a.path && (a.path = "/"); var s, l, u = { scheme: a.scheme, netLoc: n.netLoc, path: null, params: n.params, query: n.query, fragment: n.fragment }; return n.netLoc || (u.netLoc = a.netLoc, "/" !== n.path[0] && (n.path ? (l = (s = a.path).substring(0, s.lastIndexOf("/") + 1) + n.path, u.path = h.normalizePath(l)) : (u.path = a.path, n.params || (u.params = a.params, n.query || (u.query = a.query))))), null === u.path && (u.path = r.alwaysNormalize ? h.normalizePath(n.path) : n.path), h.buildURLFromParts(u) }, parseURL: function (e) { var t = i.exec(e); return t ? { scheme: t[1] || "", netLoc: t[2] || "", path: t[3] || "", params: t[4] || "", query: t[5] || "", fragment: t[6] || "" } : null }, normalizePath: function (e) { for (e = e.split("").reverse().join("").replace(n, ""); e.length !== (e = e.replace(o, "")).length;); return e.split("").reverse().join("") }, buildURLFromParts: function (e) { return e.scheme + e.netLoc + e.path + e.params + e.query + e.fragment } }; t.exports = h }, {}], 221: [function (e, t, r) { function i(e) { for (var t in "string" == typeof e && (e = this.parseAttrList(e)), e) e.hasOwnProperty(t) && (this[t] = e[t]) } var n = /^(\d+)x(\d+)$/, o = /\s*(.+?)\s*=((?:\".*?\")|.*?)(?:,|$)/g; i.prototype = { decimalInteger: function (e) { var t = parseInt(this[e], 10); return t > Number.MAX_SAFE_INTEGER ? 1 / 0 : t }, hexadecimalInteger: function (e) { if (this[e]) { for (var t = (1 & (t = (this[e] || "0x").slice(2)).length ? "0" : "") + t, r = new Uint8Array(t.length / 2), i = 0; i < t.length / 2; i++)r[i] = parseInt(t.slice(2 * i, 2 * i + 2), 16); return r } return null }, hexadecimalIntegerAsNumber: function (e) { var t = parseInt(this[e], 16); return t > Number.MAX_SAFE_INTEGER ? 1 / 0 : t }, decimalFloatingPoint: function (e) { return parseFloat(this[e]) }, enumeratedString: function (e) { return this[e] }, decimalResolution: function (e) { var t = n.exec(this[e]); if (null !== t) return { width: parseInt(t[1], 10), height: parseInt(t[2], 10) } }, parseAttrList: function (e) { var t, r = {}; for (o.lastIndex = 0; null !== (t = o.exec(e));) { var i = t[2]; 0 === i.indexOf('"') && i.lastIndexOf('"') === i.length - 1 && (i = i.slice(1, -1)), r[t[1]] = i } return r } }, t.exports = i }, {}], 222: [function (e, t, r) { function T() { this.method = null, this.key = null, this.iv = null, this._uri = null } function M() { this._url = null, this._byteRange = null, this._decryptdata = null, this.tagList = [] } var k = e("./attrlist"), i = e("../io"), n = e("./URLToolkit"), c = /#EXT-X-STREAM-INF:([^\n\r]*)[\r\n]+([^\r\n]+)/g, u = /#EXT-X-MEDIA:(.*)/g, P = new RegExp([/#EXTINF:(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source, /|(?!#)(\S+)/.source, /|#EXT-X-BYTERANGE:*(.+)/.source, /|#EXT-X-PROGRAM-DATE-TIME:(.+)/.source, /|#.*/.source].join(""), "g"), C = /(?:(?:#(EXTM3U))|(?:#EXT-X-(PLAYLIST-TYPE):(.+))|(?:#EXT-X-(MEDIA-SEQUENCE): *(\d+))|(?:#EXT-X-(TARGETDURATION): *(\d+))|(?:#EXT-X-(KEY):(.+))|(?:#EXT-X-(START):(.+))|(?:#EXT-X-(ENDLIST))|(?:#EXT-X-(DISCONTINUITY-SEQ)UENCE:(\d+))|(?:#EXT-X-(DIS)CONTINUITY))|(?:#EXT-X-(VERSION):(\d+))|(?:#EXT-X-(MAP):(.+))|(?:(#)(.*):(.*))|(?:(#)(.*))(?:.*)\r?\n?/; M.prototype.getUrl = function () { return !this._url && this.relurl && (this._url = n.buildAbsoluteURL(this.baseurl, this.relurl, { alwaysNormalize: !0 })), this._url }, M.prototype.Seturl = function (e) { this._url = e }, M.prototype.getProgramDateTime = function () { return !this._programDateTime && this.rawProgramDateTime && (this._programDateTime = new Date(Date.parse(this.rawProgramDateTime))), this._programDateTime }, M.prototype.GetbyteRange = function () { var e, t, r; return this._byteRange || (e = this._byteRange = [], this.rawByteRange && (1 === (t = this.rawByteRange.split("@", 2)).length ? (r = this.lastByteRangeEndOffset, e[0] = r || 0) : e[0] = parseInt(t[1]), e[1] = parseInt(t[0]) + e[0])), this._byteRange }, M.prototype.getByteRangeStartOffset = function () { return this.byteRange[0] }, M.prototype.getByteRangeEndOffset = function () { return this.byteRange[1] }; M.prototype.getDecryptdata = function () { return this._decryptdata || (this._decryptdata = this.fragmentDecryptdataFromLevelkey(this.levelkey, this.sn)), this._decryptdata }; function o() { this.loaders = {} } o.prototype = { parseMasterPlaylist: function (e, t) { var r, i = []; for (c.lastIndex = 0; null != (r = c.exec(e));) { var n = {}, o = n.attrs = new k(r[1]); n.url = this.resolve(r[2], t); var a = o.decimalResolution("RESOLUTION"); a && (n.width = a.width, n.height = a.height), n.bitrate = o.decimalInteger("AVERAGE-BANDWIDTH") || o.decimalInteger("BANDWIDTH"), n.name = o.NAME; var s = o.CODECS; if (s) { s = s.split(/[ ,]+/); for (var l = 0; l < s.length; l++) { var u = s[l]; -1 !== u.indexOf("avc1") ? n.videoCodec = this.avc1toavcoti(u) : -1 !== u.indexOf("hvc1") ? n.videoCodec = u : n.audioCodec = u } } i.push(n) } return i }, parseMasterPlaylistMedia: function (e, t, r, i) { var n, o = [], a = 0; for (u.lastIndex = 0; null != (n = u.exec(e));) { var s = {}, l = new k(n[1]); l.TYPE === r && (s.groupId = l["GROUP-ID"], s.name = l.NAME, s.type = r, s["default"] = "YES" === l.DEFAULT, s.autoselect = "YES" === l.AUTOSELECT, s.forced = "YES" === l.FORCED, l.URI && (s.url = this.resolve(l.URI, t)), s.lang = l.LANGUAGE, s.name || (s.name = s.lang), i && (s.audioCodec = i), s.id = a++, o.push(s)) } return o }, avc1toavcoti: function (e) { var t, r = e.split("."); return 2 < r.length ? (t = r.shift() + ".", t += parseInt(r.shift()).toString(16), t += ("000" + parseInt(r.shift()).toString(16)).substr(-4)) : t = e, t }, parseLevelPlaylist: function (e, t, r, i) { var n, o, a = 0, s = 0, l = { type: null, version: null, url: t, fragments: [], live: !0, startSN: 0 }, u = new T, c = 0, h = null, d = new M; for (P.lastIndex = 0; null !== (n = P.exec(e));) { var f, p, y = n[1]; if (y) { d.duration = parseFloat(y); var m = (" " + n[2]).slice(1); d.title = m || null, d.tagList.push(m ? ["INF", y, m] : ["INF", y]) } else if (n[3]) { isNaN(d.duration) || (f = a++, d.type = i, d.start = s, d.levelkey = u, d.sn = f, d.level = r, d.cc = c, d.baseurl = t, d.relurl = (" " + n[3]).slice(1), l.fragments.push(d), s += (h = d).duration, d = new M) } else if (n[4]) { d.rawByteRange = (" " + n[4]).slice(1), !h || (p = h.byteRangeEndOffset) && (d.lastByteRangeEndOffset = p) } else if (n[5]) d.rawProgramDateTime = (" " + n[5]).slice(1), d.tagList.push(["PROGRAM-DATE-TIME", d.rawProgramDateTime]), void 0 === l.programDateTime && (l.programDateTime = new Date(new Date(Date.parse(n[5])) - 1e3 * s)); else { for (n = n[0].match(C), o = 1; o < n.length && void 0 === n[o]; o++); var g = (" " + n[o + 1]).slice(1), b = (" " + n[o + 2]).slice(1); switch (n[o]) { case "#": d.tagList.push(b ? [g, b] : [g]); break; case "PLAYLIST-TYPE": l.type = g.toUpperCase(); break; case "MEDIA-SEQUENCE": a = l.startSN = parseInt(g); break; case "TARGETDURATION": l.targetduration = parseFloat(g); break; case "VERSION": l.version = parseInt(g); break; case "EXTM3U": break; case "ENDLIST": l.live = !1; break; case "DIS": c++, d.tagList.push(["DIS"]); break; case "DISCONTINUITY-SEQ": c = parseInt(g); break; case "KEY": var v = new k(g), _ = v.enumeratedString("METHOD"), w = v.URI, S = v.hexadecimalInteger("IV"); _ && (u = new T, w && 0 <= ["AES-128", "SAMPLE-AES"].indexOf(_) && (u.method = _, u.baseuri = t, u.reluri = w, u.key = null, u.iv = S)); break; case "START": var E = new k(g).decimalFloatingPoint("TIME-OFFSET"); isNaN(E) || (l.startTimeOffset = E); break; case "MAP": var x = new k(g); d.relurl = x.URI, d.rawByteRange = x.BYTERANGE, d.baseurl = t, d.level = r, d.type = i, d.sn = "initSegment", l.initSegment = d, d = new M; break; default: console.log("line parsed but not handled: " + n) } } } return (d = h) && !d.relurl && (l.fragments.pop(), s -= d.duration), l.totalduration = s, l.averagetargetduration = s / l.fragments.length, l.endSN = a - 1, l }, load: function (o, a) { var s = this; i.get(o, function (e) { var t, r, i, n = s.parseMasterPlaylist(e, o); n.length && (t = s.parseMasterPlaylistMedia(e, o, "AUDIO", n[0].audioCodec), r = s.parseMasterPlaylistMedia(e, o, "SUBTITLES"), t.length && (i = !1, t.forEach(function (e) { e.url || (i = !0) }), !1 === i && n[0].audioCodec && !n[0].attrs.AUDIO && (console.log("audio codec signaled in quality level, but no embedded audio track signaled, create one"), t.unshift({ type: "main", name: "main" })))), a({ levels: n, audioTracks: t, subtitles: r, url: o }) }, function (e) { console.log(e) }) }, resolve: function (e, t) { return n.buildAbsoluteURL(t, e, { alwaysNormalize: !0 }) } }, t.exports = o }, { "../io": 223, "./URLToolkit": 220, "./attrlist": 221 }], 223: [function (e, s, t) { var f = e("./url"); s.exports.get = function (e, t, r, i, n) { s.exports.ajax("GET", e, {}, t, r, i, n) }, s.exports.post = function (e, t, r, i, n, o) { var a = { "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", Accept: "application/json" }; s.exports.ajax("POST", e, t, r, i, n, o, a) }, s.exports.postWithHeader = function (e, t, r, i, n) { s.exports.ajax("POST", e, t, i, n, !0, !1, r) }, s.exports.ajax = function (e, t, r, i, n, o, a, s) { var l, u, c, h; n = n || function () { }, "undefined" == typeof XMLHttpRequest && (window.XMLHttpRequest = function () { try { return new window.ActiveXObject("Msxml2.XMLHTTP.6.0") } catch (e) { } try { return new window.ActiveXObject("Msxml2.XMLHTTP.3.0") } catch (e) { } try { return new window.ActiveXObject("Msxml2.XMLHTTP") } catch (e) { } throw new Error("This browser does not support XMLHttpRequest.") }), u = new XMLHttpRequest, c = f.parseUrl(t), h = window.location, !(c.protocol + c.host !== h.protocol + h.host) || !window.XDomainRequest || "withCredentials" in u ? (l = "file:" == c.protocol || "file:" == h.protocol, u.onreadystatechange = function () { 4 === u.readyState && (200 === u.status || l && 0 === u.status ? i : n)(u.responseText) }) : ((u = new window.XDomainRequest).onload = function () { i(u.responseText) }, u.onerror = n, u.onprogress = function () { }, u.ontimeout = n); try { if (void 0 === o && (o = !0), u.open(e, t, o), a && (u.withCredentials = !0), s) for (var d in s) s.hasOwnProperty(d) && u.setRequestHeader(d, s[d]) } catch (e) { return void n(e) } try { u.send(r) } catch (e) { n(e) } }, s.exports.jsonp = function (e, t, r) { var i = "jsonp_callback_" + Math.round(1e5 * Math.random()), n = document.createElement("script"); e && (n.src = e + (0 <= e.indexOf("?") ? "&" : "?") + "callback=" + i + "&cb=" + i, n.onerror = function () { delete window[i], document.body.removeChild(n), r() }, n.onload = function () { setTimeout(function () { window[i] && (delete window[i], document.body.removeChild(n)) }, 0) }, window[i] = function (e) { delete window[i], document.body.removeChild(n), t(e) }, document.body.appendChild(n)) }, s.exports.loadJS = function (e, t) { var r = document.getElementsByTagName("HEAD").item(0), i = document.createElement("script"); e && e.toLowerCase().indexOf("https://") < 0 && (e = document.URL.replace(/(\/[^\/]*?)$/i, "") + e), i.type = "text/javascript", i.src = e, i.onload = function () { t && t() }, r.appendChild(i) } }, { "./url": 231 }], 224: [function (e, t, r) { var s = e("./dom"); t.exports.render = function (e, t) { var r = t.align ? t.align : t.className ? "" : "tl", i = t.x ? t.x : 0, n = t.y ? t.y : 0, o = i.indexOf && 0 < i.indexOf("%") ? "" : "px", a = n.indexOf && 0 < n.indexOf("%") ? "" : "px"; "tl" === r ? s.css(e, { "float": "left", "margin-left": i + o, "margin-top": n + a }) : "tr" === r ? s.css(e, { "float": "right", "margin-right": i + o, "margin-top": n + a }) : "tlabs" === r ? s.css(e, { position: "absolute", left: i + o, top: n + a }) : "trabs" === r ? s.css(e, { position: "absolute", right: i + o, top: n + a }) : "blabs" === r ? s.css(e, { position: "absolute", left: i + o, bottom: n + a }) : "brabs" === r ? s.css(e, { position: "absolute", right: i + o, bottom: n + a }) : "cc" === r && s.addClass(e, "loading-center") } }, { "./dom": 217 }], 225: [function (e, a, t) { var s = Object.prototype.hasOwnProperty; a.exports.create = Object.create || function (e) { function t() { } return t.prototype = e, new t }, a.exports.isArray = function (e) { return "[object Array]" === Object.prototype.toString.call(arg) }, a.exports.isEmpty = function (e) { for (var t in e) if (null !== e[t]) return !1; return !0 }, a.exports.each = function (e, t, r) { if (a.exports.isArray(e)) for (var i = 0, n = e.length; i < n && !1 !== t.call(r || this, e[i], i); ++i); else for (var o in e) if (s.call(e, o) && !1 === t.call(r || this, o, e[o])) break; return e }, a.exports.merge = function (e, t) { if (!t) return e; for (var r in t) s.call(t, r) && (e[r] = t[r]); return e }, a.exports.deepMerge = function (e, t) { var r, i, n; for (r in e = a.exports.copy(e), t) s.call(t, r) && (i = e[r], n = t[r], a.exports.isPlain(i) && a.exports.isPlain(n) ? e[r] = a.exports.deepMerge(i, n) : e[r] = t[r]); return e }, a.exports.copy = function (e) { return a.exports.merge({}, e) }, a.exports.isPlain = function (e) { return !!e && "object" == typeof e && "[object Object]" === e.toString() && e.constructor === Object }, a.exports.isArray = Array.isArray || function (e) { return "[object Array]" === Object.prototype.toString.call(e) }, a.exports.unescape = function (e) { return e.replace(/&([^;]+);/g, function (e, t) { return { amp: "&", lt: "<", gt: ">", quot: '"', "#x27": "'", "#x60": "`" }[t.toLowerCase()] || e }) } }, {}], 226: [function (e, t, r) { var n = e("./object"), o = function () { }; (o = function () { }).extend = function (e) { var t, r = (e = e || {}).init || e.init || this.prototype.init || this.prototype.init || function () { }; for (var i in (((t = function () { r.apply(this, arguments) }).prototype = n.create(this.prototype)).constructor = t).extend = o.extend, t.create = o.create, e) e.hasOwnProperty(i) && (t.prototype[i] = e[i]); return t }, o.create = function () { var e = n.create(this.prototype); return this.apply(e, arguments), e }, t.exports = o }, { "./object": 225 }], 227: [function (e, p, t) { var y = e("./object"), r = e("../config"), i = e("./dom"), n = e("./cookie"), o = e("./constants"), a = e("../lang/index"), s = e("./ua"), m = e("../player/base/plugin/defaultemptycomponent"), g = { preload: !0, autoplay: !0, useNativeControls: !1, width: "100%", height: "300px", cover: "", from: "", trackLog: !0, logBatched: !0, isLive: !1, playsinline: !0, showBarTime: 5e3, rePlay: !1, liveRetry: 5, liveRetryInterval: 1, liveRetryStep: 0, vodRetry: 3, format: "", definition: "", defaultDefinition: "", loadDataTimeout: 20, waitingTimeout: 60, waitingBufferedTime: 3, delayLoadingShow: 1, controlBarForOver: !1, controlBarVisibility: "hover", enableSystemMenu: !1, qualitySort: "asc", x5_video_position: "normal", x5_type: "", x5_fullscreen: !1, x5_orientation: "landscape|portrait", x5LandscapeAsFullScreen: !0, autoPlayDelay: 0, autoPlayDelayDisplayText: "", useHlsPluginForSafari: !1, enableMSEForAndroid: !0, encryptType: 0, language: "zh-cn", languageTexts: {}, mediaType: "video", outputType: "", playConfig: {}, reAuthInfo: {}, components: [], liveTimeShiftUrl: "", liveShiftSource: "", liveShiftTime: "", videoHeight: "100%", videoWidth: "100%", enableWorker: !0, authTimeout: "", enableMockFullscreen: !1, region: "cn-shanghai", debug: !1, progressMarkers: [], snapshotWatermark: { left: "500", top: "100", text: "", font: "16px \u5b8b\u4f53", fillColor: "#FFFFFF", strokeColor: "#FFFFFF" }, liveStartTime: "", liveOverTime: "", enableStashBufferForFlv: !0, stashInitialSizeForFlv: 32, flvOption: {}, hlsOption: { stopLoadAsPaused: !1 }, hlsLoadingTimeOut: 2e4, useHlsPlugOnMobile: !0, nudgeMaxRetry: 5, tracks: [], recreatePlayer: function () { }, diagnosisButtonVisible: !0, _native: !0, hlsUriToken: "", thumbnailUrl: "", skinRes: "//" + r.domain + "/de/prismplayer-flash/" + r.flashVersion + "/atlas/defaultSkin" }; p.exports.defaultH5Layout = [{ name: "bigPlayButton", align: "blabs", x: 30, y: 80 }, { name: "H5Loading", align: "cc" }, { name: "errorDisplay", align: "tlabs", x: 0, y: 0 }, { name: "infoDisplay" }, { name: "tooltip", align: "blabs", x: 0, y: 50 }, { name: "thumbnail" }, { name: "controlBar", align: "blabs", x: 0, y: 0, children: [{ name: "progress", align: "blabs", x: 0, y: 44 }, { name: "playButton", align: "tl", x: 15, y: 12 }, { name: "timeDisplay", align: "tl", x: 10, y: 5 }, { name: "fullScreenButton", align: "tr", x: 10, y: 12 }, { name: "subtitle", align: "tr", x: 15, y: 12 }, { name: "setting", align: "tr", x: 15, y: 12 }, { name: "volume", align: "tr", x: 5, y: 10 }] }], p.exports.defaultAudioLayout = [{ name: "controlBar", align: "blabs", x: 0, y: 0, children: [{ name: "progress", align: "blabs", x: 0, y: 44 }, { name: "playButton", align: "tl", x: 15, y: 12 }, { name: "timeDisplay", align: "tl", x: 10, y: 5 }, { name: "volume", align: "tr", x: 5, y: 10 }] }], p.exports.defaultFlashLayout = [{ name: "bigPlayButton", align: "blabs", x: 30, y: 80 }, { name: "controlBar", align: "blabs", x: 0, y: 0, children: [{ name: "progress", align: "tlabs", x: 0, y: 0 }, { name: "playButton", align: "tl", x: 15, y: 26 }, { name: "nextButton", align: "tl", x: 10, y: 26 }, { name: "timeDisplay", align: "tl", x: 10, y: 24 }, { name: "fullScreenButton", align: "tr", x: 10, y: 25 }, { name: "streamButton", align: "tr", x: 10, y: 23 }, { name: "volume", align: "tr", x: 10, y: 25 }] }, { name: "fullControlBar", align: "tlabs", x: 0, y: 0, children: [{ name: "fullTitle", align: "tl", x: 25, y: 6 }, { name: "fullNormalScreenButton", align: "tr", x: 24, y: 13 }, { name: "fullTimeDisplay", align: "tr", x: 10, y: 12 }, { name: "fullZoom", align: "cc" }] }], p.exports.canPlayType = function (e) { var t = document.createElement("video"); return t.canPlayType ? t.canPlayType(e) : "" }, p.exports.canPlayHls = function () { return "" != p.exports.canPlayType("application/x-mpegURL") }, p.exports.isUsedHlsPluginOnMobile = function (e) { return !(!s.IS_MOBILE || !s.IS_CHROME && !s.IS_FIREFOX || !p.exports.isSupportHls()) }, p.exports.isSafariUsedHlsPlugin = function (e) { return !!(s.os.pc && s.browser.safari && e) }, p.exports.hasUIComponent = function (e, t) { if (void 0 === e || !e || 0 == e.length) return !1; for (var r = 0, i = e.length; r < i; r++) { var n = e[r].name; if (n == t) return !0; if ("controlBar" == n) return p.exports.hasUIComponent(e[r].children, t) } return !1 }, p.exports.validateSource = function (e) { return !0 }, p.exports.supportH5Video = function () { return void 0 !== document.createElement("video").canPlayType }, p.exports.createWrapper = function (e) { var t = e.id, r = "string" == typeof t ? (0 === t.indexOf("#") && (t = t.slice(1)), i.el(t)) : t; if (!r || !r.nodeName) throw new TypeError("\u6ca1\u6709\u4e3a\u64ad\u653e\u5668\u6307\u5b9a\u5bb9\u5668"); return p.exports.adjustContainerLayout(r, e), r }, p.exports.adjustContainerLayout = function (e, t) { t.width && !e.style.width && (e.style.width = t.width), t.height && !e.style.height && (e.style.height = t.height) }, p.exports.isSupportHls = function () { var e = window.MediaSource = window.MediaSource || window.WebKitMediaSource, t = window.SourceBuffer = window.SourceBuffer || window.WebKitSourceBuffer, r = e && "function" == typeof e.isTypeSupported && e.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'), i = !t || t.prototype && "function" == typeof t.prototype.appendBuffer && "function" == typeof t.prototype.remove; return r && i }, p.exports.isSupportFlv = function () { return p.exports.isSupportHls() }, p.exports.isSupportMSE = function () { return !!window.Promise && !!window.Uint8Array && !!Array.prototype.forEach && p.exports.isSupportedMediaSource() }, p.exports.isSupportedMediaSource = function () { return !!window.MediaSource && !!MediaSource.isTypeSupported }, p.exports.isSupportedDrm = function () { return !!(window.MediaKeys && window.navigator && window.navigator.requestMediaKeySystemAccess && window.MediaKeySystemAccess && window.MediaKeySystemAccess.prototype.getConfiguration) && p.exports.isSupportMSE() }, p.exports.isAudio = function (e) { return e && 0 < e.toLowerCase().indexOf(".mp3") }, p.exports.isLiveShift = function (e) { return e.isLive && e.liveStartTime && e.liveOverTime }, p.exports.isHls = function (e) { return e && 0 < e.toLowerCase().indexOf(".m3u8") }, p.exports.isDash = function (e) { return e && 0 < e.toLowerCase().indexOf(".mpd") }, p.exports.isFlv = function (e) { return e && 0 < e.toLowerCase().indexOf(".flv") }, p.exports.isRTMP = function (e) { return e && -1 < e.toLowerCase().indexOf("rtmp:") }, p.exports.isRts = function (e) { return e && -1 < e.toLowerCase().indexOf("artc:") }, p.exports.checkSecuritSupport = function () { return p.exports.isSupportHls() ? "" : s.IS_IOS ? a.get("iOSNotSupportVodEncription") : a.get("UseChromeForVodEncription") }, p.exports.findSelectedStreamLevel = function (e, t) { var r = t; if (!r && !(r = n.get(o.SelectedStreamLevel))) return n.set(o.SelectedStreamLevel, e[0].definition, 365), 0; for (var i = 0; i < e.length; i++)if (e[i].definition == r) return i; return 0 }, p.exports.handleOption = function (e, t) { p.exports.isRts(e.source) && (e.isLive = !0); var r, i = y.merge(y.copy(g), e), n = [{ name: "fullScreenButton", align: "tr", x: 20, y: 12 }, { name: "subtitle", align: "tr", x: 15, y: 12 }, { name: "setting", align: "tr", x: 15, y: 12 }, { name: "volume", align: "tr", x: 5, y: 10 }], o = !1; if (e.useFlashPrism || p.exports.isRTMP(e.source) ? (o = !0, n = [{ name: "liveIco", align: "tlabs", x: 15, y: 25 }, { name: "fullScreenButton", align: "tr", x: 10, y: 25 }, { name: "volume", align: "tr", x: 10, y: 25 }]) : (r = p.exports.isLiveShift(i)) ? (n.push({ name: "liveShiftProgress", align: "tlabs", x: 0, y: 0 }), n.push({ name: "playButton", align: "tl", x: 15, y: 12 }), n.push({ name: "liveDisplay", align: "tl", x: 15, y: 6 })) : n.push({ name: "liveDisplay", align: "tlabs", x: 15, y: 6 }), e.isLive) if (void 0 === e.skinLayout && p.exports.isRts(e.source)) i.skinLayout = [{ name: "errorDisplay", align: "tlabs", x: 0, y: 0 }, { name: "infoDisplay" }, { name: "bigPlayButton", align: "blabs", x: 30, y: 80 }, { name: "tooltip", align: "blabs", x: 0, y: 56 }, { name: "H5Loading", align: "cc" }, { name: "controlBar", align: "blabs", x: 0, y: 0, children: [{ name: "fullScreenButton", align: "tr", x: 20, y: 12 }, { name: "volume", align: "tr", x: 5, y: 10 }, { name: "liveDisplay", align: "tlabs", x: 15, y: 6 }] }]; else if (void 0 === e.skinLayout) i.skinLayout = [{ name: "errorDisplay", align: "tlabs", x: 0, y: 0 }, { name: "infoDisplay" }, { name: "bigPlayButton", align: "blabs", x: 30, y: 80 }, { name: "tooltip", align: "blabs", x: 0, y: 56 }, { name: "H5Loading", align: "cc" }, { name: "controlBar", align: "blabs", x: 0, y: 0, children: n }]; else if (0 != e.skinLayout) { for (var a = e.skinLayout.length, s = [], l = -1, u = 0; u < a; u++)if ("controlBar" == i.skinLayout[u].name) { l = u; for (var c = i.skinLayout[u].children.length, h = 0; h < c; h++) { var d, f = i.skinLayout[u].children[h].name; "liveDisplay" != f && "liveIco" != f && "fullScreenButton" != f && "volume" != f && "snapshot" != f && "setting" != f && "subtitle" != f && (!r || "progress" != f && "playButton" != f && "timeDisplay" != f) || (d = i.skinLayout[u].children[h], "progress" == f ? d.name = "liveShiftProgress" : "timeDisplay" == f ? d.name = "liveShiftTimeDisplay" : o && "liveDisplay" == f && (d.name = "liveIco"), s.push(d)) } break } -1 != l && (i.skinLayout[l].children = s) } return (void 0 === e.components || !e.components || y.isArray(e.components) && 0 == e.components.length) && "false" != e.components && (i.components = [m]), i } }, { "../config": 204, "../lang/index": 210, "../player/base/plugin/defaultemptycomponent": 262, "./constants": 214, "./cookie": 215, "./dom": 217, "./object": 225, "./ua": 230 }], 228: [function (e, t, r) { arguments[4][227][0].apply(r, arguments) }, { "../config": 204, "../lang/index": 210, "../player/base/plugin/defaultemptycomponent": 262, "./constants": 214, "./cookie": 215, "./dom": 217, "./object": 225, "./ua": 230, dup: 227 }], 229: [function (e, t, r) { t.exports.set = function (t, r) { try { window.localStorage && localStorage.setItem(t, r) } catch (e) { window[t + "_localStorage"] = r } }, t.exports.get = function (t) { try { if (window.localStorage) return localStorage.getItem(t) } catch (e) { return window[t + "_localStorage"] } return "" } }, {}], 230: [function (e, k, t) { var r, i, n, o; if (k.exports.USER_AGENT = navigator.userAgent, k.exports.IS_IPHONE = /iPhone/i.test(k.exports.USER_AGENT), k.exports.IS_IPAD = /iPad/i.test(k.exports.USER_AGENT), k.exports.IS_IPOD = /iPod/i.test(k.exports.USER_AGENT), k.exports.IS_MAC = /mac/i.test(k.exports.USER_AGENT), k.exports.IS_EDGE = /Edge/i.test(k.exports.USER_AGENT), k.exports.IS_IE11 = /Trident\/7.0/i.test(k.exports.USER_AGENT), k.exports.IS_X5 = /qqbrowser/i.test(k.exports.USER_AGENT.toLowerCase()), k.exports.IS_CHROME = /Chrome/i.test(k.exports.USER_AGENT) && !k.exports.IS_EDGE && !k.exports.IS_X5, k.exports.IS_SAFARI = /Safari/i.test(k.exports.USER_AGENT) && !k.exports.IS_CHROME, k.exports.IS_FIREFOX = /Firefox/i.test(k.exports.USER_AGENT), document.all) try { var a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); k.exports.HAS_FLASH = !!a } catch (e) { k.exports.HAS_FLASH = !1 } else navigator.plugins && 0 < navigator.plugins.length ? (a = navigator.plugins["Shockwave Flash"], k.exports.HAS_FLASH = !!a) : k.exports.HAS_FLASH = !1; k.exports.IS_MAC_SAFARI = k.exports.IS_MAC && k.exports.IS_SAFARI && !k.exports.IS_CHROME && !k.exports.HAS_FLASH, k.exports.IS_IOS = k.exports.IS_IPHONE || k.exports.IS_IPAD || k.exports.IS_IPOD, k.exports.IOS_VERSION = function () { var e = k.exports.USER_AGENT.match(/OS (\d+)_/i); if (e && e[1]) return e[1] }(), k.exports.IS_ANDROID = /Android/i.test(k.exports.USER_AGENT), k.exports.ANDROID_VERSION = (n = k.exports.USER_AGENT.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i)) ? (r = n[1] && parseFloat(n[1]), i = n[2] && parseFloat(n[2]), r && i ? parseFloat(n[1] + "." + n[2]) : r || null) : null, k.exports.IS_OLD_ANDROID = k.exports.IS_ANDROID && /webkit/i.test(k.exports.USER_AGENT) && k.exports.ANDROID_VERSION < 2.3, k.exports.TOUCH_ENABLED = !!("ontouchstart" in window || window.DocumentTouch && document instanceof window.DocumentTouch), k.exports.IS_MOBILE = k.exports.IS_IOS || k.exports.IS_ANDROID, k.exports.IS_H5 = k.exports.IS_MOBILE || !k.exports.HAS_FLASH, k.exports.IS_PC = !k.exports.IS_MOBILE, k.exports.is_X5 = /micromessenger/i.test(k.exports.USER_AGENT) || /qqbrowser/i.test(k.exports.USER_AGENT), k.exports.getHost = function (e) { var t = ""; if (void 0 === e || null == e || "" == e) return ""; var r = e.indexOf("//"), i = e; -1 < r && (i = e.substring(r + 2)); var t = i, n = i.split("/"); return n && 0 < n.length && (t = n[0]), (n = t.split(":")) && 0 < n.length && (t = n[0]), t }, k.exports.dingTalk = function () { var e = k.exports.USER_AGENT.toLowerCase(); return /dingtalk/i.test(e) }, k.exports.wechat = function () { var e = k.exports.USER_AGENT.toLowerCase(); return /micromessenger/i.test(e) }, k.exports.inIFrame = function () { return self != top }, k.exports.getReferer = function () { var t = document.referrer; if (k.exports.inIFrame()) try { t = top.document.referrer } catch (e) { t = document.referrer } return t }, k.exports.getHref = function () { location.href; if (k.exports.inIFrame()) try { top.location.href } catch (e) { location.href } return location.href }, o = k.exports, function (e, t) { var r, i = this.os = {}, n = this.browser = {}, o = e.match(/Web[kK]it[\/]{0,1}([\d.]+)/), a = e.match(/(Android);?[\s\/]+([\d.]+)?/), s = !!e.match(/\(Macintosh\; Intel /), l = e.match(/(iPad).*OS\s([\d_]+)/), u = e.match(/(iPod)(.*OS\s([\d_]+))?/), c = !l && e.match(/(iPhone\sOS)\s([\d_]+)/), h = e.match(/(webOS|hpwOS)[\s\/]([\d.]+)/), d = /Win\d{2}|Windows/.test(t), f = e.match(/Windows Phone ([\d.]+)/), p = h && e.match(/TouchPad/), y = e.match(/Kindle\/([\d.]+)/), m = e.match(/Silk\/([\d._]+)/), g = e.match(/(BlackBerry).*Version\/([\d.]+)/), b = e.match(/(BB10).*Version\/([\d.]+)/), v = e.match(/(RIM\sTablet\sOS)\s([\d.]+)/), _ = e.match(/PlayBook/), w = e.match(/Chrome\/([\d.]+)/) || e.match(/CriOS\/([\d.]+)/), S = e.match(/Firefox\/([\d.]+)/), E = e.match(/\((?:Mobile|Tablet); rv:([\d.]+)\).*Firefox\/[\d.]+/), x = e.match(/MSIE\s([\d.]+)/) || e.match(/Trident\/[\d](?=[^\?]+).*rv:([0-9.].)/), T = !w && e.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/), M = T || e.match(/Version\/([\d.]+)([^S](Safari)|[^M]*(Mobile)[^S]*(Safari))/); (n.webkit = !!o) && (n.version = o[1]), a && (i.android = !0, i.version = a[2]), c && !u && (i.ios = i.iphone = !0, i.version = c[2].replace(/_/g, ".")), l && (i.ios = i.ipad = !0, i.version = l[2].replace(/_/g, ".")), u && (i.ios = i.ipod = !0, i.version = u[3] ? u[3].replace(/_/g, ".") : null), f && (i.wp = !0, i.version = f[1]), h && (i.webos = !0, i.version = h[2]), p && (i.touchpad = !0), g && (i.blackberry = !0, i.version = g[2]), b && (i.bb10 = !0, i.version = b[2]), v && (i.rimtabletos = !0, i.version = v[2]), _ && (n.playbook = !0), y && (i.kindle = !0, i.version = y[1]), m && (n.silk = !0, n.version = m[1]), !m && i.android && e.match(/Kindle Fire/) && (n.silk = !0), w && (n.chrome = !0, n.version = w[1]), S && (n.firefox = !0, n.version = S[1]), E && (i.firefoxos = !0, i.version = E[1]), x && (n.ie = !0, n.version = x[1]), M && (s || i.ios || d || a) && (n.safari = !0, i.ios || (n.version = M[1])), T && (n.webview = !0), !s || (r = e.match(/[\d]*_[\d]*_[\d]*/)) && 0 < r.length && r[0] && (i.version = r[0].replace(/_/g, ".")), i.tablet = !!(l || _ || a && !e.match(/Mobile/) || S && e.match(/Tablet/) || x && !e.match(/Phone/) && e.match(/Touch/)), i.phone = !(i.tablet || i.ipod || !(a || c || h || g || b || w && e.match(/Android/) || w && e.match(/CriOS\/([\d.]+)/) || S && e.match(/Mobile/) || x && e.match(/Touch/))), i.pc = !i.tablet && !i.phone, s ? i.name = "macOS" : d ? (i.name = "windows", i.version = function () { var e = navigator.userAgent, t = ""; (-1 < e.indexOf("Windows NT 5.0") || -1 < e.indexOf("Windows 2000")) && (t = "2000"); (-1 < e.indexOf("Windows NT 5.1") || -1 < e.indexOf("Windows XP")) && (t = "XP"); (-1 < e.indexOf("Windows NT 5.2") || -1 < e.indexOf("Windows 2003")) && (t = "2003"); (-1 < e.indexOf("Windows NT 6.0") || -1 < e.indexOf("Windows Vista")) && (t = "Vista"); (-1 < e.indexOf("Windows NT 6.1") || -1 < e.indexOf("Windows 7")) && (t = "7"); (-1 < e.indexOf("Windows NT 6.2") || -1 < e.indexOf("Windows 8")) && (t = "8"); (-1 < e.indexOf("Windows NT 6.3") || -1 < e.indexOf("Windows 8.1")) && (t = "8.1"); (-1 < e.indexOf("Windows NT 10") || -1 < e.indexOf("Windows 10")) && (t = "10"); return t }()) : i.name = function () { var e = navigator.userAgent, t = "other", r = k.exports.os; if (r.ios) return "iOS"; if (r.android) return "android"; if (-1 < e.indexOf("Baiduspider")) return "Baiduspider"; if (-1 < e.indexOf("PlayStation")) return "PS4"; var i = "Win32" == navigator.platform || "Windows" == navigator.platform || -1 < e.indexOf("Windows"), n = "Mac68K" == navigator.platform || "MacPPC" == navigator.platform || "Macintosh" == navigator.platform || "MacIntel" == navigator.platform; n && (t = "macOS"); "X11" != navigator.platform || i || n || (t = "Unix"); -1 < String(navigator.platform).indexOf("Linux") && (t = "Linux"); if (i) return "windows"; return t }(), n.name = function () { var e = navigator.userAgent.toLowerCase(), t = k.exports.browser; { if (t.firefox) return "Firefox"; if (t.ie) return /edge/.test(e) ? "Edge" : "IE"; if (/micromessenger/.test(e)) return "\u5fae\u4fe1\u5185\u7f6e\u6d4f\u89c8\u5668"; if (/qqbrowser/.test(e)) return "QQ\u6d4f\u89c8\u5668"; if (t.webview) return "webview"; if (t.chrome) return "Chrome"; if (t.safari) return "Safari"; if (/baiduspider/.test(e)) return "Baiduspider"; if (/ucweb/.test(e) || /UCBrowser/.test(e)) return "UC"; if (/opera/.test(e)) return "Opera"; if (/ucweb/.test(e)) return "UC"; if (/360se/.test(e)) return "360\u6d4f\u89c8\u5668"; if (/bidubrowser/.test(e)) return "\u767e\u5ea6\u6d4f\u89c8\u5668"; if (/metasr/.test(e)) return "\u641c\u72d7\u6d4f\u89c8\u5668"; if (/lbbrowser/.test(e)) return "\u730e\u8c79\u6d4f\u89c8\u5668"; if (/playstation/.test(e)) return "PS4\u6d4f\u89c8\u5668" } }() }.call(o, navigator.userAgent, navigator.platform) }, {}], 231: [function (e, t, r) { var s = e("./dom"); t.exports.getAbsoluteURL = function (e) { return e.match(/^https?:\/\//) || (e = s.createEl("div", { innerHTML: '<a href="' + e + '">x</a>' }).firstChild.href), e }, t.exports.parseUrl = function (e) { var t, r, i = ["protocol", "hostname", "port", "pathname", "search", "hash", "host"], n = s.createEl("a", { href: e }), o = "" === n.host && "file:" !== n.protocol; o && ((t = s.createEl("div")).innerHTML = '<a href="' + e + '"></a>', n = t.firstChild, t.setAttribute("style", "display:none; position:absolute;"), document.body.appendChild(t)), r = {}; for (var a = 0; a < i.length; a++)r[i[a]] = n[i[a]]; return r.segments = n.pathname.replace(/^\//, "").split("/"), o && document.body.removeChild(t), r } }, { "./dom": 217 }], 232: [function (e, i, t) { var r = e("./dom"), n = e("./ua"), o = e("./playerutil"); i.exports.formatTime = function (e) { var t, r, i = Math.floor(e), n = Math.floor(i / 3600); return i %= 3600, t = Math.floor(i / 60), r = i % 60, !(n === 1 / 0 || isNaN(n) || t === 1 / 0 || isNaN(t) || r === 1 / 0 || isNaN(r)) && ("00" === (n = 10 <= n ? n : "0" + n) ? "" : n + ":") + (t = 10 <= t ? t : "0" + t) + ":" + (r = 10 <= r ? r : "0" + r) }, i.exports.extractTime = function (e) { if (e) { var t = parseInt(e.getHours()), r = parseInt(e.getMinutes()), i = parseInt(e.getSeconds()); return ("00" === (t = 10 <= t ? t : "0" + t) ? "" : t + ":") + (r = 10 <= r ? r : "0" + r) + ":" + (i = 10 <= i ? i : "0" + i) } return "" }, i.exports.convertToTimestamp = function (e, t) { var r = ""; return e && (t ? r = e.gettime() : (r = Date.parse(e), r /= 1e3)), r }, i.exports.convertToDate = function (e, t) { var r = ""; return e && (r = new Date).setTime(1e3 * e), r }, i.exports.parseTime = function (e) { if (!e) return "00:00:00"; var t = e.split(":"), r = 0, i = 0, n = 0; return 3 === t.length ? (r = t[0], i = t[1], n = t[2]) : 2 === t.length ? (i = t[0], n = t[1]) : 1 === t.length && (n = t[0]), 3600 * (r = parseInt(r, 10)) + 60 * (i = parseInt(i, 10)) + (n = Math.ceil(parseFloat(n))) }, i.exports.formatDate = function (e, t) { var r = { "M+": e.getMonth() + 1, "d+": e.getDate(), "H+": e.getHours(), "m+": e.getMinutes(), "s+": e.getSeconds(), "q+": Math.floor((e.getMonth() + 3) / 3), S: e.getMilliseconds() }; for (var i in /(y+)/.test(t) && (t = t.replace(RegExp.$1, (e.getFullYear() + "").substr(4 - RegExp.$1.length))), r) new RegExp("(" + i + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? r[i] : ("00" + r[i]).substr(("" + r[i]).length))); return t }, i.exports.sleep = function (e) { for (var t = Date.now(); Date.now() - t <= e;); }, i.exports.htmlEncodeAll = function (e) { return null == e ? "" : e.replace(/\</g, "<").replace(/\>/g, ">").replace(/\&/g, "&").replace(/"/g, """).replace(/'/g, "'") }, i.exports.toBinary = function (e) { if (!window.atob) return ""; for (var t = atob(e), r = t.length, i = new Uint8Array(r), n = 0; n < r; n++)i[n] = t.charCodeAt(n); return i }, i.exports.readyBinary = function (e) { for (var t = new Uint8Array(e), r = t.length, i = "", n = 0; n < r; n++)i += t[n]; return i }, i.exports.delayHide = function (e, t) { e && (void 0 === t && (t = 1e3), e.delayHanlder && clearTimeout(e.delayHanlder), e.delayHanlder = setTimeout(function () { r.css(e, "display", "none") }, t)) }, i.exports.openInFile = function () { return -1 != window.location.protocol.toLowerCase().indexOf("file") }, i.exports.contentProtocolMixed = function (e) { return !!(n.os.pc && (o.isHls(e) && !n.browser.safari || o.isFlv(e)) && "https:" == window.location.protocol.toLowerCase() && e && -1 < e.toLowerCase().indexOf("http://")) }, i.exports.queryString = function (e) { var t, r, i, n, o; return 2 !== (r = (e = decodeURIComponent(e)).split("?")).length ? {} : (o = r[1], (t = o.split("&")) ? (i = {}, n = 0, $(t).each(function () { var e = t[n].split("="); 2 === e.length && (i[e[0]] = e[1].replace(/\+/g, " ")), n++ }), i) : {}) }, i.exports.log = function (e) { var t = window.location.href, r = i.exports.queryString(t); r && 1 == r.debug && console.log(e) } }, { "./dom": 217, "./playerutil": 228, "./ua": 230 }], 233: [function (e, t, r) { function s(e) { for (var t = 5381, r = e.length; r;)t = 33 * t ^ e.charCodeAt(--r); return (t >>> 0).toString() } var l = e("./vttparse"), i = { parse: function (e, t, r) { var i, n = e.trim().replace(/\r\n|\n\r|\n|\r/g, "\n").split("\n"), o = [], a = new l; a.oncue = function (e) { e.id = s(e.startTime) + s(e.endTime) + s(e.text), e.text = decodeURIComponent(escape(e.text)), e.isBig = !1; var t, r = e.text.split("#xywh="); 2 == r.length && (t = r[1].split(","), e.x = t[0], e.y = t[1], e.w = t[2], e.h = t[3], e.isBig = !0), 0 < e.endTime && o.push(e) }, a.onparsingerror = function (e) { i = e }, a.onflush = function () { if (i && r) return r(i), void console.log(i); t(o) }, n.forEach(function (e) { a.parse(e + "\n") }), a.flush() } }; t.exports = i }, { "./vttparse": 235 }], 234: [function (e, t, r) { t.exports = function () { if ("undefined" != typeof window && window.VTTCue) return window.VTTCue; var _ = { "": !0, lr: !0, rl: !0 }, t = { start: !0, middle: !0, end: !0, left: !0, right: !0 }; function w(e) { return "string" == typeof e && (!!t[e.toLowerCase()] && e.toLowerCase()) } function S(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t]; for (var i in r) e[i] = r[i] } return e } function e(e, t, r) { var i = this, n = function () { if ("undefined" != typeof navigator) return /MSIE\s8\.0/.test(navigator.userAgent) }(), o = {}; n ? i = document.createElement("custom") : o.enumerable = !0, i.hasBeenReset = !1; var a = "", s = !1, l = e, u = t, c = r, h = null, d = "", f = !0, p = "auto", y = "start", m = 50, g = "middle", b = 50, v = "middle"; if (Object.defineProperty(i, "id", S({}, o, { get: function () { return a }, set: function (e) { a = "" + e } })), Object.defineProperty(i, "pauseOnExit", S({}, o, { get: function () { return s }, set: function (e) { s = !!e } })), Object.defineProperty(i, "startTime", S({}, o, { get: function () { return l }, set: function (e) { if ("number" != typeof e) throw new TypeError("Start time must be set to a number."); l = e, this.hasBeenReset = !0 } })), Object.defineProperty(i, "endTime", S({}, o, { get: function () { return u }, set: function (e) { if ("number" != typeof e) throw new TypeError("End time must be set to a number."); u = e, this.hasBeenReset = !0 } })), Object.defineProperty(i, "text", S({}, o, { get: function () { return c }, set: function (e) { c = "" + e, this.hasBeenReset = !0 } })), Object.defineProperty(i, "region", S({}, o, { get: function () { return h }, set: function (e) { h = e, this.hasBeenReset = !0 } })), Object.defineProperty(i, "vertical", S({}, o, { get: function () { return d }, set: function (e) { var t, r = "string" == typeof (t = e) && !!_[t.toLowerCase()] && t.toLowerCase(); if (!1 === r) throw new SyntaxError("An invalid or illegal string was specified."); d = r, this.hasBeenReset = !0 } })), Object.defineProperty(i, "snapToLines", S({}, o, { get: function () { return f }, set: function (e) { f = !!e, this.hasBeenReset = !0 } })), Object.defineProperty(i, "line", S({}, o, { get: function () { return p }, set: function (e) { if ("number" != typeof e && "auto" !== e) throw new SyntaxError("An invalid number or illegal string was specified."); p = e, this.hasBeenReset = !0 } })), Object.defineProperty(i, "lineAlign", S({}, o, { get: function () { return y }, set: function (e) { var t = w(e); if (!t) throw new SyntaxError("An invalid or illegal string was specified."); y = t, this.hasBeenReset = !0 } })), Object.defineProperty(i, "position", S({}, o, { get: function () { return m }, set: function (e) { if (e < 0 || 100 < e) throw new Error("Position must be between 0 and 100."); m = e, this.hasBeenReset = !0 } })), Object.defineProperty(i, "positionAlign", S({}, o, { get: function () { return g }, set: function (e) { var t = w(e); if (!t) throw new SyntaxError("An invalid or illegal string was specified."); g = t, this.hasBeenReset = !0 } })), Object.defineProperty(i, "size", S({}, o, { get: function () { return b }, set: function (e) { if (e < 0 || 100 < e) throw new Error("Size must be between 0 and 100."); b = e, this.hasBeenReset = !0 } })), Object.defineProperty(i, "align", S({}, o, { get: function () { return v }, set: function (e) { var t = w(e); if (!t) throw new SyntaxError("An invalid or illegal string was specified."); v = t, this.hasBeenReset = !0 } })), i.displayState = void 0, n) return i } return e.prototype.getCueAsHTML = function () { return window.WebVTT.convertCueToDOMTree(window, this.text) }, e }() }, {}], 235: [function (e, t, r) { function i() { return { decode: function (e) { if (!e) return ""; if ("string" != typeof e) throw new Error("Error - expected string data."); return decodeURIComponent(encodeURIComponent(e)) } } } var s = e("./vttcue"); function n() { this.window = window, this.state = "INITIAL", this.buffer = "", this.decoder = new i, this.regionList = [] } function l() { this.values = Object.create(null) } function u(e, t, r, i) { var n, o = i ? e.split(i) : [e]; for (var a in o) { "string" == typeof o[a] && (2 === (n = o[a].split(r)).length && t(n[0], n[1])) } } l.prototype = { set: function (e, t) { this.get(e) || "" === t || (this.values[e] = t) }, get: function (e, t, r) { return r ? this.has(e) ? this.values[e] : t[r] : this.has(e) ? this.values[e] : t }, has: function (e) { return e in this.values }, alt: function (e, t, r) { for (var i = 0; i < r.length; ++i)if (t === r[i]) { this.set(e, t); break } }, integer: function (e, t) { /^-?\d+$/.test(t) && this.set(e, parseInt(t, 10)) }, percent: function (e, t) { return !!(t.match(/^([\d]{1,3})(\.[\d]*)?%$/) && 0 <= (t = parseFloat(t)) && t <= 100) && (this.set(e, t), !0) } }; var c = new s(0, 0, 0), h = "middle" === c.align ? "middle" : "center"; function d(t, e, a) { var r = t; function i() { var e = function (e) { function t(e, t, r, i) { return 3600 * (0 | e) + 60 * (0 | t) + (0 | r) + (0 | i) / 1e3 } var r = e.match(/^(\d+):(\d{2})(:\d{2})?(\.\d{3})?/); if (!r) return null; var i = (i = r[4]) && i.replace(".", ""); return r[3] ? t(r[1], r[2], r[3].replace(":", ""), i) : 59 < r[1] ? t(r[1], r[2], 0, i) : t(0, r[1], r[2], i) }(t); if (null === e) throw new Error("Malformed timestamp: " + r); return t = t.replace(/^[^\sa-zA-Z-]+/, ""), e } function n() { t = t.replace(/^\s+/, "") } if (n(), e.startTime = i(), n(), "--\x3e" !== t.substr(0, 3)) throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): " + r); t = t.substr(3), n(), e.endTime = i(), n(), function (e, t) { var o = new l; u(e, function (e, t) { switch (e) { case "region": for (var r = a.length - 1; 0 <= r; r--)if (a[r].id === t) { o.set(e, a[r].region); break } break; case "vertical": o.alt(e, t, ["rl", "lr"]); break; case "line": var i = t.split(","), n = i[0]; o.integer(e, n), o.percent(e, n) && o.set("snapToLines", !1), o.alt(e, n, ["auto"]), 2 === i.length && o.alt("lineAlign", i[1], ["start", h, "end"]); break; case "position": i = t.split(","), o.percent(e, i[0]), 2 === i.length && o.alt("positionAlign", i[1], ["start", h, "end", "line-left", "line-right", "auto"]); break; case "size": o.percent(e, t); break; case "align": o.alt(e, t, ["start", h, "end", "left", "right"]) } }, /:/, /\s/), t.region = o.get("region", null), t.vertical = o.get("vertical", ""); var r = o.get("line", "auto"); "auto" === r && -1 === c.line && (r = -1), t.line = r, t.lineAlign = o.get("lineAlign", "start"), t.snapToLines = o.get("snapToLines", !0), t.size = o.get("size", 100), t.align = o.get("align", h); var i = o.get("position", "auto"); "auto" === i && 50 === c.position && (i = "start" === t.align || "left" === t.align ? 0 : "end" === t.align || "right" === t.align ? 100 : 50), t.position = i }(t, e) } n.prototype = { parse: function (e) { var t, i = this; function r() { for (var e = i.buffer, t = 0, e = e.replace(/<br(?: \/)?>/gi, "\n"); t < e.length && "\r" !== e[t] && "\n" !== e[t];)++t; var r = e.substr(0, t); return "\r" === e[t] && ++t, "\n" === e[t] && ++t, i.buffer = e.substr(t), r } e && (i.buffer += i.decoder.decode(e, { stream: !0 })); try { if ("INITIAL" === i.state) { if (!/\r\n|\n/.test(i.buffer)) return this; var n = (t = r()).match(/^WEBVTT([ \t].*)?$/); if (!n || !n[0]) throw new Error("Malformed WebVTT signature."); i.state = "HEADER" } for (var o = !1; i.buffer;) { if (!/\r\n|\n/.test(i.buffer)) return this; switch (o ? o = !1 : t = r(), i.state) { case "HEADER": /:/.test(t) ? u(t, function (e, t) { switch (e) { case "Region": console.log("parse region", t) } }, /:/) : t || (i.state = "ID"); continue; case "NOTE": t || (i.state = "ID"); continue; case "ID": if (/^NOTE($|[ \t])/.test(t)) { i.state = "NOTE"; break } if (!t) continue; if (i.cue = new s(0, 0, ""), i.state = "CUE", -1 === t.indexOf("--\x3e")) { i.cue.id = t; continue } case "CUE": try { d(t, i.cue, i.regionList) } catch (e) { i.cue = null, i.state = "BADCUE"; continue } i.state = "CUETEXT"; continue; case "CUETEXT": var a = -1 !== t.indexOf("--\x3e"); if (!t || a && (o = !0)) { i.oncue && i.oncue(i.cue), i.cue = null, i.state = "ID"; continue } i.cue.text && (i.cue.text += "\n"), i.cue.text += t; continue; case "BADCUE": t || (i.state = "ID"); continue } } } catch (e) { "CUETEXT" === i.state && i.cue && i.oncue && i.oncue(i.cue), i.cue = null, i.state = "INITIAL" === i.state ? "BADWEBVTT" : "BADCUE" } return this }, flush: function () { try { if (this.buffer += this.decoder.decode(), !this.cue && "HEADER" !== this.state || (this.buffer += "\n\n", this.parse()), "INITIAL" === this.state) throw new Error("Malformed WebVTT signature.") } catch (e) { throw e } return this.onflush && this.onflush(), this } }, t.exports = n }, { "./vttcue": 234 }], 236: [function (e, t, r) { var n = e("../lib/io"); e("../lib/storage"); function i(e) { this._uploadDuration = e.logDuration || 5, this._uploadCount = e.logCount || 10, this._logReportTo = e.logReportTo, this._logs = [], this._retry = 0, this._disposed = !1, this._supportLocalStorage = !0; var t, r = this; window && (window.onbeforeunload = function (e) { 0 < r._logs.length && (r._supportLocalStorage ? localStorage.setItem("__aliplayer_log_data", JSON.stringify(r._logs)) : (r._report(), function (e) { for (var t = (new Date).getTime(), r = t; r < t + e;)r = (new Date).getTime() }(500))) }); try { localStorage ? (t = localStorage.getItem("__aliplayer_log_data"), localStorage.removeItem("__aliplayer_log_data"), t && (this._logs = JSON.parse(t))) : this._supportLocalStorage = !1 } catch (e) { this._supportLocalStorage = !1 } this._start() } i.prototype.add = function (e) { var t = this._logs.length; if (e.__time__ = Math.round(new Date / 1e3), 0 < t && "4001" == e.e) { var r = this._logs[t - 1]; if ("4001" == r.e && r.__time__ - e.__time__ < 5) return } this._logs.push(e), (this._logs.length > this._uploadCount || "4001" == e.e || "2002" == e.e) && this._report() }, i.prototype.dispose = function () { this._report(), this._disposed = !0 }, i.prototype._start = function () { this._disposed = !1; this._retry = 0, this._report() }, i.prototype._report = function (t) { var e, r, i; this._tickHandler && (clearTimeout(this._tickHandler), this._tickHandler = null), 0 < (t = t || this._logs.splice(0, this._uploadCount)).length ? (e = JSON.stringify({ __logs__: t, __source__: "" }), r = this, i = { "Content-Type": "application/json;charset=UTF-8", "x-log-apiversion": "0.6.0", "x-log-bodyrawsize": e.length }, n.postWithHeader(this._logReportTo, e, i, function (e) { r._tick() }, function (e) { 0 == r._retry ? (r._retry = 1, r._report(t)) : r._tick() })) : this._tick() }, i.prototype._tick = function () { var e; this._disposed || (this._retry = 0, (e = this)._logs.length > this._uploadCount ? e._report() : this._tickHandler = setTimeout(function () { e._report() }, 1e3 * this._uploadDuration)) }, t.exports = i }, { "../lib/io": 223, "../lib/storage": 229 }], 237: [function (e, t, r) { var i = e("../lib/oo"), u = e("../lib/object"), b = e("../lib/data"), c = e("../lib/io"), v = e("../lib/ua"), _ = e("../config"), n = e("../player/base/event/eventtype"), w = e("./util"), S = e("./log"), o = 0, h = { STARTFETCHDATA: 1003, COMPLETEFETCHDATA: 1004, PREPARE: 1101, PREPAREEND: 1102, STARTPLAY: 2e3, PLAY: 2001, STOP: 2002, PAUSE: 2003, SEEK: 2004, FULLSREEM: 2005, QUITFULLSCREEM: 2006, RESOLUTION: 2007, RESOLUTION_DONE: 2008, RECOVER: 2010, SEEK_END: 2011, FETCHEDIP: 2020, CDNDETECT: 2021, DETECT: 2022, UNDERLOAD: 3002, LOADED: 3001, HEARTBEAT: 9001, ERROR: 4001, ERRORRETRY: 4002, SNAPSHOT: 2027, ROTATE: 2028, IMAGE: 2029, THUMBNAILSTART: 2031, THUMBNAILCOMPLETE: 2032, CCSTART: 2033, CCCOMPLETE: 2034, AUDIOTRACKSTART: 2033, AUDIOTRACKCOMPLETE: 2034 }, a = i.extend({ init: function (e, t, r) { void 0 === r && (r = !0), this.trackLog = r, this.player = e, this.requestId = "", this.sessionId = b.guid(), this.playId = 0, this.firstPlay = !0, this.osName = v.os.name, this.osVersion = v.os.version || "", this.exName = v.browser.name, this.exVersion = v.browser.version || "", this._logService = "", t.logBatched && (this._logService = new S(_)); var i = this.player.getOptions(), n = t.from ? t.from : "", o = (i.isLive, i.isLive ? "live" : "vod"), a = "pc"; v.IS_IPAD ? a = "pad" : v.os.phone && (a = "phone"); var s = this.encodeURL(v.getReferer()), l = v.getHref(), u = this.encodeURL(l), c = ""; l && (c = v.getHost(l)); var h = _.h5Version, d = w.getUuid(), f = i.source ? this.encodeURL(i.source) : "", p = v.getHost(i.source), y = i.userId ? i.userId + "" : "0", m = this.sessionId, g = (new Date).getTime(); this._userNetInfo = { cdnIp: "", localIp: "" }; this.opt = { APIVersion: "0.6.0", t: g, ll: "info", lv: "1.0", pd: "player", md: "saas_player", ui: "saas_player", sm: "play", os: this.osName, ov: this.osVersion, et: this.exName, ev: this.exVersion, uat: v.USER_AGENT, hn: "0.0.0.0", bi: n, ri: m, e: "0", args: "0", vt: o, tt: a, dm: "h5", av: h, uuid: d, vu: f, vd: p, ua: y, dn: "custom", cdn_ip: "0.0.0.0", app_n: c, r: s, pu: u }, this.bindEvent() }, updateVideoInfo: function (e) { var t = e.from ? e.from : ""; this.opt.bi = t + "", this.updateSourceInfo() }, updateSourceInfo: function () { var e, t, r = this.player.getOptions(); r && (e = r.source ? this.encodeURL(r.source) : "", t = v.getHost(r.source), this.opt.vu = e, this.opt.vd = t) }, replay: function () { this.reset(), this.player.trigger(n.Video.LoadStart), this.player.trigger(n.Video.LoadedMetadata), this.player.trigger(n.Video.LoadedData) }, bindEvent: function () { var t = this; this.player.on(n.Player.Init, function () { t._onPlayerInit() }), this.player.on(n.Video.LoadStart, function () { t._onPlayerloadstart() }), this.player.on(n.Video.LoadedMetadata, function () { t._onPlayerLoadMetadata() }), this.player.on(n.Video.LoadedData, function () { t._onPlayerLoaddata() }), this.player.on(n.Video.Play, function () { t._onPlayerPlay() }), this.player.on(n.Video.Playing, function () { t._onPlayerReady() }), this.player.on(n.Video.Ended, function () { t._onPlayerFinish() }), this.player.on(n.Video.Pause, function () { t._onPlayerPause() }), this.player.on(n.Private.SeekStart, function (e) { t._onPlayerSeekStart(e) }), this.player.on(n.Private.EndStart, function (e) { t._seekEndData = e.paramData }), this.player.on(n.Player.Waiting, function () { t._waitingDelayLoadingShowHandle && (clearTimeout(t._waitingDelayLoadingShowHandle), t._waitingDelayLoadingShowHandle = null), t._waitingDelayLoadingShowHandle = setTimeout(function () { t._onPlayerLoaded() }, 1e3 * t.player._options.delayLoadingShow) }), this.player.on(n.Video.CanPlayThrough, function () { }), this.player.on(n.Video.CanPlay, function () { t._waitingDelayLoadingShowHandle && (clearTimeout(t._waitingDelayLoadingShowHandle), t._waitingDelayLoadingShowHandle = null), t._onPlayerUnderload(), t._onPlayerCanplay() }), this.player.on(n.Video.TimeUpdate, function () { t._waitingDelayLoadingShowHandle && (clearTimeout(t._waitingDelayLoadingShowHandle), t._waitingDelayLoadingShowHandle = null), t._seekEndData && t.player._seeking && t._onPlayerSeekEnd() }), this.player.on(n.Player.Error, function () { t._onPlayerError() }), this.player.on(n.Player.RequestFullScreen, function () { t._onFullscreenChange(1) }), this.player.on(n.Player.CancelFullScreen, function () { t._onFullscreenChange(0) }), this.player.on(n.Private.PREPARE, function (e) { t._prepareTime = (new Date).getTime(), t._log("PREPARE", { dn: e.paramData }) }), this.player.on(n.Player.Snapshoted, function () { t._log("SNAPSHOT") }), setInterval(function () { var e; t.player.getCurrentTime() && (e = Math.floor(1e3 * t.player.getCurrentTime()), t.player.paused() || 30 <= ++o && (t._log("HEARTBEAT", { vt: e, interval: 1e3 * o }), o = 0)) }, 1e3) }, removeEvent: function () { this.player.off("init"), this.player.off("ready"), this.player.off("ended"), this.player.off("play"), this.player.off("pause"), this.player.off("seekStart"), this.player.off("seekEnd"), this.player.off("canplaythrough"), this.player.off("playing"), this.player.off("timeupdate"), this.player.off("error"), this.player.off("fullscreenchange"), this.player.off(n.Private.PREPARE), this._logService && this._logService.dispose() }, reset: function () { this.startTimePlay = 0, this.buffer_flag = 0, this.firstPlay = !1, this.playId = 0, this.loadstarted = 0, this._LoadedData = 0, this._canPlay = 0 }, encodeURL: function (e) { if (!e) return ""; var t = this.player.getOptions(); return t && !t.logBatched ? encodeURIComponent(e) : e }, _onFullscreenChange: function (e) { e ? this._log("FULLSREEM", {}) : this._log("QUITFULLSCREEM", {}) }, _onPlayerloadstart: function () { this.loadstartTime = (new Date).getTime(), this.playId = b.guid(), !this.loadstarted && this.player._isPreload() && (this.loadstarted = 1, this._log("STARTPLAY", { vt: (new Date).getTime() })) }, _onPlayerLoadMetadata: function () { this.loadMetaDataCost = (new Date).getTime() - this.loadstartTime }, _onPlayerLoaddata: function () { var e, t; this._LoadedData || this.buffer_flag || (t = e = 0, this.player.tag && (e = this.player.tag.videoWidth, t = this.player.tag.videoHeight), this._log("PREPAREEND", { tc: (new Date).getTime() - this._prepareTime, cc: (new Date).getTime() - this.loadstartTime, md: this.loadMetaDataCost, mi: JSON.stringify({ type: "video", definition: e + "*" + t }) })), this._LoadedData = 1 }, _onPlayerCanplay: function () { this._canPlay = 1, this._reportPlay() }, _onPlayerInit: function () { this.buffer_flag = 0, this.pause_flag = 0, this.startTimePlay = 0, this.loadstarted = 0, this._LoadedData = 0, this._canPlay = 0 }, _onPlayerReady: function () { this.startTimePlay || (this.startTimePlay = (new Date).getTime()) }, _onPlayerFinish: function () { this._log("STOP", { vt: Math.floor(1e3 * this.player.getCurrentTime()) }), this.reset() }, _reportPlay: function () { return !(this.buffer_flag || !this._LoadedData || !this.playstartTime) && (this.first_play_time = (new Date).getTime(), this._log("PLAY", { dsm: "fix", tc: this.first_play_time - this.loadstartTime, fc: this.first_play_time - this.playstartTime }), this.buffer_flag = 1, !0) }, _onPlayerPlay: function () { this.playstartTime = (new Date).getTime(), 0 == this.playId && (this.playId = b.guid()), this.firstPlay || 0 != this.pause_flag || this.player._seeking || (this.sessionId = b.guid()), this.player._isPreload() || (this._log("STARTPLAY", { vt: (new Date).getTime() }), this.loadstartTime = (new Date).getTime()), this._canPlay && this._reportPlay() || this.buffer_flag && this.pause_flag && (this.pause_flag = 0, this.pauseEndTime = (new Date).getTime(), this._log("RECOVER", { vt: Math.floor(1e3 * this.player.getCurrentTime()), cost: this.pauseEndTime - this.pauseTime })) }, _onPlayerPause: function () { this.buffer_flag && this.startTimePlay && (this.player._seeking || (this.pause_flag = 1, this.pauseTime = (new Date).getTime(), this._log("PAUSE", { vt: Math.floor(1e3 * this.player.getCurrentTime()) }))) }, _onPlayerSeekStart: function (e) { this.seekStartTime = e.paramData.fromTime, this.startTimePlay = 0, this.seekStartStamp = (new Date).getTime() }, _onPlayerSeekEnd: function () { this.seekEndStamp = (new Date).getTime(), this._log("SEEK", { drag_from_timestamp: Math.floor(1e3 * this.seekStartTime), drag_to_timestamp: Math.floor(1e3 * this._seekEndData.toTime) }), this._log("SEEK_END", { vt: Math.floor(1e3 * this.player.getCurrentTime()), cost: this.seekEndStamp - this.seekStartStamp }), this._seekEndData = null }, _onPlayerLoaded: function () { var e; this.buffer_flag && this.startTimePlay && (this.stucking || this.player._seeking || (this.stuckStartTime = (new Date).getTime(), this.stuckStartTime - this.startTimePlay <= 1e3 || (this.stucking = !0, e = this._getbwEstimator(), this._log("UNDERLOAD", { vt: Math.floor(1e3 * this.player.getCurrentTime()), bw: e }), this.stuckStartTime = (new Date).getTime()))) }, _onPlayerUnderload: function () { var e, t, r, i; !this.buffer_flag && this.player._options && this.player._options.autoplay || this.stucking && !this.player._seeking && (e = Math.floor(1e3 * this.player.getCurrentTime()), t = this.stuckStartTime || (new Date).getTime(), 0 < (r = Math.floor((new Date).getTime() - t)) && (i = this._getbwEstimator(), this._log("LOADED", { vt: e, cost: r, bw: i })), this.stucking = !1) }, _onPlayerHeartBeat: function () { var e, t; this.player._seeking || (e = Math.floor(1e3 * this.player.getCurrentTime()), (t = this).timer || (this.timer = setTimeout(function () { this.player._seeking || t._log("HEARTBEAT", { progress: e }), clearTimeout(t.timer), t.timer = null }, 6e4))) }, _onPlayerError: function () { this.playId = 0, this._LoadedData = 1, this.buffer_flag || this._reportPlay() }, _getbwEstimator: function () { var e = NaN; try { e = this.player._getbwEstimator && this.player._getbwEstimator() } catch (e) { } return e }, _log: function (e, t) { if (this.trackLog) { this.updateSourceInfo(); var r = u.copy(this.opt); this.requestId = b.guid(); var i = _.logReportTo; r.e = h[e] + "", r.ri = this.sessionId, r.t = (new Date).getTime() + "", r.cdn_ip = this._userNetInfo.cdnIp, r.hn = this._userNetInfo.localIp; var n = this.player.getCurrentQuality(); "" != n && (r.definition = n.definition); var o = []; u.each(t, function (e, t) { o.push(e + "=" + t) }); var a, s = "", l = this.player.getOptions(); l && l.vid && (s = l.vid), o.push("vid=" + s); try { Aliplayer && Aliplayer.__logCallback__ && (r.args = o, Aliplayer.__logCallback__(r)) } catch (e) { console.log(e) } return "" == (o = o.join("&")) && (o = "0"), r.args = this.encodeURL(o), this._logService ? this._logService.add(r) : (a = [], u.each(r, function (e, t) { a.push(e + "=" + t) }), a = a.join("&"), c.jsonp(i + "?" + a, function () { }, function () { })), this.sessionId } } }); t.exports = a }, { "../config": 204, "../lib/data": 216, "../lib/io": 223, "../lib/object": 225, "../lib/oo": 226, "../lib/ua": 230, "../player/base/event/eventtype": 242, "./log": 236, "./util": 238 }], 238: [function (e, t, r) { var i = e("../lib/cookie"), n = e("../lib/data"), o = e("../lib/ua"); t.exports.getUuid = function () { var e = i.get("p_h5_u"); return e || (e = n.guid(), i.set("p_h5_u", e, 730)), e }, t.exports.getTerminalType = function () { var e = "pc"; return o.IS_IPAD ? e = "pad" : o.IS_ANDROID ? e = "android" : o.IS_IOS && (e = "iphone"), e }, t.exports.returnUTCDate = function (e) { var t = e.getUTCFullYear(), r = e.getUTCMonth(), i = e.getUTCDate(), n = e.getUTCHours(), o = e.getUTCMinutes(), a = e.getUTCSeconds(), s = e.getUTCMilliseconds(); return Date.UTC(t, r, i, n, o, a, s) }, t.exports.getRfc822 = function (e) { return e.toUTCString().replace("UTC", "GMT") } }, { "../lib/cookie": 215, "../lib/data": 216, "../lib/ua": 230 }], 239: [function (e, t, r) { var l = e("./base/player"), u = e("./flash/flashplayer"), c = e("./saas/mtsplayer"), h = e("./saas/vodplayer"), d = e("./audio/audioplayer"), f = e("./hls/hlsplayer"), p = e("./flv/flvplayer"), y = e("./rts/rtsplayer"), m = e("./drm/drmplayer"), g = e("../lib/ua"), b = e("../lib/playerutil"), v = (e("../lib/dom"), e("../lib/io"), e("../lang/index")); t.exports.create = function (e, t) { navigator && navigator.userAgent && -1 < navigator.userAgent.indexOf("Olympic_Android") && (e.useNativeControls = !0), "function" != typeof t && (t = function () { }), e.readyCallback = t, v.setCurrentLanguage(e.language, "h5", e.languageTexts); var r = b.handleOption(e), i = r.source, n = b.isAudio(i); n && (r.mediaType = "audio"); var o, a = b.createWrapper(r); if (a.player) return a.player; if (n) o = new d(a, r); else if (b.isRts(i)) o = new y(a, r); else if (!r.useFlashPrism && b.isFlv(i) && b.isSupportFlv()) o = new p(a, r); else if (g.IS_MOBILE || !r.useFlashPrism && !b.isRTMP(i)) if (r.vid && !r.source) if (r.authInfo) o = new c(a, r); else { if (!(r.playauth || r.accessKeyId && r.accessKeySecret)) { var s = "vid=" + r.vid + " playauth='', playauth property is required by VOD(\u89c6\u9891\u70b9\u64ad) as new Aliplayer."; throw new Error(s) } o = new h(a, r) } else b.isDash(i) && b.isSupportMSE() ? o = new m(a, r) : b.isHls(i) ? b.canPlayHls() ? o = new (b.isSupportHls() && (b.isUsedHlsPluginOnMobile() || b.isSafariUsedHlsPlugin(r.useHlsPluginForSafari)) ? f : l)(a, r) : b.isSupportHls() ? o = new f(a, r) : g.os.pc ? r.userH5Prism || r.useH5Prism || (o = new u(a, r)) : o = new l(a, r) : o = (g.os.pc, new l(a, r)); else o = new u(a, r); return o } }, { "../lang/index": 210, "../lib/dom": 217, "../lib/io": 223, "../lib/playerutil": 228, "../lib/ua": 230, "./audio/audioplayer": 240, "./base/player": 261, "./drm/drmplayer": 268, "./flash/flashplayer": 269, "./flv/flvplayer": 271, "./hls/hlsplayer": 273, "./rts/rtsplayer": 275, "./saas/mtsplayer": 279, "./saas/vodplayer": 285 }], 240: [function (e, t, r) { var i = e("../base/player"), n = e("../../ui/component"), o = e("../../lib/dom"), a = e("../../lib/object"), s = e("../../lib/playerutil"), l = i.extend({ init: function (e, t) { this._isAudio = !0, void 0 === t.skinLayout && (t.skinLayout = s.defaultAudioLayout), i.call(this, e, t) } }); l.prototype.createEl = function () { "AUDIO" !== this.tag.tagName && (this._el = this.tag, this.tag = n.prototype.createEl.call(this, "audio")); var t = this._el, e = this.tag; e.player = this; var r = o.getElementAttributes(e); return a.each(r, function (e) { t.setAttribute(e, r[e]) }), this.setVideoAttrs(), e.parentNode && e.parentNode.insertBefore(t, e), o.insertFirst(e, t), t }, t.exports = l }, { "../../lib/dom": 217, "../../lib/object": 225, "../../lib/playerutil": 228, "../../ui/component": 294, "../base/player": 261 }], 241: [function (e, t, r) { var a = e("../../../lib/event"), s = e("./eventtype"), i = e("../eventHandler/video/index"), n = e("../eventHandler/player/index"); t.exports.offAll = function (e) { var t = e.tag, r = e._el; for (var i in s.Video) a.off(t, s.Video[i]); for (var n in s.Player) a.off(r, s.Player[n]); for (var o in s.Private) a.off(r, s.Private[o]) }, t.exports.onAll = function (e) { i.bind(e), n.bind(e) } }, { "../../../lib/event": 218, "../eventHandler/player/index": 246, "../eventHandler/video/index": 255, "./eventtype": 242 }], 242: [function (e, t, r) { t.exports = { Video: { TimeUpdate: "timeupdate", Play: "play", Playing: "playing", Pause: "pause", CanPlay: "canplay", Waiting: "waiting", Ended: "ended", Error: "error", Suspend: "suspend", Stalled: "stalled", LoadStart: "loadstart", DurationChange: "durationchange", LoadedData: "loadeddata", LoadedMetadata: "loadedmetadata", Progress: "progress", CanPlayThrough: "canplaythrough", ContextMenu: "contextmenu", Seeking: "seeking", Seeked: "seeked", ManualEnded: "manualended" }, Player: { TimeUpdate: "timeupdate", DurationChange: "durationchange", Init: "init", Ready: "ready", Play: "play", Pause: "pause", CanPlay: "canplay", Waiting: "waiting", Ended: "ended", Error: "error", RequestFullScreen: "requestFullScreen", CancelFullScreen: "cancelFullScreen", Snapshoted: "snapshoted", Snapshoting: "snapshoting", OnM3u8Retry: "onM3u8Retry", LiveStreamStop: "liveStreamStop", AutoPlayPrevented: "autoPlayPrevented", AutoPlay: "autoplay", StartSeek: "startSeek", CompleteSeek: "completeSeek", TextTrackReady: "textTrackReady", AudioTrackReady: "audioTrackReady", AudioTrackUpdated: "audioTrackUpdated", LevelsLoaded: "levelsLoaded", AudioTrackSwitch: "audioTrackSwitch", AudioTrackSwitched: "audioTrackSwitched", LevelSwitch: "levelSwitch", LevelSwitched: "levelSwitched", MarkerDotOver: "markerDotOver", MarkerDotOut: "markerDotOut", DefaultBandWidth: "defaultbandwidth", ResolutionChange: "resolutionChange", SeiFrame: "seiFrame" }, Private: { Play_Btn_Show: "play_btn_show", UiH5Ready: "uiH5Ready", Error_Hide: "error_hide", Error_Show: "error_show", Info_Show: "info_show", Info_Hide: "info_hide", H5_Loading_Show: "h5_loading_show", H5_Loading_Hide: "h5_loading_hide", HideProgress: "hideProgress", CancelHideProgress: "cancelHideProgress", Click: "click", MouseOver: "mouseover", MouseOut: "mouseout", MouseEnter: "mouseenter", MouseLeave: "mouseleave", TouchStart: "touchstart", TouchMove: "touchmove", TouchEnd: "touchend", HideBar: "hideBar", ShowBar: "showBar", ReadyState: "readyState", SourceLoaded: "sourceloaded", QualityChange: "qualitychange", Play_Btn_Hide: "play_btn_hide", Cover_Hide: "cover_hide", Cover_Show: "cover_show", SeekStart: "seekStart", EndStart: "endStart", UpdateProgressBar: "updateProgressBar", LifeCycleChanged: "lifeCycleChanged", Dispose: "dispose", Created: "created", Snapshot_Hide: "snapshot_hide", AutoStreamShow: "auto_stream_show", AutoStreamHide: "auto_stream_hide", VolumnChanged: "volumnchanged", LiveShiftQueryCompleted: "liveShiftQueryCompleted", StreamSelectorHide: "streamSelectorHide", SpeedSelectorHide: "speedSelectorHide", SettingShow: "settingShow", SettingHide: "settingHide", SelectorShow: "selectorShow", SelectorHide: "selectorHide", SettingListShow: "settingListShow", SettingListHide: "settingListHide", ThumbnailHide: "thumbnailHide", ThumbnailShow: "thumbnailShow", ThumbnailLoaded: "thumbnailLoaded", TooltipShow: "tooltipShow", TooltipHide: "tooltipHide", SelectorUpdateList: "selectorUpdateList", SelectorValueChange: "selectorValueChange", VolumeVisibilityChange: "volumeVisibilityChange", ChangeURL: "changeURL", UpdateToSettingList: "updateToSettingList", CCChanged: "CCChanged", CCStateChanged: "CCStateChanged", PlayClick: "click", ProgressMarkerLoaded: "progressMarkerLoaded", MarkerTextShow: "markerTextShow", MarkerTextHide: "markerTextHide", PREPARE: "prepare", ProgressMarkerChanged: "progressMarkerChanged" } } }, {}], 243: [function (e, t, r) { e("../../event/eventtype"); var i = e("../../../../lib/dom"), n = e("../../../../lib/ua"); t.exports.handle = function () { n.IS_IOS || i.removeClass(this.el(), "prism-fullscreen") } }, { "../../../../lib/dom": 217, "../../../../lib/ua": 230, "../../event/eventtype": 242 }], 244: [function (e, t, r) { var i = e("../../event/eventtype"); t.exports.handle = function (e) { var t = this; t.one(i.Player.CanPlay, function () { t._enteredProgressMarker && t.pause(), t.trigger(i.Player.CompleteSeek, e.paramData.toTime) }) } }, { "../../event/eventtype": 242 }], 245: [function (e, t, r) { var i = e("../../event/eventtype"), n = (e("../../../../lib/constants"), e("../../../../lang/index"), e("../../../../monitor/util")); t.exports.handle = function (e) { var t = this, r = e.paramData; t.trigger(i.Private.H5_Loading_Hide), t.trigger(i.Private.Cover_Hide), t.trigger(i.Private.Play_Btn_Hide), t.trigger(i.Private.SettingListHide), t.trigger(i.Private.SelectorHide), t.trigger(i.Private.VolumeVisibilityChange, ""), r = r || {}, t._monitor && (r.uuid = n.getUuid(), r.requestId = t._serverRequestId, r.cdnIp = t._monitor._userNetInfo.cdnIp, r.localIp = t._monitor._userNetInfo.localIp), t._isError = !0, t.trigger(i.Private.Error_Show, r), t.trigger(i.Private.LifeCycleChanged, { type: i.Player.Error, data: r }) } }, { "../../../../lang/index": 210, "../../../../lib/constants": 214, "../../../../monitor/util": 238, "../../event/eventtype": 242 }], 246: [function (e, t, r) { function i(r, i, n) { var e = r.el(); o.on(e, i, function (e) { var t = n && n.handle ? n.handle : a.handle; t.call(r, e, i) }) } var n = e("../../event/eventtype"), o = e("../../../../lib/event"), a = e("./lifecyclecommon"), s = { endStart: e("./endstart"), seekStart: e("./seekstart"), requestFullScreen: e("./requestfullscreen"), cancelFullScreen: e("./cancelfullscreen"), error: e("./error") }, l = [n.Private.EndStart, n.Private.SeekStart, n.Player.RequestFullScreen, n.Player.CancelFullScreen, n.Player.Error, n.Player.Ready, n.Private.Dispose, n.Private.Created]; t.exports.bind = function (e) { e.el(); for (var t = 0; t < l.length; t++) { var r = l[t]; "undefined" != s[r] && i(e, r, s[r]) } } }, { "../../../../lib/event": 218, "../../event/eventtype": 242, "./cancelfullscreen": 243, "./endstart": 244, "./error": 245, "./lifecyclecommon": 247, "./requestfullscreen": 248, "./seekstart": 249 }], 247: [function (e, t, r) { var i = e("../../event/eventtype"); t.exports.handle = function (e, t) { this.trigger(i.Private.LifeCycleChanged, { type: t, data: e }) } }, { "../../event/eventtype": 242 }], 248: [function (e, t, r) { e("../../event/eventtype"); var i = e("../../../../lib/dom"), n = e("../../../../lib/ua"); t.exports.handle = function () { n.IS_IOS || i.addClass(this.el(), "prism-fullscreen") } }, { "../../../../lib/dom": 217, "../../../../lib/ua": 230, "../../event/eventtype": 242 }], 249: [function (e, t, r) { var i = e("../../event/eventtype"); t.exports.handle = function (e) { this._seeking = !0, this.trigger(i.Player.StartSeek, e.paramData.fromTime) } }, { "../../event/eventtype": 242 }], 250: [function (e, t, r) { var i = e("../../event/eventtype"); t.exports.handle = function (e) { var t = this; t._retrySwitchUrlCount = 0, t._liveRetryCount = 0, t._clearLiveErrorHandle(); var r = (new Date).getTime() - t.readyTime; t._options.autoplay || t._options._autoplay || !t.paused() || (t.trigger(i.Private.H5_Loading_Hide), t.trigger(i.Private.Play_Btn_Show)), t.trigger(i.Player.CanPlay, { loadtime: r }) } }, { "../../event/eventtype": 242 }], 251: [function (e, t, r) { var i = e("../../event/eventtype"), n = e("../../../../lib/dom"), o = e("../../../../lib/ua"); t.exports.handle = function (e) { this._seeking = !1; var t = this.tag; "none" === t.style.display && o.IS_IOS && setTimeout(function () { n.css(t, "display", "block") }, 100), this.trigger(i.Video.CanPlayThrough) } }, { "../../../../lib/dom": 217, "../../../../lib/ua": 230, "../../event/eventtype": 242 }], 252: [function (e, t, r) { t.exports.handle = function (e, t) { var r = ""; e && e.paramData && (r = e.paramData), this.trigger(t, r) } }, {}], 253: [function (e, t, r) { var i = e("../../event/eventtype"); e("../../../../lang/index"); t.exports.handle = function (e) { var t = this; t.waiting = !1, t._ended = !0, t._monitor && t._monitor._onPlayerInit(), t._options.rePlay ? (t.seek(0), t.tag.play()) : t._options.isLive && t.trigger(i.Private.H5_Loading_Hide), t.trigger(i.Private.Play_Btn_Show), t.trigger(i.Player.Ended) } }, { "../../../../lang/index": 210, "../../event/eventtype": 242 }], 254: [function (e, t, r) { var c = e("../../event/eventtype"), h = (e("../../../../lib/ua"), e("../../../../lib/playerutil"), e("../../../../lib/constants")), d = e("../../../../lang/index"); t.exports.handle = function (e) { var t = this; if (t.waiting = !1, t._clearTimeout(), t.checkOnline()) { var r, i = "", n = e.target || e.srcElement, o = n.error.message, i = ""; if (n.error.code && (r = n.error.code, i = h.VideoErrorCode[n.error.code], o = r + " || " + o), t._options.isLive) t._options.liveRetry > t._liveRetryCount ? t._reloadAndPlayForM3u8() : (t._liveRetryCount = 0, t.trigger(c.Player.LiveStreamStop), t._liveErrorHandle = setTimeout(function () { var e = { mediaId: "ISLIVE", error_code: i, error_msg: d.get("Error_Play_Text") + "\uff0c" + d.get("Error_Retry_Text") }; t.logError(e), t.trigger("error", e) })); else if (!t._reloadForVod()) { var a = d.get("Error_Play_Text"), s = !1; if (r < 4) { if (3 == r && t._firstDecodeError) { var l = t.getCurrentTime() + 1; return t._loadByUrlInner(t._options.source, l, !0), void (t._firstDecodeError = !1) } a = h.VideoErrorCodeText[r] } else t._eventState == h.SUSPEND ? (a = d.get("Error_Load_Abort_Text"), i = h.ErrorCode.RequestDataError) : t._eventState == h.LOAD_START ? (a = d.get("Error_Network_Text"), 0 < t._options.source.indexOf("auth_key") && (a = a + "\uff0c" + d.get("Error_AuthKey_Text")), i = h.ErrorCode.StartLoadData) : t._eventState == h.LOADED_METADATA && (a = d.get("Error_Play_Text"), i = h.ErrorCode.PlayingError); a = a + "\uff0c" + d.get("Error_Retry_Text"), 1 < t._urls.length && t._retrySwitchUrlCount < 3 && -1 == t._options.source.indexOf(".mpd") && (t.switchUrl(), s = !0); var u = { mediaId: t._options.vid ? t._options.vid : "", error_code: i, error_msg: o }; s || (t.logError(u), u.display_msg = a, t.trigger(c.Player.Error, u)) } } } }, { "../../../../lang/index": 210, "../../../../lib/constants": 214, "../../../../lib/playerutil": 228, "../../../../lib/ua": 230, "../../event/eventtype": 242 }], 255: [function (e, t, r) { function i(t, r, i) { var e = t.tag; n.on(e, r, function (e) { i.handle.call(t, e, r), r != o.Video.Error && (r == o.Video.ManualEnded && (r = o.Video.Ended), t.trigger(o.Private.LifeCycleChanged, { type: r, data: e })) }) } var n = e("../../../../lib/event"), o = e("../../event/eventtype"), a = { canplay: e("./canplay"), canplaythrough: e("./canplaythrough"), common: e("./common"), ended: e("./ended"), error: e("./error"), pause: e("./pause"), play: e("./play"), playing: e("./playing"), waiting: e("./waiting"), timeupdate: e("./timeupdate"), manualended: e("./ended") }; t.exports.bind = function (e) { e.tag; for (var t in o.Video) { var r = o.Video[t]; i(e, r, void 0 !== a[r] ? a[r] : a.common) } } }, { "../../../../lib/event": 218, "../../event/eventtype": 242, "./canplay": 250, "./canplaythrough": 251, "./common": 252, "./ended": 253, "./error": 254, "./pause": 256, "./play": 257, "./playing": 258, "./timeupdate": 259, "./waiting": 260 }], 256: [function (e, t, r) { var i = e("../../event/eventtype"); t.exports.handle = function (e) { this._clearTimeout(), this.trigger(i.Private.AutoStreamHide), this.trigger(i.Player.Pause), this._isManualPause && (this.trigger(i.Private.Play_Btn_Show), this.trigger(i.Private.H5_Loading_Hide)), this.waiting = !1 } }, { "../../event/eventtype": 242 }], 257: [function (e, t, r) { var i = e("../../event/eventtype"); t.exports.handle = function (e) { this.trigger(i.Private.Error_Hide), this.trigger(i.Private.Cover_Hide), this.trigger(i.Private.AutoStreamHide), this.waiting = !1, this.trigger(i.Player.Play) } }, { "../../event/eventtype": 242 }], 258: [function (e, t, r) { var n = e("../../event/eventtype"); t.exports.handle = function (e) { var t = this; t.trigger(n.Private.H5_Loading_Hide), t.trigger(n.Private.Cover_Hide), t.trigger(n.Private.Info_Hide), t.waiting = !1, t._ended = !1, t._liveRetryCount = 0, t._vodRetryCount = 0, t._seeking = !1, t._firstDecodeError = !0; var r, i = t.getCurrentTime(); t._waitingReloadTime != i && (t._waitingTimeoutCount = 0), t._checkTimeoutHandle && (clearTimeout(t._checkTimeoutHandle), t._checkTimeoutHandle = null), t._waitingLoadedHandle && (clearTimeout(t._waitingLoadedHandle), t._waitingLoadedHandle = null), t._waitingDelayLoadingShowHandle && (clearTimeout(t._waitingDelayLoadingShowHandle), t._waitingDelayLoadingShowHandle = null), t._waitingTimeoutHandle && (clearTimeout(t._waitingTimeoutHandle), t._waitingTimeoutHandle = null, t._ccService && t._options.isLive && (r = t._ccService.getCurrentSubtitle(), t._setDefaultCC = !0, r && t._ccService["switch"](r))), t.trigger(n.Private.AutoStreamHide), t.trigger(n.Player.Playing), t.trigger(n.Private.Play_Btn_Hide), t.trigger(n.Private.Error_Hide) } }, { "../../event/eventtype": 242 }], 259: [function (e, t, r) { var s = e("../../event/eventtype"), l = e("../../../../lib/ua"), u = e("../../../../lib/event"), c = e("../../plugin/status"); t.exports.handle = function (e) { var r = this; r.trigger(s.Player.TimeUpdate, e.timeStamp); var t, i, n = r.getCurrentTime(); r.waiting && !r._TimeUpdateStamp && (r._TimeUpdateStamp = n), 0 != r.waiting && r._TimeUpdateStamp == n || (r.trigger(s.Private.H5_Loading_Hide), r.trigger(s.Private.AutoStreamHide), r._checkTimeoutHandle && clearTimeout(r._checkTimeoutHandle), r._waitingTimeoutHandle && clearTimeout(r._waitingTimeoutHandle), r._waitingLoadedHandle && clearTimeout(r._waitingLoadedHandle), r.waiting = !1), r._TimeUpdateStamp = n, r._options.isLive || (i = !1, ((t = r.getDuration()) < n && !r.paused() || t - n < .2 && 0 <= l.browser.version.indexOf("49.") && !r.paused() || r.exceedPreviewTime(n)) && (i = !0), i && !r._ended && (r.pause(), u.trigger(r.tag, s.Video.ManualEnded))); var o, a = r._player.tag; r._options.isLive && a && (r._player.resolution && 0 < a.videoWidth && 0 < a.videoHeight && (0 < r._player.resolution.width || 0 < r._player.resolution.height) && (r._player.resolution.width !== a.videoWidth || r._player.resolution.height !== a.videoHeight) && (o = { oldResolution: { width: r._player.resolution.width, height: r._player.resolution.height }, newResolution: { width: a.videoWidth, height: a.videoHeight } }, r.trigger(s.Player.ResolutionChange, o)), r._player.resolution.width = 0 == a.videoWidth ? r._player.resolution.width : a.videoWidth, r._player.resolution.height = 0 == a.videoHeight ? r._player.resolution.height : a.videoHeight), r._playingSlientPause && (clearTimeout(r._playingSlientPause), r._playingSlientPause = null), r._playingSlientPause = setTimeout(function () { var e, t; r._status == c.playing && (e = r.getCurrentTime(), t = r._options.isLive ? 0 : e, r._loadByUrlInner(r._options.source, t, !0)) }, 2e3) } }, { "../../../../lib/event": 218, "../../../../lib/ua": 230, "../../event/eventtype": 242, "../../plugin/status": 265 }], 260: [function (e, t, r) { var o = e("../../event/eventtype"), a = e("../../../../lib/constants"), s = e("../../../../lib/event"), l = e("../../../../lang/index"); e("../../../../lib/ua"); t.exports.handle = function (e) { var r = this; if (!r._options.isLive) { var t = this.getCurrentTime(), i = this.getDuration(); if (0 < i && (i - t < .5 || i < t)) return r.pause(), r._ended = !0, void s.trigger(this.tag, o.Video.ManualEnded) } r.waiting = !0; function n() { r._checkTimeoutHandle && (clearTimeout(r._checkTimeoutHandle), r._checkTimeoutHandle = null), r._waitingTimeoutHandle && (clearTimeout(r._waitingTimeoutHandle), r._waitingTimeoutHandle = null), r._waitingLoadedHandle && (clearTimeout(r._waitingLoadedHandle), r._waitingLoadedHandle = null), r._waitingDelayLoadingShowHandle && (clearTimeout(r._waitingDelayLoadingShowHandle), r._waitingDelayLoadingShowHandle = null) } n(), r._waitingDelayLoadingShowHandle = setTimeout(function () { r.trigger(o.Private.H5_Loading_Show) }, 1e3 * r._options.delayLoadingShow), r._TimeUpdateStamp = null, r._checkTimeoutHandle = setTimeout(function () { r.trigger(o.Private.AutoStreamShow) }, 1e3 * r._options.loadDataTimeout), r.trigger(o.Player.Waiting), r._waitingTimeoutHandle = setTimeout(function () { var e; r.tag && r._options && (r.pause(), e = { mediaId: r._options.vid ? r._options.vid : "", error_code: a.ErrorCode.LoadingTimeout, error_msg: l.get("Error_Waiting_Timeout_Text") }, r.logError(e), r.trigger("error", e)) }, 1e3 * r._options.waitingTimeout), r._waitingLoadedHandle = setTimeout(function () { var e, t = r.getCurrentTime(); 0 == r._waitingTimeoutCount && t != r._waitingReloadTime && (r._waitingTimeoutCount = 1, r._waitingReloadTime = t, e = r._options.isLive ? 0 : t, r._loadByUrlInner(r._options.source, e, !0)) }, r._options.waitingTimeout / 2 * 1e3), r.on("error", function () { n() }) } }, { "../../../../lang/index": 210, "../../../../lib/constants": 214, "../../../../lib/event": 218, "../../../../lib/ua": 230, "../../event/eventtype": 242 }], 261: [function (e, t, r) { var o = e("../../ui/component"), a = e("../../lib/object"), n = e("../../lib/dom"), s = e("../../lib/event"), l = (e("../../lib/io"), e("../../ui/exports")), u = e("../../monitor/monitor"), c = e("../../lib/ua"), h = e("../../lib/constants"), d = e("../../lib/util"), f = (e("../../config"), e("../../lib/playerutil")), p = e("./x5play"), y = e("../../lib/cookie"), m = e("../../lang/index"), g = e("../../feature/autoPlayDelay"), b = e("./event/eventmanager"), v = e("../../ui/component/cover"), _ = e("../../ui/component/play-animation"), w = e("../../commonui/autostreamselector"), S = e("./event/eventtype"), E = e("./plugin/lifecyclemanager"), x = e("../service/export"), T = e("../../ui/component/progressmarker"), M = o.extend({ init: function (e, t) { var r, i, n; this.tag = e, this.loaded = !1, this.played = !1, this.waiting = !1, this._urls = [], this._currentPlayIndex = 0, this._retrySwitchUrlCount = 0, this._isError = !1, this._isHls = !1, this._liveRetryCount = 0, this._vodRetryCount = 0, this._seeking = !1, this._serverRequestId = 0, this._waitingTimeoutCount = 0, this._waitingReloadTime = 0, this._created = !1, this._firstDecodeError = !0, this._enteredProgressMarker = !1, this._liveShiftSeekStartTime = 0, this._duration = 0, this.isMutiLevel = !1, this.__disposed = !1, this.resolution = { width: 0, height: 0 }, void 0 === t.skinLayout && (t.skinLayout = f.defaultH5Layout), c.wechat() && c.IS_ANDROID && (t.autoplay = !1), o.call(this, this, t), this.addClass("prism-player"), t.plugins && a.each(t.plugins, function (e, t) { this[e](t) }, this), this._createService(), this.UI = {}, t.useNativeControls ? this.tag.setAttribute("controls", "controls") : (this.UI = l, 0 == t.errorDisplay && (this.UI.errorDisplay = void 0)), this.initChildren(), this._options.trackLog && (this._monitor = new u(this, { video_id: 0, album_id: 0, from: this._options.from, source: this._options.source, logBatched: this._options.logBatched }, this._options.trackLog)), b.onAll(this), this._lifeCycleManager = new E(this), this._overrideNativePlay(), !this._liveshiftService || this._liveshiftService.validate() ? (!this._options.extraInfo || (r = this._options.extraInfo).liveRetry && (this._options.liveRetry = r.liveRetry), this.on(S.Private.ReadyState, function () { this.trigger(S.Player.Ready) }), this._thumbnailService && this._options.thumbnailUrl && this._thumbnailService.get(this._options.thumbnailUrl), 0 < this._options.progressMarkers.length && this.trigger(S.Private.ProgressMarkerLoaded, this._options.progressMarkers), this._options.source && this._options._native && this._executeReadyCallback(), this._options.autoplay || this._options.preload ? this.trigger(S.Private.H5_Loading_Show) : this.trigger(S.Private.Play_Btn_Show), this._extraMultiSources(), this._options.source && (this.trigger(S.Private.PREPARE, "custom"), this._options.autoPlayDelay ? (this._autoPlayDelay = new g(this), (i = this)._autoPlayDelay.handle(function () { i.initPlay() })) : this.initPlay())) : (n = { mediaId: this._options.vid ? this._options.vid : "", error_code: h.ErrorCode.InvalidParameter, error_msg: m.get("ShiftLiveTime_Error") }, this.trigger(S.Player.Error, n)) } }); M.prototype.isSupportMSE = function () { return f.isSupportMSE() }, M.prototype.initPlay = function (e) { this._initPlayBehavior(e, this._options.source) }, M.prototype.initChildren = function () { var e = this.options(), t = e.skinLayout; if (!1 !== t && !a.isArray(t)) throw new Error("PrismPlayer Error: skinLayout should be false or type of array!"); !1 !== t && 0 !== t.length && (this.options({ children: t }), o.prototype.initChildren.call(this)), this.UI.cover = v, e.className = "", this.addChild("cover", e), this.UI.playanimation = _, this.addChild("playanimation", e), this.UI.autoStreamSelector = w, this.addChild("autoStreamSelector", e), this.UI.progressMarker = T, this.addChild("progressMarker", e), this.trigger(S.Private.UiH5Ready) }, M.prototype.createEl = function () { var e = !1; "VIDEO" !== this.tag.tagName ? (this._el = this.tag, this.tag = o.prototype.createEl.call(this, "video"), this._options.playsinline && (this.tag.setAttribute("webkit-playsinline", ""), this.tag.setAttribute("playsinline", ""), this.tag.setAttribute("x-webkit-airplay", ""), this.tag.setAttribute("x5-playsinline", ""))) : (e = !0, this._el = this.tag.parentNode); var t = this._el, r = this.tag; this._options.enableSystemMenu || (r.addEventListener ? r.addEventListener("contextmenu", function (e) { e.preventDefault() }, !1) : r.attachEvent("oncontextmenu", function () { window.event.returnValue = !1 })), r.player = this; var i = n.getElementAttributes(r); return a.each(i, function (e) { t.setAttribute(e, i[e]) }), this.setVideoAttrs(), e || (r.parentNode && r.parentNode.insertBefore(t, r), n.insertFirst(r, t)), t }, M.prototype.setVideoAttrs = function () { var e = this._options.preload, t = this._options.autoplay; if (this.tag.style.width = this._options.videoWidth || "100%", this.tag.style.height = this._options.videoHeight || "100%", e && this.tag.setAttribute("preload", "preload"), t && !this._isEnabledAILabel() && this.tag.setAttribute("autoplay", "autoplay"), c.IS_IOS && this.tag.setAttribute("poster", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAAMZJREFUeAHt0DEBAAAAwqD1T20LL4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMDAc2CcpAABaODCqQAAAABJRU5ErkJggg=="), this._options.extraInfo) for (var r in this._options.extraInfo) this.tag.setAttribute(r, this._options.extraInfo[r]); p.adaptX5Play(this) }, M.prototype.checkOnline = function () { if (!this._options || this._options.debug) return !0; if (0 != navigator.onLine) return !0; var e = { mediaId: this._options.vid ? this._options.vid : "", error_code: h.ErrorCode.NetworkUnavaiable, error_msg: m.get("Error_Offline_Text") }; return e.display_msg = m.get("Error_Offline_Text"), this.trigger(S.Player.Error, e), !1 }, M.prototype.id = function () { return this.el().id }, M.prototype.renderUI = function () { }, M.prototype.switchUrl = function () { var e, t; 0 != this._urls.length && (this._currentPlayIndex = this._currentPlayIndex + 1, this._urls.length <= this._currentPlayIndex && (this._currentPlayIndex = 0, this._retrySwitchUrlCount++), e = this._urls[this._currentPlayIndex], y.set(h.SelectedStreamLevel, e.definition, 365), this.trigger(S.Private.QualityChange, m.get("Quality_Change_Fail_Switch_Text")), t = this.getCurrentTime(), this._vodRetryCount = 0, this._originalSource = "", this._loadByUrlInner(e.Url, t, !0)) }, M.prototype.setControls = function () { var e, t = this.options(); t.useNativeControls ? this.tag.setAttribute("controls", "controls") : "object" == typeof t.controls && (e = this._initControlBar(t.controls), this.addChild(e)) }, M.prototype._initControlBar = function (e) { return new ControlBar(this, e) }, M.prototype.getMetaData = function () { var t = this, r = this.tag; t._readyStateTimer && clearInterval(t._readyStateTimer), t._readyStateTimer = window.setInterval(function (e) { t.tag ? r && 0 < r.readyState && (t._duration = r.duration < 1 ? 0 : r.duration, t.trigger(S.Private.ReadyState), clearInterval(t._readyStateTimer)) : clearInterval(t._readyStateTimer) }, 100) }, M.prototype.getReadyTime = function () { return this.readyTime }, M.prototype.readyState = function () { return this.tag.readyState }, M.prototype.getError = function () { return this.tag.error }, M.prototype.getRecentOccuredEvent = function () { return this._eventState }, M.prototype.getSourceUrl = function () { return this._options ? this._options.source : "" }, M.prototype.getMonitorInfo = function () { return this._monitor ? this._monitor.opt : {} }, M.prototype.getCurrentQuality = function () { if (0 < this._urls.length) { var e = this._urls[this._currentPlayIndex]; return { width: e.width, url: e.Url, definition: e.definition } } return "" }, M.prototype.setSpeed = function (e) { this.tag && (this._originalPlaybackRate = e, this.tag.playbackRate = e) }, M.prototype.play = function (e) { return this.tag && (this.tag.ended || this._ended ? this.replay() : ((this._options.preload || this.loaded) && this.tag.src || this._initLoad(this._options.source), this.trigger(S.Private.Cover_Hide), this.tag.play())), this._isManualPlay = e || !1, this }, M.prototype.replay = function () { return this._monitor && this._monitor.replay(), this.seek(0), this.tag.play(), this }, M.prototype.pause = function (e) { return this.tag && this.tag.pause(), this._isManualPause = e || !1, this }, M.prototype.stop = function () { return this.tag.setAttribute("src", null), this }, M.prototype.paused = function () { if (this.tag) return !1 !== this.tag.paused }, M.prototype.getDuration = function () { var e = 0; return this.tag && (e = this.isPreview() ? this._vodDuration || this.tag.duration : this._duration && this._duration != 1 / 0 ? this._duration : this.tag.duration), e }, M.prototype.getDisplayDuration = function () { var e = 0; return this.tag && (e = this._vodDuration || this.getDuration()), e }, M.prototype.getCurrentTime = function () { return this.tag ? this.tag.currentTime : 0 }, M.prototype.seek = function (e) { this._seeking = !0, e === this.tag.duration && e--; var t = this._originalPlaybackRate || this.tag.playbackRate; try { var r = this; this.tag.currentTime = e, setTimeout(function () { r.tag && (r.tag.playbackRate = t) }) } catch (e) { console.log(e) } return this }, M.prototype.firstNewUrlloadByUrl = function (e, t) { this._clearTimeout(), this._options.vid = 0, this._options.source = e, this._monitor && this._monitor.updateVideoInfo({ video_id: 0, album_id: 0, source: e, from: this._options.from }), this.trigger(S.Private.ChangeURL), this.initPlay(), this._options.autoplay && this.trigger(S.Private.Cover_Hide), this._options.autoplay ? this.trigger(S.Player.Play) : this.trigger(S.Player.Pause), !(t = t || 0) && 0 != t || isNaN(t) || this.seek(t) }, M.prototype._loadByUrlInner = function (e, t, r) { this.loadByUrl(e, t, r, !0) }, M.prototype.loadByUrl = function (e, t, r, i) { this._urls = [], this._monitor && !i && this._monitor.reset(), this._isError = !1, this._duration = 0, this._clearTimeout(), this.trigger(S.Private.Error_Hide), this._options.vid = 0, this._options.source = e, this._monitor && this._monitor.updateVideoInfo({ video_id: 0, album_id: 0, source: e, from: this._options.from }), i || (this.trigger(S.Private.ChangeURL), this._vodRetryCount = 0), this._options._autoplay = r, this.initPlay(r), (this._options.autoplay || r) && this.trigger(S.Private.Cover_Hide), this._options.autoplay || r ? this.trigger(S.Player.Play) : this.trigger(S.Player.Pause); var n = this; this._options.isLive || s.one(this.tag, S.Video.CanPlay, function (e) { !t && 0 != t || isNaN(t) || n.seek(t) }) }, M.prototype.dispose = function () { this.__disposed = !0, this.trigger(S.Private.Dispose), this.tag.pause(), b.offAll(this), this._monitor && (this._monitor.removeEvent(), this._monitor = null), this._autoPlayDelay && this._autoPlayDelay.dispose(), this._checkTimeoutHandle && (clearTimeout(this._checkTimeoutHandle), this._checkTimeoutHandle = null), this._waitingTimeoutHandle && (clearTimeout(this._waitingTimeoutHandle), this._waitingTimeoutHandle = null), this._playingSlientPause && (clearTimeout(this._playingSlientPause), this._playingSlientPause = null), this._waitingLoadedHandle && (clearTimeout(this._waitingLoadedHandle), this._waitingLoadedHandle = null), this._readyStateTimer && (clearInterval(this._readyStateTimer), this._readyStateTimer = null), this._vodRetryCountHandle && (clearTimeout(this._vodRetryCountHandle), this._vodRetryCountHandle = null), this._waitingDelayLoadingShowHandle && (clearTimeout(this._waitingDelayLoadingShowHandle), this._waitingDelayLoadingShowHandle = null), this._disposeService(), this._clearLiveErrorHandle(), this._el.innerHTML = "", this.destroy(), this.tag = null, this._options.recreatePlayer = null, this._options = null, this.isMutiLevel = !1 }, M.prototype.mute = function () { this._muteInner(), this._originalVolumn = this.tag.volume; var e = m.get("Volume_Mute"); return this._player.trigger(S.Private.Info_Show, { text: e, duration: 1e3, align: "lb" }), this._setInnerVolume(0), this }, M.prototype._muteInner = function () { this.tag.muted = !0, this.trigger(S.Private.VolumnChanged, -1) }, M.prototype.unMute = function () { this._unMuteInner(); var e = m.get("Volume_UnMute"); return this._player.trigger(S.Private.Info_Show, { text: e, duration: 1e3, align: "lb" }), this._setInnerVolume(this._originalVolumn || .5), this }, M.prototype._unMuteInner = function () { this.tag.muted = !1, this.trigger(S.Private.VolumnChanged, -2) }, M.prototype.muted = function () { return this.tag.muted }, M.prototype.getVolume = function () { return this.tag.volume }, M.prototype.getOptions = function () { return this._options }, M.prototype.setVolume = function (e, t) { 0 != e ? this._unMuteInner() : 0 == e && this._muteInner(), this._setInnerVolume(e); var r = m.get("Curent_Volume") + "<span>" + (100 * e).toFixed() + "%</span>"; this._player.trigger(S.Private.Info_Show, { text: r, duration: 1e3, align: "lb" }) }, M.prototype._setInnerVolume = function (e) { this.tag.volume = e, this.trigger(S.Private.VolumnChanged, e) }, M.prototype.hideProgress = function () { this.trigger(S.Private.HideProgress) }, M.prototype.cancelHideProgress = function () { this.trigger(S.Private.CancelHideProgress) }, M.prototype.setPlayerSize = function (e, t) { this._el && (this._el.style.width = e, this._el.style.height = t) }, M.prototype.getBuffered = function () { return this.tag.buffered }, M.prototype.setRotate = function (e) { this.tag && (this._rotate = e, this._setTransform(), this.log("ROTATE", { rotation: e })) }, M.prototype.getRotate = function (e) { return void 0 === this._rotate ? 0 : this._rotate }, M.prototype.setImage = function (e) { this.tag && (this._image = e, this._setTransform(), this.log("IMAGE", { mirror: "horizon" == e ? 2 : 1, text: e })) }, M.prototype.getImage = function () { return this._image }, M.prototype.cancelImage = function () { this.tag && (this._image = "", this._setTransform(), this.log("IMAGE", { mirror: 0 })) }, M.prototype.setCover = function (e) { var t = document.querySelector("#" + this.id() + " .prism-cover"); t && e && (t.style.backgroundImage = "url(" + e + ")", this._options.cover = e, this.trigger(S.Private.Cover_Show)) }, M.prototype._setTransform = function () { this._transformProp || (this._transformProp = n.getTransformName(this.tag)); var e = " translate(-50%, -50%)"; this._rotate && (e += " rotate(" + this._rotate + "deg)"), this._image && ("vertical" == this._image ? e += " scaleY(-1)" : "horizon" == this._image && (e += " scaleX(-1)")), this.tag.style[this._transformProp] = e }, M.prototype._startPlay = function () { this.tag.paused && this.tag.play() }, M.prototype._initPlayBehavior = function (e, t) { if (this._checkSupportVideoType()) return !1; if (f.validateSource(t)) return void 0 === e && (e = !1), this._created || (this._created = !0, this.trigger(S.Private.Created)), this.loaded || this.trigger(S.Player.Init), this._options.autoplay || this._options._autoplay || this._options.preload || e ? (this._options._preload = !0, this._initLoad(t), (this._options.autoplay || this._options._autoplay) && this._startPlay()) : this.trigger(S.Private.Play_Btn_Show), !0; var r = { mediaId: this._options.vid ? this._options.vid : "", error_code: h.ErrorCode.InvalidSourceURL, error_msg: "InvalidSourceURL" }; return r.display_msg = m.get("Error_Invalidate_Source"), this.trigger(S.Player.Error, r), !1 }, M.prototype._isPreload = function () { return this._options.autoplay || this._options.preload || this._options._preload }, M.prototype._initLoad = function (e) { this.getMetaData(), e && (this._isPreload() && !c.IS_MOBILE ? this.trigger(S.Private.H5_Loading_Show) : (this.trigger(S.Private.H5_Loading_Hide), this.trigger(S.Private.Play_Btn_Show)), this.tag.setAttribute("src", e), this.loaded = !0) }, M.prototype._clearLiveErrorHandle = function () { this._liveErrorHandle && (clearTimeout(this._liveErrorHandle), this._liveErrorHandle = null) }, M.prototype._reloadAndPlayForM3u8 = function () { 0 == this._liveRetryCount && this.trigger(S.Player.OnM3u8Retry); var e = this._options, t = e.liveRetryInterval + e.liveRetryStep * this._liveRetryCount; d.sleep(1e3 * t), this._liveRetryCount++, this.tag.load(this._options.source), this.tag.play() }, M.prototype._checkSupportVideoType = function () { if (!this.tag.canPlayType || !this._options.source || !c.IS_MOBILE) return ""; var e, t = this._options.source, r = ""; return 0 < t.indexOf("m3u8") ? "" != this.tag.canPlayType("application/x-mpegURL") || f.isSupportHls() || (r = m.get("Error_Not_Support_M3U8_Text")) : 0 < t.indexOf("mp4") ? "" == this.tag.canPlayType("video/mp4") && (r = m.get("Error_Not_Support_MP4_Text")) : (f.isRTMP(t) || f.isFlv(t)) && c.IS_MOBILE && (r = m.get("Error_Not_Support_Format_On_Mobile")), r && (e = { mediaId: this._options.vid ? this._options.vid : "", error_code: h.ErrorCode.FormatNotSupport, error_msg: r }, this.logError(e), e.display_msg = r, this.trigger(S.Player.Error, e)), r }, M.prototype.getComponent = function (e) { return this._lifeCycleManager.getComponent(e) }, M.prototype.logError = function (e, t) { (e = e || {}).vt = this.getCurrentTime(), this._serverRequestId = this.log(t ? "ERRORRETRY" : "ERROR", e) }, M.prototype.log = function (e, t) { var r = 0, i = 0; if (this._monitor) return this._options && (r = this._options.vid || "0", i = this._options.from || "0"), this._monitor.updateVideoInfo({ video_id: r, album_id: 0, source: this._options.source, from: i }), this._monitor._log(e, t) }, M.prototype.setSanpshotProperties = function (e, t, r) { if (this._snapshotMatric || (this._snapshotMatric = {}), this._snapshotMatric.width = e, this._snapshotMatric.height = t, 1 < r) throw new Error("rate doesn't allow more than 1"); this._snapshotMatric.rate = r }, M.prototype.getStatus = function () { return this._status ? this._status : "init" }, M.prototype.enterProgressMarker = function () { this._enteredProgressMarker = !0 }, M.prototype.isInProgressMarker = function () { return this._enteredProgressMarker }, M.prototype.exitProgressMarker = function () { this._enteredProgressMarker = !1 }, M.prototype.setProgressMarkers = function (e) { e = e || [], this.trigger(S.Private.ProgressMarkerChanged, e) }, M.prototype.getProgressMarkers = function () { return this._progressMarkerService ? this._progressMarkerService.progressMarkers : [] }, M.prototype.setPreviewTime = function (e) { this._options.playConfig || (this._options.playConfig = {}), this._options.playConfig.PreviewTime = e }, M.prototype.getPreviewTime = function () { var e = 0; return this._options.playConfig && (e = this._options.playConfig.PreviewTime), e }, M.prototype.exceedPreviewTime = function (e) { return this.isPreview() && e >= this._options.playConfig.PreviewTime }, M.prototype.isPreview = function () { var e = this._options.playConfig.PreviewTime, t = this._vodDuration || this.tag.duration; return 0 < e && e < t }, M.prototype._getSanpshotMatric = function () { return this._snapshotMatric || (this._snapshotMatric = {}), this._snapshotMatric }, M.prototype._overrideNativePlay = function () { var i = this.tag.play, n = this; this.tag.play = function () { if (!n._options.source) { var e = { mediaId: n._options.vid ? n._options.vid : "", error_code: h.ErrorCode.InvalidSourceURL, error_msg: "InvalidSourceURL" }; return n._options.vid ? e.display_msg = m.get("Error_Vid_Empty_Source") : e.display_msg = m.get("Error_Empty_Source"), void n.trigger(S.Player.Error, e) } n.readyTime = (new Date).getTime(); var t = i.apply(n.tag); void 0 !== t && t.then(function () { n.trigger(S.Player.AutoPlay, !0) })["catch"](function (e) { !n.tag || !n.tag.paused || n._isError || n._options._autoplay || n._switchedLevel || (n.trigger(S.Private.Play_Btn_Show), n.trigger(S.Private.H5_Loading_Hide), n.trigger(S.Player.AutoPlayPrevented), n.trigger(S.Player.AutoPlay, !1), n._options.cover && n.trigger(S.Private.Cover_Show)) }); var r = n._originalPlaybackRate || n.tag.playbackRate; setTimeout(function () { n.tag && (n.tag.playbackRate = r) }) } }, M.prototype._extraMultiSources = function () { var e = this._options.source; if (e && -1 < e.indexOf("{") && -1 < e.indexOf("}")) { var t = ""; try { t = JSON.parse(e) } catch (e) { console.error(e), console.error("\u5730\u5740json\u4e32\u683c\u5f0f\u4e0d\u5bf9") } this.isMutiLevel = !0; var r, i = []; for (var n in t) { var o = h.QualityLevels[n]; i.push({ definition: n, Url: t[n], desc: o || n }) } 0 < i.length && (this._currentPlayIndex = f.findSelectedStreamLevel(i), r = i[this._currentPlayIndex], this._urls = i, this._options.source = r.Url, this.trigger(S.Private.SourceLoaded, r)) } }, M.prototype._isEnabledAILabel = function () { return this._options.ai && this._options.ai.label }, M.prototype._createService = function () { if (x) for (var e = x.length, t = 0; t < e; t++) { var r = x[t], i = r.condition; void 0 === i ? i = !0 : "function" == typeof i && (i = i.call(this)), i && (this[r.name] = new r.service(this)) } }, M.prototype._disposeService = function () { if (x) for (var e = x.length, t = 0; t < e; t++) { var r = this[x[t].name]; void 0 !== r && r.dispose && r.dispose() } }, M.prototype._executeReadyCallback = function () { try { this._options.autoplay || this._options.preload || (this.trigger(S.Private.H5_Loading_Hide), this.trigger(S.Private.Play_Btn_Show)), this._options.readyCallback(this) } catch (e) { console.log(e) } }, M.prototype._clearTimeout = function () { this._checkTimeoutHandle && (clearTimeout(this._checkTimeoutHandle), this._checkTimeoutHandle = null), this._waitingTimeoutHandle && (clearTimeout(this._waitingTimeoutHandle), this._waitingTimeoutHandle = null), this._clearLiveErrorHandle() }, M.prototype._reloadForVod = function () { if (this._originalSource || (this._originalSource = this._options.source), this._vodRetryCount < this._options.vodRetry && navigator.onLine) { var e = this.getCurrentTime(), t = this._originalSource; t.indexOf("auth_key=") < 0 && (t = t && 0 < t.indexOf("?") ? t + "&_t=" + (new Date).valueOf() : t + "?_t=" + (new Date).valueOf()), this._vodRetryCountHandle && clearTimeout(this._vodRetryCountHandle); var r = this; return this._vodRetryCountHandle = setTimeout(function () { r._loadByUrlInner(t, e, !0) }, 100 * this._vodRetryCount), this._vodRetryCount = this._vodRetryCount + 1, !0 } return !1 }, M.prototype._checkEnoughBufferedForWaiting = function (e) { this.getCurrentTime(), this._options.waitingBufferedTime; var t = this.tag.buffered; for (i = 0; i < t.length; i++)t.start(i), t.end(i) }, t.exports = M }, { "../../commonui/autostreamselector": 201, "../../config": 204, "../../feature/autoPlayDelay": 206, "../../lang/index": 210, "../../lib/constants": 214, "../../lib/cookie": 215, "../../lib/dom": 217, "../../lib/event": 218, "../../lib/io": 223, "../../lib/object": 225, "../../lib/playerutil": 228, "../../lib/ua": 230, "../../lib/util": 232, "../../monitor/monitor": 237, "../../ui/component": 294, "../../ui/component/cover": 298, "../../ui/component/play-animation": 304, "../../ui/component/progressmarker": 307, "../../ui/exports": 324, "../service/export": 288, "./event/eventmanager": 241, "./event/eventtype": 242, "./plugin/lifecyclemanager": 264, "./x5play": 266 }], 262: [function (e, t, r) { var i = e("../../../lib/oo").extend({}); t.exports = i }, { "../../../lib/oo": 226 }], 263: [function (e, t, r) { t.exports = { createEl: "createEl", created: "created", ready: "ready", loading: "loading", play: "play", pause: "pause", playing: "playing", waiting: "waiting", timeUpdate: "timeupdate", error: "error", ended: "ended", dispose: "dispose", markerDotOver: "markerDotOver", markerDotOut: "markerDotOut" } }, {}], 264: [function (e, t, r) { function i(t) { (this._player = t)._status = "init", this.components = []; var e = t.getOptions().components; if (e && s.isArray(e) && 0 < e.length) for (var r = 0; r < e.length; r++) { var i = e[r]; if (!i) return void console.log("The " + r + " custome component is " + i); if (constr = void 0 === i.type ? i : i.type, args = void 0 === i.args ? [] : i.args, name = void 0 === i.name ? "" : i.name, !constr) return void console.log(name + " compenent is " + constr); args = args && 0 < args.length ? [].concat.call([constr], args) : []; var n = new (Function.prototype.bind.apply(constr, args)), o = n[h.createEl]; o && "function" == typeof o && o.call(n, t.el(), t), this.components.push({ name: name, obj: n }) } var a = this; t.on(c.Private.LifeCycleChanged, function (e) { 0 != a.components.length && l.call(a, t, e) }) } var s = e("../../../lib/object"), c = e("../event/eventtype"), h = e("./lifecycle"), n = e("./status"); i.prototype.getComponent = function (e) { var t = null, r = this.components.length; if (e) for (var i = 0; i < r; i++)if (this.components[i].name == e) { t = this.components[i].obj; break } return t }; var l = function (e, t) { if (t) { var r, i = t.paramData, n = i.type, o = i.data; (r = n) != c.Video.LoadStart && r != c.Video.LoadedData && r != c.Video.LoadedMetadata || (n = h.loading), d(e, n); for (var a = this.components.length, s = 0; s < a; s++) { var l = this.components[s].obj, u = l[n]; u && "function" == typeof u && u.call(l, e, o) } n == c.Private.Dispose && (this.components = []) } }, d = function (e, t) { void 0 !== n[t] && (t != n.pause || e._status != n.error && e._status != n.ended) && (e._status = t) }; t.exports = i }, { "../../../lib/object": 225, "../event/eventtype": 242, "./lifecycle": 263, "./status": 265 }], 265: [function (e, t, r) { t.exports = { init: "init", ready: "ready", loading: "loading", play: "play", pause: "pause", playing: "playing", waiting: "waiting", error: "error", ended: "ended" } }, {}], 266: [function (e, t, r) { function i(e, t) { var r = e.el().style.height, i = e.el().style.width; e.originalLayout = { container: { height: r, width: i }, video: { width: e.tag.style.width, height: e.tag.style.height } }; var n = document.body.clientHeight * (window.devicePixelRatio || 1) + "px", o = document.body.clientWidth + "px"; width = t ? (height = n, o) : (height = r.indexOf("%") ? r : r + "px", i.indexOf("%") ? i : i + "px"), e.tag.style.width = o, e.tag.style.height = n, e.el().style.height = t ? n : height } var n = e("../../lib/ua"), o = e("../../lib/dom"); t.exports.isAndroidX5 = function () { return n.os.android && n.is_X5 || n.dingTalk() }, t.exports.adaptX5Play = function (r) { n.os.android && n.is_X5 && ("h5" == r._options.x5_type && (r.tag.setAttribute("x5-video-player-type", r._options.x5_type), window.onresize = function () { var e, t; i(r, r._options.x5_fullscreen || "center" == r._options.x5_video_position), "landscape" == (e = r)._x5VideoOrientation && (e._originalTagWidth = e.tag.style.width, e._originalTagHeight = e.tag.style.height, (t = document.querySelector("#" + e.id() + " .prism-controlbar")) && parseFloat(t.offsetHeight), e.tag.style.height = "100%", e.tag.style.width = window.screen.width + "px") }, r.tag.addEventListener("x5videoenterfullscreen", function () { i(r, r._options.x5_fullscreen || "center" == r._options.x5_video_position), r.trigger("x5requestFullScreen") }), r.tag.addEventListener("x5videoexitfullscreen", function () { var e, t; (e = r).originalLayout && (t = e.originalLayout, e.el().style.height = t.container.height, e.el().style.width = t.container.width, e.tag.style.width = t.video.width, e.tag.style.height = t.video.height), r.trigger("x5cancelFullScreen"), r.fullscreenService.getIsFullScreen() && r.fullscreenService.cancelFullScreen() }), r.on("requestFullScreen", function () { "top" == r._options.x5_video_position && o.removeClass(r.tag, "x5-top-left"), n.os.android && n.is_X5 && r._options.x5LandscapeAsFullScreen && (r.tag.setAttribute("x5-video-orientation", "landscape"), r._x5VideoOrientation = "landscape") }), r.on("cancelFullScreen", function () { "top" == r._options.x5_video_position && o.addClass(r.tag, "x5-top-left"), n.os.android && n.is_X5 && r._options.x5LandscapeAsFullScreen && (r.tag.setAttribute("x5-video-orientation", "portrait"), i(r, r._options.x5_fullscreen || "center" == r._options.x5_video_position), r._x5VideoOrientation = "portrait") })), void 0 !== r._options.x5_fullscreen && r._options.x5_fullscreen && (r.tag.setAttribute("x5-video-player-fullscreen", r._options.x5_fullscreen), o.addClass(r.tag, "x5-full-screen")), "top" == r._options.x5_video_position && o.addClass(r.tag, "x5-top-left"), void 0 !== r._options.x5_orientation && r.tag.setAttribute("x5-video-orientation", r._options.x5_orientation)) } }, { "../../lib/dom": 217, "../../lib/ua": 230 }], 267: [function (e, t, r) { var h = e("../../lib/io"), d = e("../../config"), f = e("../../lib/constants"), p = e("../../lib/util"), y = e("../../lib/playerutil"), m = (e("../../lib/dom"), e("../../lang/index")), g = e("../base/event/eventtype"), b = e("../saas/drm"); t.exports.inject = function (e, t, r, i, a, n, o) { var s, l, u = i.source; function c(e, t) { var r = "Error code:" + t.code + "message:" + t.message; console.log(r); var i = f.ErrorCode.OtherError, r = m.get("Error_Play_Text"); t.code == shaka.util.Error.Code.EXPIRED ? (i = f.ErrorCode.AuthKeyExpired, r = m.get("DRM_License_Expired")) : t.code == shaka.util.Error.Code.HTTP_ERROR ? (i = f.ErrorCode.NetworkError, r = m.get("Http_Error")) : t.code == shaka.util.Error.Code.HTTP_ERROR ? (i = f.ErrorCode.LoadingTimeout, r = m.get("Http_Timeout")) : t.category == shaka.util.Error.NETWORK && (i = f.ErrorCode.NetworkError, r = m.get("Error_Network_Text")); var n; setTimeout(function () { e.trigger(g.Private.Play_Btn_Hide) }), e.checkOnline() && (n = { mediaId: e._options.vid ? e._options.vid : "", error_code: i, error_msg: t.message }, e.logError(n), n.display_msg = t.code + "|" + r, e.trigger(g.Player.Error, n)) } !n && (s = u, e._drm || !y.isDash(s)) || (t.prototype._checkDrmReady = function () { if (null == e._drm) throw new Error("please invoke this method after ready event") }, e._isDrm = !0, e._drm = null, e._isLoadedDrm = !1, t.prototype.play = function (e) { this._checkDrmReady(), this._isManualPlay = e || !1; return this.trigger(g.Private.Cover_Hide), this.tag.ended ? this.replay() : (this.getCurrentTime(), this.tag.paused && this.tag.play()), this }, t.prototype.replay = function () { var e; return this.tag.paused && (this._monitor && this._monitor.replay(), (e = this)._drm.load(this._options.source).then(function () { e._options._autoplay = !0, e._initPlayBehavior(!0), console.log("The video has now been loaded!") })["catch"](c)), this }, t.prototype.pause = function (e) { return this._checkDrmReady(), this._isManualPause = e || !1, this.tag.pause(), this }, t.prototype.stop = function () { return this._checkDrmReady(), this.tag.setAttribute("src", null), this }, t.prototype.initPlay = function (e) { if (p.contentProtocolMixed(u)) { var t = { mediaId: this._options.vid ? this._options.vid : "", error_code: f.ErrorCode.InvalidSourceURL, error_msg: "InvalidSourceURL" }; return t.display_msg = m.get("Request_Block_Text"), void this.trigger(g.Player.Error, t) } function r(r, t) { function i() { l(r, r._drm); var e = { drm: { requestLicenseKey: b.requestLicenseKey(r), servers: {} } }; f.DRMKeySystem[4] && (e.drm.servers[f.DRMKeySystem[5]] = "https://foo.bar/drm/widevine", e.drm.servers[f.DRMKeySystem[4]] = "https://foo.bar/drm/playready"), r._drm.configure(e), a && a(r._drm), o && r._executeReadyCallback(), r._drm.load(r._options.source).then(function () { r._initPlayBehavior(t), console.log("The video has now been loaded!") })["catch"](function (e) { c(r, e) }) } function n(e) { var t; !e || r.__support && r.__support.drm[e] ? i() : (t = { mediaId: r._options.vid ? r._options.vid : "", error_code: f.ErrorCode.EncrptyVideoNotSupport, error_msg: m.get("Not_Support_DRM") }, r.trigger(g.Player.Error, t)) } var o = !r._drm; r.destroy(function (t) { try { t._drm = new shaka.Player(t.tag); var r, e = t._getItemBySource(); e ? (r = f.DRMKeySystem[e.encryptionType], t.__support ? n(r) : shaka.Player.probeSupport().then(function (e) { t.__support = e, n(r) })) : i() } catch (e) { console.log(e) } }) } (that = this)._isLoadedDrm && "undefined" != typeof shaka ? r(this, e) : (this.trigger(g.Private.H5_Loading_Show), function (e) { var t = "aliplayer-drm-min.js", r = "", r = d.domain ? "https://" + d.domain + "/de/prismplayer/" + d.h5Version + "/drm/" + t : "/build/drm/" + t, i = this; h.loadJS(r, function () { shaka.polyfill.installAll(), e.apply(i) }) }.call(that, function () { this._isLoadedDrm = !0, r(this, e) })) }, t.prototype.destroy = function (e) { var t; this._drm ? (t = this)._drm.destroy().then(function () { t._drm = null, e(t) }) : e(this) }, t.prototype.dispose = function () { r.dispose.call(this), this.destroy() }, t.prototype._getDRMEncryptItem = function () { var e = this._urls; if (e && 0 < e.length) { for (var t = e.length, r = 0; r < t; r++) { var i = e[r]; if (i.Url == this._options.source && +i.encryption) return i } return "" } return "" }, t.prototype._getItemBySource = function () { var e = this._urls; if (e && 0 < e.length) { for (var t = e.length, r = 0; r < t; r++) { var i = e[r]; if (i.Url == this._options.source) return i } return "" } return "" }, l = function (t, e) { e.addEventListener("error", function (e) { c(t, e.detail) }) }) } }, { "../../config": 204, "../../lang/index": 210, "../../lib/constants": 214, "../../lib/dom": 217, "../../lib/io": 223, "../../lib/playerutil": 228, "../../lib/util": 232, "../base/event/eventtype": 242, "../saas/drm": 277 }], 268: [function (e, t, r) { var i = e("../base/player"), n = e("./drminjector"), o = i.extend({ init: function (e, t) { n.inject(this, o, i.prototype, t, function (e) { }), t._native = !1, i.call(this, e, t) } }); t.exports = o }, { "../base/player": 261, "./drminjector": 267 }], 269: [function (e, t, r) { var n = e("../../ui/component"), o = e("../../lib/data"), s = e("../../lib/ua"), a = e("../../lib/constants"), l = e("../../lib/dom"), u = e("../../lib/object"), c = e("../../config"), h = e("../../lang/index"), d = e("../../lib/playerutil"), f = e("../../lib/util"), i = e("../../ui/component/info-display"), p = e("../../ui/component/error-display"), y = e("../../feature/autoPlayDelay"), m = e("../../commonui/autostreamselector"), g = e("../base/event/eventtype"), b = e("../saas/ststoken"), v = n.extend({ init: function (e, t) { var r, i; void 0 === t.skinLayout && (t.skinLayout = d.defaultFlashLayout), n.call(this, this, t), this._id = "prism-player-" + o.guid(), this.tag = e, this._el = this.tag, this._childrenUI = [p], this.initChildren(), this.id = this._id, window[this.id] = this, h.setCurrentLanguage(this._options.language, "flash", this._options.languageTexts), f.openInFile() ? (r = { mediaId: this._options.vid ? this._options.vid : "", error_code: a.ErrorCode.FormatNotSupport, error_msg: h.get("Open_Html_By_File", "flash") }, this.trigger(g.Private.Error_Show, r)) : s.IS_MOBILE ? this.trigger(g.Private.Error_Show, { mediaId: this._options.vid ? this._options.vid : "", error_code: a.ErrorCode.FormatNotSupport, error_msg: h.get("Cant_Use_Flash_On_Mobile", "flash") }) : (this._options.vid && this._options.accessKeyId && this._options.securityToken && this._options.accessKeySecret ? (i = this, b.getPlayAuth(this._options, function (e) { i._options.playauth = e, i._createPlayer() }, function (e) { var t = { mediaId: i._options.vid, error_code: e.Code, error_msg: e.Message }; e.sri && (t.sri = e.sri), t.display_msg = e.display_msg, i.trigger(g.Private.Error_Show, t) }, "flash")) : this._createPlayer(), this._status = "init") }, _createPlayer: function () { var e, t, r; this._options.autoPlayDelay ? (e = new y(this), t = this, e.handle(function () { t._options.autoplay = !0, t._initPlayer(), t._childrenUI = [i, m], t.initChildren() })) : (this._initPlayer(), this._childrenUI = [i, m], this.initChildren()), s.HAS_FLASH || (r = h.get("Flash_Not_Ready", "flash"), this.trigger(g.Private.Info_Show, { text: r, align: "tc", isBlack: !1 })) }, _initPlayer: function () { var e = "//" + c.domain + "/de/prismplayer-flash/" + c.flashVersion + "/PrismPlayer.swf"; this._options.playerSwfPath ? e = this._options.playerSwfPath : c.domain ? -1 < c.domain.indexOf("localhost") && (e = "//" + c.domain + "/build/flash//PrismPlayer.swf") : e = "de/prismplayer-flash/" + c.flashVersion + "/PrismPlayer.swf"; var t = this._comboFlashVars(), r = this._options.wmode ? this._options.wmode : "opaque"; this.tag.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="100%" height="100%" id="' + this.id + '"><param name=movie value="' + e + '"><param name=quality value=High><param name="FlashVars" value="' + t + '"><param name="WMode" value="' + r + '"><param name="AllowScriptAccess" value="always"><param name="AllowFullScreen" value="true"><param name="AllowFullScreenInteractive" value="true"><embed name="' + this.id + '" src="' + e + '" quality=high pluginspage="//www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100%" height="100%" AllowScriptAccess="always" AllowFullScreen="true" AllowFullScreenInteractive="true" WMode="' + r + '" FlashVars="' + t + '"></embed></object>' }, _getPlayer: function (e) { return -1 != navigator.appName.indexOf("Microsoft") ? document.getElementById(e) : document[e] }, _getLowerQualityLevel: function () { var e = this._getVideoUrls(); if (!e) return ""; var t = e.Urls, r = e.index; return !(t && 0 == t.length || -1 == r) && 0 < r ? { item: t[r - 1], index: r - 1 } : "" }, _comboFlashVars: function () { var e = encodeURIComponent(s.getReferer()), t = s.getHref(), r = encodeURIComponent(t), i = ""; t && (i = s.getHost(t)); var n = this._options, o = { autoPlay: n.autoplay ? 1 : 0, isInner: 0, actRequest: 1, vid: n.vid, diagnosisButtonVisible: n.diagnosisButtonVisible ? 1 : 0, domain: n.domain ? n.domain : "//tv.taobao.com", statisticService: n.statisticService ? n.statisticService : c.logReportTo, videoInfoService: n.videoInfoService ? n.videoInfoService : "/player/json/getBaseVideoInfo.do", disablePing: n.trackLog ? 0 : 1, namespace: this.id, barMode: 0 != n.barMode ? 1 : 0, isLive: n.isLive ? 1 : 0, waterMark: n.waterMark, environment: n.environment, vurl: n.source ? encodeURIComponent(n.source) : "", plugins: n.plugins ? n.plugins : "", snapShotShow: n.snapshot ? 1 : 0, accessId: n.accId ? n.accId : "", accessKey: n.accSecret ? n.accSecret : "", apiKey: n.apiKey ? n.apiKey : "", flashApiKey: n.flashApiKey ? n.flashApiKey : "", disableSeek: n.disableSeek ? 1 : 0, disableFullScreen: n.disableFullScreen ? 1 : 0, stsToken: n.stsToken ? n.stsToken : "", domainRegion: n.domainRegion ? n.domainRegion : "", authInfo: n.authInfo ? encodeURIComponent(n.authInfo) : "", playDomain: n.playDomain ? n.playDomain : "", stretcherZoomType: n.stretcherZoomType ? n.stretcherZoomType : "", playauth: n.playauth ? n.playauth.replace(/\+/g, "%2B") : "", prismType: n.prismType ? n.prismType : 0, formats: n.formats ? n.formats : "", notShowTips: n.notShowTips ? 1 : 0, showBarTime: n.showBarTime ? n.showBarTime : 0, showBuffer: 0 == n.showBuffer ? 0 : 1, rePlay: n.rePlay ? 1 : 0, encryp: n.encryp ? n.encryp : "", secret: n.secret ? n.secret : "", mediaType: "video", logInfo: { ud: s.getHost(n.source), os: s.os.name, ov: s.os.version || "", et: s.browser.name, ev: s.browser.version || "", uat: s.USER_AGENT, r: e, pu: r, app_n: i } }, a = []; return void 0 !== n.rtmpBufferTime && (o.rtmpBufferTime = n.rtmpBufferTime), n.cover && (o.cover = n.cover), n.extraInfo && (o.extraInfo = encodeURIComponent(JSON.stringify(n.extraInfo))), o.logInfo && (o.logInfo = encodeURIComponent(JSON.stringify(o.logInfo))), o.languageData = encodeURIComponent(JSON.stringify(h.getLanguageData("flash"))), o.language = h.getCurrentLanguage(), u.each(o, function (e, t) { a.push(e + "=" + t) }), a.join("&") }, initChildren: function () { for (var e = this._childrenUI.length, t = 0; t < e; t++) { var r = new this._childrenUI[t](this, this._options), i = r.el(); i.id = r.id(), this.contentEl().appendChild(i), r.bindEvent() } var n = document.querySelector("#" + this._options.id + " .prism-info-display"); l.css(n, "display", "none") }, flashReady: function () { this.flashPlayer = this._getPlayer(this.id), this._isReady = !0; var e, t = this._options.skinRes, r = this._options.skinLayout; if (!1 !== r && !u.isArray(r)) throw new Error("PrismPlayer Error: skinLayout should be false or type of array!"); if ("string" != typeof t) throw new Error("PrismPlayer Error: skinRes should be string!"); e = 0 != r && 0 !== r.length && { skinRes: t, skinLayout: r }, this.flashPlayer.setPlayerSkin(e), this.trigger("ready"); var i = this; window.addEventListener("beforeunload", function () { try { i.flashPlayer.setPlayerCloseStatus() } catch (e) { } }) }, jsReady: function () { return !0 }, snapshoted: function (e) { var t = f.toBinary(e), r = "data:image/jpeg;base64," + e; this.trigger("snapshoted", { time: this.getCurrentTime(), base64: r, binary: t }) }, uiReady: function () { this._status = "ready", this.trigger("uiReady") }, loadedmetadata: function () { "ended" != this._status && (this._status = "loading", this.trigger("loadedmetadata")) }, onPlay: function () { this._status = "play", this.trigger("play"), this._clearTimeoutHandle(), this.trigger(g.Private.AutoStreamHide) }, onEnded: function () { this._clearTimeoutHandle(), this._status = "ended", this.trigger("ended") }, onPause: function () { this._status = "pause", this._clearTimeoutHandle(), this.trigger(g.Private.AutoStreamHide), this.trigger("pause") }, onBulletScreenReady: function () { this.trigger("bSReady") }, onBulletScreenMsgSend: function (e) { this.trigger("bSSendMsg", e) }, onVideoRender: function (e) { this._clearTimeoutHandle(), this.trigger("videoRender"), this.trigger("canplay", { loadtime: e }) }, onVideoError: function (e) { this._clearTimeoutHandle(), this._status = "error", this.trigger("error", { errortype: e }) }, onM3u8Retry: function () { this.trigger("m3u8Retry") }, hideBar: function () { this.trigger("hideBar") }, showBar: function () { this.trigger("showBar") }, liveStreamStop: function () { this.trigger("liveStreamStop") }, stsTokenExpired: function () { this._status = "error", this.trigger("stsTokenExpired") }, onVideoBuffer: function () { var e; "pause" != this._status && (this._status = "waiting", this.trigger("waiting"), this._clearTimeoutHandle(), (e = this)._checkTimeoutHandle = setTimeout(function () { e.trigger(g.Private.AutoStreamShow) }, 1e3 * this._options.loadDataTimeout), this._checkVideoStatus()) }, startSeek: function (e) { this.trigger("startSeek", e) }, completeSeek: function (e) { this.trigger("completeSeek", e) }, _invoke: function () { var e = arguments[0], t = arguments; if (Array.prototype.shift.call(t), !this.flashPlayer) throw new Error("PrismPlayer Error: flash player is not ready\uff0cplease use api after ready event occured!"); if ("function" != typeof this.flashPlayer[e]) throw new Error("PrismPlayer Error: function " + e + " is not found!"); return this.flashPlayer[e].apply(this.flashPlayer, t) }, play: function () { this._invoke("playVideo") }, replay: function () { this._invoke("replayVideo") }, pause: function () { this._invoke("pauseVideo") }, stop: function () { this._invoke("stopVideo") }, seek: function (e) { this._invoke("seekVideo", e) }, getCurrentTime: function () { return this._invoke("getCurrentTime") }, getDuration: function () { return this._invoke("getDuration") }, getStatus: function () { return this._status }, _getVideoUrls: function () { var e = this._invoke("getVideoUrls"), t = []; if (e && e.Urls) for (var r = 0; r < e.Urls.length; r++) { var i = e.Urls[r].value, n = i.desc.indexOf("_"), o = h.get(i.definition, "flash"); i.desc = 0 < n ? o + "_" + i.height : o, t.push(i) } return { Urls: t, index: e.index } }, _getVideoStatus: function () { return this._invoke("getVideoStatus") }, _checkVideoStatus: function () { var t, r; this.flashPlayer && !this._checkVideoStatusHandler && (t = this, (r = function () { t._checkVideoStatusHandler = setTimeout(function () { var e = t._getVideoStatus(); "playing" == e.videoStatus && "bufferFull" == e.bufferStatus ? (t._status = "playing", t._clearTimeoutHandle()) : "videoPlayOver" == e.videoStatus && (t._status = "ended", t._clearTimeoutHandle()), r() }, 500) })()) }, _clearTimeoutHandle: function () { this._checkTimeoutHandle && (clearTimeout(this._checkTimeoutHandle), this._checkTimeoutHandle = null) }, _changeStream: function (e) { return this._invoke("changeStream", e) }, mute: function () { this.setVolume(0) }, unMute: function () { this.setVolume(.5) }, getVolume: function () { return this._invoke("getVolume") }, setVolume: function (e) { this._invoke("setVolume", e) }, loadByVid: function (e) { this._invoke("loadByVid", e, !1) }, loadByUrl: function (e, t) { this._invoke("loadByUrl", e, t) }, dispose: function () { this._clearTimeoutHandle(), this._checkVideoStatusHandler && (clearTimeout(this._checkVideoStatusHandler), this._checkVideoStatusHandler = null), this._invoke("pauseVideo"); var e = this; setTimeout(function () { e.off("completeSeek"), e.off("startSeek"), e.off("stsTokenExpired"), e.off("liveStreamStop"), e.off("showBar"), e.off("hideBar"), e.off("m3u8Retry"), e.off("error"), e.off("canplay"), e.off("pause"), e.off("ended"), e.off("play"), e.off("loadedmetadata"), e.off("snapshoted"), e.off("uiReady"), e.off("ready"), e.flashPlayer = null, e._el && (e._el.innerHTML = "") }) }, showBSMsg: function (e) { this._invoke("showBSMsg", e) }, setToastEnabled: function (e) { this._invoke("setToastEnabled", e) }, setLoadingInvisible: function () { this._invoke("setLoadingInvisible") }, setPlayerSize: function (e, t) { this._el.style.width = e, this._el.style.height = t } }); t.exports = v }, { "../../commonui/autostreamselector": 201, "../../config": 204, "../../feature/autoPlayDelay": 206, "../../lang/index": 210, "../../lib/constants": 214, "../../lib/data": 216, "../../lib/dom": 217, "../../lib/object": 225, "../../lib/playerutil": 228, "../../lib/ua": 230, "../../lib/util": 232, "../../ui/component": 294, "../../ui/component/error-display": 299, "../../ui/component/info-display": 302, "../base/event/eventtype": 242, "../saas/ststoken": 282 }], 270: [function (e, t, r) { var s = e("../../lib/io"), h = e("../../config"), d = e("../../lib/constants"), f = e("../../lib/util"), c = e("../../lib/playerutil"), p = (e("../../lib/dom"), e("../../lib/ua")), y = e("../../lang/index"), m = e("../base/event/eventtype"); e("../base/player"); t.exports.inject = function (e, t, r, i, l, n) { var o, u, a = i.source; !n && (o = a, e._flv || !c.isFlv(o)) || (e._Type = t, e._superType = r, e._superPt = r.prototype, e._disposed = !1, t.prototype._checkFlvReady = function () { if (null == e._flv) throw new Error("please invoke this method after ready event") }, e._isFlv = !0, e._flv = null, e._isLoadedFlv = !1, e._originalUrl = "", t.prototype.play = function (e) { this._checkFlvReady(), this._isManualPlay = e || !1; var t; return this.trigger(m.Private.Cover_Hide), this._options.isLive && e ? this._loadByUrlInner(this._options.source, 0, e) : this.tag.ended || this._ended ? this.replay() : (0 == this._seeking && (t = 0, this.tag.ended || this._ended || 0 == (t = this.getCurrentTime()) && (t = -1), -1 != t && this.seek(t)), this.tag.paused && (this._hasLoaded || (this.getMetaData(), this._flv.load()), this._flv.play())), this }, t.prototype.seek = function (e) { this._checkFlvReady(), this._seeking = !0, e === this.tag.duration && e--; try { this._flv.currentTime = e } catch (e) { console.log(e) } return this }, t.prototype.pause = function (e) { return this._checkFlvReady(), this._isManualPause = e || !1, this._flv.pause(), this }, t.prototype.getProgramDateTime = function () { if (this._checkFlvReady(), !this._metadata) return ""; var e = this._flv.getFirstSample(), t = e && e.pts ? e.pts : 0; return console.log("\u63a8\u6d41\u65f6\u95f4\uff1a" + this._metadata.NtpTime), console.log("\u9996\u5e27PTS\uff1a" + t), this._metadata.NtpTime + t }, t.prototype.initPlay = function (e) { if (p.browser.safari && this.trigger(m.Private.Snapshot_Hide), f.contentProtocolMixed(a)) { var t = { mediaId: this._options.vid ? this._options.vid : "", error_code: d.ErrorCode.InvalidSourceURL, error_msg: "InvalidSourceURL" }; return t.display_msg = y.get("Request_Block_Text"), void this.trigger(m.Player.Error, t) } function r(t, e) { var r = !t._flv; t._destroyFlv(); var i, n = t._options.isLive, o = { isLive: n, enableWorker: t._options.enableWorker, stashInitialSize: 2048 }, a = { type: "flv", isLive: n, url: t._options.source }; for (var s in n ? (o.enableStashBuffer = t._options.enableStashBufferForFlv, stashInitialSize = t._options.stashInitialSizeForFlv, o.autoCleanupSourceBuffer = !1) : o.lazyLoadMaxDuration = 600, t._options.flvOption) "cors" == s || "hasAudio" == s || "withCredentials" == s || "hasVideo" == s || "type" == s ? a[s] = t._options.flvOption[s] : o[s] = t._options.flvOption[s]; t._originalUrl = t._options.source, flvjs.LoggingControl.enableAll = t._options.debug, t._flv = flvjs.createPlayer(a, o), u(t, t._flv), t._flv.on(flvjs.Events.MEDIA_INFO, function (e) { t._metadata = e.metadata }), t._flv.attachMediaElement(t.tag), t._initPlayBehavior(e) && ((t._options.preload || t._options.autoplay) && (t._hasLoaded = !0, t._flv.load()), t._options.autoplay && !t.tag.paused && t._flv.play(), l && l(t._flv), r && (t._executeReadyCallback(), t._urls && 0 < t._urls.length && !t._options.defaultDefinition && (t._currentPlayIndex = c.findSelectedStreamLevel(t._urls), i = t._urls[t._currentPlayIndex], t._options.source = i.Url, t.trigger(m.Private.SourceLoaded, i)))) } (that = this)._isLoadedFlv && "undefined" != typeof Hls ? setTimeout(function () { r(that, e) }, 1e3) : (this.trigger(m.Private.H5_Loading_Show), function (e, t) { var r = "aliplayer-flv-min.js", i = "", i = h.domain ? "https://" + h.domain + "/de/prismplayer/" + h.h5Version + "/flv/" + r : "/build/flv/" + r, n = this; s.loadJS(i, function () { e.apply(n) }) }.call(that, function () { this._isLoadedFlv = !0, r(this, e) }, this._options.debug)) }, t.prototype._destroyFlv = function () { try { this._flv && (this._flv.pause(), this._flv.destroy()) } catch (e) { console.log(e) } this.loaded = !1, this._hasLoaded = !1, this._flv = null }, t.prototype.dispose = function () { this._disposed || (this._disposed = !0, this._superPt && this._superPt.dispose.call(this), this._destroyFlv(), this._superPt && (t.prototype.play = this._superPt.play, t.prototype.pause = this._superPt.pause, t.prototype.initPlay = this._superPt.initPlay, t.prototype.seek = this._superPt.seek, t.prototype.canSeekable = this._superPt.canSeekable)) }, t.prototype.canSeekable = function (e) { var t = this._flv.mediaInfo; return !(!this._flv._isTimepointBuffered(e) && t && !t.hasKeyframesIndex) }, u = function (u, e) { var c = !1; e.on(flvjs.Events.ERROR, function (e, t, r) { var i, n = d.ErrorCode.OtherError, o = y.get("Error_Play_Text"); t == flvjs.ErrorDetails.NETWORK_EXCEPTION ? !(i = u.getOptions().source) || 0 != i.toLowerCase().indexOf("http://") && 0 != i.toLowerCase().indexOf("https://") ? (n = d.ErrorCode.InvalidSourceURL, o = y.get("Error_Invalidate_Source_Widthout_Protocal"), c = !0) : o = navigator.onLine ? (n = d.ErrorCode.RequestDataError, y.get("Maybe_Cors_Error")) : (n = d.ErrorCode.NetworkError, y.get("Error_Network_Text")) : t == flvjs.ErrorDetails.NETWORK_STATUS_CODE_INVALID ? "404" == r.code ? (n = d.ErrorCode.NotFoundSourceURL, o = y.get("Error_Not_Found")) : "403" == r.code ? (n = d.ErrorCode.AuthKeyExpired, o = y.get("Error_AuthKey_Text"), c = !0) : (n = d.ErrorCode.NetworkError, o = y.get("Error_Network_Text")) : t == flvjs.ErrorDetails.NETWORK_TIMEOUT ? (n = d.ErrorCode.LoadingTimeout, o = y.get("Error_Waiting_Timeout_Text")) : t != flvjs.ErrorDetails.MEDIA_FORMAT_UNSUPPORTED && t != flvjs.ErrorDetails.MEDIA_CODEC_UNSUPPORTED || (n = d.ErrorCode.FormatNotSupport, o = y.get("Error_H5_Not_Support_Text"), c = !0); function a() { var e; setTimeout(function () { u.trigger(m.Private.Play_Btn_Hide) }), u.checkOnline() && (e = { mediaId: u._options && u._options.vid ? u._options.vid : "", error_code: n, error_msg: r.msg }, u.logError(e), e.display_msg = o, h.cityBrain && (u.flv = null), u.trigger(m.Player.Error, e)) } if (u._options && u._options.isLive && !c) { var s, l = u._options; l.liveRetry > u._liveRetryCount ? (0 == u._liveRetryCount && u.trigger(m.Player.OnM3u8Retry), s = l.liveRetryInterval + l.liveRetryStep * u._liveRetryCount, u._liveRetryCount++, f.sleep(1e3 * s), u._loadByUrlInner(l.source)) : (u._liveErrorHandle && clearTimeout(u._liveErrorHandle), u.trigger(m.Player.LiveStreamStop), u._liveErrorHandle = setTimeout(a, 500)) } else { if (u._reloadForVod()) return; a() } }) }) } }, { "../../config": 204, "../../lang/index": 210, "../../lib/constants": 214, "../../lib/dom": 217, "../../lib/io": 223, "../../lib/playerutil": 228, "../../lib/ua": 230, "../../lib/util": 232, "../base/event/eventtype": 242, "../base/player": 261 }], 271: [function (e, t, r) { var i = e("../base/player"), n = e("./flvinjector"), o = i.extend({ init: function (e, t) { n.inject(this, o, i, t, function (e) { }), t._native = !1, i.call(this, e, t) } }); t.exports = o }, { "../base/player": 261, "./flvinjector": 270 }], 272: [function (e, t, r) { var f = e("../../lib/io"), p = e("../../config"), y = e("../../lib/constants"), m = e("../../lib/util"), g = e("../../lib/playerutil"), b = (e("../../lib/dom"), e("../../lib/ua")), v = e("../../lang/index"), _ = e("../base/event/eventtype"); e("../base/player"); t.exports.inject = function (e, t, r, i, o, n) { var a, s, l, u, c = i.source, h = i.useHlsPluginForSafari, d = i.useHlsPlugOnMobile; (o || n || (a = c, s = h, l = d, !e._hls && g.isHls(a) && (!g.canPlayHls() || g.isSafariUsedHlsPlugin(s) || l && g.isUsedHlsPluginOnMobile()))) && (e._Type = t, e._superType = r, e._superPt = r.prototype, e._disposed = !1, t.prototype._checkHlsReady = function () { if (null == e._hls) throw new Error("please invoke this method after ready event") }, e._isHls = !0, e._hls = null, e._isLoadedHls = !1, e._stopLoadAsPaused = !0, t.prototype.play = function (e) { this._checkHlsReady(), this._isManualPlay = e || !1; var t; return this.trigger(_.Private.Cover_Hide), this._options.autoplay || this._options.preload || this._loadSourced || (this._loadSourced = !0, this._options._autoplay = !0, this._hls.loadSource(this._options.source)), this.tag.ended || this._ended ? this.replay() : this.tag.paused && (this.tag.play(), this._stopLoadAsPaused && (t = this.getCurrentTime(), this._hls.startLoad(t))), this }, t.prototype.replay = function () { return this._monitor && this._monitor.replay(), this._hls.startLoad(0), this.tag.play(), this }, t.prototype.pause = function (e) { return this.tag && (this._checkHlsReady(), this.tag.pause(), this._stopLoadAsPaused && this._hls.stopLoad()), this._isManualPause = e || !1, this }, t.prototype.stop = function () { return this._checkHlsReady(), this.tag.setAttribute("src", null), this._hls.stopLoad(), this }, t.prototype.seek = function (e) { this._checkHlsReady(); try { this._superPt.seek.call(this, e), this.tag.paused && this._stopLoadAsPaused && this._hls.startLoad(e) } catch (e) { console.log(e) } return this }, t.prototype.getProgramDateTime = function () { if (this._checkHlsReady(), -1 == this._hls.currentLevel) return ""; var e = this._hls.currentLevel, t = this._hls.levels[e].details; if (t) { var r = t.programDateTime; if (console.log("ProgramDateTime=" + r), r) return new Date(r).valueOf() } return 0 }, t.prototype._reloadAndPlayForM3u8 = function () { 0 == this._liveRetryCount && this.trigger(_.Player.OnM3u8Retry), this._liveRetryCount++ }, t.prototype._switchLevel = function (e) { this.trigger(_.Player.LevelSwitch); for (var t = this._hls.levels, r = !0, i = 0; i < t.length; i++)if (t[i].url == e) { r = !1, this._hls.currentLevel = i; break } r && (this._hls.currentLevel = -1), this._switchedLevel = !0; var n = this; setTimeout(function () { n.trigger(_.Player.LevelSwitched), this._switchedLevel = !1 }, 1e3) }, t.prototype.initPlay = function (e) { if (m.contentProtocolMixed(c)) { var t = { mediaId: this._options.vid ? this._options.vid : "", error_code: y.ErrorCode.InvalidSourceURL, error_msg: "InvalidSourceURL" }; return t.display_msg = v.get("Request_Block_Text"), void this.trigger(_.Player.Error, t) } function r(s, t) { var r = !s._hls; s._destroyHls(); var e = { xhrSetup: function (e, t) { e.withCredentials = s._options.withCredentials || !1 } }, i = s._options.loadingTimeOut || s._options.hlsLoadingTimeOut; for (var n in i && (e.manifestLoadingTimeOut = i, e.levelLoadingTimeOut = i, e.fragLoadingTimeOut = i), s._options.liveSyncDurationCount && (e.liveSyncDurationCount = s._options.liveSyncDurationCount), s._options.defaultBandwidth && (e.defaultBandwidth = s._options.defaultBandwidth), s._options.isLive && (s._options.hlsFrameChasing && (e.hlsFrameChasing = s._options.hlsFrameChasing), s._options.chasingFirstParagraph && (e.chasingFirstParagraph = s._options.chasingFirstParagraph), s._options.chasingSecondParagraph && (e.chasingSecondParagraph = s._options.chasingSecondParagraph), s._options.chasingFirstSpeed && (e.chasingFirstSpeed = s._options.chasingFirstSpeed), s._options.chasingSecondSpeed && (e.chasingSecondSpeed = s._options.chasingSecondSpeed)), s._options.nudgeMaxRetry && (e.nudgeMaxRetry = s._options.nudgeMaxRetry), s._options.maxMaxBufferLength && (e.maxMaxBufferLength = s._options.maxMaxBufferLength), s._options.maxBufferSize && (e.maxBufferSize = s._options.maxBufferSize), s._options.fragLoadingRetryDelay && (e.fragLoadingRetryDelay = s._options.fragLoadingRetryDelay), s._options.maxBufferLength && (e.maxBufferLength = s._options.maxBufferLength), s._options.hlsBandWidthUpCacheTime && (e.abrBandWidthUpCacheTime = s._options.hlsBandWidthUpCacheTime), s._options.seamlessHandover && (e.seamlessHandover = s._options.seamlessHandover), s._options.accessKeyId && (e.accessKeyId = s._options.accessKeyId), s._options.accessKeySecret && (e.accessKeySecret = s._options.accessKeySecret), s._options.securityToken && (e.securityToken = s._options.securityToken), s._options.app && (e.app = s._options.app), s._options.stream && (e.stream = s._options.stream), s._options.domain && (e.domain = s._options.domain), o && (e._sce_dlgtqredxx = o), e.enableWorker = s._options.enableWorker, e.debug = s._options.debug, s._stopLoadAsPaused = s._options.hlsOption.stopLoadAsPaused, s._options.hlsOption) e[n] = s._options.hlsOption[n]; b.IS_IE11 && o && (e.enableWorker = !1), s._hls = new Hls(e), u(s, s._hls), s._setLevels(), s._loadSourced = !1, s._hls.attachMedia(s.tag), s._hls.on(Hls.Events.FRAG_PARSING_USERDATA, function (e, t) { t && t.dataContent && t.dataContent.length && s.trigger(_.Player.SeiFrame, t.dataContent) }), s._hls.on(Hls.Events.MEDIA_ATTACHED, function () { var e; s._hls.on(Hls.Events.MANIFEST_PARSED, function () { s._initPlayBehavior(t || s._loadSourced) }), s._hls.on(Hls.Events.AUDIO_TRACKS_UPDATED, function (e, t) { s.trigger(_.Player.AudioTrackUpdated, t) }), s._hls.on(Hls.Events.MANIFEST_LOADED, function (e, t) { s.trigger(_.Player.LevelsLoaded, t) }), s._hls.on(Hls.Events.LEVEL_SWITCHED, function (e, t) { if (s._qualityService) { for (var r = s._hls.levels[t.level].url, i = s._qualityService.levels, n = "", o = "", a = 0; a < i.length; a++)if (i[a].Url == r) { o = i[a].desc, n = i[a].bitrate; break } (o || n) && s.trigger(_.Private.QualityChange, { levelSwitch: !0, url: r, bitrate: n, desc: o }) } }), s._hls.on(Hls.Events.AUDIO_TRACK_SWITCH, function (e, t) { s.trigger(_.Player.AudioTrackSwitch, t), setTimeout(function () { s.trigger(_.Player.AudioTrackSwitched, t) }, 1e3) }), (s._options.autoplay || s._options.preload || t) && (s._loadSourced = !0, s._levels && 1 < s._levels.length ? (s.isMutiLevel || (s._hls.currentLevel = s._currentPlayIndex), s._hls.trigger(Hls.Events.MANIFEST_LOADING, {}), s._hls.trigger(Hls.Events.MANIFEST_LOADED, { levels: s._levels })) : s._hls.loadSource(s._options.source)), r && (s._executeReadyCallback(), s._urls && 0 < s._urls.length && !s._options.defaultDefinition && (s._currentPlayIndex = g.findSelectedStreamLevel(s._urls), e = s._urls[s._currentPlayIndex], s._options.source = e.Url, s.trigger(_.Private.SourceLoaded, e))) }) } this._isLoadedHls && "undefined" != typeof Hls ? r(this, e) : (this.trigger(_.Private.H5_Loading_Show), function (e, t, r) { var i = "aliplayer-hls-min.js", n = "", n = p.domain ? "https://" + p.domain + "/de/prismplayer/" + p.h5Version + "/hls/" + i : "/build/hls/" + i, o = this; f.loadJS(n, function () { e.apply(o) }) }.call(this, function () { this._isLoadedHls = !0, r(this, e) }, this._options.debug)) }, t.prototype._getbwEstimator = function () { var e, t = NaN; return this._hls && (t = (e = this._hls.abrController._bwEstimator) ? e.getEstimate() : NaN), t }, t.prototype._destroyHls = function () { this._hls && this._hls.destroy(), this._hls = null }, t.prototype._setLevels = function () { if (!this._options.isLive) { for (var e = this._urls.length, t = [], r = 0; r < e; r++) { var i = this._urls[r]; t.push({ attrs: {}, audioCodec: "mp4a.40.5", videoCodec: "avc1.42c01e", url: i.Url, width: i.width, height: i.height, bitrate: i.bitrate }) } this._levels = t } }, t.prototype.dispose = function () { this._disposed || (this._disposed = !0, this._superPt && this._superPt.dispose.call(this), this._destroyHls(), this._superPt && (t.prototype.play = this._superPt.play, t.prototype.pause = this._superPt.pause, t.prototype.initPlay = this._superPt.initPlay, t.prototype.replay = this._superPt.replay, t.prototype.stop = this._superPt.stop, t.prototype.seek = this._superPt.seek, t.prototype.dispose = this._superPt.dispose)) }, u = function (l, e) { e.on(Hls.Events.DEFAULT_BANDWIDTH, function (e, t) { l.trigger(_.Player.DefaultBandWidth, { width: t.width, height: t.height, bitrate: t.bitrate }) }), e.on(Hls.Events.ERROR, function (e, t) { if (l._options && t.details != Hls.ErrorDetails.FRAG_LOOP_LOADING_ERROR && 1 != l._seeking && (0 != t.fatal || t.type == Hls.ErrorTypes.NETWORK_ERROR)) { l._clearTimeout(); var r = y.ErrorCode.LoadedMetadata, i = v.get("Error_Play_Text"), n = !1; t.details == Hls.ErrorDetails.MANIFEST_LOAD_ERROR ? (n = !0, t.networkDetails, i = t.response ? "404" == t.response.code ? (r = y.ErrorCode.NotFoundSourceURL, v.get("Error_Not_Found")) : "403" == t.response.code ? (r = y.ErrorCode.AuthKeyExpired, v.get("Error_AuthKey_Text")) : "0" == t.response.code && navigator.onLine ? (r = y.ErrorCode.RequestDataError, i + "\uff0c" + v.get("Maybe_Cors_Error")) : v.get("Error_Load_M3U8_Failed_Text") : v.get("Error_Load_M3U8_Failed_Text")) : t.details == Hls.ErrorDetails.MANIFEST_LOAD_TIMEOUT ? (n = !0, i = v.get("Error_Load_M3U8_Timeout_Text")) : t.details == Hls.ErrorDetails.MANIFEST_PARSING_ERROR || t.details == Hls.ErrorDetails.MANIFEST_INCOMPATIBLE_CODECS_ERROR ? (n = !0, i = v.get("Error_M3U8_Decode_Text")) : t.type == Hls.ErrorTypes.NETWORK_ERROR ? (r = y.ErrorCode.NetworkError, i = v.get("Error_Network_Text")) : t.type != Hls.ErrorTypes.MUX_ERROR && t.type != Hls.ErrorTypes.MEDIA_ERROR || (r = y.ErrorCode.PlayDataDecode, i = v.get("Error_TX_Decode_Text")), i = i + "(" + t.details + ")"; function o() { var e; l.pause(), setTimeout(function () { l.trigger(_.Private.Play_Btn_Hide) }), l.checkOnline() && (e = { mediaId: l._options && l._options.vid ? l._options.vid : "", error_code: r, error_msg: t.details }, l.logError(e), e.display_msg = i, l.trigger(_.Player.Error, e)) } if (l._options && l._options.isLive) { var a, s = l._options; s.liveRetry > l._liveRetryCount ? (0 == l._liveRetryCount && l.trigger(_.Player.OnM3u8Retry), a = s.liveRetryInterval + s.liveRetryStep * l._liveRetryCount, l._liveRetryCount++, m.sleep(1e3 * a), n && l._loadByUrlInner(l._options.source, 0, !0)) : (l._liveErrorHandle && clearTimeout(l._liveErrorHandle), l.trigger(_.Player.LiveStreamStop), l._liveErrorHandle = setTimeout(o, 500)) } else { if (l._reloadForVod()) return; o() } } }) }) } }, { "../../config": 204, "../../lang/index": 210, "../../lib/constants": 214, "../../lib/dom": 217, "../../lib/io": 223, "../../lib/playerutil": 228, "../../lib/ua": 230, "../../lib/util": 232, "../base/event/eventtype": 242, "../base/player": 261 }], 273: [function (e, t, r) { var i = e("../base/player"), n = e("./hlsinjector"), o = i.extend({ init: function (e, t) { t._native = !1, n.inject(this, o, i, t), i.call(this, e, t) } }); t.exports = o }, { "../base/player": 261, "./hlsinjector": 272 }], 274: [function (e, t, r) { var a = e("../../lib/io"), s = e("../../config"), u = e("../../lib/constants"), c = e("../../lib/util"), h = (e("../../lib/playerutil"), e("../../lib/dom"), e("../../lib/ua"), e("../../lang/index")), d = e("../base/event/eventtype"); e("../base/player"); t.exports.inject = function (e, t, r, i, n, o) { e._Type = t, e._superType = r, e._superPt = r.prototype, e._disposed = !1, t.prototype._checkRtsReady = function () { if (null == e._rts) throw new Error("please invoke this method after ready event") }, e._isRts = !0, e._rts = null, e._isLoadedRts = !1, e._originalUrl = "", t.prototype.play = function (e) { this._checkRtsReady(), this._isManualPlay = e || !1; return this.trigger(d.Private.Cover_Hide), this._options.autoplay || this._options.preload || this._loadSourced || (this._loadSourced = !0, this._options._autoplay = !0, this._rts.startLiveStream(this._options.source, this.tag)), this.tag.paused && (this.tag.play(), this._initPlayBehavior(!0)), this }, t.prototype.seek = function (e) { }, t.prototype.setSpeed = function (e) { }, t.prototype.pause = function (e) { return this._checkRtsReady(), this.tag.pause(), this }, t.prototype.stop = function () { return this._rts && this._rts.stopLiveStream(), this }, t.prototype.dispose = function () { this._disposed || (this._disposed = !0, this._superPt && this._superPt.dispose.call(this), this._destroyRts(), this._superPt && (t.prototype.play = this._superPt.play, t.prototype.pause = this._superPt.pause, t.prototype.initPlay = this._superPt.initPlay, t.prototype.stop = this._superPt.stop, t.prototype.dispose = this._superPt.dispose, t.prototype.seek = this._superPt.seek, t.prototype.setSpeed = this._superPt.setSpeed)) }, t.prototype._destroyRts = function () { this._rts && this.stop(), this._rts = null }, t.prototype.initPlay = function (e) { function t(r, i) { var n = null, o = null, a = !r._rts; r._destroyRts(); var e = r._options.customTag ? r._options.customTag : "", t = !!r._options.trackLog && r._options.trackLog, s = r._options.playTimeOut ? r._options.playTimeOut : 5e3; r._originalUrl = r._options.source, r._rts = new AliRTS({ customTag: e, trackLog: t, playConfig: { playTimeOut: s } }), r._rts.isSupport({ isReceiveVideo: !0 }).then(function (e) { console.log(e), l(r, r._rts), r._initPlayBehavior(i), r._rts.startLiveStream(r._options.source, r.tag).then(function () { })["catch"](function (e) { 10202 == e.code ? (n = u.ErrorCode.PlayUrlError, o = h.get("Play_Url_Error")) : 10203 == e.code ? (n = u.ErrorCode.SubscribeNonthing, o = h.get("Subscribe_Nonthing")) : 10204 == e.code && (n = u.ErrorCode.HtmlElementError, o = h.get("Html_Element_Error")); var t = { error_code: n, error_msg: o }; null !== t.error_code && null !== t.error_msg && r.trigger(d.Player.Error, t) }); var t = document.querySelector(".volume-icon"); t && t.addEventListener("click", function (e) { r._rts.muteLiveStream(!1), t.setAttribute("class", "volume-icon") }), a && r._executeReadyCallback() })["catch"](function (e) { 10011 == e.errorCode ? (n = u.ErrorCode.BrowserNotSupport, o = h.get("Browser_Not_Support")) : 10010 == e.errorCode && (n = u.ErrorCode.NotSupportWebRtc, o = h.get("Not_Support_Webrtc")); var t = { error_code: n, error_msg: o }; return r.trigger(d.Player.Error, t), !1 }) } (that = this)._isLoadedRts ? t(this, e) : (this.trigger(d.Private.H5_Loading_Show), function (e, t) { var r = "https://g.alicdn.com/AliRTC/H5RTSSdk/" + (this._options.rtsVersion ? this._options.rtsVersion : s.rtsVersion) + "/aliyun-rts-sdk.js", i = this; a.loadJS(r, function () { e.apply(i) }) }.call(that, function () { this._isLoadedRts = !0, t(this, e) }, this._options.debug)) }; var l = function (n, e) { function o(e, t) { var r; n.pause(), setTimeout(function () { n.trigger(d.Private.Play_Btn_Hide) }), n.checkOnline() && (r = { error_code: e, error_msg: t }, n.logError(r), n.trigger(d.Player.Error, r)) } function i(e, t) { if (n._options && n._options.isLive) { var r, i = n._options; i.liveRetry > n._liveRetryCount ? (0 == n._liveRetryCount && n.trigger(d.Player.OnM3u8Retry), r = i.liveRetryInterval + i.liveRetryStep * n._liveRetryCount, n._liveRetryCount++, c.sleep(1e3 * r), n._loadByUrlInner(n._options.source, 0, !0)) : (n._liveErrorHandle && clearTimeout(n._liveErrorHandle), n.trigger(d.Player.LiveStreamStop), n._liveErrorHandle = setTimeout(o(e, t), 500)) } else { if (n._reloadForVod()) return; o(e, t) } } e.on("onError", function (e) { var t = null, r = null; 10001 == e.errorCode ? (t = u.ErrorCode.RequestHttpError, r = h.get("Http_Request_Error"), i(t, r)) : 10010 == e.errorCode ? (t = u.ErrorCode.NotSupportWebRtc, r = h.get("Not_Support_Webrtc"), o(t, r)) : 10012 == e.errorCode ? (t = u.ErrorCode.BrowserVersionTooLow, r = h.get("Browser_Version_Too_Low"), o(t, r)) : 10013 == e.errorCode ? (t = u.ErrorCode.NotSupportH264, r = h.get("Not_Support_H264"), o(t, r)) : 10014 == e.errorCode ? (t = u.ErrorCode.CreateOfferError, r = h.get("Create_Offer_Error"), o(t, r)) : 10002 == e.errorCode && (t = u.ErrorCode.PlayFailedError, r = h.get("ERROR_PLAY_FAILED"), i(t, r)) }); var t = "canplay", r = "waiting", a = "playing", s = "media", l = !1; e.on("onPlayEvent", function (e) { if (e.event !== t && e.event !== r && e.event !== a && e.event === s && e.data) { if (0 !== e.data.audio.bytesReceivedPerSecond || 0 !== e.data.video.bytesReceivedPerSecond) return void (l = !0); 0 == e.data.audio.bytesReceivedPerSecond && 0 == e.data.video.bytesReceivedPerSecond && l && (errorCode = u.ErrorCode.PlayFailedError, errorMsg = h.get("ERROR_PLAY_FAILED"), i(errorCode, errorMsg), l = !1) } }) } } }, { "../../config": 204, "../../lang/index": 210, "../../lib/constants": 214, "../../lib/dom": 217, "../../lib/io": 223, "../../lib/playerutil": 228, "../../lib/ua": 230, "../../lib/util": 232, "../base/event/eventtype": 242, "../base/player": 261 }], 275: [function (e, t, r) { var i = e("../base/player"), n = e("./rtsinjector"), o = i.extend({ init: function (e, t) { t.isLive ? (t._native = !1, n.inject(this, o, i, t), i.call(this, e, t)) : console.error("RTS\u53ea\u652f\u6301\u76f4\u64ad\uff0c\u8bf7\u628aisLive\u8bbe\u7f6e\u4e3atrue") } }); t.exports = o }, { "../base/player": 261, "./rtsinjector": 274 }], 276: [function (e, t, r) { var i = e("../../lib/constants"), n = e("../../lib/oo").extend({ init: function (e) { this.player = e, this.tickhandle = null } }); n.prototype.tick = function (e, t) { var r = this; this.tickhandle = setTimeout(function () { r.player && r.player.trigger(i.AuthKeyExpiredEvent), t && t() }, 1e3 * e) }, n.prototype.clearTick = function (e) { this.tickhandle && clearTimeout(this.tickhandle) }, t.exports = n }, { "../../lib/constants": 214, "../../lib/oo": 226 }], 277: [function (e, t, r) { var l = e("../../lib/io"), u = (e("../../lib/ua"), e("../../lib/bufferbase64")), c = e("../../lib/constants"), h = e("./signature"), d = e("./util"), f = e("../../lang/index"), p = function (e, i, n) { var t = h.randomUUID(), r = "https://mts." + e.domainRegion + ".aliyuncs.com/?", o = { AccessKeyId: e.accessId, Action: "GetLicense", MediaId: e.vid, LicenseUrl: r, data: e.data, SecurityToken: e.stsToken, Format: "JSON", Type: e.encryptionType, Version: "2014-06-18", SignatureMethod: "HMAC-SHA1", SignatureVersion: "1.0", SignatureNonce: t }; e.header && (o.Header = e.header); var a = r + ("Signature=" + h.AliyunEncodeURI(h.makeChangeSiga(o, e.accessSecret, "POST"))), s = h.makeUTF8sort(o, "=", "&"); l.post(a, s, function (e) { var t, r; e ? (t = JSON.parse(e), i && (r = t.License, i(r))) : n && n(d.createError("MPS\u83b7\u53d6License\u5931\u8d25")) }, function (e) { if (n) { var t = { Code: "", Message: f.get("Error_MTS_Fetch_Urls_Text") }; try { t = JSON.parse(e) } catch (e) { } n({ Code: c.ErrorCode.ServerAPIError, Message: t.Code + "|" + t.Message, sri: t.requestId || "" }) } }) }; t.exports.requestLicenseKey = function (e) { var l = e; return l._options.vid && (l.__vid = l._options.vid), function (e, r) { var i, t, n, o, a = l._options, s = l._getDRMEncryptItem(); s && (i = { vid: l.__vid, accessId: a.accId, accessSecret: a.accSecret, stsToken: a.stsToken, domainRegion: a.domainRegion, authInfo: a.authInfo, encryptionType: s.encryptionType }, s.encryptionType == c.EncryptionType.Widevine ? i.data = u.encode(e.message) : s.encryptionType == c.EncryptionType.PlayReady && (t = u.unpackPlayReady(e.message), i.data = t.changange, t.header && (i.header = JSON.stringify(t.header))), console.log(i.data), n = l.__licenseKeys, o = l.__vid + s.Url, n && n[o], p(i, function (e) { l.__licenseKeys || (l.__licenseKeys = {}), 10 < i.data.length && (l.__licenseKeys[o] = e); var t = u.decode(e); r(t) }, function (e) { var t = { mediaId: l.__vid, error_code: e.Code, error_msg: e.Message }; l.logError(t), l.trigger("error", t) })) } } }, { "../../lang/index": 210, "../../lib/bufferbase64": 212, "../../lib/constants": 214, "../../lib/io": 223, "../../lib/ua": 230, "./signature": 281, "./util": 283 }], 278: [function (e, t, r) { var o = e("../../lib/io"), u = e("../../lib/constants"), c = e("./signature"), h = e("./util"), d = e("../../lang/index"), f = e("../../lib/ua"); var p = function (e, n) { var t = ""; e.sort(function (e, t) { var r = parseInt(e.bitrate), i = parseInt(t.bitrate); if ("desc" == n) { if (i < r) return -1; if (r < i) return 1 } else { if (r < i) return -1; if (i < r) return 1 } }); for (var r = e.length, i = 0; i < r; i++) { var o = e[i], a = u.QualityLevels[o.definition], s = "", s = void 0 === a ? o.bitrate : t == a ? a + o.bitrate : a; o.desc = s, t = a } }, y = function (e, n) { var t = ""; e.sort(function (e, t) { var r = parseInt(e.width), i = parseInt(t.width); if ("desc" == n) { if (i < r) return -1; if (r < i) return 1 } else { if (r < i) return -1; if (i < r) return 1 } }); for (var r = e.length, i = 0; i < r; i++) { var o = e[i], a = u.QualityLevels[o.definition], s = "", s = void 0 === a ? "" : t == a ? a + o.height : a; o.desc = s, t = a } }; t.exports.getDataByAuthInfo = function (e, a, s, l) { c.returnUTCDate(), c.randomUUID(); var t = c.randomUUID(), r = { AccessKeyId: e.accessId, Action: "PlayInfo", MediaId: e.vid, Formats: e.format, AuthInfo: e.authInfo, AuthTimeout: e.authTimeout || u.AuthKeyExpired, IncludeSnapshotList: e.includeSnapshotList, Rand: e.rand, SecurityToken: e.stsToken, Format: "JSON", Version: "2014-06-18", SignatureMethod: "HMAC-SHA1", SignatureVersion: "1.0", Terminal: f.IS_CHROME ? "Chrome" : f.IS_EDGE ? "Edge" : f.IS_IE11 ? "IE" : f.IS_SAFARI ? "Safari" : f.IS_FIREFOX ? "Firefox" : "", SignatureNonce: t }; e.hlsUriToken && (e.MtsHlsUriToken = e.hlsUriToken), e.playConfig && (r.PlayConfig = JSON.stringify(e.playConfig)); var i = c.makeUTF8sort(r, "=", "&") + "&Signature=" + c.AliyunEncodeURI(c.makeChangeSiga(r, e.accessSecret)), n = "https://mts." + e.domainRegion + ".aliyuncs.com/?" + i; o.get(n, function (e) { var t, r, i, n, o; e ? (r = (t = JSON.parse(e)).PlayInfoList.PlayInfo, n = "", (i = t.SnapshotList ? t.SnapshotList.Snapshot : []) && 0 < i.length && (n = i[0].Url), o = function (e, t) { for (var r = [], i = [], n = [], o = [], a = e.length - 1; 0 <= a; a--) { var s = e[a]; "mp4" == s.format ? i.push(s) : "mp3" == s.format ? n.push(s) : "m3u8" == s.format ? r.push(s) : o.push(s) } return 0 < n.length ? (p(n, t), n) : 0 < i.length ? (y(i, t), i) : 0 < r.length ? (y(r, t), r) : (y(o, t), o) }(r, a), s && s({ requestId: t.RequestId, urls: o, thumbnailUrl: n })) : l && l(h.createError("MPS\u83b7\u53d6\u53d6\u6570\u5931\u8d25")) }, function (e) { if (l) { var t = { Code: "", Message: d.get("Error_MTS_Fetch_Urls_Text") }; try { t = JSON.parse(e) } catch (e) { } l({ Code: u.ErrorCode.ServerAPIError, Message: t.Code + "|" + t.Message, sri: t.requestId || "" }) } }) } }, { "../../lang/index": 210, "../../lib/constants": 214, "../../lib/io": 223, "../../lib/ua": 230, "./signature": 281, "./util": 283 }], 279: [function (e, t, r) { var i = e("./saasplayer"), n = (e("../../lib/constants"), e("./mts")), o = i.extend({ init: function (e, t) { i.call(this, e, t), this.service = n, this.loadByMts() } }); o.prototype.loadByMts = function (e) { var t = { vid: this._options.vid, accessId: this._options.accId, accessSecret: this._options.accSecret, stsToken: this._options.stsToken, domainRegion: this._options.domainRegion, authInfo: this._options.authInfo, format: this._options.format, includeSnapshotList: this._options.includeSnapshotList || !1, defaultDefinition: this._options.defaultDefinition, authTimeout: this._options.authTimeout, hlsUriToken: this._options.hlsUriToken, playConfig: this._options.playConfig }; this.loadData(t, e) }, o.prototype.replayByVidAndAuthInfo = function (e, t, r, i, n, o) { this.trigger("error_hide"), this._options.source = "", this._isError = !1, this._duration = 0, this._options.cover = "", this._vodRetryCount = 0, this._clearTimeout(), this.reloadNewVideoInfo(e, t, r, i, n, o) }, o.prototype.reloadNewVideoInfo = function (e, t, r, i, n, o) { if (this.trigger("error_hide"), this._options.source = "", e && (this._options.vid = e, this._options.accId = t, this._options.accessSecret = r, this._options.stsToken = i, this._options.domainRegion = o, this._options.authInfo = n), !(this._options.vid && this._options.accId && this._options.accessSecret && this._options.stsToken && this._options.domainRegion && this._options.authInfo)) throw new Error("\u9700\u8981\u63d0\u4f9bvid\u3001accId\u3001accessSecret\u3001stsToken\u3001domainRegion\u548cauthInfo\u53c2\u6570"); this.log("STARTFETCHDATA", JSON.stringify({ it: "mps", pa: { vid: e } })), this.loadByMts(!0) }, t.exports = o }, { "../../lib/constants": 214, "./mts": 278, "./saasplayer": 280 }], 280: [function (e, t, r) { var p = e("../base/player"), i = e("../audio/audioplayer"), o = (e("../../lib/event"), e("../../lib/io")), y = e("../../lib/constants"), n = e("./signature"), a = e("./authkeyexpiredhandle"), m = e("../hls/hlsinjector"), g = e("../flv/flvinjector"), b = e("../drm/drminjector"), v = (e("../../lib/cookie"), e("../../lang/index")), _ = e("../../lib/ua"), s = e("../../config"), w = e("../../lib/playerutil"), S = e("../base/event/eventtype"), E = p.extend({ init: function (e, t) { this._authKeyExpiredHandle = new a(this), p.prototype._videoCreateEl || (p.prototype._videoCreateEl = p.prototype.createEl), "mp3" == t.format ? (t.height = "auto", t.mediaType = "audio", p.prototype.createEl = i.prototype.createEl, i.call(this, e, t), E.prototype.play = p.prototype.play, E.prototype.pause = p.prototype.pause, E.prototype.initPlay = p.prototype.initPlay, E.prototype.replay = p.prototype.replay, E.prototype.stop = p.prototype.stop, E.prototype.seek = p.prototype.seek) : (p.prototype.createEl = p.prototype._videoCreateEl, t._native = !1, p.call(this, e, t)) } }); E.prototype.loadData = function (e, t) { var r, i, n; "undefined" != typeof _sce_r_skjhfnck || "" != e.format && "m3u8" != e.format && 1 != this._options.encryptType ? this._loadData(e, t) : (r = "aliplayer-vod-min.js", i = "", i = s.domain ? "https://" + s.domain + "/de/prismplayer/" + s.h5Version + "/hls/" + r : "/build/hls/" + r, n = this, o.loadJS(i, function () { n._loadData(e, t) })) }, E.prototype._loadData = function (u, c) { var h, d = (new Date).getTime(), f = this; this._urls = [], this._currentPlayIndex = 0, this._retrySwitchUrlCount = 0, this._authKeyExpiredHandle.clearTick(), "" != u.format && "m3u8" != u.format || 1 != this._options.encryptType ? u.rand = n.randomUUID() : (h = _sce_r_skjhfnck(), u.rand = _sce_lgtcaygl(h)), this._options.thumbnailUrl && (u.thumbnailUrl = this._options.thumbnailUrl), this.trigger(S.Private.H5_Loading_Show), this.service.getDataByAuthInfo(u, this._options.qualitySort, function (e) { if (e.urls && 0 == e.urls.length) f._mtsError_message(f, { Code: y.ErrorCode.URLsIsEmpty, Message: v.get("Error_Vod_URL_Is_Empty_Text") + (u.format ? "(format:" + u.format + ")" : "") }, ""); else { f.log("COMPLETEFETCHDATA", { cost: (new Date).getTime() - d, mi: JSON.stringify(function (e) { for (var t = [], r = 0; r < e.length; r++)t.push({ width: e[r].width, height: e[r].height, definition: e[r].definition, format: e[r].format, encryptionType: e[r].encryptionType, duration: e[r].duration }); return t }(e.urls)) }), f._urls = e.urls, f._urls.sort(function (e, t) { return e.bitrate - t.bitrate }), f._currentPlayIndex = w.findSelectedStreamLevel(f._urls, u.defaultDefinition); var t, r = (i = e.urls[f._currentPlayIndex]).Url; if (f._vodDuration = i.duration || 0, f._options.source = r, f.encType = "", f.trigger(S.Private.PREPARE, i.definition), f.UI.cover && e.coverUrl && !f._options.cover && f.setCover(e.coverUrl), w.isHls(r)) { if (e.encryptUrlArr && 0 < e.encryptUrlArr.length) { t = []; for (var i, n, o = 0; o < e.encryptUrlArr.length; ++o) { (i = e.encryptUrlArr[o]).encryptionType === y.EncryptionType.Private && (n = _sce_dlgtqred(h, i.rand, i.plaintext), t.push({ url: i.Url, secData: n })) } } else if (ecData = "", i.encryptionType == y.EncryptionType.Private) { f.encType = i.encryptionType; var a = w.checkSecuritSupport(); if (a) return void f._mtsError_message(f, { Code: y.ErrorCode.EncrptyVideoNotSupport, Message: a, display_msg: a }, ""); t = _sce_dlgtqred(h, i.rand, i.plaintext) } m.inject(f, E, p, f._options, t) } else w.isFlv(r) ? g.inject(f, E, p, f._options) : w.isDash(r) ? b.inject(f, E, p, f._options) : f._player._executeReadyCallback(); f._authKeyExpiredHandle.tick(y.AuthKeyRefreshExpired), f.trigger(S.Private.SourceLoaded, i), f.initPlay(c), f.trigger(S.Private.ChangeURL), e.thumbnailUrl && f._thumbnailService.get(e.thumbnailUrl); var s = f._player._isFlv, l = -1 < f._player.getOptions().source.indexOf("mp4"); 1 == f._player.encType || s || l || (_.IS_IOS || _.IS_MAC_SAFARI || _.IS_X5 || _.IS_EDGE) && f._player._executeReadyCallback() } }, function (e) { f._mtsError_message(f, e, "") }) }, E.prototype._changeStream = function (e, t) { this._urls.length > e && (this.loadByUrl(this._urls[e].Url, this.getCurrentTime()), this._currentPlayIndex = e, this.trigger(S.Private.QualityChange, t || v.get("Quality_Change_Fail_Switch_Text"))) }, E.prototype._getLowerQualityLevel = function () { if (0 == this._urls.length || -1 == this._currentPlayIndex) return ""; if ("asc" == this.options().qualitySort) { if (0 < this._currentPlayIndex) return { item: this._urls[this._currentPlayIndex - 1], index: this._currentPlayIndex - 1 } } else if (this._currentPlayIndex < this._urls.length - 1) return { item: this._urls[this._currentPlayIndex + 1], index: this._currentPlayIndex + 1 }; return "" }, E.prototype._mtsError_message = function (e, t, r) { var i = e; i.trigger(S.Private.H5_Loading_Hide); var n = t.Code ? t.Code : "OTHER_ERR_CODE", o = t.Message ? t.Message : "OTHER_ERR_MSG", a = (y.ErrorCode.ServerAPIError, t.display_msg || ""); -1 < o.indexOf("InvalidParameter.Rand") || -1 < o.indexOf('"Rand" is not valid.') ? (y.ErrorCode.EncrptyVideoNotSupport, a = v.get("Error_Not_Support_encrypt_Text")) : -1 < o.indexOf("SecurityToken.Expired") ? (y.ErrorCode.AuthKeyExpired, a = v.get("Error_Playauth_Expired_Text")) : -1 < o.indexOf("InvalidVideo.NoneStream") && (y.ErrorCode.URLsIsEmpty, a = v.get("Error_Fetch_NotStream") + "(" + i._options.format + "|" + i._options.definition + ")"); var s = i._options.vid ? i._options.vid : "0", l = (i._options.from && i._options.from, { mediaId: s, error_code: n, error_msg: o }); t.sri && (l.sri = t.sri), i.logError(l), l.display_msg = (a || v.get("Error_Vod_Fetch_Urls_Text")) + "</br>" + o, i.trigger("error", l), console.log("PrismPlayer Error: " + r + "! error_msg :" + o + ";") }, t.exports = E }, { "../../config": 204, "../../lang/index": 210, "../../lib/constants": 214, "../../lib/cookie": 215, "../../lib/event": 218, "../../lib/io": 223, "../../lib/playerutil": 228, "../../lib/ua": 230, "../audio/audioplayer": 240, "../base/event/eventtype": 242, "../base/player": 261, "../drm/drminjector": 267, "../flv/flvinjector": 270, "../hls/hlsinjector": 272, "./authkeyexpiredhandle": 276, "./signature": 281 }], 281: [function (e, c, t) { var i = e("crypto-js/hmac-sha1"), n = e("crypto-js/enc-base64"), r = e("crypto-js/enc-utf8"); c.exports.randomUUID = function () { for (var e = [], t = "0123456789abcdef", r = 0; r < 36; r++)e[r] = t.substr(Math.floor(16 * Math.random()), 1); return e[14] = "4", e[19] = t.substr(3 & e[19] | 8, 1), e[8] = e[13] = e[18] = e[23] = "-", e.join("") }, c.exports.returnUTCDate = function () { var e = new Date, t = e.getUTCFullYear(), r = e.getUTCMonth(), i = e.getUTCDate(), n = e.getUTCHours(), o = e.getUTCMinutes(), a = e.getUTCSeconds(), s = e.getUTCMilliseconds(); return Date.UTC(t, r, i, n, o, a, s) }, c.exports.AliyunEncodeURI = function (e) { var t = encodeURIComponent(e); return t = (t = (t = t.replace("+", "%2B")).replace("*", "%2A")).replace("%7E", "~") }, c.exports.makesort = function (e, t, r) { if (!e) throw new Error("PrismPlayer Error: vid should not be null!"); var i = []; for (var n in e) i.push(n); for (var o = i.sort(), a = "", s = o.length, n = 0; n < s; n++)"" == a ? a = o[n] + t + e[o[n]] : a += r + o[n] + t + e[o[n]]; return a }, c.exports.makeUTF8sort = function (e, t, r) { if (!e) throw new Error("PrismPlayer Error: vid should not be null!"); var i = []; for (var n in e) i.push(n); for (var o = i.sort(), a = "", s = o.length, n = 0; n < s; n++) { var l = c.exports.AliyunEncodeURI(o[n]), u = c.exports.AliyunEncodeURI(e[o[n]]); "" == a ? a = l + t + u : a += r + l + t + u } return a }, c.exports.makeChangeSiga = function (e, t, r) { if (!e) throw new Error("PrismPlayer Error: vid should not be null!"); return r = r || "GET", n.stringify(i(r + "&" + c.exports.AliyunEncodeURI("/") + "&" + c.exports.AliyunEncodeURI(c.exports.makeUTF8sort(e, "=", "&")), t + "&")) }, c.exports.ISODateString = function (e) { function t(e) { return e < 10 ? "0" + e : e } return e.getUTCFullYear() + "-" + t(e.getUTCMonth() + 1) + "-" + t(e.getUTCDate()) + "T" + t(e.getUTCHours()) + ":" + t(e.getUTCMinutes()) + ":" + t(e.getUTCSeconds()) + "Z" }, c.exports.encPlayAuth = function (e) { if (!(e = r.stringify(n.parse(e)))) throw new Error("playuth\u53c2\u6570\u89e3\u6790\u4e3a\u7a7a"); return JSON.parse(e) }, c.exports.encRsa = function () { } }, { "crypto-js/enc-base64": 75, "crypto-js/enc-utf8": 76, "crypto-js/hmac-sha1": 77 }], 282: [function (e, t, r) { var l = e("../../lib/io"), u = e("../../lib/constants"), c = e("./signature"), h = e("./util"), d = e("../../lang/index"); t.exports.getPlayAuth = function (e, r, i, n) { c.randomUUID(); var t = c.randomUUID(), o = { AccessKeyId: e.accessKeyId, Action: "GetVideoPlayAuth", VideoId: e.vid, AuthTimeout: u.AuthInfoExpired, SecurityToken: e.securityToken, Format: "JSON", Version: "2017-03-21", SignatureMethod: "HMAC-SHA1", SignatureVersion: "1.0", SignatureNonce: t }, a = c.makeUTF8sort(o, "=", "&") + "&Signature=" + c.AliyunEncodeURI(c.makeChangeSiga(o, e.accessKeySecret)), s = "https://vod." + e.region + ".aliyuncs.com/?" + a; l.get(s, function (e) { var t; e ? (t = JSON.parse(e), r && r(t.PlayAuth)) : i && i(h.createError("\u83b7\u53d6\u89c6\u9891\u64ad\u653e\u51ed\u8bc1\u5931\u8d25")) }, function (e) { if (i) { var t = { Code: "", Message: d.get("Fetch_Playauth_Error") }; try { (t = JSON.parse(e)).Code } catch (e) { } i({ Code: u.ErrorCode.ServerAPIError, Message: t.Code + "|" + t.Message, sri: t.requestId, display_msg: d.get("Fetch_Playauth_Error", n) }) } }) } }, { "../../lang/index": 210, "../../lib/constants": 214, "../../lib/io": 223, "./signature": 281, "./util": 283 }], 283: [function (e, t, r) { t.exports.createError = function (e, t) { return { requestId: "", code: t || "", message: e } } }, {}], 284: [function (e, t, r) { var n = e("../../lib/io"), f = e("../../lib/constants"), o = e("./signature"), p = e("./util"), a = e("../../config"), s = e("../../lang/index"); function y(e, t) { for (var r, i, n = [], o = [], a = [], s = [], l = e.length - 1; 0 <= l; l--) { var u = e[l], c = (i = void 0, (i = {}).width = (r = u).Width, i.height = r.Height, i.definition = r.Definition, i.Url = r.PlayURL, i.format = r.Format, i.desc = f.QualityLevels[i.definition], i.encryptionType = f.VodEncryptionType[r.EncryptType], i.plaintext = r.Plaintext, i.rand = r.Rand, i.encrypt = r.Encrypt, i.duration = r.Duration, i.bitrate = r.Bitrate, i); "mp4" == c.format ? o.push(c) : "mp3" == c.format ? a.push(c) : "m3u8" == c.format ? n.push(c) : s.push(c) } var h = [], h = 0 < a.length ? a : 0 < o.length ? o : 0 < n.length ? n : s; return "asc" == t && h.reverse(), h } t.exports.getDataByAuthInfo = function (u, c, h, d) { o.randomUUID(); var e = o.randomUUID(), t = { AccessKeyId: u.accessId, Action: "GetPlayInfo", VideoId: u.vid, Formats: u.format, AuthTimeout: u.authTimeout || f.AuthKeyExpired, Rand: u.rand, SecurityToken: u.stsToken, StreamType: u.mediaType, Format: "JSON", Version: "2017-03-21", SignatureMethod: "HMAC-SHA1", SignatureVersion: "1.0", SignatureNonce: e, PlayerVersion: a.h5Version, Channel: "HTML5" }; "AUTO" === u.definition ? t.ResultType = "Multiple" : u.definition && (t.Definition = u.definition), u.authInfo && (t.AuthInfo = u.authInfo), u.outputType && (t.OutputType = u.outputType), u.playConfig && (t.PlayConfig = JSON.stringify(u.playConfig)), u.reAuthInfo && (t.ReAuthInfo = JSON.stringify(u.reAuthInfo)); var r = o.makeUTF8sort(t, "=", "&") + "&Signature=" + o.AliyunEncodeURI(o.makeChangeSiga(t, u.accessSecret)), i = "https://vod." + u.domainRegion + ".aliyuncs.com/?" + r; n.get(i, function (e) { if (e) { var t = JSON.parse(e), r = "", i = t.VideoBase.ThumbnailList; i && i.Thumbnail && 0 < i.Thumbnail.length ? r = i.Thumbnail[0].URL : u.thumbnailUrl && (r = String(u.thumbnailUrl)); for (var n = t.PlayInfoList.PlayInfo, o = [], a = [], s = n.length - 1; 0 <= s; --s) { "AUTO" === n[s].Definition ? o = [n.splice(s, 1)[0]] : 1 === n[s].Encrypt && a.push(n[s]) } var l = null, a = 0 === o.length ? (l = y(n, c), []) : (l = y(o), y(a)); l && h && h({ requestId: t.RequestId, urls: l, encryptUrlArr: a, thumbnailUrl: r, coverUrl: t.VideoBase.CoverURL }) } else d && d(p.createError("\u70b9\u64ad\u670d\u52a1\u83b7\u53d6\u53d6\u6570\u5931\u8d25")) }, function (e) { if (d) { var t = { Code: "", Message: s.get("Error_Vod_Fetch_Urls_Text") }; try { t = JSON.parse(e) } catch (e) { } d({ Code: f.ErrorCode.ServerAPIError, Message: t.Code + "|" + t.Message, sri: t.requestId || "" }) } }) } }, { "../../config": 204, "../../lang/index": 210, "../../lib/constants": 214, "../../lib/io": 223, "./signature": 281, "./util": 283 }], 285: [function (e, t, r) { var i = e("./saasplayer"), l = e("../../lib/constants"), n = e("./vod"), u = e("./signature"), o = (e("./authkeyexpiredhandle"), e("./ststoken"), i.extend({ init: function (e, t) { i.call(this, e, t), this.service = n, this.loadByVod() } })); o.prototype.loadByVod = function (e) { var t = "", r = "", i = "", n = "", o = ""; if (this._options.accessKeyId && this._options.accessKeySecret) t = this._options.accessKeyId, r = this._options.accessKeySecret, i = this._options.securityToken, n = this._options.region, this.log("STARTFETCHDATA", JSON.stringify({ it: "sts", pa: { vid: this._options.vid } })); else { try { var a = u.encPlayAuth(this._options.playauth), t = a.AccessKeyId, r = a.AccessKeySecret, i = a.SecurityToken, n = a.Region, o = a.AuthInfo } catch (e) { var s = { Code: l.ErrorCode.PlayauthDecode, Message: "playauth decoded failed.", displayMessage: "playauth\u89e3\u6790\u9519\u8bef" }; return void this._mtsError_message(this, s, this._options.playauth) } this._options.from = a.CustomerId ? a.CustomerId : "", this.log("STARTFETCHDATA", JSON.stringify({ it: "playAuth", pa: { vid: this._options.vid } })) } this._loadByVodBySTS(t, r, i, n, o, e) }, o.prototype.replayByVidAndPlayAuth = function (e, t) { this.trigger("error_hide"), this._options.source = "", this._options.vid = e, this._options.playauth = t, this._isError = !1, this._duration = 0, this._options.cover = "", this._vodRetryCount = 0, this._clearTimeout(), this.loadByVod(!0) }, o.prototype.updateSourcesByVidAndPlayAuth = function (e, t) { if (e == this._options.vid) { this._options.vid = e, this._options.playauth = t; try { var r = u.encPlayAuth(this._options.playauth) } catch (e) { return void console.log("playauth\u89e3\u6790\u9519\u8bef") } var i = { vid: e, accessId: r.AccessKeyId, accessSecret: r.AccessKeySecret, stsToken: r.SecurityToken, domainRegion: r.Region, authInfo: r.AuthInfo, playDomain: r.PlayDomain, format: this._options.format, mediaType: this._options.mediaType }; this._authKeyExpiredHandle.clearTick(); var n = this; this.service.loadData(i, this._options.qualitySort, function (e) { n._serverRequestId = e.requestId, 0 != e.urls.length && (n._urls = e.urls), n._authKeyExpiredHandle.tick(l.AuthKeyRefreshExpired) }, function (e) { console.log(e) }) } else console.log("\u4e0d\u80fd\u66f4\u65b0\u5730\u5740\uff0cvid\u548c\u64ad\u653e\u4e2d\u7684\u4e0d\u4e00\u81f4") }, o.prototype.reloaduserPlayInfoAndVidRequestMts = function (e, t) { this.replayByVidAndPlayAuth(e, t, accessSecret) }, o.prototype._loadByVodBySTS = function (e, t, r, i, n, o) { var a = { vid: this._options.vid, accessId: e, accessSecret: t, stsToken: r, authInfo: n, domainRegion: i, format: this._options.format, mediaType: this._options.mediaType, definition: this._options.definition, defaultDefinition: this._options.defaultDefinition, authTimeout: this._options.authTimeout, outputType: this._options.outputType, playConfig: this._options.playConfig, reAuthInfo: this._options.reAuthInfo }; this.loadData(a, o) }, t.exports = o }, { "../../lib/constants": 214, "./authkeyexpiredhandle": 276, "./saasplayer": 280, "./signature": 281, "./ststoken": 282, "./vod": 284 }], 286: [function (e, t, r) { function i(r) { this._player = r, this._video = r.tag; var i = this; this._isCreated = !1, this._canPlayTriggered = !1, this._defaultTrack = "", r.on(n.Private.ChangeURL, function () { i._isCreated = !1, i._canPlayTriggered = !1, i._defaultTrack = "" }), r.on(n.Player.CanPlay, function () { var e; i._player._drm || i._canPlayTriggered || ((e = i._getTracks()) && (i._isCreated = !0, r.trigger(n.Player.AudioTrackReady, e), i._notifyDefaultValue(e)), i._canPlayTriggered = !0) }), r.on(n.Player.AudioTrackUpdated, function (e) { var t; i._isCreated || (t = i._getTracks(e.paramData.audioTracks)) && (i._isCreated = !0, r.trigger(n.Player.AudioTrackReady, t), i._notifyDefaultValue(t)) }) } var n = e("../base/event/eventtype"); i.prototype._notifyDefaultValue = function (e) { !this._defaultTrack && 0 < e.length && (this._defaultTrack = e[0]), this._defaultTrack && this._player.trigger(n.Private.SelectorUpdateList, { type: "audio", text: this._defaultTrack.text }) }, i.prototype.support = function () { return !!this._video.audioTracks }, i.prototype._getTracks = function (e) { if (!this.support() && !e) return null; this._video && this._video.audioTracks && (!e || e && 0 == e.length) && (e = this._video.audioTracks); for (var t = [], r = e ? e.length : 0, i = 0; i < r; i++) { var n = e[i], o = { value: n.id, text: n.label || n.name || n.language }; (n["default"] || n.enabled) && (this._defaultTrack = o), t.push(o) } return t }, i.prototype["switch"] = function (e) { if (this._player._hls) this._player._hls.audioTrack = +e; else for (var t = this._video.audioTracks ? this._video.audioTracks.length : 0, r = 0; r < t; r++) { var i = this._video.audioTracks[r]; i.id == e ? i.enabled = !0 : i.enabled = !1 } }, i.prototype.dispose = function () { this._player = null }, t.exports = i }, { "../base/event/eventtype": 242 }], 287: [function (e, t, r) { function i(e) { this._video = e.tag, this._player = e, this._isCreated = !1, this._backupCC = "", this.tracks = [], this._defaultTrack = "", this._currentValue = ""; var t = this; e.on(n.Private.ChangeURL, function () { t._disabledTracks(), t._isCreated = !1, t._defaultTrack = "" }), e.on(n.Player.CanPlay, function () { t._player._drm || (t._isCreated || (t.tracks = t._getTracks(), e.trigger(n.Player.TextTrackReady, t.tracks)), t._isCreated && !t._player._setDefaultCC || !t._defaultTrack || (e.trigger(n.Private.SelectorUpdateList, { type: "cc", text: t._defaultTrack.text }), t["switch"](t._defaultTrack.value), t._player._setDefaultCC = !1, t._isCreated = !0)) }), this._adaptiveCueStype(), e.on(n.Player.RequestFullScreen, function () { t._adaptiveCueStype() }), e.on(n.Player.CancelFullScreen, function () { t._adaptiveCueStype() }) } var n = e("../base/event/eventtype"), o = e("../../lib/dom"), a = e("../../lib/ua"), l = e("../../lib/cookie"), u = e("../../lib/constants"); i.prototype._adaptiveCueStype = function () { var e, t = -10; a.IS_SAFARI ? (t = -65, (e = this._player.fullscreenService) && e.getIsFullScreen() && (t = -95)) : a.IS_MOBILE && (t = -30), o.addCssByStyle("video::-webkit-media-text-track-container{transform: translateY(" + t + "px) !important;}") }, i.prototype.close = function () { for (var e = this._video && this._video.textTracks ? this._video.textTracks.length : 0, t = 0; t < e; t++) { var r = this._video.textTracks[t]; "expired" != r.mode && ("showing" == r.mode && (this._backupCC = r), r.mode = "disabled") } }, i.prototype.open = function () { if (this.tracks && !(this.tracks.length < 2)) { var e = this._backupCC ? this._backupCC.language : "", t = this._backupCC ? this._backupCC.label : ""; return e || (e = this.tracks[1].value, t = this.tracks[1].text), this["switch"](e), t } }, i.prototype.getCurrentSubtitle = function () { return this._currentValue }, i.prototype._getTracks = function () { if (this._player._drm) return []; var e = this._video && this._video.textTracks ? this._video.textTracks.length : 0; this._defaultTrack = { value: "off", text: "Off" }; for (var t = [this._defaultTrack], r = l.get(u.SelectedCC), i = "", n = !1, o = 0; o < e; o++) { var a, s = this._video.textTracks[o]; "expired" != s.mode && "subtitles" == s.kind && (a = { value: s.language, text: s.label }, s["default"] && (this._defaultTrack = a, n = !0), a.value == r && (i = a), t.push(a)) } return !n && i && (this._defaultTrack = i), t }, i.prototype._disabledTracks = function () { for (var e = this._video && this._video.textTracks ? this._video.textTracks.length : 0, t = 0; t < e; t++) { this._video.textTracks[t].mode = "expired" } }, i.prototype["switch"] = function (e) { if (this.close(), "off" != e) { for (var t = this._video && this._video.textTracks ? this._video.textTracks.length : 0, r = 0; r < t; r++) { var i = this._video.textTracks[r]; i.language === e && "expired" != i.mode && (this._video.textTracks[r].mode = "showing") } this._currentValue = e } else this.close() }, i.prototype.dispose = function () { this._player = null }, t.exports = i }, { "../../lib/constants": 214, "../../lib/cookie": 215, "../../lib/dom": 217, "../../lib/ua": 230, "../base/event/eventtype": 242 }], 288: [function (e, t, r) { var i = e("../../lib/playerutil"); t.exports = [{ service: e("./ccservice"), name: "_ccService", condition: !0 }, { service: e("./audiotrackservice"), name: "_audioTrackService" }, { service: e("./qualityservice"), name: "_qualityService" }, { service: e("./fullscreenservice"), name: "fullscreenService", condition: function () { return !0 } }, { service: e("./liveshiftservice"), name: "_liveshiftService", condition: function () { var e = this.options(); return i.isLiveShift(e) } }, { service: e("./thumbnailservice"), name: "_thumbnailService", condition: function () { return !0 } }, { service: e("./progressmarkerservice"), name: "_progressMarkerService", condition: function () { return !0 } }] }, { "../../lib/playerutil": 228, "./audiotrackservice": 286, "./ccservice": 287, "./fullscreenservice": 289, "./liveshiftservice": 290, "./progressmarkerservice": 291, "./qualityservice": 292, "./thumbnailservice": 293 }], 289: [function (e, t, r) { function i(e) { this.isFullWindow = !1, this.isFullScreen = !1, this.isFullScreenChanged = !1, this._requestFullScreenTimer = null, this._cancelFullScreenTimer = null, this._player = e; var i = this, n = c; this._fullscreenChanged = function (e) { var t, r; null != i._player && (void 0 !== (t = document[n.isFullScreen]) ? i.isFullScreen = t : (r = document[n.fullscreenElement], i.isFullScreen = null != r), (i.isFullScreenChanged = !0) === i.isFullScreen ? i._player.trigger(s.Player.RequestFullScreen) : i._player.trigger(s.Player.CancelFullScreen)) }, n && a.on(document, n.eventName, this._fullscreenChanged) } var n = e("../../lib/ua"), o = e("../../lib/dom"), a = e("../../lib/event"), s = e("../base/event/eventtype"), l = e("../base/x5play"), u = e("../../lang/index"), c = function () { o.createEl("div"); var e = {}, t = [["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror", "fullScreen"], ["webkitRequestFullscreen", "webkitExitFullscreen", "webkitFullscreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror", "webkitfullScreen"], ["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitCurrentFullScreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror", "webkitIsFullScreen"], ["mozRequestFullScreen", "mozCancelFullScreen", "mozFullScreenElement", "mozFullScreenEnabled", "mozfullscreenchange", "mozfullscreenerror", "mozFullScreen"], ["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError", "MSFullScreen"]], r = !1; if (n.IS_IOS && (e.requestFn = "webkitEnterFullscreen", e.cancelFn = "webkitExitFullscreen", e.fullscreenElement = "webkitFullscreenElement", e.eventName = "webkitfullscreenchange", e.isFullScreen = "webkitDisplayingFullscreen", document[e.requestFn] && (r = !0)), !r) { for (var i = 0; i < 5; i++)if (t[i][1] in document) { e.requestFn = t[i][0], e.cancelFn = t[i][1], e.fullscreenElement = t[i][2], e.eventName = t[i][4], e.isFullScreen = t[i][6]; break } "requestFullscreen" in document ? e.requestFn = "requestFullscreen" : "webkitRequestFullscreen" in document ? e.requestFn = "webkitRequestFullscreen" : "webkitRequestFullScreen" in document ? e.requestFn = "webkitRequestFullScreen" : "webkitEnterFullscreen" in document ? e.requestFn = "webkitEnterFullscreen" : "mozRequestFullScreen" in document ? e.requestFn = "mozRequestFullScreen" : "msRequestFullscreen" in document && (e.requestFn = "msRequestFullscreen"), "fullscreenchange" in document ? e.eventName = "fullscreenchange" : "webkitfullscreenchange" in document || "webkitfullscreenchange" in document || "webkitfullscreenchange" in document ? e.eventName = "webkitfullscreenchange" : "mozfullscreenchange" in document ? e.eventName = "mozfullscreenchange" : "MSFullscreenChange" in document && (e.eventName = "MSFullscreenChange"), "fullScreen" in document ? e.isFullScreen = "fullScreen" : "webkitfullScreen" in document ? e.isFullScreen = "webkitfullScreen" : "webkitIsFullScreen" in document ? e.isFullScreen = "webkitIsFullScreen" : "webkitDisplayingFullscreen" in document ? e.isFullScreen = "webkitDisplayingFullscreen" : "mozFullScreen" in document ? e.isFullScreen = "mozFullScreen" : "mozfullScreen" in document ? e.isFullScreen = "mozfullScreen" : "MSFullScreen" in document && (e.isFullScreen = "MSFullScreen"), "fullscreenElement" in document ? e.fullscreenElement = "fullscreenElement" : "webkitFullscreenElement" in document ? e.fullscreenElement = "webkitFullscreenElement" : "webkitFullScreenElement" in document ? e.fullscreenElement = "webkitFullScreenElement" : "mozFullScreenElement" in document ? e.fullscreenElement = "mozFullScreenElement" : "msFullscreenElement" in document ? e.fullscreenElement = "msFullscreenElement" : "MSFullscreenElement" in document && (e.fullscreenElement = "MSFullscreenElement") } return e.requestFn ? e : null }(); i.prototype.requestFullScreen = function () { if (!l.isAndroidX5() || !this._player.paused()) { var e = c, t = this._player.el(), r = this; if (n.IS_IOS) { t = this._player.tag; try { t[e.requestFn](), r._player.trigger(s.Player.RequestFullScreen) } catch (e) { console.log(e) } return this } this.isFullScreen = !0, this.isFullScreenChanged = !1, this._requestFullScreenTimer = null, this._cancelFullScreenTimer || clearTimeout(this._cancelFullScreenTimer); r = this; if (e && !this._player._options.enableMockFullscreen) try { t[e.requestFn](), this._requestFullScreenTimer = setTimeout(function () { r.isFullScreenChanged || (h.apply(r), r._player.trigger(s.Player.RequestFullScreen)), r._requestFullScreenTimer = null }, 1e3) } catch (e) { console.log(e) } else h.apply(r), this._player.trigger(s.Player.RequestFullScreen); return this._player } this._player.trigger(s.Private.Info_Show, u.get("Play_Before_Fullscreen")) }, i.prototype.cancelFullScreen = function () { var e = c; this.isFullScreen = !1, this.isFullScreenChanged = !1, this._cancelFullScreenTimer = null, this._requestFullScreenTimer || clearTimeout(this._requestFullScreenTimer); var t = this; if (e && !this._player._options.enableMockFullscreen) { try { document[e.cancelFn]() } catch (e) { console.log(e) } t._cancelFullScreenTimer = setTimeout(function () { t.isFullScreenChanged || (d.apply(t), t._player.trigger(s.Player.CancelFullScreen)), t._cancelFullScreenTimer = null }, 500), this._player.tag.paused || this._player.trigger(s.Player.Play) } else d.apply(t), this._player.trigger(s.Player.CancelFullScreen), this._player.tag.paused || this._player.trigger(s.Player.Play); return this._player }, i.prototype.getIsFullScreen = function () { return this.isFullScreen }, i.prototype.dispose = function () { this._player = null; c && a.off(document, c.eventName, this._fullscreenChanged) }; var h = function () { this.isFullWindow = !0, this.docOrigOverflow = document.documentElement.style.overflow, document.documentElement.style.overflow = "hidden", o.addClass(document.getElementsByTagName("body")[0], "prism-full-window") }, d = function () { this.isFullWindow = !1, document.documentElement.style.overflow = this.docOrigOverflow, o.removeClass(document.getElementsByTagName("body")[0], "prism-full-window") }; t.exports = i }, { "../../lang/index": 210, "../../lib/dom": 217, "../../lib/event": 218, "../../lib/ua": 230, "../base/event/eventtype": 242, "../base/x5play": 266 }], 290: [function (e, t, r) { function n(e, t) { if (e && e) { var r = new Date(e), i = new Date(t), n = i.valueOf() / 1e3 - r.valueOf() / 1e3; return { start: r, end: i, endDisplay: s.extractTime(i), totalTime: n } } } function o(e, t) { t && (e.currentTimestamp = t, e.currentTime = s.convertToDate(t), e.currentTimeDisplay = s.extractTime(e.currentTime), e.liveShiftStart = e.liveTimeRange.start, e.liveShiftEnd = e.liveTimeRange.end, e.liveShiftStartDisplay = s.extractTime(e.liveShiftStart), e.liveShiftEndDisplay = s.extractTime(e.liveShiftEnd), e.availableLiveShiftTime = t - e.liveShiftStart.valueOf() / 1e3, e.timestampStart = s.convertToTimestamp(e.liveShiftStart), e.timestampEnd, s.convertToTimestamp(e.liveShiftEnd)) } function i(t) { function e() { var e = t._options.source; this._originalPlayUrl = e, this._liveShiftUrl = t._options.liveTimeShiftUrl, this.liveTimeRange = n(t._options.liveStartTime, t._options.liveOverTime), this.availableLiveShiftTime = 0, this.seekTime = -1 } this._player = t, this._isLiveShift = !1; var i = this; e.call(this), t.liveShiftSerivce = { setLiveTimeRange: function (e, t) { i.setLiveTimeRange(e, t) }, queryLiveShift: function (e, t, r) { i.queryLiveShift(e, t, r) } }, t.on(d.Private.ChangeURL, function () { e.call(i) }) } var a = e("../../lib/io"), s = e("../../lib/util"), l = e("../../lib/playerUtil"), u = e("../../lang/index"), c = (e("../flv/flvinjector"), e("../hls/hlsinjector")), h = e("../../lib/constants"), d = e("../base/event/eventtype"); e("../../lib/url"); i.prototype.validate = function () { return !(this.liveTimeRange.start >= this.liveTimeRange.end) }, i.prototype.switchToLive = function () { var e = this._player._options.recreatePlayer; e && this._isLiveShift && (this._player.dispose(), setTimeout(function () { e() }, 1e3), this._isLiveShift = !1) }, i.prototype.getBaseTime = function () { this.liveShiftStartDisplay; return -1 == this.seekTime ? s.parseTime(this.currentTimeDisplay) : s.parseTime(this.liveShiftStartDisplay) + this.seekTime }, i.prototype.getSourceUrl = function (e, t) { var r = this._originalPlayUrl; return this.availableLiveShiftTime <= e ? r : (this._isLiveShift = !0, (e = parseInt(e)) <= 5 && (e = 5), r = -1 == (r = (r = this._switchLiveShiftPlayer(t)) && r.replace("lhs_offset_unix_s_0", "z")).indexOf("?") ? r + "?lhs_offset_unix_s_0=" + e : r + "&lhs_offset_unix_s_0=" + e) }, i.prototype._switchLiveShiftPlayer = function (e) { var t = this._originalPlayUrl, r = this._player._options.liveShiftSource, i = this._player._options.source; if (l.isHls(i)) t = i; else if (l.isFlv(t) && r && l.isHls(r)) { this._player._flv && this._player._destroyFlv(); var n = this._player._superType, o = this._player._Type; return this._player._options._autoplay = !0, c.inject(this._player, o, n, this._player._options, "", !0), r } return t }, i.prototype.getTimeline = function (r, i) { if (this._player.trigger(d.Private.LiveShiftQueryCompleted), !this._liveShiftUrl) return o(this, (new Date).valueOf() / 1e3), void (r && r()); var n = this; this.queryLiveShift(this._liveShiftUrl, function (e) { var t; e ? 0 == (t = e).retCode ? (o(n, t.content.current), r && r()) : i({ Code: h.ErrorCode.ServerAPIError, Message: t.retCode + "|" + t.description + "|" + t.content }) : console.log("\u83b7\u53d6\u76f4\u64ad\u65f6\u79fb\u6570\u636e\u5931\u8d25") }, function (e) { if (i && e) { var t = {}; if (e) { if (-1 < e.indexOf("403 Forbidden")) t.Code = h.ErrorCode.AuthKeyExpired, t.Message = "Query liveshift failed:" + u.get("Error_AuthKey_Text"); else { var r, t = e; try { r = JSON.parse(e) } catch (e) { } r && (t.Code = h.ErrorCode.ServerAPIError, t.Message = r.retCode + "|" + r.description + "|" + r.content) } i(t) } } }) }, i.prototype.start = function (e, t) { var r = this, i = function () { r._loopHandler = setTimeout(function () { r.getTimeline(function () { }, t), i() }, e) }; r.getTimeline(function (e) { r._localLiveTimeHandler || r.tickLocalLiveTime() }, t), i() }, i.prototype.tickLocalLiveTime = function () { var e = this, t = function () { e._localLiveTimeHandler = setTimeout(function () { e.currentTimestamp++, o(e, e.currentTimestamp), e._player.trigger(d.Private.LiveShiftQueryCompleted), t() }, 1e3) }; t() }, i.prototype.setLiveTimeRange = function (e, t) { e = e || this._player._options.liveStartTime, t = t || this._player._options.liveOverTime, this.liveTimeRange = n(e, t), o(this, this.currentTimestamp), this._player.trigger(d.Private.LiveShiftQueryCompleted) }, i.prototype.queryLiveShift = function (e, r, i) { a.get(e, function (e) { var t; e ? 0 == (t = JSON.parse(e)).retCode ? r && r(t) : i && i(t) : i && i(e) }, function (e) { i && i(e) }) }, i.prototype.stop = function (e) { this._loopHandler && (clearTimeout(this._loopHandler), this._loopHandler = null) }, i.prototype.dispose = function () { this.stop(), this._localLiveTimeHandler && (clearTimeout(this._localLiveTimeHandler), this._localLiveTimeHandler = null), this._player = null }, t.exports = i }, { "../../lang/index": 210, "../../lib/constants": 214, "../../lib/io": 223, "../../lib/playerUtil": 227, "../../lib/url": 231, "../../lib/util": 232, "../base/event/eventtype": 242, "../flv/flvinjector": 270, "../hls/hlsinjector": 272 }], 291: [function (e, t, r) { function i(l) { this.progressMarkers = [], this._player = l; var u = this; function r() { var e = document.querySelector("#" + l.id() + " .prism-progress-marker"); if (e) { e.innerHTML = ""; var o = u._player.getDuration(); if (0 < o) { for (var t = 0; t < u.progressMarkers.length; t++) { var r, i, n, a = u.progressMarkers[t]; void 0 !== a.offset && "" !== a.offset && (r = document.createElement("div"), h.addClass(r, "prism-marker-dot"), i = u.progressMarkers[t].offset / o, r.style.left = 100 * i + "%", e.appendChild(r), n = function (e, t) { return function () { u._player.trigger(c.Private.MarkerTextShow, { left: e, progressMarker: t }) } }(i, u.progressMarkers[t]), d.on(r, "mouseover", n), d.on(r, "mouseout", function (e) { u._player.trigger(c.Private.MarkerTextHide) }), d.on(r, "touchstart", n), d.on(r, "mousemove", function (e) { e.preventDefault() }), d.on(r, "touchmove", function (e) { e.preventDefault() })) } var s = document.querySelector("#" + u._player.id() + " .prism-progress-cursor"); u._player.on(s, "click", function (e) { for (var t = u._player.getCurrentTime(), r = 0; r < u.progressMarkers.length; r++) { var i, n = u.progressMarkers[r]; n && t - 1 < n.offset && n.offset < t + 1 && (i = n.offset / o * 100 + "%", u._player.trigger(c.Private.MarkerTextShow, { left: i, progressMarker: n })) } }) } } } l.on(c.Private.ProgressMarkerLoaded, function (e) { var t = e.paramData; t && 0 < t.length && (u.progressMarkers = t) }), l.on(c.Private.ProgressMarkerChanged, function (e) { var t = e.paramData; t && 0 < t.length && (u.progressMarkers = t, r()) }), l.on(c.Video.LoadedMetadata, r) } var c = e("../base/event/eventtype"), h = (e("../../lang/index"), e("../../lib/hls/hlsparse"), e("../../lib/object"), e("../../lib/dom")), d = e("../../lib/event"); e("../../lib/playerutil"); i.prototype.dispose = function () { this._player = null, this.progressMarkers = [] }, t.exports = i }, { "../../lang/index": 210, "../../lib/dom": 217, "../../lib/event": 218, "../../lib/hls/hlsparse": 222, "../../lib/object": 225, "../../lib/playerutil": 228, "../base/event/eventtype": 242 }], 292: [function (e, t, r) { function i(a) { this.levels = [], this._player = a; var s = this; a.on(l.Player.LevelsLoaded, function (e) { if (0 < s.levels.length && (s.levels = []), (e = e.paramData) && e.levels) { for (var t, r = e.levels.length - 1; -1 < r; r--) { var i, n, o = e.levels[r]; o.url && 0 < o.url.length && o.attrs && o.attrs.BANDWIDTH && (i = o.url, c.isArray(i) && (i = i[0]), n = { Url: i, desc: o.height || o.width, bitrate: o.bitrate, resolution: o.attrs.RESOLUTION, bandwidth: o.attrs.BANDWIDTH }, s.levels.push(n)) } "AUTO" === a._options.definition && (a._urls = [], Object.assign(a._urls, this.levels)), 0 < s.levels.length && (t = u.get("Auto"), s.levels.push({ Url: e.url, desc: t }), a.trigger(l.Private.SelectorUpdateList, { type: "quality", text: t })) } }), a.on(l.Video.LoadStart, function () { var e; a._options && (e = a._options.source, !a._hls && e && o.isHls(e) && s.loadLevels(e)) }) } var l = e("../base/event/eventtype"), u = e("../../lang/index"), n = e("../../lib/hls/hlsparse"), c = e("../../lib/object"), o = e("../../lib/playerutil"); (i.prototype = { loadLevels: function (e) { var t = new n, r = this; t.load(e, function (e) { r._player.trigger(l.Player.LevelsLoaded, e) }) } }).dispose = function () { this._player = null }, t.exports = i }, { "../../lang/index": 210, "../../lib/hls/hlsparse": 222, "../../lib/object": 225, "../../lib/playerutil": 228, "../base/event/eventtype": 242 }], 293: [function (e, t, r) { function i(e) { this._player = e, this.cues = [], this.baseUrl = ""; var t = this; e.on(u.Private.ChangeURL, function () { t.cues = [], t.baseUrl = "" }) } var a = e("../../lib/io"), s = e("../../lib/url"), l = e("../../lib/vtt/thumbnailvtt"), u = e("../base/event/eventtype"); (i.prototype = { get: function (e) { var t, r, i, n, o = this; this.baseUrl = (t = e, !(n = s.parseUrl(t)) || (r = n.segments) && 0 < r.length && (i = r[r.length - 1], baseUrl = t.replace(i, "")), baseUrl), a.get(e, function (e) { e && l.parse(e, function (e) { o.cues = e, o._player.trigger(u.Private.ThumbnailLoaded, e) }) }, function (e) { console.log(e) }) }, findAvailableCue: function (e) { for (var t = this.cues.length, r = 0; r < t; r++) { var i = this.cues[r]; if (i.startTime <= e && e < i.endTime) return i } return null }, makeUrl: function (e) { return -1 == e.indexOf("://") && (e = this.baseUrl + e), e } }).dispose = function () { this._player = null }, t.exports = i }, { "../../lib/io": 223, "../../lib/url": 231, "../../lib/vtt/thumbnailvtt": 233, "../base/event/eventtype": 242 }], 294: [function (e, t, r) { var i = e("../lib/oo"), n = e("../lib/data"), a = e("../lib/object"), o = e("../lib/dom"), s = e("../lib/event"), l = e("../lib/function"), u = e("../lib/layout"), c = (e("../lib/constants"), e("../lib/util"), e("../player/base/event/eventtype")), h = e("./component/util"), d = i.extend({ init: function (e, t) { var r = this; this._player = e, this._eventState = "", this._options = a.copy(t), this._el = this.createEl(); var i = e.id; "function" == typeof e.id && (i = e.id()), this._id = i + "_component_" + n.guid(), this._children = [], this._childIndex = {}, t.className && this.addClass(t.className), this._player.on(c.Private.UiH5Ready, function () { r.renderUI(), r.syncUI(), r.bindEvent() }) } }); d.prototype.renderUI = function () { u.render(this.el(), this.options()), this.el().id = this.id() }, d.prototype.syncUI = function () { }, d.prototype.bindEvent = function () { }, d.prototype.createEl = function (e, t) { return o.createEl(e, t) }, d.prototype.options = function (e) { return void 0 === e ? this._options : this._options = a.merge(this._options, e) }, d.prototype.el = function () { return this._el }, d.prototype._contentEl, d.prototype.player = function () { return this._player }, d.prototype.contentEl = function () { return this._contentEl || this._el }, d.prototype._id, d.prototype.id = function () { return this._id }, d.prototype.getId = function () { return this._id }, d.prototype.addChild = function (e, t) { var r, i; if ("string" == typeof e) { if (!this._player.UI[e]) return; r = new this._player.UI[e](this._player, t) } else r = e; return this._children.push(r), "function" == typeof r.id && (this._childIndex[r.id()] = r), "function" == typeof r.el && r.el() && ((i = r.el()).id = r.id(), this.contentEl().appendChild(i)), r }, d.prototype.removeChild = function (e) { if (e && this._children) { for (var t, r = !1, i = this._children.length - 1; 0 <= i; i--)if (this._children[i] === e) { r = !0, this._children.splice(i, 1); break } r && (this._childIndex[e.id] = null, (t = e.el()) && t.parentNode === this.contentEl() && this.contentEl().removeChild(e.el())) } }, d.prototype.initChildren = function () { var e, t, r, i = this, n = this.options().children; if (n) if (a.isArray(n)) for (var o = 0; o < n.length; o++)r = "string" == typeof (e = n[o]) ? (t = e, {}) : (t = e.name, e), i.addChild(t, r); else a.each(n, function (e, t) { !1 !== t && i.addChild(e, t) }) }, d.prototype.on = function (e, t) { return s.on(this._el, e, l.bind(this, t)), this }, d.prototype.off = function (e, t) { return s.off(this._el, e, t), this }, d.prototype.one = function (e, t) { return s.one(this._el, e, l.bind(this, t)), this }, d.prototype.trigger = function (e, t) { if (this._el) return !t && 0 != t || (this._el.paramData = t), this._eventState = e, s.trigger(this._el, e), this }, d.prototype.off = function (e) { return s.off(this._el, e), this }, d.prototype.addClass = function (e) { return o.addClass(this._el, e), this }, d.prototype.removeClass = function (e) { return o.removeClass(this._el, e), this }, d.prototype.show = function () { return this._el && (this._el.style.display = "block"), this }, d.prototype.hide = function () { return this._el && (this._el.style.display = "none"), this }, d.prototype.destroy = function () { if (this.trigger({ type: "destroy", bubbles: !1 }), this._children) for (var e = this._children.length - 1; 0 <= e; e--)this._children[e].destroy && this._children[e].destroy(); "function" == typeof this.disposeUI && this.disposeUI(), this.children_ = null, this.childIndex_ = null, this.off(), this._el.parentNode && this._el.id != this._player.id() && this._el.parentNode.removeChild(this._el), n.removeData(this._el), this._el = null }, d.prototype.registerControlBarTooltip = h.registerTooltipEvent, t.exports = d }, { "../lib/constants": 214, "../lib/data": 216, "../lib/dom": 217, "../lib/event": 218, "../lib/function": 219, "../lib/layout": 224, "../lib/object": 225, "../lib/oo": 226, "../lib/util": 232, "../player/base/event/eventtype": 242, "./component/util": 321 }], 295: [function (e, t, r) { var i = e("../component"), n = e("../../lib/dom"), o = e("../../lib/event"), a = e("../../player/base/event/eventtype"), s = e("../../player/base/plugin/status"), l = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-big-play-btn") }, createEl: function () { var e = i.prototype.createEl.call(this, "div"); return e.innerHTML = '<div class="outter"></div>', e }, bindEvent: function () { var t = this; this._player.on(a.Player.Play, function () { t.addClass("playing"), t.removeClass("pause"), t._hide() }), this._player.on(a.Player.Pause, function () { var e; t._player._switchSourcing || (t.removeClass("playing"), t.addClass("pause"), (e = t._player._status) != s.ended && e != s.error && e != s.playing && t._show()) }); var e = document.querySelector("#" + t.id() + " .outter"); o.on(this.el(), "mouseover", function () { n.addClass(e, "big-playbtn-hover-animation") }), o.on(this.el(), "mouseout", function () { n.removeClass(e, "big-playbtn-hover-animation") }), this.on(a.Private.PlayClick, function () { var e; t._player.paused() ? (e = t._player.getCurrentTime(), (t._player.getDuration() <= e || t._player._ended || t._player.exceedPreviewTime(e)) && t._player.seek(0), t._player.play(!0)) : t._player.pause(!0) }), this._player.on(a.Private.Play_Btn_Show, function () { t._show() }), this._player.on(a.Private.Play_Btn_Hide, function () { t._hide() }) }, _show: function () { n.css(this.el(), "display", "block") }, _hide: function () { n.css(this.el(), "display", "none") } }); t.exports = l }, { "../../lib/dom": 217, "../../lib/event": 218, "../../player/base/event/eventtype": 242, "../../player/base/plugin/status": 265, "../component": 294 }], 296: [function (e, t, r) { var i = e("../component"), n = e("../../lib/dom"), o = e("./util"), a = e("../../lang/index"), s = e("../../player/base/event/eventtype"), l = i.extend({ init: function (e, t) { this.isOpened = !1, i.call(this, e, t), this.addClass("prism-cc-btn") }, createEl: function () { return i.prototype.createEl.call(this, "div") }, bindEvent: function () { var r = this; this.on("click", function () { n.addClass(r._el, "disabled"); var e = "on", t = ""; r.isOpened ? (r._player._ccService.close(), e = "off") : t = r._player._ccService.open(), r.isOpened = !r.isOpened, r._player.trigger(s.Private.CCStateChanged, { value: e, lang: t }), r.disabledHandler && clearTimeout(r.disabledHandler), r.disabledHandler = setTimeout(function () { n.removeClass(r._el, "disabled") }, 1e3), r._player.trigger(s.Private.MarkerTextHide) }), this._player.on(s.Private.CCChanged, function (e) { var t = e.paramData; r.isOpened = "off" != t }), o.registerTooltipEvent.call(this, this.el(), function () { return r.isOpened ? a.get("CloseSubtitle") : a.get("OpenSubtitle") }) }, disposeUI: function () { this.disabledHandler && (clearTimeout(this.disabledHandler), this.disabledHandler = null) } }); t.exports = l }, { "../../lang/index": 210, "../../lib/dom": 217, "../../player/base/event/eventtype": 242, "../component": 294, "./util": 321 }], 297: [function (e, t, r) { var i = e("../component"), o = e("../../player/base/event/eventtype"), a = e("../../lib/event"), s = e("../../lib/dom"), n = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-controlbar"), this.initChildren(), this.onEvent() }, createEl: function () { var e = i.prototype.createEl.call(this); return e.innerHTML = '<div class="prism-controlbar-bg"></div>', e }, onEvent: function () { var r = this.player(), e = r.options(), i = this; a.on(this._el, "mouseover", function () { var e = document.querySelector("#" + i.id() + " .prism-progress-cursor"); s.css(e, "display", "block") }), a.on(this._el, "mouseout", function (e) { var t = document.querySelector("#" + i.id() + " .prism-progress-cursor"); s.css(t, "display", "none"), r.trigger(o.Private.ThumbnailHide) }), this.timer = null; var t, n = e.controlBarVisibility; 1 == e.controlBarForOver && (n = "hover"), "hover" == n ? (i.hide(), t = function () { i._hideHandler && clearTimeout(i._hideHandler), i._show(), r.fullscreenService.getIsFullScreen() && i._hide() }, r.on(o.Private.MouseOver, function () { t() }), a.on(this._player.tag, "click", function (e) { e && e.target == e.currentTarget && t() }), a.on(this._player.tag, "touchstart", function (e) { e && e.target == e.currentTarget && t() }), r.on(o.Private.MouseOut, function () { i._hideHandler = setTimeout(function () { i.hide(), r.trigger(o.Private.HideBar), r.trigger(o.Private.VolumeVisibilityChange, ""), r.trigger(o.Private.SettingListHide) }) })) : "click" == n ? (r.on(o.Private.Click, function (e) { r._isError || (e.preventDefault(), e.stopPropagation(), i._show(), i._hide()) }), r.on(o.Player.Ready, function () { i._hide() }), r.on(o.Private.TouchStart, function () { i._show() }), r.on(o.Private.TouchMove, function () { i._show() }), r.on(o.Private.TouchEnd, function () { i._hide() })) : i._show() }, _show: function () { this.show(), this._player.trigger(o.Private.ShowBar), this.timer && (clearTimeout(this.timer), this.timer = null) }, _hide: function () { var e = this, t = this.player().options().showBarTime; this.timer = setTimeout(function () { e.hide(), e._player.trigger(o.Private.HideBar), e._player.trigger(o.Private.VolumeVisibilityChange, ""), e._player.trigger(o.Private.SettingListHide) }, t) }, disposeUI: function () { this.timer && (clearTimeout(this.timer), this.timer = null), this._hideHandler && (clearTimeout(this._hideHandler), this._hideHandler = null) } }); t.exports = n }, { "../../lib/dom": 217, "../../lib/event": 218, "../../player/base/event/eventtype": 242, "../component": 294 }], 298: [function (e, t, r) { var i = e("../component"), n = e("../../lib/dom"), o = e("../../player/base/event/eventtype"), a = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-cover") }, createEl: function () { var e = i.prototype.createEl.call(this, "div"), t = this.options().cover; return t ? e.style.backgroundImage = "url(" + t + ")" : n.css(e, "display", "none"), e }, _hide: function (e) { var t = document.querySelector("#" + this.id() + " .prism-cover"); t && n.css(t, "display", "none") }, _show: function (e) { var t = document.querySelector("#" + this.id() + " .prism-cover"); t && n.css(t, "display", "block") }, bindEvent: function () { this._player.on(o.Private.Cover_Show, this._show), this._player.on(o.Private.Cover_Hide, this._hide) } }); t.exports = a }, { "../../lib/dom": 217, "../../player/base/event/eventtype": 242, "../component": 294 }], 299: [function (e, t, r) { var i = e("../component"), f = e("../../lib/util"), p = e("../../lib/dom"), n = e("../../lib/event"), o = e("../../lib/ua"), y = e("../../lang/index"), a = e("../../player/base/event/eventtype"), s = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-ErrorMessage") }, createEl: function () { var e = i.prototype.createEl.call(this, "div"); return e.innerHTML = "<div class='prism-error-content'><p></p></div><div class='prism-error-operation'><a class='prism-button prism-button-refresh'>" + y.get("Refresh_Text") + "</a><a class='prism-button prism-button-retry' target='_blank'>" + y.get("Retry") + "</a><a class='prism-button prism-button-orange' target='_blank'>" + y.get("Detection_Text") + "</a></div><div class='prism-detect-info prism-center'><p class='errorCode'><span class='info-label'>code\uff1a</span><span class='info-content'></span></p><p class='vid'><span class='info-label'>vid:</span><span class='info-content'></span></p><p class='uuid'><span class='info-label'>uuid:</span><span class='info-content'></span></p><p class='requestId'><span class='info-label'>requestId:</span><span class='info-content'></span></p><p class='dateTime'><span class='info-label'>" + y.get("Play_DateTime") + "\uff1a</span><span class='info-content'></span></p></div>", e }, bindEvent: function () { var r = this; r._player.on(a.Private.Error_Show, function (e) { var t = null; r._player.getMonitorInfo && (t = r._player.getMonitorInfo()), r._show(e, t) }), r._player.on(a.Private.Error_Hide, function () { r._hide() }); var e = document.querySelector("#" + r.id() + " .prism-button-refresh"); n.on(e, "click", function () { location.reload(!0) }), o.IS_MOBILE && (e = document.querySelector("#" + r.id() + " .prism-detect-info"), p.addClass(e, "prism-width90")); var t = document.querySelector("#" + r.id() + " .prism-button-retry"); n.on(t, "click", function () { var e = r._player.getCurrentTime(), t = r._player._options.source; r._player._setDefaultCC = !0, r._player._loadByUrlInner(t, e, !0) }) }, _show: function (e, t) { var r = e.paramData, i = "", n = ""; r.mediaId && (i = r.mediaId); var o, a, s, l, u, c, h, d = document.querySelector("#" + this.id() + " .prism-button-orange"); d && (t && this._player._options.diagnosisButtonVisible ? (t.vu ? n = decodeURIComponent(t.vu) : p.css(d, "display", "none"), o = "//player.alicdn.com/detection.html?from=h5&vid=" + i + "&source=" + (n ? encodeURIComponent(n) : "") + "&uuid=" + t.uuid + "&lang=" + y.getCurrentLanguage(), d && (d.href = o)) : p.css(d, "display", "none"), a = r.display_msg || r.error_msg, document.querySelector("#" + this.id() + " .prism-error-content p").innerHTML = a, document.querySelector("#" + this.id() + " .errorCode .info-content").innerText = r.error_code, s = document.querySelector("#" + this.id() + " .vid"), r.mediaId ? (p.css(s, "display", "block"), document.querySelector("#" + this.id() + " .vid .info-content").innerText = r.mediaId) : p.css(s, "display", "none"), r.uuid ? document.querySelector("#" + this.id() + " .uuid .info-content").innerText = r.uuid : (l = document.querySelector("#" + this.id() + " .uuid"), p.css(l, "display", "none")), r.requestId ? document.querySelector("#" + this.id() + " .requestId .info-content").innerText = r.requestId : (u = document.querySelector("#" + this.id() + " .requestId"), p.css(u, "display", "none")), document.querySelector("#" + this.id() + " .dateTime .info-content").innerText = f.formatDate(new Date, "yyyy-MM-dd HH:mm:ss"), c = document.querySelector("#" + this.id()), p.css(c, "display", "block"), (h = this).playHideHandler && clearTimeout(h.playHideHandler), h.playHideHandler = setTimeout(function () { h._player.trigger("play_btn_hide") })) }, _hide: function () { var e = document.querySelector("#" + this.id()); p.css(e, "display", "none") }, disposeUI: function () { this.playHideHandler && (clearTimeout(this.playHideHandler), this.playHideHandler = null) } }); t.exports = s }, { "../../lang/index": 210, "../../lib/dom": 217, "../../lib/event": 218, "../../lib/ua": 230, "../../lib/util": 232, "../../player/base/event/eventtype": 242, "../component": 294 }], 300: [function (e, t, r) { var i = e("../component"), n = e("../../player/base/event/eventtype"), o = (e("../../lib/event"), e("../../lib/ua")), a = e("../../lang/index"), s = e("./util"), l = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-fullscreen-btn") }, bindEvent: function () { var e = this; this._player.on(n.Player.RequestFullScreen, function () { o.IS_IOS || e.addClass("fullscreen") }), this._player.on(n.Player.CancelFullScreen, function () { e.removeClass("fullscreen") }), s.registerTooltipEvent.call(this, this.el(), function () { return e._player.fullscreenService.getIsFullScreen() ? a.get("ExistFullScreen") : a.get("Fullscreen") }), this.on("click", function () { e._player.fullscreenService.getIsFullScreen() ? e._player.fullscreenService.cancelFullScreen() : e._player.fullscreenService.requestFullScreen(), e._player.trigger(n.Private.MarkerTextHide) }) } }); t.exports = l }, { "../../lang/index": 210, "../../lib/event": 218, "../../lib/ua": 230, "../../player/base/event/eventtype": 242, "../component": 294, "./util": 321 }], 301: [function (e, t, r) { "use strict"; var i = e("../component"), n = e("../../lib/dom"), o = e("../../player/base/event/eventtype"), a = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-hide") }, createEl: function () { var e = i.prototype.createEl.call(this, "div"); return e.innerHTML = '<div class="circle"></div> <div class="circle1"></div>', e }, _loading_hide: function (e) { var t = document.querySelector("#" + this.id() + " .prism-loading"); t && (n.removeClass(t, "prism-loading"), n.addClass(t, "prism-hide")) }, _loading_show: function (e) { var t = document.querySelector("#" + this.id() + " .prism-hide"); t && (n.removeClass(t, "prism-hide"), n.addClass(t, "prism-loading")) }, bindEvent: function () { this._player.on(o.Private.H5_Loading_Show, this._loading_show), this._player.on(o.Private.H5_Loading_Hide, this._loading_hide) } }); t.exports = a }, { "../../lib/dom": 217, "../../player/base/event/eventtype": 242, "../component": 294 }], 302: [function (e, t, r) { var i = e("../component"), n = (e("../../lib/util"), e("../../lib/dom")), o = (e("../../lib/event"), e("../../lib/ua"), e("../../lang/index"), e("../../player/base/event/eventtype")), a = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-info-display") }, createEl: function () { return i.prototype.createEl.call(this, "p") }, bindEvent: function () { var i = this; i._player.on(o.Private.Info_Show, function (e) { var t = document.querySelector("#" + i.id()), r = e.paramData; r && (void 0 !== r.text && r.text ? (t.innerHTML = r.text, void 0 !== r.duration && r.duration && (i.handler && clearTimeout(i.handler), i.handler = setTimeout(function () { n.css(t, "display", "none") }, r.duration)), "lb" == r.align ? (n.addClass(t, "prism-info-left-bottom"), n.removeClass(t, "prism-info-top-center")) : "tc" == r.align ? (n.addClass(t, "prism-info-top-center"), n.removeClass(t, "prism-info-left-bottom")) : (n.removeClass(t, "prism-info-left-bottom"), n.removeClass(t, "prism-info-top-center")), r.isBlack ? n.addClass(t, "prism-info-black") : n.removeClass(t, "prism-info-black")) : t.innerHTML = r, n.css(t, "display", "block")) }), i._player.on(o.Private.Info_Hide, function (e) { var t = document.querySelector("#" + i.id()); n.css(t, "display", "none") }) }, disposeUI: function () { this.handler && (clearTimeout(this.handler), this.handler = null) } }); t.exports = a }, { "../../lang/index": 210, "../../lib/dom": 217, "../../lib/event": 218, "../../lib/ua": 230, "../../lib/util": 232, "../../player/base/event/eventtype": 242, "../component": 294 }], 303: [function (e, t, r) { var i = e("../component"), n = e("./util"), o = (e("../../lib/util"), e("../../lib/dom")), a = e("../../lib/event"), s = e("../../lib/playerUtil"), l = e("../../lang/index"), u = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-live-display") }, createEl: function () { var e = i.prototype.createEl.call(this, "p"); return e.innerText = "LIVE", s.isLiveShift(this._player._options) && o.addClass(e, "live-shift-display"), e }, bindEvent: function () { var e = document.querySelector("#" + this.id()), t = this; s.isLiveShift(this._player._options) && (a.on(e, "click", function () { t._player._liveshiftService.switchToLive() }), n.registerTooltipEvent.call(this, this.el(), l.get("SwitchToLive"))) } }); t.exports = u }, { "../../lang/index": 210, "../../lib/dom": 217, "../../lib/event": 218, "../../lib/playerUtil": 227, "../../lib/util": 232, "../component": 294, "./util": 321 }], 304: [function (e, t, r) { var i = e("../component"), n = (e("../../lib/dom"), e("../../lib/event"), e("../../player/base/event/eventtype")), o = e("../../player/base/plugin/status"), a = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-animation") }, bindEvent: function () { var t = this; this._player.on(n.Player.Play, function () { t._player._isManualPlay && (t.removeClass("prism-pause-animation"), t.addClass("prism-play-animation"), t.removeClass("play-apply-animation"), t.playHandler && clearTimeout(t.playHandler), t.playHandler = setTimeout(function () { t.addClass("play-apply-animation") })) }), this._player.on(n.Player.Pause, function () { var e = t._player._status; e != o.ended && e != o.error && t._player._isManualPause && (t.removeClass("prism-play-animation"), t.addClass("prism-pause-animation"), t.removeClass("play-apply-animation"), t.pauseHandler && clearTimeout(t.pauseHandler), t.pauseHandler = setTimeout(function () { t.addClass("play-apply-animation") })) }) }, disposeUI: function () { this.playHandler && (clearTimeout(this.playHandler), this.playHandler = null), this.pauseHandler && (clearTimeout(this.pauseHandler), this.pauseHandler = null) } }); t.exports = a }, { "../../lib/dom": 217, "../../lib/event": 218, "../../player/base/event/eventtype": 242, "../../player/base/plugin/status": 265, "../component": 294 }], 305: [function (e, t, r) { var i = e("../component"), n = e("../../player/base/event/eventtype"), o = e("./util"), a = e("../../lang/index"), s = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-play-btn") }, bindEvent: function () { var t = this; this._player.on(n.Player.Play, function () { t.addClass("playing") }), this._player.on(n.Player.Pause, function () { t.removeClass("playing") }), this.on(n.Private.PlayClick, function () { var e; t._player.paused() ? (e = t._player.getCurrentTime(), (t._player.getDuration() <= e || t._player._ended || t._player.exceedPreviewTime(e)) && t._player.seek(0), t._player.play(!0), t.addClass("playing")) : (t._player.pause(!0), t.removeClass("playing")), t._player.trigger(n.Private.MarkerTextHide) }), o.registerTooltipEvent.call(this, this.el(), function () { return t._player.paused() ? a.get("Play") : a.get("Pause") }) } }); t.exports = s }, { "../../lang/index": 210, "../../player/base/event/eventtype": 242, "../component": 294, "./util": 321 }], 306: [function (e, t, r) { var i = e("../component"), a = e("../../lib/dom"), o = (e("../../lib/constants"), e("../../lib/event")), s = e("../../lib/ua"), l = e("../../lib/function"), n = e("../../lang/index"), u = e("../../config"), c = e("../../lib/util"), h = e("../../player/base/event/eventtype"), d = i.extend({ init: function (e, t) { i.call(this, e, t), this._seekTime = -1, this.addClass("prism-progress") }, createEl: function () { var e = i.prototype.createEl.call(this); return e.innerHTML = '<div class="prism-progress-loaded"></div><div class="prism-progress-played"></div><div class="prism-progress-marker"></div><div class="prism-progress-cursor"><img></img></div><p class="prism-progress-time"></p>', e }, bindEvent: function () { var t = this; this.loadedNode = document.querySelector("#" + this.id() + " .prism-progress-loaded"), this.playedNode = document.querySelector("#" + this.id() + " .prism-progress-played"), this.cursorNode = document.querySelector("#" + this.id() + " .prism-progress-cursor"), this.timeNode = document.querySelector("#" + this.id() + " .prism-progress-time"), this.timeNode = document.querySelector("#" + this._player._options.id + " .prism-progress-time"), this.thumbnailNode = document.querySelector(".prism-thumbnail"); var r = document.querySelector("#" + this.id()), e = document.querySelector("#" + this.id() + " .prism-progress-cursor img"), i = "", i = u.domain ? "https://" + u.domain + "/de/prismplayer/" + u.h5Version + "/skins/default/img/dragcursor.png" : "/build/skins/default/img/dragcursor.png"; e.src = i, o.on(this.cursorNode, "mousedown", function (e) { t._onMouseDown(e) }), o.on(this.cursorNode, "touchstart", function (e) { t._onMouseDown(e) }), o.on(r, "mousemove", function (e) { t._progressMove(e) }), o.on(r, "touchmove", function (e) { t._progressMove(e) }); function n(e) { t._progressDown = e } o.on(r, "mousedown", function (e) { n(!0) }), o.on(r, "touchstart", function (e) { n(!0) }), o.on(r, "mouseup", function (e) { n(!1) }), o.on(r, "touchend", function (e) { n(!1) }), o.on(this._el, "click", function (e) { t._onMouseClick(e) }), this._player.on(h.Private.HideProgress, function (e) { t._hideProgress(e) }), this._player.on(h.Private.CancelHideProgress, function (e) { t._cancelHideProgress(e) }), o.on(r, h.Private.MouseOver, function (e) { t._onMouseOver(e) }), o.on(r, h.Private.MouseOut, function (e) { t._onMouseOut(e) }), o.on(this.controlNode, h.Private.MouseLeave, function (e) { t._offMouseUp() }), s.IS_PC ? (o.on(r, "mouseover", function () { a.addClass(r, "prism-progress-hover"), a.addClass(t.cursorNode, "cursor-hover") }), o.on(r, "mouseout", function (e) { a.removeClass(r, "prism-progress-hover"), a.removeClass(t.cursorNode, "cursor-hover"), t._progressDown = !1 })) : (a.addClass(r, "prism-progress-hover"), a.addClass(t.cursorNode, "cursor-hover")), this.bindTimeupdate = l.bind(this, this._onTimeupdate), this._player.on(h.Player.TimeUpdate, this.bindTimeupdate), s.IS_IPAD ? this.interval = setInterval(function () { t._onProgress() }, 500) : this._player.on(h.Video.Progress, function () { t._onProgress() }) }, _progressMove: function (e) { e.preventDefault(); var t, r, i = this._getSeconds(e); i != 1 / 0 && (t = c.formatTime(i), r = this._getDistance(e), this.cursorNode && (this._player.trigger(h.Private.ThumbnailShow, { time: i, formatTime: t, left: r, progressWidth: this.el().offsetWidth }), this._progressDown && this._onMouseMove(e))) }, _hideProgress: function (e) { o.off(this.cursorNode, "mousedown"), o.off(this.cursorNode, "touchstart") }, _cancelHideProgress: function (e) { var t = this; o.on(this.cursorNode, "mousedown", function (e) { t._onMouseDown(e) }), o.on(this.cursorNode, "touchstart", function (e) { t._onMouseDown(e) }) }, _canSeekable: function (e) { var t = !0; return "function" == typeof this._player.canSeekable && (t = this._player.canSeekable(e)), t }, _onMouseOver: function (e) { this._cursorHideHandler && (clearTimeout(this._cursorHideHandler), this._cursorHideHandler = null), this._mouseInProgress || this._updateCursorPosition(this._player.getCurrentTime()), this._mouseInProgress = !0 }, _onMouseOut: function (e) { var t = this; this._cursorHideHandler && clearTimeout(this._cursorHideHandler), this._cursorHideHandler = setTimeout(function () { t._player.trigger(h.Private.ThumbnailHide), t._mouseInProgress = !1 }) }, _getSeconds: function (e) { var t = this._getDistance(e), r = this.el().offsetWidth, i = this._player.getDuration() ? t / r * this._player.getDuration() : 0; return i < 0 && (i = 0), i > this._player.getDuration() && (i = this._player.getDuration()), i }, _getDistance: function (e) { for (var t = this.el().offsetLeft, r = this.el(); r = r.offsetParent;) { var i = a.getTranslateX(r); t += r.offsetLeft + i } var n = e.touches ? e.touches[0].pageX : e.pageX; return Math.abs(n - t) }, _onMouseClick: function (e) { var t = this, r = t._getSeconds(e); t._canSeekable(r) ? (t._player.exceedPreviewTime(r) && (r = t._player.getPreviewTime()), this._seekTime = r, t._updateProgressBar(this.playedNode, r), t._updateCursorPosition(r), this._mouseClickTimeHandle && clearTimeout(this._mouseClickTimeHandle), this._mouseClickTimeHandle = setTimeout(function () { t._player._seeking = !0, t._mouseDown || t._player.trigger(h.Private.SeekStart, { fromTime: t._player.getCurrentTime() }), t._player.seek(r), t._mouseDown = !1, t._player.trigger(h.Private.EndStart, { toTime: r }), t._mouseClickTimeHandle = null, t._inWaitingSeek = !1 }, 0), this._inWaitingSeek = !0) : t._player.trigger(h.Private.Info_Show, { text: n.get("Can_Not_Seekable"), duration: 2e3 }) }, _onMouseDown: function (e) { var t = this; e.preventDefault(), this._mouseDown = !0, this._player.trigger(h.Private.SeekStart, { fromTime: this._player.getCurrentTime() }), o.on(this.controlNode, "mousemove", function (e) { t._onMouseMove(e) }), o.on(this.controlNode, "touchmove", function (e) { t._onMouseMove(e) }), o.on(this.controlNode, "mouseup", function (e) { t._onControlBarMouseUp(e) }), o.on(this.controlNode, "touchend", function (e) { t._onControlBarMouseUp(e) }) }, _onMouseUp: function (e) { this._onMouseUpIntern(e) }, _onControlBarMouseUp: function (e) { this._onMouseUpIntern(e) }, _onPlayerMouseUp: function (e) { this._onMouseUpIntern(e) }, _offMouseUp: function () { o.off(this.controlNode, "mousemove"), o.off(this.controlNode, "touchmove"), o.off(this.controlNode, "mouseup"), o.off(this.controlNode, "touchend") }, _onMouseUpIntern: function (e) { e.preventDefault(), this._offMouseUp(); var t = this.playedNode.offsetWidth / this.el().offsetWidth * this._player.getDuration(); this._player.getDuration(); isNaN(t) || this._player.seek(t), this._player.trigger(h.Private.EndStart, { toTime: t }), this._mouseDown = !1 }, _onMouseMove: function (e) { e.preventDefault(); var t = this._getSeconds(e); this._player.exceedPreviewTime(t) && (t = this._player.getPreviewTime()), this._player.seek(t), this._updateProgressBar(this.playedNode, t), this._updateCursorPosition(t) }, _onTimeupdate: function (e) { var t = this._player.tag.currentSrc.split("."), r = !(!t || "mp4" !== t[t.length - 1]), i = !1; this.thumbnailNode && (this.thumbnailNode.style.display = "none"), r && (s.IS_MAC_SAFARI && (i = !0), s.IS_IOS && (i = !0), s.IS_IE11 && (i = !0)), (this._inWaitingSeek || this._player._seeking && !s.IS_EDGE || this._progressDown) && !i || (this._updateProgressBar(this.playedNode, this._player.getCurrentTime()), this._updateCursorPosition(this._player.getCurrentTime()), this._player.trigger(h.Private.UpdateProgressBar, { time: this._player.getCurrentTime() })) }, _onProgress: function (e) { this._player.getDuration() && 1 <= this._player.getBuffered().length && this._updateProgressBar(this.loadedNode, this._player.getBuffered().end(this._player.getBuffered().length - 1)) }, _updateProgressBar: function (e, t) { var r, i = this._player.getDuration(); 1 != this._player._switchSourcing && i && (-1 != this._seekTime && (this._player.getCurrentTime() >= this._seekTime || !this._player._seeking ? this._seekTime = -1 : t = this._seekTime), 1 < (r = t / i + .005) && (r = 1), e && a.css(e, "width", 100 * r + "%")) }, _updateCursorPosition: function (e) { var t, r, i, n, o = this._player.getDuration(); 1 != this._player._switchSourcing && o && (t = 1, i = 10 / (r = this._player.el().clientWidth), 0 != r && (t = 1 - i), n = (n = e / o - i) < 0 ? 0 : n, this.cursorNode && (t < n ? (a.css(this.cursorNode, "right", "0px"), a.css(this.cursorNode, "left", "auto")) : (a.css(this.cursorNode, "right", "auto"), a.css(this.cursorNode, "left", 100 * n + "%")))) }, disposeUI: function () { this.cursorNodeHandler && (clearTimeout(this.cursorNodeHandler), this.cursorNodeHandler = null), this._cursorHideHandler && (clearTimeout(this._cursorHideHandler), this._cursorHideHandler = null), this._mouseClickTimeHandle && (clearTimeout(this._mouseClickTimeHandle), this._mouseClickTimeHandle = null) } }); t.exports = d }, { "../../config": 204, "../../lang/index": 210, "../../lib/constants": 214, "../../lib/dom": 217, "../../lib/event": 218, "../../lib/function": 219, "../../lib/ua": 230, "../../lib/util": 232, "../../player/base/event/eventtype": 242, "../component": 294 }], 307: [function (e, t, r) { var i = e("../component"), n = (e("../../lib/util"), e("../../lib/dom")), o = e("../../lib/event"), a = e("../../player/base/event/eventtype"), s = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-marker-text") }, createEl: function () { var e = i.prototype.createEl.call(this, "div"); return e.innerHTML = "<p></p>", e }, bindEvent: function () { var i = this; i._player.on(a.Private.MarkerTextShow, function (e) { var t = e.paramData, r = a.Player.MarkerDotOver; i._player.trigger(r, e.paramData), t.progressMarker.isCustomized ? i._player.trigger(a.Private.LifeCycleChanged, { type: r, data: e.paramData }) : (i._thumbnailShowHanlde && (n.css(i.el(), "display", "none"), clearTimeout(i._thumbnailShowHanlde)), i._thumbnailShowHanlde = setTimeout(function () { var e; document.querySelector("#" + i.id() + " p").innerText = t.progressMarker.text || "", t && (n.css(i.el(), "display", "block"), e = i._player.el().offsetWidth, left = e * t.left, width = i.el().offsetWidth, left + width > e ? (n.css(i.el(), "right", "0px"), n.css(i.el(), "left", "auto")) : (left -= width / 2, left = left < 0 ? 0 : left, n.css(i.el(), "right", "auto"), n.css(i.el(), "left", left + "px"))) }, 30)) }), i._player.on(a.Private.MarkerTextHide, function (e) { i._player.trigger(a.Player.MarkerDotOut), i._player.trigger(a.Private.LifeCycleChanged, { type: a.Player.MarkerDotOut, data: "" }), i._thumbnailShowHanlde && clearTimeout(i._thumbnailShowHanlde), n.css(i.el(), "display", "none") }), o.on(i._player.tag, "click", function (e) { e && e.target == e.currentTarget && i._player.trigger(a.Private.MarkerTextHide) }), o.on(i._player.tag, "touchstart", function (e) { e && e.target == e.currentTarget && i._player.trigger(a.Private.MarkerTextHide) }) }, disposeUI: function () { this._thumbnailShowHanlde && (clearTimeout(this._thumbnailShowHanlde), this._thumbnailShowHanlde = null) } }); t.exports = s }, { "../../lib/dom": 217, "../../lib/event": 218, "../../lib/util": 232, "../../player/base/event/eventtype": 242, "../component": 294 }], 308: [function (e, t, r) { var i = e("./selector"), s = e("../../../lib/object"), u = (e("../../../lib/util"), e("../../../lib/cookie")), l = e("../../../lib/dom"), c = (e("../../../lib/event"), e("../../../lib/constants")), h = e("../../../lang/index"), d = e("../../../player/base/event/eventtype"), n = i.extend({ init: function (e, t) { this.Name = h.get("Quality"), this.Type = "quality", this.Tooltip = h.get("Quality_Switch_To"), i.call(this, e, t), this._isMasterLevel = !1 }, showTip: function (e, t) { this._player.trigger(d.Private.Info_Show, { text: e, duration: t, align: "lb" }) }, bindEvent: function () { this.bindCommonEvent(); var a = this; this._player.on(d.Private.QualityChange, function (e) { var t, r, i, n, o = 0 < a._player._urls.length ? a._player._urls : a._player._qualityService.levels; data = e.paramData, data.levelSwitch ? (t = data.desc ? data.desc : data.bitrate, a._autoSWitchDesc = t, a._updateText(t)) : 0 < a._player._currentPlayIndex && (a._autoSWitchDesc = "", i = o[(r = a._player._currentPlayIndex) - 1].desc, n = o[r].desc, a.showTip(i + e.paramData + n, 1e3), a._player.trigger(d.Private.SelectorValueChange, o[r].Url)) }); var e = document.querySelector("#" + a.id() + " .selector-list"); this._player.on(d.Player.LevelSwitch, function () { l.addClass(e, "disabled") }), this._player.on(d.Player.LevelSwitched, function () { l.removeClass(e, "disabled") }) }, generateList: function (e) { var t = this._player._urls, n = this._player._currentPlayIndex, r = this._player._qualityService.levels; 0 < r.length && (this._isMasterLevel = !0, n = (t = r).length - 1); var o, a = document.querySelector("#" + this.id() + " .selector-list"); 0 < t.length && (o = this, s.each(t, function (e, t) { var r, i; (e.desc ? e.desc : e.bitrate) && (r = l.createEl.call(this, "li", { key: e.Url, index: t, text: e.desc ? e.desc : e.bitrate }), i = l.createEl.call(this, "span", { key: e.Url, index: t, text: e.desc ? e.desc : e.bitrate }), t == n && (l.addClass(r, "current"), o._previousSelection = r), i.innerText = e.desc ? e.desc : e.bitrate, r.appendChild(i), a.appendChild(r)) })), this._autoSWitchDesc && this._updateText(this._autoSWitchDesc) }, execute: function (e) { if (this._player._switchSourcing = !0, this._isMasterLevel) { for (var t = this._player._qualityService.levels, r = 0; r < t.length; r++)t[r].Url == e && t[r].desc != h.get("Auto") && this._updateText(""); this._player._switchLevel && this._player._switchLevel(e) } else { for (var i, n, o = this._player._urls.length, a = this._player._currentPlayIndex, s = -1, r = 0; r < o; r++)if (this._player._urls[r].Url == e) { s = this._player._currentPlayIndex = r, u.set(c.SelectedStreamLevel, this._player._urls[r].definition, 365); break } a != s && -1 < s ? (i = this._player.getCurrentTime(), this._previousCurrentTime ? "playing" != this._player._status && (i = this._previousCurrentTime) : this._previousCurrentTime = i, this._previousCurrentTime = i, n = this._player.autoplay || "pause" != this._player._status, this._player.autoplay || 0 != i || (n = !1), this._player._switchLevel && !this._player._options.isLive ? this._player._switchLevel(e) : this._player._loadByUrlInner(e, i, n)) : this._player._loadByUrlInner(e, i, n) } var l = this; setTimeout(function () { l._player._switchSourcing = !1 }) }, _updateText: function (e) { var t = document.querySelector("#" + this.id() + " .selector-list .current"), r = document.querySelector("#" + this.id() + " .selector-list .current span"), i = h.get("Auto"); r && r.innerText && -1 < r.innerText.indexOf(i) && (i += e ? "(" + e + ")" : "", r.innerText = i, t && (t.text = i)) } }); t.exports = n }, { "../../../lang/index": 210, "../../../lib/constants": 214, "../../../lib/cookie": 215, "../../../lib/dom": 217, "../../../lib/event": 218, "../../../lib/object": 225, "../../../lib/util": 232, "../../../player/base/event/eventtype": 242, "./selector": 314 }], 309: [function (e, t, r) { var i = e("./selector"), a = e("../../../lib/object"), s = (e("../../../lib/util"), e("../../../lib/cookie"), e("../../../lib/dom")), n = (e("../../../lib/event"), e("./util"), e("../../../lang/index")), l = e("../../../player/base/event/eventtype"), o = i.extend({ init: function (e, t) { this.Name = n.get("AudioTrack"), this.Type = "audio", this.Tooltip = n.get("AudioTrack_Switch_To"), i.call(this, e, t) }, bindEvent: function () { this.bindCommonEvent(); var n = this, o = document.querySelector("#" + n.id() + " .selector-list"); document.querySelector("#" + n.id() + " .header"); n._player.on(l.Private.ChangeURL, function () { n._hasGeneratedList = !1 }), this._player.on(l.Player.AudioTrackSwitch, function () { s.addClass(o, "disabled") }), this._player.on(l.Player.AudioTrackSwitched, function () { s.removeClass(o, "disabled") }), n._player.on(l.Player.AudioTrackReady, function (e) { n._hasGeneratedList || (n._clear(), (e = e.paramData) && (a.each(e, function (e, t) { var r = s.createEl.call(n, "li", { key: e.value, text: e.text }), i = s.createEl.call(n, "span", { key: e.value, text: e.text }); i.innerText = e.text, r.appendChild(i), o.appendChild(r) }), n._hasGeneratedList = !0)) }) }, execute: function (e) { this._player._audioTrackService["switch"](e) } }); t.exports = o }, { "../../../lang/index": 210, "../../../lib/cookie": 215, "../../../lib/dom": 217, "../../../lib/event": 218, "../../../lib/object": 225, "../../../lib/util": 232, "../../../player/base/event/eventtype": 242, "./selector": 314, "./util": 316 }], 310: [function (e, t, r) { var i = e("../../component"), n = (e("../../../lib/dom"), e("../../../player/base/event/eventtype")), o = e("./list"), a = e("../../../lang/index"), s = e("../util"), l = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass(t.className || "prism-setting-btn"), this._settingList = new o(e, t), e.addChild(this._settingList, t) }, createEl: function () { return i.prototype.createEl.call(this, "div") }, bindEvent: function () { var e = this; this.on("click", function () { e._settingList.isOpened ? e._player.trigger(n.Private.SettingListHide) : e._player.trigger(n.Private.SettingListShow), e._player.trigger(n.Private.SelectorHide), e._player.trigger(n.Private.MarkerTextHide), e._player.trigger(n.Private.VolumeVisibilityChange, "") }), s.registerTooltipEvent.call(this, this.el(), a.get("Setting")) } }); t.exports = l }, { "../../../lang/index": 210, "../../../lib/dom": 217, "../../../player/base/event/eventtype": 242, "../../component": 294, "../util": 321, "./list": 313 }], 311: [function (e, t, r) { var i = e("./selector"), s = e("../../../lib/object"), l = e("../../../lib/dom"), n = (e("../../../lib/event"), e("./util"), e("../../../lib/cookie")), o = e("../../../lib/constants"), a = e("../../../lang/index"), u = e("../../../player/base/event/eventtype"), c = i.extend({ init: function (e, t) { this.Name = a.get("Subtitle"), this.Type = "cc", this.Tooltip = a.get("CC_Switch_To"), i.call(this, e, t) }, bindEvent: function () { this.bindCommonEvent(); var n = this; this._player.on(u.Private.CCStateChanged, function (e) { var t = e.paramData.value, r = e.paramData.lang; "on" == t && r ? n._backCCText = r : "off" == t && "" == n._backCCText && (n._backCCText = n._previousSelection.text); var i = "Off"; "on" == t && (i = n._backCCText), n._player.trigger(u.Private.SelectorUpdateList, { type: "cc", text: i }) }) }, generateList: function (n) { var o = document.querySelector("#" + this.id() + " .selector-list"), e = this._player._ccService.tracks, a = this; s.each(e, function (e, t) { var r = l.createEl.call(this, "li", { key: e.value, text: e.text }), i = l.createEl.call(this, "span", { key: e.value, text: e.text }); e.text == n && (l.addClass(r, "current"), a._previousSelection = r), i.innerText = e.text, r.appendChild(i), o.appendChild(r) }) }, execute: function (e) { this._backCCText = "", n.set(o.SelectedCC, e, 365), this._player._ccService["switch"](e), this._player.trigger(u.Private.CCChanged, e) } }); t.exports = c }, { "../../../lang/index": 210, "../../../lib/constants": 214, "../../../lib/cookie": 215, "../../../lib/dom": 217, "../../../lib/event": 218, "../../../lib/object": 225, "../../../player/base/event/eventtype": 242, "./selector": 314, "./util": 316 }], 312: [function (e, t, r) { t.exports = { CC: e("./cc"), Speed: e("./speed"), Quality: e("./Quality"), Audio: e("./audio") } }, { "./Quality": 308, "./audio": 309, "./cc": 311, "./speed": 315 }], 313: [function (e, t, r) { var a = e("../../component"), i = e("../../../lib/dom"), o = e("../../../lib/ua"), s = e("../../../lib/event"), l = e("../../../player/base/event/eventtype"), n = e("./export"), u = e("./util"), c = e("../../../lang/index"), h = a.extend({ init: function (e, t) { for (var r in this.isOpened = !1, a.call(this, e, t), this.addClass(t.className || "prism-setting-list"), n) { var i = new n[r](e, t); e.addChild(i, t) } }, createEl: function () { var e = a.prototype.createEl.call(this, "div"), t = "<div class='prism-setting-item prism-setting-{type}' type={type}><div class='setting-content'><span class='setting-title'>{value}</span><span class='array'></span><span class='current-setting'></span></div></div>", r = t.replace(/{type}/g, "speed").replace("{value}", c.get("Speed")), i = t.replace(/{type}/g, "cc").replace("{value}", c.get("Subtitle")), n = t.replace(/{type}/g, "audio").replace("{value}", c.get("AudioTrack")), o = t.replace(/{type}/g, "quality").replace("{value}", c.get("Quality")); return e.innerHTML = r + i + n + o, e }, bindEvent: function () { document.querySelector("#" + this.id() + " .prism-setting-speed .current-setting").innerText = c.get("Speed_1X_Text"); function t() { n._player.trigger(l.Private.SettingListHide), n.isOpened = !1 } function r(e) { e && e.text && (document.querySelector("#" + n.id() + " .prism-setting-" + e.type + " .current-setting").innerText = e.text) } var n = this; this._player.on(l.Private.SettingListShow, function (e) { n.isOpened = !0; e = e.paramData; r(e), i.css(n.el(), "display", "block") }), this._player.on(l.Private.UpdateToSettingList, function (e) { e = e.paramData; r(e) }), this._player.on(l.Private.SelectorUpdateList, function (e) { e = e.paramData; r(e), n._player.trigger(l.Private.SelectorValueChange, e) }), this._player.on(l.Private.SettingListHide, function () { n.isOpened = !1, i.css(n.el(), "display", "none") }), s.on(this.el(), "click", function (e) { n._player.trigger(l.Private.SettingListHide); var t, r = e.srcElement ? e.srcElement : e.target; (r = u.findItemElementForList(r)) && (t = r.getAttribute("type"), n._player.trigger(l.Private.SelectorShow, { type: t })) }); var e = o.IS_MOBILE ? "touchleave" : "mouseleave"; s.on(this.el(), e, function () { t() }), s.on(this._player.tag, "click", function (e) { e && e.target == e.currentTarget && t() }), s.on(this._player.tag, "touchstart", function (e) { e && e.target == e.currentTarget && t() }), this._player.on(l.Private.QualityChange, function (e) { var t, r, i = e.paramData; i.levelSwitch && (t = document.querySelector("#" + n.id() + " .prism-setting-quality .current-setting"), r = c.get("Auto"), -1 < t.innerText.indexOf(r) && (t.innerText = r + (i.desc ? "(" + i.desc + ")" : ""))) }) } }); t.exports = h }, { "../../../lang/index": 210, "../../../lib/dom": 217, "../../../lib/event": 218, "../../../lib/ua": 230, "../../../player/base/event/eventtype": 242, "../../component": 294, "./export": 312, "./util": 316 }], 314: [function (e, t, r) { var i = e("../../component"), n = (e("../../../lib/object"), e("../../../lib/util"), e("../../../lib/ua")), a = (e("../../../lib/cookie"), e("../../../lib/dom")), s = e("../../../lib/event"), l = e("./util"), u = (e("../../../lang/index"), e("../../../player/base/event/eventtype")), o = i.extend({ init: function (e, t) { this._hasGeneratedList = !1, this._previousSelection = null, this._backupSelector = "", i.call(this, e, t), this.className = t.className ? t.className : "prism-" + this.Type + "-selector prism-setting-selector", this.addClass(this.className) }, createEl: function () { var e = i.prototype.createEl.call(this, "div"); return e.innerHTML = '<div class="header"><div class="left-array"></div><span>' + this.Name + '</span></div><ul class="selector-list"></ul>', e }, bindEvent: function () { this.bindCommonEvent() }, bindCommonEvent: function () { var o = this, e = document.querySelector("#" + o.id() + " .selector-list"), t = document.querySelector("#" + o.id() + " .header"); this._player.on(u.Private.ChangeURL, function () { o._hasGeneratedList = !1 }), s.on(t, "click", function () { o._player.trigger(u.Private.SelectorHide), o._player.trigger(u.Private.SettingListShow, { type: o.Type, text: o._previousSelection ? o._previousSelection.text : "" }) }), s.on(e, "click", function (e) { var t, r = e.srcElement ? e.srcElement : e.target, i = r.key, n = r.text; void 0 !== n && (o._previousSelection && a.removeClass(o._previousSelection, "current"), o._previousSelection = l.findliElementForSelector(r), a.addClass(o._previousSelection, "current"), o.execute && o.execute(i), t = o.Tooltip + "<span>" + n + "</span>", o._player.trigger(u.Private.Info_Show, { text: t, duration: 1e3, align: "lb" })) }), o._player.on(u.Private.SelectorHide, function () { r() }), o._player.on(u.Private.SelectorValueChange, function (e) { var t = e.paramData; if (t) { if (t.type != o.Type) return; var r = document.querySelectorAll("#" + o.id() + " .selector-list li"); if (r) { var i = r.length; 0 == i && (o._backupSelector = t.text); for (var n = 0; n < i; n++)if (r[n].text == t.text) { o._previousSelection && a.removeClass(o._previousSelection, "current"), a.addClass(r[n], "current"), o._previousSelection = r[n]; break } } } }), o._player.on(u.Private.SelectorShow, function (e) { var t; (e = e.paramData).type == o.Type && (t = document.querySelector("#" + o._player.id() + " .prism-" + e.type + "-selector"), o._hasGeneratedList || (o._clear(), o.generateList(o._backupSelector), o._backupSelector = "", o._hasGeneratedList = !0), a.css(t, "display", "block")) }); var r = function () { a.css(o.el(), "display", "none"), o._player.trigger(u.Private.UpdateToSettingList, { type: o.Type, text: o._previousSelection ? o._previousSelection.text : "" }) }, i = n.IS_MOBILE ? "touchleave" : "mouseleave"; s.on(this.el(), i, function () { r() }), s.on(this._player.tag, "click", function (e) { e && e.target == e.currentTarget && r() }), s.on(this._player.tag, "touchstart", function (e) { e && e.target == e.currentTarget && r() }) }, setSelected: function (e) { }, generateList: function () { }, _clear: function () { document.querySelector("#" + this.id() + " .selector-list").innerHTML = "" } }); t.exports = o }, { "../../../lang/index": 210, "../../../lib/cookie": 215, "../../../lib/dom": 217, "../../../lib/event": 218, "../../../lib/object": 225, "../../../lib/ua": 230, "../../../lib/util": 232, "../../../player/base/event/eventtype": 242, "../../component": 294, "./util": 316 }], 315: [function (e, t, r) { var i = e("./selector"), a = e("../../../lib/object"), s = (e("../../../lib/util"), e("../../../lib/cookie"), e("../../../lib/dom")), l = (e("../../../lib/event"), e("./util"), e("../../../lib/constants")), u = e("../../../lang/index"), n = (e("../../../player/base/event/eventtype"), i.extend({ init: function (e, t) { this.Name = u.get("Speed"), this.Type = "speed", this.Tooltip = u.get("Speed_Switch_To"), i.call(this, e, t) }, generateList: function () { var n = document.querySelector("#" + this.id() + " .selector-list"), e = l.SpeedLevels, o = this; a.each(e, function (e, t) { var r = s.createEl.call(this, "li", { key: e.key, text: e.text }), i = s.createEl.call(this, "span", { key: e.key, text: e.text }); i.innerText = e.text, e.text == u.get("Speed_1X_Text") && (s.addClass(r, "current"), o._previousSelection = r), r.appendChild(i), n.appendChild(r) }) }, execute: function (e) { this._player.setSpeed(e) } })); t.exports = n }, { "../../../lang/index": 210, "../../../lib/constants": 214, "../../../lib/cookie": 215, "../../../lib/dom": 217, "../../../lib/event": 218, "../../../lib/object": 225, "../../../lib/util": 232, "../../../player/base/event/eventtype": 242, "./selector": 314, "./util": 316 }], 316: [function (e, r, t) { r.exports.findliElementForSelector = function (e) { if (!e || "li" == e.tagName.toLowerCase()) return e; var t = e.parentElement; return t && "li" == t.tagName.toLowerCase() ? t : null }, r.exports.findliElementByKey = function (e, t) { document.querySelectors(e); return null }, r.exports.findItemElementForList = function (e) { if (!e || -1 < e.className.indexOf("prism-setting-item")) return e; var t = e.parentElement; return t && (e = r.exports.findItemElementForList(t)), e } }, {}], 317: [function (e, t, r) { var i = e("../component"), n = e("../../lib/dom"), p = e("../../lib/util"), o = e("../../lang/index"), y = e("../../player/base/event/eventtype"), a = e("./util"), s = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-snapshot-btn") }, createEl: function () { return i.prototype.createEl.call(this, "div") }, bindEvent: function () { var f = this; this._player.on(y.Private.Snapshot_Hide, function () { n.css(f._el, "display", "none") }), a.registerTooltipEvent.call(this, this.el(), o.get("Snapshot")), this.on("click", function () { f.trigger(y.Player.Snapshoting); var e = document.createElement("canvas"), t = f._player.tag, r = t.videoWidth, i = t.videoHeight, n = f._player._getSanpshotMatric(); e.width = n.width || r, e.height = n.height || i; var o = f._player.getCurrentTime(), a = e.getContext("2d"); a.save(); var s = f._player.getImage(); "vertical" == s ? (a.translate(0, e.height), a.scale(1, -1)) : "horizon" == s && (a.translate(e.width, 0), a.scale(-1, 1)), a.drawImage(t, 0, 0, r, i), a.restore(), m(a, f._player.getOptions()); var l = "", u = ""; try { l = e.toDataURL("image/jpeg", n.rate || 1) } catch (e) { u = e } var c = "", h = "", d = ""; l && (h = (c = l).substr(c.indexOf(",") + 1), d = p.toBinary(h)), f.trigger(y.Player.Snapshoted, { time: o, base64: c, binary: d, error: u }) }) } }), m = function (e, t) { var r = t.snapshotWatermark; r && r.text && (e.font = r.font, r.fillColor && (e.fillStyle = r.fillColor, e.fillText(r.text, r.left, r.top)), r.strokeColor && (e.strokeStyle = r.strokeColor, e.strokeText(r.text, r.left, r.top)), e.stroke()) }; t.exports = s }, { "../../lang/index": 210, "../../lib/dom": 217, "../../lib/util": 232, "../../player/base/event/eventtype": 242, "../component": 294, "./util": 321 }], 318: [function (e, t, r) { var i = e("../component"), c = (e("../../lib/util"), e("../../lib/dom")), n = e("../../lib/event"), o = (e("../../lib/ua"), e("../../lang/index"), e("../../player/base/event/eventtype")), a = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-thumbnail") }, createEl: function () { var e = i.prototype.createEl.call(this, "div"); return e.innerHTML = "<img></img><span></span>", e }, bindEvent: function () { var u = this; n.on(this._el, "mousemove", function (e) { e.preventDefault() }), n.on(this._el, "touchmove", function (e) { e.preventDefault() }), u._player.on(o.Private.ThumbnailLoaded, function (e) { var t, r, i, n = e.paramData; n && 0 < n.length && (t = u._player._thumbnailService.makeUrl(n[0].text), u._player.log("THUMBNAILSTART", { tu: encodeURIComponent(t) }), r = (new Date).getTime(), n[0].isBig ? (c.css(u.el(), "background", "url(" + t + ")"), c.css(u.el(), "width", n[0].w + "px"), c.css(u.el(), "height", n[0].h + "px"), u._player.log("THUMBNAILCOMPLETE", { ftt: (new Date).getTime() - r })) : ((i = document.querySelector("#" + u.id() + " img")).onload = function () { var e = i.width, t = i.height; c.css(u.el(), "width", e + "px"), c.css(u.el(), "height", t + "px"), u._player.log("THUMBNAILCOMPLETE", { ftt: (new Date).getTime() - r }) }, i.src = t)) }), u._player.on(o.Private.ThumbnailShow, function (l) { u._thumbnailShowHanlde && clearTimeout(u._thumbnailShowHanlde), u._thumbnailShowHanlde = setTimeout(function () { var e, t, r, i, n, o, a = document.querySelector("#" + u.id() + " span"), s = l.paramData; a.innerText = s.formatTime, s && ((e = u._player._thumbnailService.findAvailableCue(s.time)) ? e.isBig ? (i = u._player._thumbnailService.makeUrl(e.text), c.css(u.el(), "background", "url(" + i + ")"), e.w, e.h, t = -1 * e.x + "px " + -1 * e.y + "px", c.css(u.el(), "background-position", t)) : (r = document.querySelector("#" + u.id() + " img"), i = u._player._thumbnailService.makeUrl(e.text), r.src != i && (r.src = i)) : (c.css(u.el(), "border", "none"), c.css(a, "left", "0px")), c.css(u.el(), "display", "block"), o = 0, n = e ? u.el().offsetWidth : a.offsetWidth, o = s.left + n > s.progressWidth ? s.left - n : (o = s.left - n / 2) < 0 ? 0 : o, c.css(u.el(), "left", o + "px")) }, 30) }), u._player.on(o.Private.ThumbnailHide, function (e) { u._thumbnailShowHanlde && clearTimeout(u._thumbnailShowHanlde), c.css(u.el(), "display", "none") }) }, _createSamllThumbnail: function () { }, disposeUI: function () { this._thumbnailShowHanlde && (clearTimeout(this._thumbnailShowHanlde), this._thumbnailShowHanlde = null) } }); t.exports = a }, { "../../lang/index": 210, "../../lib/dom": 217, "../../lib/event": 218, "../../lib/ua": 230, "../../lib/util": 232, "../../player/base/event/eventtype": 242, "../component": 294 }], 319: [function (e, t, r) { var i = e("../component"), n = e("../../lib/util"), o = e("../../player/base/event/eventtype"), a = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-time-display") }, createEl: function () { var e = i.prototype.createEl.call(this, "div"); return e.innerHTML = '<span class="current-time">00:00</span> <span class="time-bound">/</span> <span class="duration">00:00</span>', e }, bindEvent: function () { var r = this; this._player.on(o.Video.DurationChange, function () { var e = n.formatTime(r._player.getDisplayDuration()); e ? (document.querySelector("#" + r.id() + " .time-bound").style.display = "inline", document.querySelector("#" + r.id() + " .duration").style.display = "inline", document.querySelector("#" + r.id() + " .duration").innerText = e) : (document.querySelector("#" + r.id() + " .duration").style.display = "none", document.querySelector("#" + r.id() + " .time-bound").style.display = "none") }), this._player.on(o.Video.TimeUpdate, function () { var e = r._player.getCurrentTime(), t = n.formatTime(e); document.querySelector("#" + r.id() + " .current-time") && (t ? (document.querySelector("#" + r.id() + " .current-time").style.display = "inline", document.querySelector("#" + r.id() + " .current-time").innerText = t) : document.querySelector("#" + r.id() + " .current-time").style.display = "none") }) } }); t.exports = a }, { "../../lib/util": 232, "../../player/base/event/eventtype": 242, "../component": 294 }], 320: [function (e, t, r) { var i = e("../component"), s = e("../../lib/dom"), n = e("../../player/base/event/eventtype"), o = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-tooltip") }, createEl: function () { var e = i.prototype.createEl.call(this, "p"); return e.innerText = "\u63d0\u793a\u4fe1\u606f", e }, bindEvent: function () { var a = this; a._player.on(n.Private.TooltipShow, function (e) { var t = document.querySelector("#" + a.id()), r = e.paramData; t.innerText = r.text, s.css(t, "display", "block"); var i, n = t.offsetWidth, o = document.querySelector("#" + a._player.id() + " .prism-controlbar"); o && (i = o.offsetWidth, r.left + n > i ? s.css(t, "left", i - n + "px") : s.css(t, "left", r.left - (n - r.width) / 2 + "px")) }), a._player.on(n.Private.TooltipHide, function (e) { var t = document.querySelector("#" + a.id()); s.css(t, "display", "none") }) } }); t.exports = o }, { "../../lib/dom": 217, "../../player/base/event/eventtype": 242, "../component": 294 }], 321: [function (e, t, r) { var i = e("../../lib/event"), s = e("../../player/base/event/eventtype"); t.exports.registerTooltipEvent = function (e, n) { function o() { a._controlbarTooltipHandler && (clearTimeout(a._controlbarTooltipHandler), a._controlbarTooltipHandler = null) } var a = this; i.on(this.el(), "mouseover", function (e) { o(), a._controlbarTooltipHandler = setTimeout(function () { a._player.trigger(s.Private.TooltipHide) }, 4e3); var t = a.el().offsetLeft, r = a.el().offsetWidth, i = n; "function" == typeof i && (i = n.call(this)), a._player.trigger(s.Private.TooltipShow, { left: t, width: r, text: i }) }), i.on(this.el(), "mouseout", function () { o(), a._player.trigger(s.Private.TooltipHide) }) }, t.exports.throttle = function (r, i) { var n = Date.now(); return function () { var e = arguments, t = Date.now(); i <= t - n && (r(e), n = t) } } }, { "../../lib/event": 218, "../../player/base/event/eventtype": 242 }], 322: [function (e, t, r) { var i = e("../component"), n = e("../../lib/dom"), o = e("../../lib/event"), a = e("../../player/base/event/eventtype"), s = e("./util"), l = e("../../lang/index"), u = e("./volumecontrol"), c = i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-volume"); var r = new u(e, t); e.addChild(r, t) }, createEl: function () { var e = i.prototype.createEl.call(this, "div"); return e.innerHTML = '<div class="volume-icon"><div class="short-horizontal"></div><div class="long-horizontal"></div></div>', e }, bindEvent: function () { var r = this; this.icon = document.querySelector("#" + r.id() + " .volume-icon"), s.registerTooltipEvent.call(this, this.el(), function () { return r._player.muted() || 0 == r._player.getVolume() ? l.get("Muted") : l.get("Volume") }), o.on(this.icon, "click", function (e) { var t = r.el().offsetLeft; r._player.trigger(a.Private.SettingListHide), r._player.trigger(a.Private.SelectorHide), r._player.trigger(a.Private.VolumeVisibilityChange, t), r._player.trigger(a.Private.MarkerTextHide) }); var e = document.querySelector("#" + r.id() + " .long-horizontal"), t = document.querySelector("#" + r.id() + " .short-horizontal"); o.on(this.el(), "mouseover", function () { n.removeClass(e, "volume-hover-animation"), setTimeout(function () { n.addClass(e, "volume-hover-animation") }), setTimeout(function () { n.removeClass(e, "volume-hover-animation"), n.addClass(t, "volume-hover-animation"), setTimeout(function () { n.removeClass(t, "volume-hover-animation"), n.addClass(e, "volume-hover-animation") }, 300) }, 300) }) } }); t.exports = c }, { "../../lang/index": 210, "../../lib/dom": 217, "../../lib/event": 218, "../../player/base/event/eventtype": 242, "../component": 294, "./util": 321, "./volumecontrol": 323 }], 323: [function (e, t, r) { var i = e("../component"), n = e("../../lib/dom"), o = e("../../lib/event"), a = e("../../player/base/event/eventtype"), s = (e("./util"), e("../../lang/index"), i.extend({ init: function (e, t) { i.call(this, e, t), this.addClass("prism-volume-control"), this._shown = !1 }, createEl: function () { var e = i.prototype.createEl.call(this, "div"); return e.innerHTML = '<div class="volume-range"><div class="volume-value"></div><div class="volume-cursor"></div></div>', e }, bindEvent: function () { var i = this; this.icon = document.querySelector("#" + i._player.id() + " .volume-icon"), this.control = document.querySelector("#" + i.id()), this.volumnValue = document.querySelector("#" + i.id() + " .volume-value"), this.volumnRange = document.querySelector("#" + i.id() + " .volume-range"), this.volumnCursor = document.querySelector("#" + i.id() + " .volume-cursor"), this._player.on(a.Private.VolumeVisibilityChange, function (e) { var t, r = e.paramData; !i._shown && r ? (t = i._player.getVolume(), i._setVolumnUI(t), n.css(i.control, "display", "block"), r && n.css(i.control, "left", r - 5 + "px"), i._shown = !0) : (n.css(i.control, "display", "none"), i._shown = !1) }), o.on(this.volumnRange, "click", function (e) { var t = n.getPointerPosition(i.volumnRange, e).y; t < 0 || 1 < t || (t < 0 && (t = 0), 1 < t && (t = 1), i._setVolumnUI(t), i._setMuteUI(t), i._player.setVolume(t)) }), o.on(this._player.tag, "click", function (e) { e && e.target == e.currentTarget && n.css(i.control, "display", "none") }), o.on(this._player.tag, "touchstart", function (e) { e && e.target == e.currentTarget && n.css(i.control, "display", "none") }), o.on(this.volumnCursor, "mousedown", function (e) { i._onMouseDown(e) }), o.on(this.volumnCursor, "touchstart", function (e) { i._onMouseDown(e) }), this._player.on(a.Private.VolumnChanged, function (e) { var t = e.paramData; -1 < t && i._setVolumnUI(t), i._setMuteUI(t) }), o.on(this.control, "mouseleave", function () { n.css(i.control, "display", "none"), i._shown = !1 }), o.on(this.control, "mouseover", function () { n.addClass(i.control, "hover") }), i._rangeBottom = i._getBottom() }, _getBottom: function () { if (window.getComputedStyle) { var e = window.getComputedStyle(this.volumnRange, null).getPropertyValue("bottom"); return parseFloat(e) } return 26 }, _onMouseDown: function (e) { var t = this; e.preventDefault(), o.on(this.control, "mousemove", function (e) { t._onMouseMove(e) }), o.on(this.control, "touchmove", function (e) { t._onMouseMove(e) }), o.on(this._player.tag, "mouseup", function (e) { t._onMouseUp(e) }), o.on(this._player.tag, "touchend", function (e) { t._onMouseUp(e) }), o.on(this.control, "mouseup", function (e) { t._onMouseUp(e) }), o.on(this.control, "touchend", function (e) { t._onMouseUp(e) }) }, _onMouseUp: function (e) { var t; e.preventDefault(), this._offEvent(), this.volumnRange.offsetHeight && (t = (this.volumnValue.offsetHeight / this.volumnRange.offsetHeight).toFixed(2), this._player.setVolume(t), this._setMuteUI(t)) }, _onMouseMove: function (e) { e.preventDefault(); var t = n.getPointerPosition(this.volumnRange, e).y; t < 0 || 1 < t || (t < 0 && (t = 0), 1 < t && (t = 1), this._setVolumnUI(t)) }, _getPosition: function (e) { for (var t = this.volumnRange, r = 0; t = t.offsetParent;)r += t.offsetTop; var i = this.volumnRange.offsetHeight, n = this.volumnCursor.offsetHeight, o = e.touches ? e.touches[0].pageY : e.pageY; return i < o - r && (o = e.clientY), (i - (o - r) + n) / (i = this.volumnRange.offsetHeight) }, _offEvent: function () { o.off(this._player.tag, "mouseup"), o.off(this._player.tag, "touchend"), o.off(this.control, "mousemove"), o.off(this.control, "touchmove"), o.off(this.control, "mouseup"), o.off(this.control, "touchend") }, _setMuteUI: function (e) { isNaN(e) || (0 == e || -1 == e ? n.addClass(this.icon, "mute") : n.removeClass(this.icon, "mute")) }, _setVolumnUI: function (e) { isNaN(e) || (n.css(this.volumnValue, "height", 100 * e + "%"), 1 == e && (e = .99), n.css(this.volumnCursor, "bottom", 100 * e + "%")) } })); t.exports = s }, { "../../lang/index": 210, "../../lib/dom": 217, "../../lib/event": 218, "../../player/base/event/eventtype": 242, "../component": 294, "./util": 321 }], 324: [function (e, t, r) { t.exports = { H5Loading: e("./component/h5-loading"), bigPlayButton: e("./component/big-play-button"), controlBar: e("./component/controlbar"), progress: e("./component/progress"), playButton: e("./component/play-button"), liveDisplay: e("./component/live-display"), timeDisplay: e("./component/time-display"), fullScreenButton: e("./component/fullscreen-button"), volume: e("./component/volume"), snapshot: e("./component/snapshot"), errorDisplay: e("./component/error-display"), infoDisplay: e("./component/info-display"), liveShiftProgress: e("../commonui/liveshiftprogress"), liveShiftTimeDisplay: e("../commonui/livetimedisplay"), setting: e("./component/setting/button"), subtitle: e("./component/cc-button"), thumbnail: e("./component/thumbnail"), tooltip: e("./component/tooltip") } }, { "../commonui/liveshiftprogress": 202, "../commonui/livetimedisplay": 203, "./component/big-play-button": 295, "./component/cc-button": 296, "./component/controlbar": 297, "./component/error-display": 299, "./component/fullscreen-button": 300, "./component/h5-loading": 301, "./component/info-display": 302, "./component/live-display": 303, "./component/play-button": 305, "./component/progress": 306, "./component/setting/button": 310, "./component/snapshot": 317, "./component/thumbnail": 318, "./component/time-display": 319, "./component/tooltip": 320, "./component/volume": 322 }] }, {}, [205]);
|